From 191a9c82bed6a4bd7ea617c1428329e64dc51421 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Sat, 16 May 2026 13:07:50 -0400 Subject: [PATCH] changes --- .DS_Store | Bin 14340 -> 14340 bytes .../.venv/bin/Activate.ps1 | 247 + .../fusion_clock_acr_wedge/.venv/bin/activate | 76 + .../.venv/bin/activate.csh | 27 + .../.venv/bin/activate.fish | 69 + tools/fusion_clock_acr_wedge/.venv/bin/pip | 7 + tools/fusion_clock_acr_wedge/.venv/bin/pip3 | 7 + .../fusion_clock_acr_wedge/.venv/bin/pip3.12 | 7 + tools/fusion_clock_acr_wedge/.venv/bin/python | 1 + .../fusion_clock_acr_wedge/.venv/bin/python3 | 1 + .../.venv/bin/python3.12 | 1 + .../AppKit/_AppKit.cpython-312-darwin.so | Bin 0 -> 499712 bytes .../site-packages/AppKit/__init__.py | 234 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 6476 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 623410 bytes .../AppKit/__pycache__/_nsapp.cpython-312.pyc | Bin 0 -> 1728 bytes .../AppKit/_inlines.cpython-312-darwin.so | Bin 0 -> 67536 bytes .../site-packages/AppKit/_metadata.py | 20153 ++++++++++++++++ .../python3.12/site-packages/AppKit/_nsapp.py | 29 + .../site-packages/Cocoa/__init__.py | 27 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1038 bytes .../_CoreFoundation.cpython-312-darwin.so | Bin 0 -> 166968 bytes .../site-packages/CoreFoundation/__init__.py | 37 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1483 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 135392 bytes .../__pycache__/_static.cpython-312.pyc | Bin 0 -> 4595 bytes .../_inlines.cpython-312-darwin.so | Bin 0 -> 88576 bytes .../site-packages/CoreFoundation/_metadata.py | 3465 +++ .../site-packages/CoreFoundation/_static.py | 107 + .../_Foundation.cpython-312-darwin.so | Bin 0 -> 173344 bytes .../site-packages/Foundation/__init__.py | 229 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 9404 bytes .../__pycache__/_context.cpython-312.pyc | Bin 0 -> 2166 bytes .../_functiondefines.cpython-312.pyc | Bin 0 -> 2563 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 360483 bytes .../__pycache__/_nsindexset.cpython-312.pyc | Bin 0 -> 1011 bytes .../__pycache__/_nsobject.cpython-312.pyc | Bin 0 -> 9892 bytes .../__pycache__/_nsurl.cpython-312.pyc | Bin 0 -> 991 bytes .../site-packages/Foundation/_context.py | 26 + .../Foundation/_functiondefines.py | 64 + .../Foundation/_inlines.cpython-312-darwin.so | Bin 0 -> 90992 bytes .../site-packages/Foundation/_metadata.py | 12224 ++++++++++ .../site-packages/Foundation/_nsindexset.py | 21 + .../site-packages/Foundation/_nsobject.py | 225 + .../site-packages/Foundation/_nsurl.py | 24 + .../PyObjCTools/AppCategories.py | 38 + .../site-packages/PyObjCTools/AppHelper.py | 347 + .../site-packages/PyObjCTools/Conversion.py | 238 + .../PyObjCTools/FndCategories.py | 37 + .../PyObjCTools/KeyValueCoding.py | 392 + .../site-packages/PyObjCTools/MachSignals.py | 42 + .../site-packages/PyObjCTools/Signals.py | 91 + .../site-packages/PyObjCTools/TestSupport.py | 1532 ++ .../__pycache__/AppCategories.cpython-312.pyc | Bin 0 -> 1952 bytes .../__pycache__/AppHelper.cpython-312.pyc | Bin 0 -> 13637 bytes .../__pycache__/Conversion.cpython-312.pyc | Bin 0 -> 8985 bytes .../__pycache__/FndCategories.cpython-312.pyc | Bin 0 -> 2067 bytes .../KeyValueCoding.cpython-312.pyc | Bin 0 -> 16141 bytes .../__pycache__/MachSignals.cpython-312.pyc | Bin 0 -> 1724 bytes .../__pycache__/Signals.cpython-312.pyc | Bin 0 -> 3591 bytes .../__pycache__/TestSupport.cpython-312.pyc | Bin 0 -> 61609 bytes .../Quartz/CoreGraphics/__init__.py | 80 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 2371 bytes .../_contextmanager.cpython-312.pyc | Bin 0 -> 4292 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 108305 bytes .../_callbacks.cpython-312-darwin.so | Bin 0 -> 125792 bytes .../Quartz/CoreGraphics/_contextmanager.py | 105 + .../_coregraphics.cpython-312-darwin.so | Bin 0 -> 87584 bytes .../_doubleindirect.cpython-312-darwin.so | Bin 0 -> 68968 bytes .../_inlines.cpython-312-darwin.so | Bin 0 -> 67952 bytes .../Quartz/CoreGraphics/_metadata.py | 3011 +++ .../_sortandmap.cpython-312-darwin.so | Bin 0 -> 85888 bytes .../_CVPixelBuffer.cpython-312-darwin.so | Bin 0 -> 69160 bytes .../Quartz/CoreVideo/__init__.py | 37 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1426 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 31615 bytes .../Quartz/CoreVideo/_metadata.py | 603 + .../ImageIO/PyObjCOverrides.bridgesupport | 393 + .../site-packages/Quartz/ImageIO/__init__.py | 34 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1414 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 37746 bytes .../site-packages/Quartz/ImageIO/_metadata.py | 336 + .../site-packages/Quartz/ImageKit/__init__.py | 49 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1946 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 20489 bytes .../ImageKit/_imagekit.cpython-312-darwin.so | Bin 0 -> 86112 bytes .../Quartz/ImageKit/_metadata.py | 607 + .../PDFKit/_PDFKit.cpython-312-darwin.so | Bin 0 -> 68320 bytes .../site-packages/Quartz/PDFKit/__init__.py | 45 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1720 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 23461 bytes .../site-packages/Quartz/PDFKit/_metadata.py | 394 + .../Quartz/QuartzComposer/__init__.py | 45 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1658 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 13129 bytes .../Quartz/QuartzComposer/_metadata.py | 440 + .../Quartz/QuartzCore/__init__.py | 81 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 3520 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 56547 bytes .../Quartz/QuartzCore/_metadata.py | 1094 + .../_quartzcore.cpython-312-darwin.so | Bin 0 -> 455872 bytes .../Quartz/QuartzFilters/__init__.py | 41 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1591 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 2843 bytes .../Quartz/QuartzFilters/_metadata.py | 95 + .../_QuickLookUI.cpython-312-darwin.so | Bin 0 -> 67936 bytes .../Quartz/QuickLookUI/__init__.py | 46 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1766 bytes .../__pycache__/_metadata.cpython-312.pyc | Bin 0 -> 5949 bytes .../Quartz/QuickLookUI/_metadata.py | 275 + .../site-packages/Quartz/__init__.py | 47 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1241 bytes .../mouseinfo-0.1.3.dist-info/INSTALLER | 1 + .../mouseinfo-0.1.3.dist-info/METADATA | 84 + .../mouseinfo-0.1.3.dist-info/RECORD | 9 + .../mouseinfo-0.1.3.dist-info/WHEEL | 5 + .../mouseinfo-0.1.3.dist-info/top_level.txt | 1 + .../site-packages/mouseinfo/__init__.py | 901 + .../site-packages/mouseinfo/__main__.py | 4 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 47908 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 352 bytes .../python3.12/site-packages/objc/__init__.py | 92 + .../objc/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 3237 bytes .../objc/__pycache__/_bridges.cpython-312.pyc | Bin 0 -> 2653 bytes .../_bridgesupport.cpython-312.pyc | Bin 0 -> 27618 bytes .../_callable_docstr.cpython-312.pyc | Bin 0 -> 11920 bytes .../__pycache__/_category.cpython-312.pyc | Bin 0 -> 3771 bytes .../objc/__pycache__/_compat.cpython-312.pyc | Bin 0 -> 1937 bytes .../objc/__pycache__/_context.cpython-312.pyc | Bin 0 -> 2237 bytes .../__pycache__/_convenience.cpython-312.pyc | Bin 0 -> 8323 bytes .../_convenience_mapping.cpython-312.pyc | Bin 0 -> 4852 bytes .../_convenience_nsarray.cpython-312.pyc | Bin 0 -> 13561 bytes .../_convenience_nsdata.cpython-312.pyc | Bin 0 -> 18399 bytes .../_convenience_nsdecimal.cpython-312.pyc | Bin 0 -> 5987 bytes .../_convenience_nsdictionary.cpython-312.pyc | Bin 0 -> 13884 bytes .../_convenience_nsobject.cpython-312.pyc | Bin 0 -> 5107 bytes .../_convenience_nsset.cpython-312.pyc | Bin 0 -> 14321 bytes .../_convenience_nsstring.cpython-312.pyc | Bin 0 -> 1475 bytes .../_convenience_sequence.cpython-312.pyc | Bin 0 -> 2128 bytes .../__pycache__/_descriptors.cpython-312.pyc | Bin 0 -> 14144 bytes .../objc/__pycache__/_dyld.cpython-312.pyc | Bin 0 -> 5857 bytes .../__pycache__/_framework.cpython-312.pyc | Bin 0 -> 809 bytes .../_informal_protocol.cpython-312.pyc | Bin 0 -> 3231 bytes .../__pycache__/_lazyimport.cpython-312.pyc | Bin 0 -> 14970 bytes .../objc/__pycache__/_locking.cpython-312.pyc | Bin 0 -> 1929 bytes .../objc/__pycache__/_new.cpython-312.pyc | Bin 0 -> 6764 bytes .../__pycache__/_properties.cpython-312.pyc | Bin 0 -> 47745 bytes .../__pycache__/_protocols.cpython-312.pyc | Bin 0 -> 1588 bytes .../objc/__pycache__/_pycoder.cpython-312.pyc | Bin 0 -> 19335 bytes .../__pycache__/_pythonify.cpython-312.pyc | Bin 0 -> 3848 bytes .../__pycache__/_structtype.cpython-312.pyc | Bin 0 -> 3570 bytes .../__pycache__/_transform.cpython-312.pyc | Bin 0 -> 25583 bytes .../objc/__pycache__/_types.cpython-312.pyc | Bin 0 -> 339 bytes .../objc/__pycache__/simd.cpython-312.pyc | Bin 0 -> 20803 bytes .../python3.12/site-packages/objc/_bridges.py | 68 + .../site-packages/objc/_bridgesupport.py | 823 + .../site-packages/objc/_callable_docstr.py | 324 + .../site-packages/objc/_category.py | 93 + .../python3.12/site-packages/objc/_compat.py | 33 + .../python3.12/site-packages/objc/_context.py | 52 + .../site-packages/objc/_convenience.py | 237 + .../objc/_convenience_mapping.py | 132 + .../objc/_convenience_nsarray.py | 434 + .../site-packages/objc/_convenience_nsdata.py | 449 + .../objc/_convenience_nsdecimal.py | 119 + .../objc/_convenience_nsdictionary.py | 347 + .../objc/_convenience_nsobject.py | 123 + .../site-packages/objc/_convenience_nsset.py | 347 + .../objc/_convenience_nsstring.py | 30 + .../objc/_convenience_sequence.py | 55 + .../site-packages/objc/_descriptors.py | 421 + .../python3.12/site-packages/objc/_dyld.py | 143 + .../site-packages/objc/_framework.py | 26 + .../site-packages/objc/_informal_protocol.py | 73 + .../site-packages/objc/_lazyimport.py | 501 + .../python3.12/site-packages/objc/_locking.py | 39 + .../objc/_machsignals.cpython-312-darwin.so | Bin 0 -> 68912 bytes .../lib/python3.12/site-packages/objc/_new.py | 171 + .../objc/_objc.cpython-312-darwin.so | Bin 0 -> 1899224 bytes .../site-packages/objc/_properties.py | 1162 + .../site-packages/objc/_protocols.py | 34 + .../python3.12/site-packages/objc/_pycoder.py | 583 + .../site-packages/objc/_pythonify.py | 78 + .../site-packages/objc/_structtype.py | 68 + .../site-packages/objc/_transform.py | 761 + .../python3.12/site-packages/objc/_types.py | 7 + .../lib/python3.12/site-packages/objc/simd.py | 601 + .../pip-26.1.1.dist-info/INSTALLER | 1 + .../pip-26.1.1.dist-info/METADATA | 109 + .../site-packages/pip-26.1.1.dist-info/RECORD | 865 + .../pip-26.1.1.dist-info/REQUESTED | 0 .../site-packages/pip-26.1.1.dist-info/WHEEL | 4 + .../pip-26.1.1.dist-info/entry_points.txt | 4 + .../pip-26.1.1.dist-info/licenses/AUTHORS.txt | 867 + .../pip-26.1.1.dist-info/licenses/LICENSE.txt | 20 + .../src/pip/_vendor/cachecontrol/LICENSE.txt | 13 + .../licenses/src/pip/_vendor/certifi/LICENSE | 20 + .../src/pip/_vendor/distlib/LICENSE.txt | 284 + .../licenses/src/pip/_vendor/distro/LICENSE | 202 + .../licenses/src/pip/_vendor/idna/LICENSE.md | 31 + .../licenses/src/pip/_vendor/msgpack/COPYING | 14 + .../src/pip/_vendor/packaging/LICENSE | 3 + .../src/pip/_vendor/packaging/LICENSE.APACHE | 177 + .../src/pip/_vendor/packaging/LICENSE.BSD | 23 + .../src/pip/_vendor/pkg_resources/LICENSE | 17 + .../src/pip/_vendor/platformdirs/LICENSE | 21 + .../licenses/src/pip/_vendor/pygments/LICENSE | 25 + .../src/pip/_vendor/pyproject_hooks/LICENSE | 21 + .../licenses/src/pip/_vendor/requests/LICENSE | 175 + .../src/pip/_vendor/resolvelib/LICENSE | 13 + .../licenses/src/pip/_vendor/rich/LICENSE | 19 + .../licenses/src/pip/_vendor/tomli/LICENSE | 21 + .../licenses/src/pip/_vendor/tomli_w/LICENSE | 21 + .../src/pip/_vendor/truststore/LICENSE | 21 + .../src/pip/_vendor/urllib3/LICENSE.txt | 21 + .../python3.12/site-packages/pip/__init__.py | 13 + .../python3.12/site-packages/pip/__main__.py | 24 + .../site-packages/pip/__pip-runner__.py | 50 + .../pip/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 687 bytes .../pip/__pycache__/__main__.cpython-312.pyc | Bin 0 -> 912 bytes .../__pip-runner__.cpython-312.pyc | Bin 0 -> 2241 bytes .../site-packages/pip/_internal/__init__.py | 18 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 787 bytes .../__pycache__/build_env.cpython-312.pyc | Bin 0 -> 25837 bytes .../__pycache__/cache.cpython-312.pyc | Bin 0 -> 12404 bytes .../__pycache__/configuration.cpython-312.pyc | Bin 0 -> 18274 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 43542 bytes .../__pycache__/main.cpython-312.pyc | Bin 0 -> 670 bytes .../__pycache__/pyproject.cpython-312.pyc | Bin 0 -> 4122 bytes .../self_outdated_check.cpython-312.pyc | Bin 0 -> 9737 bytes .../__pycache__/wheel_builder.cpython-312.pyc | Bin 0 -> 10723 bytes .../site-packages/pip/_internal/build_env.py | 606 + .../site-packages/pip/_internal/cache.py | 291 + .../pip/_internal/cli/__init__.py | 3 + .../cli/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 311 bytes .../autocompletion.cpython-312.pyc | Bin 0 -> 9133 bytes .../__pycache__/base_command.cpython-312.pyc | Bin 0 -> 11568 bytes .../__pycache__/cmdoptions.cpython-312.pyc | Bin 0 -> 36879 bytes .../command_context.cpython-312.pyc | Bin 0 -> 1849 bytes .../__pycache__/index_command.cpython-312.pyc | Bin 0 -> 8783 bytes .../cli/__pycache__/main.cpython-312.pyc | Bin 0 -> 2273 bytes .../__pycache__/main_parser.cpython-312.pyc | Bin 0 -> 4981 bytes .../cli/__pycache__/parser.cpython-312.pyc | Bin 0 -> 18123 bytes .../__pycache__/progress_bars.cpython-312.pyc | Bin 0 -> 6134 bytes .../__pycache__/req_command.cpython-312.pyc | Bin 0 -> 16756 bytes .../cli/__pycache__/spinners.cpython-312.pyc | Bin 0 -> 11284 bytes .../__pycache__/status_codes.cpython-312.pyc | Bin 0 -> 411 bytes .../pip/_internal/cli/autocompletion.py | 184 + .../pip/_internal/cli/base_command.py | 264 + .../pip/_internal/cli/cmdoptions.py | 1298 + .../pip/_internal/cli/command_context.py | 28 + .../pip/_internal/cli/index_command.py | 212 + .../site-packages/pip/_internal/cli/main.py | 85 + .../pip/_internal/cli/main_parser.py | 136 + .../site-packages/pip/_internal/cli/parser.py | 358 + .../pip/_internal/cli/progress_bars.py | 153 + .../pip/_internal/cli/req_command.py | 472 + .../pip/_internal/cli/spinners.py | 235 + .../pip/_internal/cli/status_codes.py | 6 + .../pip/_internal/commands/__init__.py | 139 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 4153 bytes .../__pycache__/cache.cpython-312.pyc | Bin 0 -> 11335 bytes .../__pycache__/check.cpython-312.pyc | Bin 0 -> 2592 bytes .../__pycache__/completion.cpython-312.pyc | Bin 0 -> 5495 bytes .../__pycache__/configuration.cpython-312.pyc | Bin 0 -> 13363 bytes .../__pycache__/debug.cpython-312.pyc | Bin 0 -> 9793 bytes .../__pycache__/download.cpython-312.pyc | Bin 0 -> 7259 bytes .../__pycache__/freeze.cpython-312.pyc | Bin 0 -> 4321 bytes .../commands/__pycache__/hash.cpython-312.pyc | Bin 0 -> 2969 bytes .../commands/__pycache__/help.cpython-312.pyc | Bin 0 -> 1674 bytes .../__pycache__/index.cpython-312.pyc | Bin 0 -> 7489 bytes .../__pycache__/inspect.cpython-312.pyc | Bin 0 -> 3992 bytes .../__pycache__/install.cpython-312.pyc | Bin 0 -> 33575 bytes .../commands/__pycache__/list.cpython-312.pyc | Bin 0 -> 17505 bytes .../commands/__pycache__/lock.cpython-312.pyc | Bin 0 -> 8024 bytes .../__pycache__/search.cpython-312.pyc | Bin 0 -> 7642 bytes .../commands/__pycache__/show.cpython-312.pyc | Bin 0 -> 11224 bytes .../__pycache__/uninstall.cpython-312.pyc | Bin 0 -> 4710 bytes .../__pycache__/wheel.cpython-312.pyc | Bin 0 -> 8254 bytes .../pip/_internal/commands/cache.py | 255 + .../pip/_internal/commands/check.py | 66 + .../pip/_internal/commands/completion.py | 136 + .../pip/_internal/commands/configuration.py | 288 + .../pip/_internal/commands/debug.py | 196 + .../pip/_internal/commands/download.py | 146 + .../pip/_internal/commands/freeze.py | 107 + .../pip/_internal/commands/hash.py | 58 + .../pip/_internal/commands/help.py | 40 + .../pip/_internal/commands/index.py | 166 + .../pip/_internal/commands/inspect.py | 92 + .../pip/_internal/commands/install.py | 904 + .../pip/_internal/commands/list.py | 403 + .../pip/_internal/commands/lock.py | 175 + .../pip/_internal/commands/search.py | 178 + .../pip/_internal/commands/show.py | 231 + .../pip/_internal/commands/uninstall.py | 113 + .../pip/_internal/commands/wheel.py | 171 + .../pip/_internal/configuration.py | 396 + .../pip/_internal/distributions/__init__.py | 21 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 977 bytes .../__pycache__/base.cpython-312.pyc | Bin 0 -> 2955 bytes .../__pycache__/installed.cpython-312.pyc | Bin 0 -> 1805 bytes .../__pycache__/sdist.cpython-312.pyc | Bin 0 -> 8358 bytes .../__pycache__/wheel.cpython-312.pyc | Bin 0 -> 2354 bytes .../pip/_internal/distributions/base.py | 55 + .../pip/_internal/distributions/installed.py | 33 + .../pip/_internal/distributions/sdist.py | 164 + .../pip/_internal/distributions/wheel.py | 44 + .../site-packages/pip/_internal/exceptions.py | 971 + .../pip/_internal/index/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 265 bytes .../__pycache__/collector.cpython-312.pyc | Bin 0 -> 21124 bytes .../package_finder.cpython-312.pyc | Bin 0 -> 43873 bytes .../index/__pycache__/sources.cpython-312.pyc | Bin 0 -> 12343 bytes .../pip/_internal/index/collector.py | 488 + .../pip/_internal/index/package_finder.py | 1113 + .../pip/_internal/index/sources.py | 287 + .../pip/_internal/locations/__init__.py | 438 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 15180 bytes .../__pycache__/_distutils.cpython-312.pyc | Bin 0 -> 6806 bytes .../__pycache__/_sysconfig.cpython-312.pyc | Bin 0 -> 8070 bytes .../__pycache__/base.cpython-312.pyc | Bin 0 -> 3744 bytes .../pip/_internal/locations/_distutils.py | 173 + .../pip/_internal/locations/_sysconfig.py | 218 + .../pip/_internal/locations/base.py | 82 + .../site-packages/pip/_internal/main.py | 12 + .../pip/_internal/metadata/__init__.py | 169 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 6797 bytes .../__pycache__/_json.cpython-312.pyc | Bin 0 -> 2909 bytes .../metadata/__pycache__/base.cpython-312.pyc | Bin 0 -> 34471 bytes .../__pycache__/pkg_resources.cpython-312.pyc | Bin 0 -> 15820 bytes .../pip/_internal/metadata/_json.py | 87 + .../pip/_internal/metadata/base.py | 685 + .../_internal/metadata/importlib/__init__.py | 6 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 394 bytes .../__pycache__/_compat.cpython-312.pyc | Bin 0 -> 4273 bytes .../__pycache__/_dists.cpython-312.pyc | Bin 0 -> 12952 bytes .../__pycache__/_envs.cpython-312.pyc | Bin 0 -> 8043 bytes .../_internal/metadata/importlib/_compat.py | 87 + .../_internal/metadata/importlib/_dists.py | 235 + .../pip/_internal/metadata/importlib/_envs.py | 143 + .../pip/_internal/metadata/pkg_resources.py | 298 + .../pip/_internal/models/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 299 bytes .../__pycache__/candidate.cpython-312.pyc | Bin 0 -> 1622 bytes .../__pycache__/direct_url.cpython-312.pyc | Bin 0 -> 2001 bytes .../format_control.cpython-312.pyc | Bin 0 -> 4160 bytes .../models/__pycache__/index.cpython-312.pyc | Bin 0 -> 1730 bytes .../installation_report.cpython-312.pyc | Bin 0 -> 2337 bytes .../models/__pycache__/link.cpython-312.pyc | Bin 0 -> 26862 bytes .../release_control.cpython-312.pyc | Bin 0 -> 4246 bytes .../models/__pycache__/scheme.cpython-312.pyc | Bin 0 -> 1045 bytes .../__pycache__/search_scope.cpython-312.pyc | Bin 0 -> 4970 bytes .../selection_prefs.cpython-312.pyc | Bin 0 -> 1824 bytes .../__pycache__/target_python.cpython-312.pyc | Bin 0 -> 4890 bytes .../models/__pycache__/wheel.cpython-312.pyc | Bin 0 -> 4705 bytes .../pip/_internal/models/candidate.py | 23 + .../pip/_internal/models/direct_url.py | 42 + .../pip/_internal/models/format_control.py | 78 + .../pip/_internal/models/index.py | 28 + .../_internal/models/installation_report.py | 57 + .../pip/_internal/models/link.py | 617 + .../pip/_internal/models/release_control.py | 91 + .../pip/_internal/models/scheme.py | 23 + .../pip/_internal/models/search_scope.py | 124 + .../pip/_internal/models/selection_prefs.py | 36 + .../pip/_internal/models/target_python.py | 122 + .../pip/_internal/models/wheel.py | 80 + .../pip/_internal/network/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 287 bytes .../network/__pycache__/auth.cpython-312.pyc | Bin 0 -> 21607 bytes .../network/__pycache__/cache.cpython-312.pyc | Bin 0 -> 7967 bytes .../__pycache__/download.cpython-312.pyc | Bin 0 -> 16052 bytes .../__pycache__/lazy_wheel.cpython-312.pyc | Bin 0 -> 11598 bytes .../__pycache__/session.cpython-312.pyc | Bin 0 -> 19454 bytes .../network/__pycache__/utils.cpython-312.pyc | Bin 0 -> 2288 bytes .../__pycache__/xmlrpc.cpython-312.pyc | Bin 0 -> 2966 bytes .../pip/_internal/network/auth.py | 570 + .../pip/_internal/network/cache.py | 128 + .../pip/_internal/network/download.py | 340 + .../pip/_internal/network/lazy_wheel.py | 215 + .../pip/_internal/network/session.py | 532 + .../pip/_internal/network/utils.py | 98 + .../pip/_internal/network/xmlrpc.py | 61 + .../pip/_internal/operations/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 233 bytes .../__pycache__/check.cpython-312.pyc | Bin 0 -> 7193 bytes .../__pycache__/freeze.cpython-312.pyc | Bin 0 -> 10231 bytes .../__pycache__/prepare.cpython-312.pyc | Bin 0 -> 26654 bytes .../_internal/operations/build/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 239 bytes .../__pycache__/build_tracker.cpython-312.pyc | Bin 0 -> 7614 bytes .../__pycache__/metadata.cpython-312.pyc | Bin 0 -> 1888 bytes .../metadata_editable.cpython-312.pyc | Bin 0 -> 1942 bytes .../build/__pycache__/wheel.cpython-312.pyc | Bin 0 -> 1754 bytes .../wheel_editable.cpython-312.pyc | Bin 0 -> 2093 bytes .../operations/build/build_tracker.py | 140 + .../_internal/operations/build/metadata.py | 38 + .../operations/build/metadata_editable.py | 41 + .../pip/_internal/operations/build/wheel.py | 38 + .../operations/build/wheel_editable.py | 47 + .../pip/_internal/operations/check.py | 175 + .../pip/_internal/operations/freeze.py | 259 + .../_internal/operations/install/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 299 bytes .../install/__pycache__/wheel.cpython-312.pyc | Bin 0 -> 34075 bytes .../pip/_internal/operations/install/wheel.py | 745 + .../pip/_internal/operations/prepare.py | 751 + .../site-packages/pip/_internal/pyproject.py | 123 + .../pip/_internal/req/__init__.py | 103 + .../req/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 4024 bytes .../__pycache__/constructors.cpython-312.pyc | Bin 0 -> 25442 bytes .../req/__pycache__/pep723.cpython-312.pyc | Bin 0 -> 2722 bytes .../req_dependency_group.cpython-312.pyc | Bin 0 -> 4659 bytes .../req/__pycache__/req_file.cpython-312.pyc | Bin 0 -> 24382 bytes .../__pycache__/req_install.cpython-312.pyc | Bin 0 -> 34805 bytes .../req/__pycache__/req_set.cpython-312.pyc | Bin 0 -> 5468 bytes .../__pycache__/req_uninstall.cpython-312.pyc | Bin 0 -> 31638 bytes .../pip/_internal/req/constructors.py | 677 + .../site-packages/pip/_internal/req/pep723.py | 41 + .../pip/_internal/req/req_dependency_group.py | 86 + .../pip/_internal/req/req_file.py | 622 + .../pip/_internal/req/req_install.py | 838 + .../pip/_internal/req/req_set.py | 81 + .../pip/_internal/req/req_uninstall.py | 639 + .../pip/_internal/resolution/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 233 bytes .../__pycache__/base.cpython-312.pyc | Bin 0 -> 1204 bytes .../pip/_internal/resolution/base.py | 20 + .../_internal/resolution/legacy/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 240 bytes .../__pycache__/resolver.cpython-312.pyc | Bin 0 -> 22551 bytes .../_internal/resolution/legacy/resolver.py | 598 + .../resolution/resolvelib/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 244 bytes .../__pycache__/base.cpython-312.pyc | Bin 0 -> 9769 bytes .../__pycache__/candidates.cpython-312.pyc | Bin 0 -> 29790 bytes .../__pycache__/factory.cpython-312.pyc | Bin 0 -> 37053 bytes .../found_candidates.cpython-312.pyc | Bin 0 -> 6767 bytes .../__pycache__/provider.cpython-312.pyc | Bin 0 -> 12631 bytes .../__pycache__/reporter.cpython-312.pyc | Bin 0 -> 5847 bytes .../__pycache__/requirements.cpython-312.pyc | Bin 0 -> 14802 bytes .../__pycache__/resolver.cpython-312.pyc | Bin 0 -> 12399 bytes .../_internal/resolution/resolvelib/base.py | 164 + .../resolution/resolvelib/candidates.py | 599 + .../resolution/resolvelib/factory.py | 914 + .../resolution/resolvelib/found_candidates.py | 166 + .../resolution/resolvelib/provider.py | 306 + .../resolution/resolvelib/reporter.py | 98 + .../resolution/resolvelib/requirements.py | 251 + .../resolution/resolvelib/resolver.py | 332 + .../pip/_internal/self_outdated_check.py | 246 + .../pip/_internal/utils/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 228 bytes .../__pycache__/_jaraco_text.cpython-312.pyc | Bin 0 -> 4563 bytes .../utils/__pycache__/_log.cpython-312.pyc | Bin 0 -> 1899 bytes .../utils/__pycache__/appdirs.cpython-312.pyc | Bin 0 -> 2488 bytes .../utils/__pycache__/compat.cpython-312.pyc | Bin 0 -> 3055 bytes .../compatibility_tags.cpython-312.pyc | Bin 0 -> 6680 bytes .../__pycache__/datetime.cpython-312.pyc | Bin 0 -> 1576 bytes .../__pycache__/deprecation.cpython-312.pyc | Bin 0 -> 4892 bytes .../direct_url_helpers.cpython-312.pyc | Bin 0 -> 3740 bytes .../__pycache__/egg_link.cpython-312.pyc | Bin 0 -> 3177 bytes .../__pycache__/entrypoints.cpython-312.pyc | Bin 0 -> 4088 bytes .../__pycache__/filesystem.cpython-312.pyc | Bin 0 -> 10117 bytes .../__pycache__/filetypes.cpython-312.pyc | Bin 0 -> 1162 bytes .../utils/__pycache__/glibc.cpython-312.pyc | Bin 0 -> 2383 bytes .../utils/__pycache__/hashes.cpython-312.pyc | Bin 0 -> 7489 bytes .../utils/__pycache__/logging.cpython-312.pyc | Bin 0 -> 15134 bytes .../utils/__pycache__/misc.cpython-312.pyc | Bin 0 -> 32654 bytes .../__pycache__/packaging.cpython-312.pyc | Bin 0 -> 1918 bytes .../utils/__pycache__/pylock.cpython-312.pyc | Bin 0 -> 11164 bytes .../utils/__pycache__/retry.cpython-312.pyc | Bin 0 -> 2005 bytes .../__pycache__/subprocess.cpython-312.pyc | Bin 0 -> 8540 bytes .../__pycache__/temp_dir.cpython-312.pyc | Bin 0 -> 11942 bytes .../__pycache__/unpacking.cpython-312.pyc | Bin 0 -> 15162 bytes .../utils/__pycache__/urls.cpython-312.pyc | Bin 0 -> 2114 bytes .../__pycache__/virtualenv.cpython-312.pyc | Bin 0 -> 4413 bytes .../utils/__pycache__/wheel.cpython-312.pyc | Bin 0 -> 5899 bytes .../pip/_internal/utils/_jaraco_text.py | 109 + .../site-packages/pip/_internal/utils/_log.py | 38 + .../pip/_internal/utils/appdirs.py | 52 + .../pip/_internal/utils/compat.py | 85 + .../pip/_internal/utils/compatibility_tags.py | 201 + .../pip/_internal/utils/datetime.py | 28 + .../pip/_internal/utils/deprecation.py | 139 + .../pip/_internal/utils/direct_url_helpers.py | 92 + .../pip/_internal/utils/egg_link.py | 81 + .../pip/_internal/utils/entrypoints.py | 88 + .../pip/_internal/utils/filesystem.py | 201 + .../pip/_internal/utils/filetypes.py | 24 + .../pip/_internal/utils/glibc.py | 102 + .../pip/_internal/utils/hashes.py | 150 + .../pip/_internal/utils/logging.py | 396 + .../site-packages/pip/_internal/utils/misc.py | 771 + .../pip/_internal/utils/packaging.py | 44 + .../pip/_internal/utils/pylock.py | 283 + .../pip/_internal/utils/retry.py | 45 + .../pip/_internal/utils/subprocess.py | 248 + .../pip/_internal/utils/temp_dir.py | 294 + .../pip/_internal/utils/unpacking.py | 381 + .../site-packages/pip/_internal/utils/urls.py | 55 + .../pip/_internal/utils/virtualenv.py | 105 + .../pip/_internal/utils/wheel.py | 132 + .../pip/_internal/vcs/__init__.py | 15 + .../vcs/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 567 bytes .../vcs/__pycache__/bazaar.cpython-312.pyc | Bin 0 -> 5186 bytes .../vcs/__pycache__/git.cpython-312.pyc | Bin 0 -> 19944 bytes .../vcs/__pycache__/mercurial.cpython-312.pyc | Bin 0 -> 7793 bytes .../__pycache__/subversion.cpython-312.pyc | Bin 0 -> 12373 bytes .../versioncontrol.cpython-312.pyc | Bin 0 -> 28971 bytes .../site-packages/pip/_internal/vcs/bazaar.py | 130 + .../site-packages/pip/_internal/vcs/git.py | 571 + .../pip/_internal/vcs/mercurial.py | 186 + .../pip/_internal/vcs/subversion.py | 335 + .../pip/_internal/vcs/versioncontrol.py | 695 + .../pip/_internal/wheel_builder.py | 261 + .../site-packages/pip/_vendor/README.rst | 178 + .../site-packages/pip/_vendor/__init__.py | 117 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 4630 bytes .../pip/_vendor/cachecontrol/LICENSE.txt | 13 + .../pip/_vendor/cachecontrol/__init__.py | 32 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 959 bytes .../__pycache__/_cmd.cpython-312.pyc | Bin 0 -> 2683 bytes .../__pycache__/adapter.cpython-312.pyc | Bin 0 -> 6730 bytes .../__pycache__/cache.cpython-312.pyc | Bin 0 -> 3824 bytes .../__pycache__/controller.cpython-312.pyc | Bin 0 -> 16490 bytes .../__pycache__/filewrapper.cpython-312.pyc | Bin 0 -> 4432 bytes .../__pycache__/heuristics.cpython-312.pyc | Bin 0 -> 6734 bytes .../__pycache__/serialize.cpython-312.pyc | Bin 0 -> 5298 bytes .../__pycache__/wrapper.cpython-312.pyc | Bin 0 -> 1711 bytes .../pip/_vendor/cachecontrol/_cmd.py | 70 + .../pip/_vendor/cachecontrol/adapter.py | 167 + .../pip/_vendor/cachecontrol/cache.py | 75 + .../_vendor/cachecontrol/caches/__init__.py | 8 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 472 bytes .../__pycache__/file_cache.cpython-312.pyc | Bin 0 -> 7071 bytes .../__pycache__/redis_cache.cpython-312.pyc | Bin 0 -> 2770 bytes .../_vendor/cachecontrol/caches/file_cache.py | 145 + .../cachecontrol/caches/redis_cache.py | 48 + .../pip/_vendor/cachecontrol/controller.py | 511 + .../pip/_vendor/cachecontrol/filewrapper.py | 121 + .../pip/_vendor/cachecontrol/heuristics.py | 157 + .../pip/_vendor/cachecontrol/py.typed | 0 .../pip/_vendor/cachecontrol/serialize.py | 146 + .../pip/_vendor/cachecontrol/wrapper.py | 43 + .../site-packages/pip/_vendor/certifi/LICENSE | 20 + .../pip/_vendor/certifi/__init__.py | 4 + .../pip/_vendor/certifi/__main__.py | 12 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 355 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 682 bytes .../certifi/__pycache__/core.cpython-312.pyc | Bin 0 -> 2119 bytes .../pip/_vendor/certifi/cacert.pem | 4494 ++++ .../site-packages/pip/_vendor/certifi/core.py | 83 + .../pip/_vendor/certifi/py.typed | 0 .../pip/_vendor/distlib/LICENSE.txt | 284 + .../pip/_vendor/distlib/__init__.py | 33 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1306 bytes .../__pycache__/compat.cpython-312.pyc | Bin 0 -> 45563 bytes .../__pycache__/resources.cpython-312.pyc | Bin 0 -> 17349 bytes .../__pycache__/scripts.cpython-312.pyc | Bin 0 -> 19794 bytes .../distlib/__pycache__/util.cpython-312.pyc | Bin 0 -> 88072 bytes .../pip/_vendor/distlib/compat.py | 1137 + .../pip/_vendor/distlib/resources.py | 358 + .../pip/_vendor/distlib/scripts.py | 447 + .../site-packages/pip/_vendor/distlib/t32.exe | Bin 0 -> 97792 bytes .../pip/_vendor/distlib/t64-arm.exe | Bin 0 -> 182784 bytes .../site-packages/pip/_vendor/distlib/t64.exe | Bin 0 -> 108032 bytes .../site-packages/pip/_vendor/distlib/util.py | 1984 ++ .../site-packages/pip/_vendor/distlib/w32.exe | Bin 0 -> 91648 bytes .../pip/_vendor/distlib/w64-arm.exe | Bin 0 -> 168448 bytes .../site-packages/pip/_vendor/distlib/w64.exe | Bin 0 -> 101888 bytes .../site-packages/pip/_vendor/distro/LICENSE | 202 + .../pip/_vendor/distro/__init__.py | 54 + .../pip/_vendor/distro/__main__.py | 4 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 997 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 329 bytes .../distro/__pycache__/distro.cpython-312.pyc | Bin 0 -> 53829 bytes .../pip/_vendor/distro/distro.py | 1403 ++ .../site-packages/pip/_vendor/distro/py.typed | 0 .../site-packages/pip/_vendor/idna/LICENSE.md | 31 + .../pip/_vendor/idna/__init__.py | 45 + .../idna/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 923 bytes .../idna/__pycache__/codec.cpython-312.pyc | Bin 0 -> 5013 bytes .../idna/__pycache__/compat.cpython-312.pyc | Bin 0 -> 927 bytes .../idna/__pycache__/core.cpython-312.pyc | Bin 0 -> 16180 bytes .../idna/__pycache__/idnadata.cpython-312.pyc | Bin 0 -> 100952 bytes .../__pycache__/intranges.cpython-312.pyc | Bin 0 -> 2670 bytes .../__pycache__/package_data.cpython-312.pyc | Bin 0 -> 254 bytes .../__pycache__/uts46data.cpython-312.pyc | Bin 0 -> 161882 bytes .../site-packages/pip/_vendor/idna/codec.py | 122 + .../site-packages/pip/_vendor/idna/compat.py | 15 + .../site-packages/pip/_vendor/idna/core.py | 437 + .../pip/_vendor/idna/idnadata.py | 4309 ++++ .../pip/_vendor/idna/intranges.py | 57 + .../pip/_vendor/idna/package_data.py | 1 + .../site-packages/pip/_vendor/idna/py.typed | 0 .../pip/_vendor/idna/uts46data.py | 8841 +++++++ .../site-packages/pip/_vendor/msgpack/COPYING | 14 + .../pip/_vendor/msgpack/__init__.py | 55 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1776 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 2062 bytes .../msgpack/__pycache__/ext.cpython-312.pyc | Bin 0 -> 8330 bytes .../__pycache__/fallback.cpython-312.pyc | Bin 0 -> 41527 bytes .../pip/_vendor/msgpack/exceptions.py | 48 + .../site-packages/pip/_vendor/msgpack/ext.py | 170 + .../pip/_vendor/msgpack/fallback.py | 929 + .../pip/_vendor/packaging/LICENSE | 3 + .../pip/_vendor/packaging/LICENSE.APACHE | 177 + .../pip/_vendor/packaging/LICENSE.BSD | 23 + .../pip/_vendor/packaging/__init__.py | 15 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 595 bytes .../__pycache__/_elffile.cpython-312.pyc | Bin 0 -> 4975 bytes .../__pycache__/_manylinux.cpython-312.pyc | Bin 0 -> 9894 bytes .../__pycache__/_musllinux.cpython-312.pyc | Bin 0 -> 4603 bytes .../__pycache__/_parser.cpython-312.pyc | Bin 0 -> 15612 bytes .../__pycache__/_structures.cpython-312.pyc | Bin 0 -> 1636 bytes .../__pycache__/_tokenizer.cpython-312.pyc | Bin 0 -> 8487 bytes .../dependency_groups.cpython-312.pyc | Bin 0 -> 11052 bytes .../__pycache__/direct_url.cpython-312.pyc | Bin 0 -> 14564 bytes .../__pycache__/errors.cpython-312.pyc | Bin 0 -> 4461 bytes .../__pycache__/markers.cpython-312.pyc | Bin 0 -> 17498 bytes .../__pycache__/metadata.cpython-312.pyc | Bin 0 -> 31298 bytes .../__pycache__/pylock.cpython-312.pyc | Bin 0 -> 37442 bytes .../__pycache__/requirements.cpython-312.pyc | Bin 0 -> 6139 bytes .../__pycache__/specifiers.cpython-312.pyc | Bin 0 -> 75822 bytes .../__pycache__/tags.cpython-312.pyc | Bin 0 -> 37403 bytes .../__pycache__/utils.cpython-312.pyc | Bin 0 -> 11091 bytes .../__pycache__/version.cpython-312.pyc | Bin 0 -> 41836 bytes .../pip/_vendor/packaging/_elffile.py | 108 + .../pip/_vendor/packaging/_manylinux.py | 262 + .../pip/_vendor/packaging/_musllinux.py | 85 + .../pip/_vendor/packaging/_parser.py | 393 + .../pip/_vendor/packaging/_structures.py | 33 + .../pip/_vendor/packaging/_tokenizer.py | 193 + .../_vendor/packaging/dependency_groups.py | 302 + .../pip/_vendor/packaging/direct_url.py | 325 + .../pip/_vendor/packaging/errors.py | 94 + .../_vendor/packaging/licenses/__init__.py | 186 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 5482 bytes .../__pycache__/_spdx.cpython-312.pyc | Bin 0 -> 49897 bytes .../pip/_vendor/packaging/licenses/_spdx.py | 799 + .../pip/_vendor/packaging/markers.py | 492 + .../pip/_vendor/packaging/metadata.py | 964 + .../pip/_vendor/packaging/py.typed | 0 .../pip/_vendor/packaging/pylock.py | 905 + .../pip/_vendor/packaging/requirements.py | 129 + .../pip/_vendor/packaging/specifiers.py | 1943 ++ .../pip/_vendor/packaging/tags.py | 932 + .../pip/_vendor/packaging/utils.py | 296 + .../pip/_vendor/packaging/version.py | 1231 + .../pip/_vendor/pkg_resources/LICENSE | 17 + .../pip/_vendor/pkg_resources/__init__.py | 3676 +++ .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 161286 bytes .../pip/_vendor/platformdirs/LICENSE | 21 + .../pip/_vendor/platformdirs/__init__.py | 631 + .../pip/_vendor/platformdirs/__main__.py | 55 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 19884 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 1985 bytes .../__pycache__/android.cpython-312.pyc | Bin 0 -> 10722 bytes .../__pycache__/api.cpython-312.pyc | Bin 0 -> 13377 bytes .../__pycache__/macos.cpython-312.pyc | Bin 0 -> 9040 bytes .../__pycache__/unix.cpython-312.pyc | Bin 0 -> 14788 bytes .../__pycache__/version.cpython-312.pyc | Bin 0 -> 840 bytes .../__pycache__/windows.cpython-312.pyc | Bin 0 -> 13836 bytes .../pip/_vendor/platformdirs/android.py | 249 + .../pip/_vendor/platformdirs/api.py | 299 + .../pip/_vendor/platformdirs/macos.py | 146 + .../pip/_vendor/platformdirs/py.typed | 0 .../pip/_vendor/platformdirs/unix.py | 272 + .../pip/_vendor/platformdirs/version.py | 34 + .../pip/_vendor/platformdirs/windows.py | 278 + .../pip/_vendor/pygments/LICENSE | 25 + .../pip/_vendor/pygments/__init__.py | 82 + .../pip/_vendor/pygments/__main__.py | 17 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 3526 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 772 bytes .../__pycache__/console.cpython-312.pyc | Bin 0 -> 2666 bytes .../__pycache__/filter.cpython-312.pyc | Bin 0 -> 3259 bytes .../__pycache__/formatter.cpython-312.pyc | Bin 0 -> 4758 bytes .../__pycache__/lexer.cpython-312.pyc | Bin 0 -> 38399 bytes .../__pycache__/modeline.cpython-312.pyc | Bin 0 -> 1597 bytes .../__pycache__/plugin.cpython-312.pyc | Bin 0 -> 2646 bytes .../__pycache__/regexopt.cpython-312.pyc | Bin 0 -> 4115 bytes .../__pycache__/scanner.cpython-312.pyc | Bin 0 -> 4794 bytes .../__pycache__/sphinxext.cpython-312.pyc | Bin 0 -> 12136 bytes .../__pycache__/style.cpython-312.pyc | Bin 0 -> 6731 bytes .../__pycache__/token.cpython-312.pyc | Bin 0 -> 8227 bytes .../__pycache__/unistring.cpython-312.pyc | Bin 0 -> 33010 bytes .../pygments/__pycache__/util.cpython-312.pyc | Bin 0 -> 14107 bytes .../pip/_vendor/pygments/console.py | 70 + .../pip/_vendor/pygments/filter.py | 70 + .../pip/_vendor/pygments/filters/__init__.py | 940 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 37949 bytes .../pip/_vendor/pygments/formatter.py | 129 + .../_vendor/pygments/formatters/__init__.py | 157 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 6940 bytes .../__pycache__/_mapping.cpython-312.pyc | Bin 0 -> 4253 bytes .../_vendor/pygments/formatters/_mapping.py | 23 + .../pip/_vendor/pygments/lexer.py | 963 + .../pip/_vendor/pygments/lexers/__init__.py | 362 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 14659 bytes .../__pycache__/_mapping.cpython-312.pyc | Bin 0 -> 69882 bytes .../lexers/__pycache__/python.cpython-312.pyc | Bin 0 -> 43010 bytes .../pip/_vendor/pygments/lexers/_mapping.py | 602 + .../pip/_vendor/pygments/lexers/python.py | 1201 + .../pip/_vendor/pygments/modeline.py | 43 + .../pip/_vendor/pygments/plugin.py | 72 + .../pip/_vendor/pygments/regexopt.py | 91 + .../pip/_vendor/pygments/scanner.py | 104 + .../pip/_vendor/pygments/sphinxext.py | 247 + .../pip/_vendor/pygments/style.py | 203 + .../pip/_vendor/pygments/styles/__init__.py | 61 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 2702 bytes .../__pycache__/_mapping.cpython-312.pyc | Bin 0 -> 3686 bytes .../pip/_vendor/pygments/styles/_mapping.py | 54 + .../pip/_vendor/pygments/token.py | 214 + .../pip/_vendor/pygments/unistring.py | 153 + .../pip/_vendor/pygments/util.py | 324 + .../pip/_vendor/pyproject_hooks/LICENSE | 21 + .../pip/_vendor/pyproject_hooks/__init__.py | 31 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 785 bytes .../__pycache__/_impl.cpython-312.pyc | Bin 0 -> 18084 bytes .../pip/_vendor/pyproject_hooks/_impl.py | 410 + .../pyproject_hooks/_in_process/__init__.py | 21 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1114 bytes .../__pycache__/_in_process.cpython-312.pyc | Bin 0 -> 15352 bytes .../_in_process/_in_process.py | 389 + .../pip/_vendor/pyproject_hooks/py.typed | 0 .../pip/_vendor/requests/LICENSE | 175 + .../pip/_vendor/requests/__init__.py | 178 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 5259 bytes .../__pycache__/__version__.cpython-312.pyc | Bin 0 -> 622 bytes .../_internal_utils.cpython-312.pyc | Bin 0 -> 2068 bytes .../__pycache__/adapters.cpython-312.pyc | Bin 0 -> 27796 bytes .../requests/__pycache__/api.cpython-312.pyc | Bin 0 -> 7229 bytes .../requests/__pycache__/auth.cpython-312.pyc | Bin 0 -> 13849 bytes .../__pycache__/certs.cpython-312.pyc | Bin 0 -> 716 bytes .../__pycache__/compat.cpython-312.pyc | Bin 0 -> 2023 bytes .../__pycache__/cookies.cpython-312.pyc | Bin 0 -> 25236 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 7636 bytes .../requests/__pycache__/help.cpython-312.pyc | Bin 0 -> 4170 bytes .../__pycache__/hooks.cpython-312.pyc | Bin 0 -> 1089 bytes .../__pycache__/models.cpython-312.pyc | Bin 0 -> 35524 bytes .../__pycache__/packages.cpython-312.pyc | Bin 0 -> 1304 bytes .../__pycache__/sessions.cpython-312.pyc | Bin 0 -> 27892 bytes .../__pycache__/status_codes.cpython-312.pyc | Bin 0 -> 6061 bytes .../__pycache__/structures.cpython-312.pyc | Bin 0 -> 5661 bytes .../__pycache__/utils.cpython-312.pyc | Bin 0 -> 36122 bytes .../pip/_vendor/requests/__version__.py | 14 + .../pip/_vendor/requests/_internal_utils.py | 51 + .../pip/_vendor/requests/adapters.py | 697 + .../site-packages/pip/_vendor/requests/api.py | 157 + .../pip/_vendor/requests/auth.py | 314 + .../pip/_vendor/requests/certs.py | 18 + .../pip/_vendor/requests/compat.py | 90 + .../pip/_vendor/requests/cookies.py | 561 + .../pip/_vendor/requests/exceptions.py | 152 + .../pip/_vendor/requests/help.py | 124 + .../pip/_vendor/requests/hooks.py | 34 + .../pip/_vendor/requests/models.py | 1041 + .../pip/_vendor/requests/packages.py | 25 + .../pip/_vendor/requests/sessions.py | 834 + .../pip/_vendor/requests/status_codes.py | 128 + .../pip/_vendor/requests/structures.py | 99 + .../pip/_vendor/requests/utils.py | 1083 + .../pip/_vendor/resolvelib/LICENSE | 13 + .../pip/_vendor/resolvelib/__init__.py | 27 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 672 bytes .../__pycache__/providers.cpython-312.pyc | Bin 0 -> 10163 bytes .../__pycache__/reporters.cpython-312.pyc | Bin 0 -> 3327 bytes .../__pycache__/structs.cpython-312.pyc | Bin 0 -> 12482 bytes .../pip/_vendor/resolvelib/providers.py | 196 + .../pip/_vendor/resolvelib/py.typed | 0 .../pip/_vendor/resolvelib/reporters.py | 55 + .../_vendor/resolvelib/resolvers/__init__.py | 27 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 777 bytes .../__pycache__/abstract.cpython-312.pyc | Bin 0 -> 2483 bytes .../__pycache__/criterion.cpython-312.pyc | Bin 0 -> 3314 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 4121 bytes .../__pycache__/resolution.cpython-312.pyc | Bin 0 -> 25183 bytes .../_vendor/resolvelib/resolvers/abstract.py | 47 + .../_vendor/resolvelib/resolvers/criterion.py | 48 + .../resolvelib/resolvers/exceptions.py | 57 + .../resolvelib/resolvers/resolution.py | 627 + .../pip/_vendor/resolvelib/structs.py | 209 + .../site-packages/pip/_vendor/rich/LICENSE | 19 + .../pip/_vendor/rich/__init__.py | 177 + .../pip/_vendor/rich/__main__.py | 245 + .../rich/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 7053 bytes .../rich/__pycache__/__main__.cpython-312.pyc | Bin 0 -> 9576 bytes .../__pycache__/_cell_widths.cpython-312.pyc | Bin 0 -> 7910 bytes .../__pycache__/_emoji_codes.cpython-312.pyc | Bin 0 -> 206014 bytes .../_emoji_replace.cpython-312.pyc | Bin 0 -> 1767 bytes .../_export_format.cpython-312.pyc | Bin 0 -> 2387 bytes .../__pycache__/_extension.cpython-312.pyc | Bin 0 -> 575 bytes .../rich/__pycache__/_fileno.cpython-312.pyc | Bin 0 -> 893 bytes .../rich/__pycache__/_inspect.cpython-312.pyc | Bin 0 -> 12061 bytes .../__pycache__/_log_render.cpython-312.pyc | Bin 0 -> 4185 bytes .../rich/__pycache__/_loop.cpython-312.pyc | Bin 0 -> 1908 bytes .../__pycache__/_null_file.cpython-312.pyc | Bin 0 -> 3667 bytes .../__pycache__/_palettes.cpython-312.pyc | Bin 0 -> 5198 bytes .../rich/__pycache__/_pick.cpython-312.pyc | Bin 0 -> 759 bytes .../rich/__pycache__/_ratio.cpython-312.pyc | Bin 0 -> 6461 bytes .../__pycache__/_spinners.cpython-312.pyc | Bin 0 -> 13217 bytes .../rich/__pycache__/_stack.cpython-312.pyc | Bin 0 -> 1003 bytes .../rich/__pycache__/_timer.cpython-312.pyc | Bin 0 -> 903 bytes .../_win32_console.cpython-312.pyc | Bin 0 -> 28849 bytes .../rich/__pycache__/_windows.cpython-312.pyc | Bin 0 -> 2528 bytes .../_windows_renderer.cpython-312.pyc | Bin 0 -> 3601 bytes .../rich/__pycache__/_wrap.cpython-312.pyc | Bin 0 -> 3364 bytes .../rich/__pycache__/abc.cpython-312.pyc | Bin 0 -> 1646 bytes .../rich/__pycache__/align.cpython-312.pyc | Bin 0 -> 12282 bytes .../rich/__pycache__/ansi.cpython-312.pyc | Bin 0 -> 9119 bytes .../rich/__pycache__/bar.cpython-312.pyc | Bin 0 -> 4310 bytes .../rich/__pycache__/box.cpython-312.pyc | Bin 0 -> 11729 bytes .../rich/__pycache__/cells.cpython-312.pyc | Bin 0 -> 5598 bytes .../rich/__pycache__/color.cpython-312.pyc | Bin 0 -> 26590 bytes .../__pycache__/color_triplet.cpython-312.pyc | Bin 0 -> 1739 bytes .../rich/__pycache__/columns.cpython-312.pyc | Bin 0 -> 8622 bytes .../rich/__pycache__/console.cpython-312.pyc | Bin 0 -> 115080 bytes .../__pycache__/constrain.cpython-312.pyc | Bin 0 -> 2296 bytes .../__pycache__/containers.cpython-312.pyc | Bin 0 -> 9248 bytes .../rich/__pycache__/control.cpython-312.pyc | Bin 0 -> 10834 bytes .../default_styles.cpython-312.pyc | Bin 0 -> 10559 bytes .../rich/__pycache__/diagnose.cpython-312.pyc | Bin 0 -> 1559 bytes .../rich/__pycache__/emoji.cpython-312.pyc | Bin 0 -> 4119 bytes .../rich/__pycache__/errors.cpython-312.pyc | Bin 0 -> 1883 bytes .../__pycache__/file_proxy.cpython-312.pyc | Bin 0 -> 3609 bytes .../rich/__pycache__/filesize.cpython-312.pyc | Bin 0 -> 3085 bytes .../__pycache__/highlighter.cpython-312.pyc | Bin 0 -> 9926 bytes .../rich/__pycache__/json.cpython-312.pyc | Bin 0 -> 6073 bytes .../rich/__pycache__/jupyter.cpython-312.pyc | Bin 0 -> 5246 bytes .../rich/__pycache__/layout.cpython-312.pyc | Bin 0 -> 20196 bytes .../rich/__pycache__/live.cpython-312.pyc | Bin 0 -> 20031 bytes .../__pycache__/live_render.cpython-312.pyc | Bin 0 -> 4783 bytes .../rich/__pycache__/logging.cpython-312.pyc | Bin 0 -> 14112 bytes .../rich/__pycache__/markup.cpython-312.pyc | Bin 0 -> 9605 bytes .../rich/__pycache__/measure.cpython-312.pyc | Bin 0 -> 6416 bytes .../rich/__pycache__/padding.cpython-312.pyc | Bin 0 -> 6971 bytes .../rich/__pycache__/pager.cpython-312.pyc | Bin 0 -> 1849 bytes .../rich/__pycache__/palette.cpython-312.pyc | Bin 0 -> 5335 bytes .../rich/__pycache__/panel.cpython-312.pyc | Bin 0 -> 12762 bytes .../rich/__pycache__/pretty.cpython-312.pyc | Bin 0 -> 40649 bytes .../rich/__pycache__/progress.cpython-312.pyc | Bin 0 -> 74977 bytes .../__pycache__/progress_bar.cpython-312.pyc | Bin 0 -> 10415 bytes .../rich/__pycache__/prompt.cpython-312.pyc | Bin 0 -> 16043 bytes .../rich/__pycache__/protocol.cpython-312.pyc | Bin 0 -> 1830 bytes .../rich/__pycache__/region.cpython-312.pyc | Bin 0 -> 605 bytes .../rich/__pycache__/repr.cpython-312.pyc | Bin 0 -> 6651 bytes .../rich/__pycache__/rule.cpython-312.pyc | Bin 0 -> 6606 bytes .../rich/__pycache__/scope.cpython-312.pyc | Bin 0 -> 3863 bytes .../rich/__pycache__/screen.cpython-312.pyc | Bin 0 -> 2517 bytes .../rich/__pycache__/segment.cpython-312.pyc | Bin 0 -> 28575 bytes .../rich/__pycache__/spinner.cpython-312.pyc | Bin 0 -> 5961 bytes .../rich/__pycache__/status.cpython-312.pyc | Bin 0 -> 6099 bytes .../rich/__pycache__/style.cpython-312.pyc | Bin 0 -> 33455 bytes .../rich/__pycache__/styled.cpython-312.pyc | Bin 0 -> 2177 bytes .../rich/__pycache__/syntax.cpython-312.pyc | Bin 0 -> 41001 bytes .../rich/__pycache__/table.cpython-312.pyc | Bin 0 -> 43875 bytes .../terminal_theme.cpython-312.pyc | Bin 0 -> 3386 bytes .../rich/__pycache__/text.cpython-312.pyc | Bin 0 -> 61248 bytes .../rich/__pycache__/theme.cpython-312.pyc | Bin 0 -> 6365 bytes .../rich/__pycache__/themes.cpython-312.pyc | Bin 0 -> 352 bytes .../__pycache__/traceback.cpython-312.pyc | Bin 0 -> 36211 bytes .../rich/__pycache__/tree.cpython-312.pyc | Bin 0 -> 11831 bytes .../pip/_vendor/rich/_cell_widths.py | 454 + .../pip/_vendor/rich/_emoji_codes.py | 3610 +++ .../pip/_vendor/rich/_emoji_replace.py | 32 + .../pip/_vendor/rich/_export_format.py | 76 + .../pip/_vendor/rich/_extension.py | 10 + .../site-packages/pip/_vendor/rich/_fileno.py | 24 + .../pip/_vendor/rich/_inspect.py | 268 + .../pip/_vendor/rich/_log_render.py | 94 + .../site-packages/pip/_vendor/rich/_loop.py | 43 + .../pip/_vendor/rich/_null_file.py | 69 + .../pip/_vendor/rich/_palettes.py | 309 + .../site-packages/pip/_vendor/rich/_pick.py | 17 + .../site-packages/pip/_vendor/rich/_ratio.py | 153 + .../pip/_vendor/rich/_spinners.py | 482 + .../site-packages/pip/_vendor/rich/_stack.py | 16 + .../site-packages/pip/_vendor/rich/_timer.py | 19 + .../pip/_vendor/rich/_win32_console.py | 661 + .../pip/_vendor/rich/_windows.py | 71 + .../pip/_vendor/rich/_windows_renderer.py | 56 + .../site-packages/pip/_vendor/rich/_wrap.py | 93 + .../site-packages/pip/_vendor/rich/abc.py | 33 + .../site-packages/pip/_vendor/rich/align.py | 306 + .../site-packages/pip/_vendor/rich/ansi.py | 241 + .../site-packages/pip/_vendor/rich/bar.py | 93 + .../site-packages/pip/_vendor/rich/box.py | 474 + .../site-packages/pip/_vendor/rich/cells.py | 174 + .../site-packages/pip/_vendor/rich/color.py | 621 + .../pip/_vendor/rich/color_triplet.py | 38 + .../site-packages/pip/_vendor/rich/columns.py | 187 + .../site-packages/pip/_vendor/rich/console.py | 2680 ++ .../pip/_vendor/rich/constrain.py | 37 + .../pip/_vendor/rich/containers.py | 167 + .../site-packages/pip/_vendor/rich/control.py | 219 + .../pip/_vendor/rich/default_styles.py | 193 + .../pip/_vendor/rich/diagnose.py | 39 + .../site-packages/pip/_vendor/rich/emoji.py | 91 + .../site-packages/pip/_vendor/rich/errors.py | 34 + .../pip/_vendor/rich/file_proxy.py | 57 + .../pip/_vendor/rich/filesize.py | 88 + .../pip/_vendor/rich/highlighter.py | 232 + .../site-packages/pip/_vendor/rich/json.py | 139 + .../site-packages/pip/_vendor/rich/jupyter.py | 101 + .../site-packages/pip/_vendor/rich/layout.py | 442 + .../site-packages/pip/_vendor/rich/live.py | 400 + .../pip/_vendor/rich/live_render.py | 106 + .../site-packages/pip/_vendor/rich/logging.py | 297 + .../site-packages/pip/_vendor/rich/markup.py | 251 + .../site-packages/pip/_vendor/rich/measure.py | 151 + .../site-packages/pip/_vendor/rich/padding.py | 141 + .../site-packages/pip/_vendor/rich/pager.py | 34 + .../site-packages/pip/_vendor/rich/palette.py | 100 + .../site-packages/pip/_vendor/rich/panel.py | 317 + .../site-packages/pip/_vendor/rich/pretty.py | 1016 + .../pip/_vendor/rich/progress.py | 1715 ++ .../pip/_vendor/rich/progress_bar.py | 223 + .../site-packages/pip/_vendor/rich/prompt.py | 400 + .../pip/_vendor/rich/protocol.py | 42 + .../site-packages/pip/_vendor/rich/py.typed | 0 .../site-packages/pip/_vendor/rich/region.py | 10 + .../site-packages/pip/_vendor/rich/repr.py | 149 + .../site-packages/pip/_vendor/rich/rule.py | 130 + .../site-packages/pip/_vendor/rich/scope.py | 86 + .../site-packages/pip/_vendor/rich/screen.py | 54 + .../site-packages/pip/_vendor/rich/segment.py | 752 + .../site-packages/pip/_vendor/rich/spinner.py | 132 + .../site-packages/pip/_vendor/rich/status.py | 131 + .../site-packages/pip/_vendor/rich/style.py | 792 + .../site-packages/pip/_vendor/rich/styled.py | 42 + .../site-packages/pip/_vendor/rich/syntax.py | 985 + .../site-packages/pip/_vendor/rich/table.py | 1006 + .../pip/_vendor/rich/terminal_theme.py | 153 + .../site-packages/pip/_vendor/rich/text.py | 1361 ++ .../site-packages/pip/_vendor/rich/theme.py | 115 + .../site-packages/pip/_vendor/rich/themes.py | 5 + .../pip/_vendor/rich/traceback.py | 899 + .../site-packages/pip/_vendor/rich/tree.py | 257 + .../site-packages/pip/_vendor/tomli/LICENSE | 21 + .../pip/_vendor/tomli/__init__.py | 8 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 376 bytes .../tomli/__pycache__/_parser.cpython-312.pyc | Bin 0 -> 29711 bytes .../tomli/__pycache__/_re.cpython-312.pyc | Bin 0 -> 4114 bytes .../tomli/__pycache__/_types.cpython-312.pyc | Bin 0 -> 404 bytes .../pip/_vendor/tomli/_parser.py | 788 + .../site-packages/pip/_vendor/tomli/_re.py | 115 + .../site-packages/pip/_vendor/tomli/_types.py | 10 + .../site-packages/pip/_vendor/tomli/py.typed | 1 + .../site-packages/pip/_vendor/tomli_w/LICENSE | 21 + .../pip/_vendor/tomli_w/__init__.py | 4 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 365 bytes .../__pycache__/_writer.cpython-312.pyc | Bin 0 -> 10387 bytes .../pip/_vendor/tomli_w/_writer.py | 229 + .../pip/_vendor/tomli_w/py.typed | 1 + .../pip/_vendor/truststore/LICENSE | 21 + .../pip/_vendor/truststore/__init__.py | 36 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1490 bytes .../__pycache__/_api.cpython-312.pyc | Bin 0 -> 17570 bytes .../__pycache__/_macos.cpython-312.pyc | Bin 0 -> 19025 bytes .../__pycache__/_openssl.cpython-312.pyc | Bin 0 -> 2294 bytes .../_ssl_constants.cpython-312.pyc | Bin 0 -> 1137 bytes .../__pycache__/_windows.cpython-312.pyc | Bin 0 -> 15803 bytes .../pip/_vendor/truststore/_api.py | 341 + .../pip/_vendor/truststore/_macos.py | 571 + .../pip/_vendor/truststore/_openssl.py | 68 + .../pip/_vendor/truststore/_ssl_constants.py | 31 + .../pip/_vendor/truststore/_windows.py | 567 + .../pip/_vendor/truststore/py.typed | 0 .../pip/_vendor/urllib3/LICENSE.txt | 21 + .../pip/_vendor/urllib3/__init__.py | 211 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 7353 bytes .../_base_connection.cpython-312.pyc | Bin 0 -> 6903 bytes .../__pycache__/_collections.cpython-312.pyc | Bin 0 -> 22934 bytes .../_request_methods.cpython-312.pyc | Bin 0 -> 10645 bytes .../__pycache__/_version.cpython-312.pyc | Bin 0 -> 836 bytes .../__pycache__/connection.cpython-312.pyc | Bin 0 -> 38944 bytes .../connectionpool.cpython-312.pyc | Bin 0 -> 39773 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 16654 bytes .../__pycache__/fields.cpython-312.pyc | Bin 0 -> 12047 bytes .../__pycache__/filepost.cpython-312.pyc | Bin 0 -> 3522 bytes .../__pycache__/poolmanager.cpython-312.pyc | Bin 0 -> 24372 bytes .../__pycache__/response.cpython-312.pyc | Bin 0 -> 57342 bytes .../pip/_vendor/urllib3/_base_connection.py | 165 + .../pip/_vendor/urllib3/_collections.py | 487 + .../pip/_vendor/urllib3/_request_methods.py | 278 + .../pip/_vendor/urllib3/_version.py | 34 + .../pip/_vendor/urllib3/connection.py | 1099 + .../pip/_vendor/urllib3/connectionpool.py | 1178 + .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 236 bytes .../__pycache__/pyopenssl.cpython-312.pyc | Bin 0 -> 28293 bytes .../contrib/__pycache__/socks.cpython-312.pyc | Bin 0 -> 8214 bytes .../urllib3/contrib/emscripten/__init__.py | 17 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1013 bytes .../__pycache__/connection.cpython-312.pyc | Bin 0 -> 10425 bytes .../__pycache__/fetch.cpython-312.pyc | Bin 0 -> 28682 bytes .../__pycache__/request.cpython-312.pyc | Bin 0 -> 1464 bytes .../__pycache__/response.cpython-312.pyc | Bin 0 -> 12252 bytes .../urllib3/contrib/emscripten/connection.py | 260 + .../emscripten/emscripten_fetch_worker.js | 110 + .../urllib3/contrib/emscripten/fetch.py | 726 + .../urllib3/contrib/emscripten/request.py | 22 + .../urllib3/contrib/emscripten/response.py | 277 + .../pip/_vendor/urllib3/contrib/pyopenssl.py | 564 + .../pip/_vendor/urllib3/contrib/socks.py | 228 + .../pip/_vendor/urllib3/exceptions.py | 335 + .../pip/_vendor/urllib3/fields.py | 341 + .../pip/_vendor/urllib3/filepost.py | 89 + .../pip/_vendor/urllib3/http2/__init__.py | 53 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1789 bytes .../__pycache__/connection.cpython-312.pyc | Bin 0 -> 17010 bytes .../http2/__pycache__/probe.cpython-312.pyc | Bin 0 -> 3700 bytes .../pip/_vendor/urllib3/http2/connection.py | 356 + .../pip/_vendor/urllib3/http2/probe.py | 87 + .../pip/_vendor/urllib3/poolmanager.py | 651 + .../pip/_vendor/urllib3/py.typed | 2 + .../pip/_vendor/urllib3/response.py | 1474 ++ .../pip/_vendor/urllib3/util/__init__.py | 42 + .../util/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1049 bytes .../__pycache__/connection.cpython-312.pyc | Bin 0 -> 4730 bytes .../util/__pycache__/proxy.cpython-312.pyc | Bin 0 -> 1261 bytes .../util/__pycache__/request.cpython-312.pyc | Bin 0 -> 8177 bytes .../util/__pycache__/response.cpython-312.pyc | Bin 0 -> 2920 bytes .../util/__pycache__/retry.cpython-312.pyc | Bin 0 -> 20882 bytes .../util/__pycache__/ssl_.cpython-312.pyc | Bin 0 -> 17349 bytes .../ssl_match_hostname.cpython-312.pyc | Bin 0 -> 5581 bytes .../__pycache__/ssltransport.cpython-312.pyc | Bin 0 -> 13349 bytes .../util/__pycache__/timeout.cpython-312.pyc | Bin 0 -> 11750 bytes .../util/__pycache__/url.cpython-312.pyc | Bin 0 -> 16322 bytes .../util/__pycache__/util.cpython-312.pyc | Bin 0 -> 2038 bytes .../util/__pycache__/wait.cpython-312.pyc | Bin 0 -> 3484 bytes .../pip/_vendor/urllib3/util/connection.py | 137 + .../pip/_vendor/urllib3/util/proxy.py | 43 + .../pip/_vendor/urllib3/util/request.py | 254 + .../pip/_vendor/urllib3/util/response.py | 101 + .../pip/_vendor/urllib3/util/retry.py | 549 + .../pip/_vendor/urllib3/util/ssl_.py | 527 + .../urllib3/util/ssl_match_hostname.py | 159 + .../pip/_vendor/urllib3/util/ssltransport.py | 271 + .../pip/_vendor/urllib3/util/timeout.py | 275 + .../pip/_vendor/urllib3/util/url.py | 469 + .../pip/_vendor/urllib3/util/util.py | 42 + .../pip/_vendor/urllib3/util/wait.py | 124 + .../site-packages/pip/_vendor/vendor.txt | 18 + .../lib/python3.12/site-packages/pip/py.typed | 4 + .../pyautogui-0.9.54.dist-info/INSTALLER | 1 + .../pyautogui-0.9.54.dist-info/METADATA | 183 + .../pyautogui-0.9.54.dist-info/RECORD | 20 + .../pyautogui-0.9.54.dist-info/REQUESTED | 0 .../pyautogui-0.9.54.dist-info/WHEEL | 5 + .../licenses/AUTHORS.txt | 67 + .../licenses/LICENSE.txt | 27 + .../pyautogui-0.9.54.dist-info/top_level.txt | 1 + .../site-packages/pyautogui/__init__.py | 2171 ++ .../site-packages/pyautogui/__main__.py | 2 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 77928 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 286 bytes .../_pyautogui_java.cpython-312.pyc | Bin 0 -> 225 bytes .../_pyautogui_osx.cpython-312.pyc | Bin 0 -> 15744 bytes .../_pyautogui_win.cpython-312.pyc | Bin 0 -> 18627 bytes .../_pyautogui_x11.cpython-312.pyc | Bin 0 -> 24199 bytes .../pyautogui/_pyautogui_java.py | 0 .../site-packages/pyautogui/_pyautogui_osx.py | 448 + .../site-packages/pyautogui/_pyautogui_win.py | 573 + .../site-packages/pyautogui/_pyautogui_x11.py | 321 + .../pygetwindow-0.0.9.dist-info/INSTALLER | 1 + .../pygetwindow-0.0.9.dist-info/METADATA | 106 + .../pygetwindow-0.0.9.dist-info/RECORD | 11 + .../pygetwindow-0.0.9.dist-info/WHEEL | 5 + .../pygetwindow-0.0.9.dist-info/top_level.txt | 1 + .../site-packages/pygetwindow/__init__.py | 349 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 16216 bytes .../_pygetwindow_macos.cpython-312.pyc | Bin 0 -> 9759 bytes .../_pygetwindow_win.cpython-312.pyc | Bin 0 -> 17830 bytes .../pygetwindow/_pygetwindow_macos.py | 174 + .../pygetwindow/_pygetwindow_win.py | 351 + .../pymsgbox-2.0.1.dist-info/INSTALLER | 1 + .../pymsgbox-2.0.1.dist-info/METADATA | 94 + .../pymsgbox-2.0.1.dist-info/RECORD | 11 + .../pymsgbox-2.0.1.dist-info/WHEEL | 5 + .../licenses/AUTHORS.txt | 7 + .../licenses/LICENSE.txt | 27 + .../pymsgbox-2.0.1.dist-info/top_level.txt | 1 + .../site-packages/pymsgbox/__init__.py | 466 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 14949 bytes .../__pycache__/_native_win.cpython-312.pyc | Bin 0 -> 5598 bytes .../site-packages/pymsgbox/_native_win.py | 155 + .../pyobjc_core-12.1.dist-info/INSTALLER | 1 + .../pyobjc_core-12.1.dist-info/METADATA | 71 + .../pyobjc_core-12.1.dist-info/RECORD | 82 + .../pyobjc_core-12.1.dist-info/WHEEL | 5 + .../include/pyobjc-api.h | 217 + .../include/pyobjc-compat.h | 368 + .../pyobjc-build-info.txt | 3 + .../pyobjc_core-12.1.dist-info/top_level.txt | 3 + .../INSTALLER | 1 + .../METADATA | 70 + .../RECORD | 49 + .../WHEEL | 5 + .../licenses/LICENSE.txt | 10 + .../pyobjc-build-info.txt | 3 + .../top_level.txt | 6 + .../INSTALLER | 1 + .../METADATA | 106 + .../RECORD | 58 + .../WHEEL | 5 + .../licenses/LICENSE.txt | 10 + .../pyobjc-build-info.txt | 3 + .../top_level.txt | 1 + .../pyperclip-1.11.0.dist-info/INSTALLER | 1 + .../pyperclip-1.11.0.dist-info/METADATA | 64 + .../pyperclip-1.11.0.dist-info/RECORD | 11 + .../pyperclip-1.11.0.dist-info/WHEEL | 5 + .../licenses/AUTHORS.txt | 57 + .../licenses/LICENSE.txt | 27 + .../pyperclip-1.11.0.dist-info/top_level.txt | 1 + .../site-packages/pyperclip/__init__.py | 660 + .../site-packages/pyperclip/__main__.py | 18 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 28564 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 1467 bytes .../pyrect-0.2.0.dist-info/INSTALLER | 1 + .../pyrect-0.2.0.dist-info/METADATA | 141 + .../pyrect-0.2.0.dist-info/RECORD | 9 + .../pyrect-0.2.0.dist-info/WHEEL | 6 + .../licenses/AUTHORS.txt | 5 + .../licenses/LICENSE.txt | 27 + .../pyrect-0.2.0.dist-info/top_level.txt | 1 + .../site-packages/pyrect/__init__.py | 1462 ++ .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 52549 bytes .../pyscard-2.3.1.dist-info/INSTALLER | 1 + .../pyscard-2.3.1.dist-info/METADATA | 41 + .../pyscard-2.3.1.dist-info/RECORD | 118 + .../pyscard-2.3.1.dist-info/REQUESTED | 0 .../pyscard-2.3.1.dist-info/WHEEL | 5 + .../pyscard-2.3.1.dist-info/licenses/LICENSE | 501 + .../pyscard-2.3.1.dist-info/top_level.txt | 1 + .../pyscreeze-1.0.1.dist-info/INSTALLER | 1 + .../pyscreeze-1.0.1.dist-info/METADATA | 181 + .../pyscreeze-1.0.1.dist-info/RECORD | 9 + .../pyscreeze-1.0.1.dist-info/WHEEL | 5 + .../licenses/AUTHORS.txt | 24 + .../licenses/LICENSE.txt | 27 + .../pyscreeze-1.0.1.dist-info/top_level.txt | 1 + .../site-packages/pyscreeze/__init__.py | 789 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 29178 bytes .../pytweening-1.2.0.dist-info/INSTALLER | 1 + .../pytweening-1.2.0.dist-info/METADATA | 263 + .../pytweening-1.2.0.dist-info/RECORD | 9 + .../pytweening-1.2.0.dist-info/WHEEL | 5 + .../licenses/AUTHORS.txt | 9 + .../licenses/LICENSE.txt | 27 + .../pytweening-1.2.0.dist-info/top_level.txt | 1 + .../site-packages/pytweening/__init__.py | 872 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 37023 bytes .../site-packages/rubicon/objc/__init__.py | 145 + .../objc/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 2215 bytes .../objc/__pycache__/api.cpython-312.pyc | Bin 0 -> 99275 bytes .../__pycache__/collections.cpython-312.pyc | Bin 0 -> 22142 bytes .../__pycache__/ctypes_patch.cpython-312.pyc | Bin 0 -> 11899 bytes .../__pycache__/eventloop.cpython-312.pyc | Bin 0 -> 33951 bytes .../objc/__pycache__/runtime.cpython-312.pyc | Bin 0 -> 38809 bytes .../objc/__pycache__/types.cpython-312.pyc | Bin 0 -> 34228 bytes .../site-packages/rubicon/objc/api.py | 2475 ++ .../site-packages/rubicon/objc/collections.py | 435 + .../rubicon/objc/ctypes_patch.py | 300 + .../site-packages/rubicon/objc/eventloop.py | 851 + .../site-packages/rubicon/objc/runtime.py | 1244 + .../site-packages/rubicon/objc/types.py | 1029 + .../rubicon_objc-0.5.4.dist-info/INSTALLER | 1 + .../rubicon_objc-0.5.4.dist-info/METADATA | 84 + .../rubicon_objc-0.5.4.dist-info/RECORD | 20 + .../rubicon_objc-0.5.4.dist-info/WHEEL | 5 + .../licenses/LICENSE | 59 + .../top_level.txt | 1 + .../python3.12/site-packages/smartcard/ATR.py | 339 + .../smartcard/AbstractCardRequest.py | 93 + .../site-packages/smartcard/Card.py | 77 + .../site-packages/smartcard/CardConnection.py | 252 + .../smartcard/CardConnectionDecorator.py | 105 + .../smartcard/CardConnectionEvent.py | 42 + .../smartcard/CardConnectionObserver.py | 77 + .../site-packages/smartcard/CardMonitoring.py | 257 + .../site-packages/smartcard/CardRequest.py | 102 + .../site-packages/smartcard/CardService.py | 76 + .../site-packages/smartcard/CardType.py | 108 + .../site-packages/smartcard/Exceptions.py | 126 + .../ExclusiveConnectCardConnection.py | 80 + .../ExclusiveTransmitCardConnection.py | 93 + .../site-packages/smartcard/Observer.py | 93 + .../smartcard/PassThruCardService.py | 70 + .../smartcard/ReaderMonitoring.py | 248 + .../site-packages/smartcard/Session.py | 114 + .../smartcard/Synchronization.py | 62 + .../site-packages/smartcard/System.py | 68 + .../site-packages/smartcard/__init__.py | 33 + .../smartcard/__pycache__/ATR.cpython-312.pyc | Bin 0 -> 14514 bytes .../AbstractCardRequest.cpython-312.pyc | Bin 0 -> 3989 bytes .../__pycache__/Card.cpython-312.pyc | Bin 0 -> 3619 bytes .../CardConnection.cpython-312.pyc | Bin 0 -> 11617 bytes .../CardConnectionDecorator.cpython-312.pyc | Bin 0 -> 6147 bytes .../CardConnectionEvent.cpython-312.pyc | Bin 0 -> 1984 bytes .../CardConnectionObserver.cpython-312.pyc | Bin 0 -> 3645 bytes .../CardMonitoring.cpython-312.pyc | Bin 0 -> 12194 bytes .../__pycache__/CardRequest.cpython-312.pyc | Bin 0 -> 4919 bytes .../__pycache__/CardService.cpython-312.pyc | Bin 0 -> 3831 bytes .../__pycache__/CardType.cpython-312.pyc | Bin 0 -> 5326 bytes .../__pycache__/Exceptions.cpython-312.pyc | Bin 0 -> 6563 bytes ...usiveConnectCardConnection.cpython-312.pyc | Bin 0 -> 3596 bytes ...siveTransmitCardConnection.cpython-312.pyc | Bin 0 -> 4005 bytes .../__pycache__/Observer.cpython-312.pyc | Bin 0 -> 4083 bytes .../PassThruCardService.cpython-312.pyc | Bin 0 -> 3498 bytes .../ReaderMonitoring.cpython-312.pyc | Bin 0 -> 10294 bytes .../__pycache__/Session.cpython-312.pyc | Bin 0 -> 4841 bytes .../Synchronization.cpython-312.pyc | Bin 0 -> 3014 bytes .../__pycache__/System.cpython-312.pyc | Bin 0 -> 2753 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1369 bytes .../__pycache__/guid.cpython-312.pyc | Bin 0 -> 2191 bytes .../__pycache__/ulist.cpython-312.pyc | Bin 0 -> 5695 bytes .../site-packages/smartcard/guid.py | 46 + .../smartcard/pcsc/PCSCCardConnection.py | 360 + .../smartcard/pcsc/PCSCCardRequest.py | 490 + .../smartcard/pcsc/PCSCExceptions.py | 125 + .../smartcard/pcsc/PCSCPart10.py | 274 + .../smartcard/pcsc/PCSCReader.py | 172 + .../smartcard/pcsc/PCSCReaderGroups.py | 128 + .../site-packages/smartcard/pcsc/__init__.py | 0 .../PCSCCardConnection.cpython-312.pyc | Bin 0 -> 13164 bytes .../PCSCCardRequest.cpython-312.pyc | Bin 0 -> 14431 bytes .../PCSCExceptions.cpython-312.pyc | Bin 0 -> 6257 bytes .../__pycache__/PCSCPart10.cpython-312.pyc | Bin 0 -> 8648 bytes .../__pycache__/PCSCReader.cpython-312.pyc | Bin 0 -> 7383 bytes .../PCSCReaderGroups.cpython-312.pyc | Bin 0 -> 5533 bytes .../pcsc/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 223 bytes .../site-packages/smartcard/reader/Reader.py | 63 + .../smartcard/reader/ReaderFactory.py | 65 + .../smartcard/reader/ReaderGroups.py | 105 + .../smartcard/reader/__init__.py | 0 .../reader/__pycache__/Reader.cpython-312.pyc | Bin 0 -> 3104 bytes .../__pycache__/ReaderFactory.cpython-312.pyc | Bin 0 -> 2917 bytes .../__pycache__/ReaderGroups.cpython-312.pyc | Bin 0 -> 4978 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 225 bytes .../site-packages/smartcard/scard/__init__.py | 3 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 329 bytes .../scard/__pycache__/scard.cpython-312.pyc | Bin 0 -> 56519 bytes .../scard/_scard.cpython-312-darwin.so | Bin 0 -> 268592 bytes .../site-packages/smartcard/scard/scard.py | 2950 +++ .../smartcard/sw/ErrorChecker.py | 49 + .../smartcard/sw/ErrorCheckingChain.py | 96 + .../smartcard/sw/ISO7816_4ErrorChecker.py | 183 + .../smartcard/sw/ISO7816_4_SW1ErrorChecker.py | 88 + .../smartcard/sw/ISO7816_8ErrorChecker.py | 153 + .../smartcard/sw/ISO7816_9ErrorChecker.py | 111 + .../smartcard/sw/SWExceptions.py | 78 + .../site-packages/smartcard/sw/__init__.py | 23 + .../__pycache__/ErrorChecker.cpython-312.pyc | Bin 0 -> 2252 bytes .../ErrorCheckingChain.cpython-312.pyc | Bin 0 -> 4340 bytes .../ISO7816_4ErrorChecker.cpython-312.pyc | Bin 0 -> 7645 bytes .../ISO7816_4_SW1ErrorChecker.cpython-312.pyc | Bin 0 -> 4531 bytes .../ISO7816_8ErrorChecker.cpython-312.pyc | Bin 0 -> 6384 bytes .../ISO7816_9ErrorChecker.cpython-312.pyc | Bin 0 -> 4197 bytes .../__pycache__/SWExceptions.cpython-312.pyc | Bin 0 -> 4191 bytes .../sw/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1154 bytes .../op21_ErrorChecker.cpython-312.pyc | Bin 0 -> 5471 bytes .../smartcard/sw/op21_ErrorChecker.py | 139 + .../site-packages/smartcard/ulist.py | 122 + .../site-packages/smartcard/util/__init__.py | 274 + .../util/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 9729 bytes .../smartcard/wx/APDUHexValidator.py | 76 + .../smartcard/wx/APDUTracerPanel.py | 83 + .../smartcard/wx/CardAndReaderTreePanel.py | 394 + .../smartcard/wx/ReaderToolbar.py | 102 + .../smartcard/wx/SimpleSCardApp.py | 93 + .../wx/SimpleSCardAppEventObserver.py | 63 + .../smartcard/wx/SimpleSCardAppFrame.py | 343 + .../site-packages/smartcard/wx/__init__.py | 49 + .../APDUHexValidator.cpython-312.pyc | Bin 0 -> 3472 bytes .../APDUTracerPanel.cpython-312.pyc | Bin 0 -> 4323 bytes .../CardAndReaderTreePanel.cpython-312.pyc | Bin 0 -> 22092 bytes .../__pycache__/ReaderToolbar.cpython-312.pyc | Bin 0 -> 5183 bytes .../SimpleSCardApp.cpython-312.pyc | Bin 0 -> 3893 bytes ...impleSCardAppEventObserver.cpython-312.pyc | Bin 0 -> 3038 bytes .../SimpleSCardAppFrame.cpython-312.pyc | Bin 0 -> 19565 bytes .../wx/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 2285 bytes .../smartcard/wx/resources/reader.ico | Bin 0 -> 318 bytes .../smartcard/wx/resources/smartcard.ico | Bin 0 -> 318 bytes tools/fusion_clock_acr_wedge/.venv/pyvenv.cfg | 5 + 1290 files changed, 220094 insertions(+) create mode 100644 tools/fusion_clock_acr_wedge/.venv/bin/Activate.ps1 create mode 100644 tools/fusion_clock_acr_wedge/.venv/bin/activate create mode 100644 tools/fusion_clock_acr_wedge/.venv/bin/activate.csh create mode 100644 tools/fusion_clock_acr_wedge/.venv/bin/activate.fish create mode 100755 tools/fusion_clock_acr_wedge/.venv/bin/pip create mode 100755 tools/fusion_clock_acr_wedge/.venv/bin/pip3 create mode 100755 tools/fusion_clock_acr_wedge/.venv/bin/pip3.12 create mode 120000 tools/fusion_clock_acr_wedge/.venv/bin/python create mode 120000 tools/fusion_clock_acr_wedge/.venv/bin/python3 create mode 120000 tools/fusion_clock_acr_wedge/.venv/bin/python3.12 create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_AppKit.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/_nsapp.cpython-312.pyc create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_inlines.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_nsapp.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Cocoa/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Cocoa/__pycache__/__init__.cpython-312.pyc create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_CoreFoundation.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/__pycache__/_static.cpython-312.pyc create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_inlines.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_static.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_Foundation.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_context.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_functiondefines.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_nsindexset.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_nsobject.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_nsurl.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_context.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_functiondefines.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_inlines.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsindexset.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsobject.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsurl.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/AppCategories.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/AppHelper.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/Conversion.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/FndCategories.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/KeyValueCoding.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/MachSignals.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/Signals.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/TestSupport.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/AppCategories.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/AppHelper.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/Conversion.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/FndCategories.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/KeyValueCoding.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/MachSignals.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/Signals.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/TestSupport.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__pycache__/_contextmanager.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__pycache__/_metadata.cpython-312.pyc create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_callbacks.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_contextmanager.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_coregraphics.cpython-312-darwin.so create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_doubleindirect.cpython-312-darwin.so create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_inlines.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_metadata.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_sortandmap.cpython-312-darwin.so create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/_CVPixelBuffer.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/_metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/PyObjCOverrides.bridgesupport create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/_metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__pycache__/_metadata.cpython-312.pyc create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/_imagekit.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/_metadata.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/_PDFKit.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/_metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/_metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/_metadata.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/_quartzcore.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/_metadata.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/_QuickLookUI.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/__pycache__/_metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/_metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_bridges.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_bridgesupport.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_callable_docstr.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_category.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_compat.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_context.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_mapping.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsarray.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsdata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsdecimal.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsdictionary.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsobject.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsset.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsstring.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_sequence.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_descriptors.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_dyld.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_framework.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_informal_protocol.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_lazyimport.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_locking.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_new.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_properties.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_protocols.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_pycoder.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_pythonify.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_structtype.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_transform.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_types.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/simd.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_bridges.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_bridgesupport.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_callable_docstr.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_category.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_compat.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_context.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_mapping.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsarray.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdecimal.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdictionary.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsobject.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsset.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsstring.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_sequence.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_descriptors.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_dyld.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_framework.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_informal_protocol.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_lazyimport.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_locking.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_machsignals.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_new.py create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_objc.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_properties.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_protocols.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_pycoder.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_pythonify.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_structtype.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_transform.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_types.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/simd.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/REQUESTED create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/entry_points.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/AUTHORS.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/certifi/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/distlib/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/distro/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/idna/LICENSE.md create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/msgpack/COPYING create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.APACHE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.BSD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/pkg_resources/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/platformdirs/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/pygments/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/pyproject_hooks/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/requests/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/resolvelib/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/rich/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/tomli/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/tomli_w/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/truststore/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip-26.1.1.dist-info/licenses/src/pip/_vendor/urllib3/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/__pip-runner__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/build_env.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cache.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/base_command.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/command_context.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/index_command.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/main.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/parser.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/req_command.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/spinners.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/lock.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/cache.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/check.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/completion.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/configuration.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/debug.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/download.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/freeze.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/hash.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/help.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/index.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/inspect.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/install.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/list.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/lock.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/search.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/show.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/commands/wheel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/configuration.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/base.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/installed.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/exceptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/index/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/index/collector.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/index/package_finder.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/index/sources.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/locations/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/locations/base.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/main.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/_json.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/base.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/release_control.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/candidate.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/direct_url.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/format_control.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/index.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/installation_report.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/link.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/release_control.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/scheme.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/search_scope.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/target_python.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/models/wheel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/auth.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/cache.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/download.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/session.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/utils.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/check.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/freeze.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/pyproject.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/pep723.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_dependency_group.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/constructors.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/pep723.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/req_dependency_group.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/req_file.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/req_install.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/req_set.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/base.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/pylock.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/_log.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/compat.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/datetime.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/glibc.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/hashes.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/logging.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/misc.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/packaging.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/pylock.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/retry.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/urls.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/utils/wheel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/git.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_internal/wheel_builder.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/README.rst create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/core.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/t32.exe create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/t64-arm.exe create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/t64.exe create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/util.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/w32.exe create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/w64-arm.exe create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/w64.exe create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distro/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distro/distro.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/distro/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/LICENSE.md create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/codec.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/compat.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/core.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/COPYING create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE.APACHE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE.BSD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/dependency_groups.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/direct_url.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/errors.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/pylock.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_elffile.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_parser.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_tokenizer.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/dependency_groups.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/direct_url.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/errors.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__pycache__/_spdx.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/_spdx.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/metadata.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/pylock.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/version.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/console.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/style.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/_mapping.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/token.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/util.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/api.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/auth.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/certs.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/compat.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/help.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/models.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/packages.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/structures.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/requests/utils.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/abstract.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/criterion.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/exceptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/resolution.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/abc.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/align.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/bar.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/box.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/cells.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/color.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/columns.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/console.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/containers.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/control.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/errors.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/json.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/layout.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/live.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/logging.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/markup.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/measure.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/padding.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/pager.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/palette.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/panel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/progress.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/region.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/repr.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/rule.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/scope.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/screen.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/segment.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/status.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/style.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/styled.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/table.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/text.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/theme.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/themes.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/rich/tree.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/__pycache__/_writer.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/_writer.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_base_connection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_request_methods.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_base_connection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_request_methods.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/connection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/fetch.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/request.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/response.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/connection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/emscripten_fetch_worker.js create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/fetch.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/request.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/response.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/connection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/probe.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/connection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/probe.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/util.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/util.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/_vendor/vendor.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pip/py.typed create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui-0.9.54.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui-0.9.54.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui-0.9.54.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui-0.9.54.dist-info/REQUESTED create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui-0.9.54.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui-0.9.54.dist-info/licenses/AUTHORS.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui-0.9.54.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui-0.9.54.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/__pycache__/_pyautogui_java.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/__pycache__/_pyautogui_osx.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/__pycache__/_pyautogui_win.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/__pycache__/_pyautogui_x11.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/_pyautogui_java.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/_pyautogui_osx.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/_pyautogui_win.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyautogui/_pyautogui_x11.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow-0.0.9.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow-0.0.9.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow-0.0.9.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow-0.0.9.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow-0.0.9.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow/__pycache__/_pygetwindow_macos.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow/__pycache__/_pygetwindow_win.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow/_pygetwindow_macos.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pygetwindow/_pygetwindow_win.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox-2.0.1.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox-2.0.1.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox-2.0.1.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox-2.0.1.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox-2.0.1.dist-info/licenses/AUTHORS.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox-2.0.1.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox-2.0.1.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox/__pycache__/_native_win.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pymsgbox/_native_win.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_core-12.1.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_core-12.1.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_core-12.1.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_core-12.1.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_core-12.1.dist-info/include/pyobjc-api.h create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_core-12.1.dist-info/include/pyobjc-compat.h create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_core-12.1.dist-info/pyobjc-build-info.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_core-12.1.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_cocoa-12.1.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_cocoa-12.1.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_cocoa-12.1.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_cocoa-12.1.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_cocoa-12.1.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_cocoa-12.1.dist-info/pyobjc-build-info.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_cocoa-12.1.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_quartz-12.1.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_quartz-12.1.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_quartz-12.1.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_quartz-12.1.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_quartz-12.1.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_quartz-12.1.dist-info/pyobjc-build-info.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyobjc_framework_quartz-12.1.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip-1.11.0.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip-1.11.0.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip-1.11.0.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip-1.11.0.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip-1.11.0.dist-info/licenses/AUTHORS.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip-1.11.0.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip-1.11.0.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip/__main__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyperclip/__pycache__/__main__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect-0.2.0.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect-0.2.0.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect-0.2.0.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect-0.2.0.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect-0.2.0.dist-info/licenses/AUTHORS.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect-0.2.0.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect-0.2.0.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyrect/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscard-2.3.1.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscard-2.3.1.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscard-2.3.1.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscard-2.3.1.dist-info/REQUESTED create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscard-2.3.1.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscard-2.3.1.dist-info/licenses/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscard-2.3.1.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze-1.0.1.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze-1.0.1.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze-1.0.1.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze-1.0.1.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze-1.0.1.dist-info/licenses/AUTHORS.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze-1.0.1.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze-1.0.1.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pyscreeze/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening-1.2.0.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening-1.2.0.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening-1.2.0.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening-1.2.0.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening-1.2.0.dist-info/licenses/AUTHORS.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening-1.2.0.dist-info/licenses/LICENSE.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening-1.2.0.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/pytweening/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/__pycache__/api.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/__pycache__/collections.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/__pycache__/ctypes_patch.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/__pycache__/eventloop.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/__pycache__/runtime.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/__pycache__/types.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/api.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/collections.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/ctypes_patch.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/eventloop.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/runtime.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon/objc/types.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon_objc-0.5.4.dist-info/INSTALLER create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon_objc-0.5.4.dist-info/METADATA create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon_objc-0.5.4.dist-info/RECORD create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon_objc-0.5.4.dist-info/WHEEL create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon_objc-0.5.4.dist-info/licenses/LICENSE create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/rubicon_objc-0.5.4.dist-info/top_level.txt create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/ATR.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/AbstractCardRequest.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/Card.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/CardConnection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/CardConnectionDecorator.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/CardConnectionEvent.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/CardConnectionObserver.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/CardMonitoring.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/CardRequest.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/CardService.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/CardType.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/Exceptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/ExclusiveConnectCardConnection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/ExclusiveTransmitCardConnection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/Observer.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/PassThruCardService.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/ReaderMonitoring.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/Session.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/Synchronization.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/System.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/ATR.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/AbstractCardRequest.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/Card.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/CardConnection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/CardConnectionDecorator.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/CardConnectionEvent.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/CardConnectionObserver.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/CardMonitoring.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/CardRequest.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/CardService.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/CardType.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/Exceptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/ExclusiveConnectCardConnection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/ExclusiveTransmitCardConnection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/Observer.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/PassThruCardService.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/ReaderMonitoring.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/Session.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/Synchronization.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/System.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/guid.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/__pycache__/ulist.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/guid.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/PCSCCardConnection.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/PCSCCardRequest.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/PCSCExceptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/PCSCPart10.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/PCSCReader.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/PCSCReaderGroups.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/__pycache__/PCSCCardConnection.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/__pycache__/PCSCCardRequest.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/__pycache__/PCSCExceptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/__pycache__/PCSCPart10.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/__pycache__/PCSCReader.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/__pycache__/PCSCReaderGroups.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/pcsc/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/reader/Reader.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/reader/ReaderFactory.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/reader/ReaderGroups.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/reader/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/reader/__pycache__/Reader.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/reader/__pycache__/ReaderFactory.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/reader/__pycache__/ReaderGroups.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/reader/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/scard/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/scard/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/scard/__pycache__/scard.cpython-312.pyc create mode 100755 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/scard/_scard.cpython-312-darwin.so create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/scard/scard.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/ErrorChecker.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/ErrorCheckingChain.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/ISO7816_4ErrorChecker.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/ISO7816_4_SW1ErrorChecker.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/ISO7816_8ErrorChecker.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/ISO7816_9ErrorChecker.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/SWExceptions.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/ErrorChecker.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/ErrorCheckingChain.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/ISO7816_4ErrorChecker.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/ISO7816_4_SW1ErrorChecker.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/ISO7816_8ErrorChecker.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/ISO7816_9ErrorChecker.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/SWExceptions.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/__pycache__/op21_ErrorChecker.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/sw/op21_ErrorChecker.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/ulist.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/util/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/util/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/APDUHexValidator.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/APDUTracerPanel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/CardAndReaderTreePanel.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/ReaderToolbar.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/SimpleSCardApp.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/SimpleSCardAppEventObserver.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/SimpleSCardAppFrame.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__init__.py create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__pycache__/APDUHexValidator.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__pycache__/APDUTracerPanel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__pycache__/CardAndReaderTreePanel.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__pycache__/ReaderToolbar.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__pycache__/SimpleSCardApp.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__pycache__/SimpleSCardAppEventObserver.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__pycache__/SimpleSCardAppFrame.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/__pycache__/__init__.cpython-312.pyc create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/resources/reader.ico create mode 100644 tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/smartcard/wx/resources/smartcard.ico create mode 100644 tools/fusion_clock_acr_wedge/.venv/pyvenv.cfg diff --git a/.DS_Store b/.DS_Store index 2a46f2d739eeba2222a4fd65c7b108219809fd38..c539e7e7378d814ec5395600efc428612aa9d610 100644 GIT binary patch delta 150 zcmV;H0BQe(aD;G>PZc=;0009301yBGa{y@oZvbupUjTBE(Ib;EGz0|!00004lV%bq z40cm;ZftLEX8-^I0kP3G2a(_nvj+$S2mu(A&J!ZD%o0BhvEZHp0U)ysAgT+KgexAA zt`oBl5S{{)4;m1Yc@hPZc)+0009301yBGa{y@oZvbupUjS^8(Ib;EGz0|!00004ljgd1PB2mv*atG0+Z_?4wH}+1d~7$4YMu~KMesBvkV}r3$qv* KQ3SIGF#QLl%N+p# diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/Activate.ps1 b/tools/fusion_clock_acr_wedge/.venv/bin/Activate.ps1 new file mode 100644 index 00000000..eeea3583 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/Activate.ps1 @@ -0,0 +1,247 @@ +<# +.Synopsis +Activate a Python virtual environment for the current PowerShell session. + +.Description +Pushes the python executable for a virtual environment to the front of the +$Env:PATH environment variable and sets the prompt to signify that you are +in a Python virtual environment. Makes use of the command line switches as +well as the `pyvenv.cfg` file values present in the virtual environment. + +.Parameter VenvDir +Path to the directory that contains the virtual environment to activate. The +default value for this is the parent of the directory that the Activate.ps1 +script is located within. + +.Parameter Prompt +The prompt prefix to display when this virtual environment is activated. By +default, this prompt is the name of the virtual environment folder (VenvDir) +surrounded by parentheses and followed by a single space (ie. '(.venv) '). + +.Example +Activate.ps1 +Activates the Python virtual environment that contains the Activate.ps1 script. + +.Example +Activate.ps1 -Verbose +Activates the Python virtual environment that contains the Activate.ps1 script, +and shows extra information about the activation as it executes. + +.Example +Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv +Activates the Python virtual environment located in the specified location. + +.Example +Activate.ps1 -Prompt "MyPython" +Activates the Python virtual environment that contains the Activate.ps1 script, +and prefixes the current prompt with the specified string (surrounded in +parentheses) while the virtual environment is active. + +.Notes +On Windows, it may be required to enable this Activate.ps1 script by setting the +execution policy for the user. You can do this by issuing the following PowerShell +command: + +PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser + +For more information on Execution Policies: +https://go.microsoft.com/fwlink/?LinkID=135170 + +#> +Param( + [Parameter(Mandatory = $false)] + [String] + $VenvDir, + [Parameter(Mandatory = $false)] + [String] + $Prompt +) + +<# Function declarations --------------------------------------------------- #> + +<# +.Synopsis +Remove all shell session elements added by the Activate script, including the +addition of the virtual environment's Python executable from the beginning of +the PATH variable. + +.Parameter NonDestructive +If present, do not remove this function from the global namespace for the +session. + +#> +function global:deactivate ([switch]$NonDestructive) { + # Revert to original values + + # The prior prompt: + if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { + Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt + Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT + } + + # The prior PYTHONHOME: + if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { + Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME + Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME + } + + # The prior PATH: + if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { + Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH + Remove-Item -Path Env:_OLD_VIRTUAL_PATH + } + + # Just remove the VIRTUAL_ENV altogether: + if (Test-Path -Path Env:VIRTUAL_ENV) { + Remove-Item -Path env:VIRTUAL_ENV + } + + # Just remove VIRTUAL_ENV_PROMPT altogether. + if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) { + Remove-Item -Path env:VIRTUAL_ENV_PROMPT + } + + # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: + if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { + Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force + } + + # Leave deactivate function in the global namespace if requested: + if (-not $NonDestructive) { + Remove-Item -Path function:deactivate + } +} + +<# +.Description +Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the +given folder, and returns them in a map. + +For each line in the pyvenv.cfg file, if that line can be parsed into exactly +two strings separated by `=` (with any amount of whitespace surrounding the =) +then it is considered a `key = value` line. The left hand string is the key, +the right hand is the value. + +If the value starts with a `'` or a `"` then the first and last character is +stripped from the value before being captured. + +.Parameter ConfigDir +Path to the directory that contains the `pyvenv.cfg` file. +#> +function Get-PyVenvConfig( + [String] + $ConfigDir +) { + Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" + + # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). + $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue + + # An empty map will be returned if no config file is found. + $pyvenvConfig = @{ } + + if ($pyvenvConfigPath) { + + Write-Verbose "File exists, parse `key = value` lines" + $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath + + $pyvenvConfigContent | ForEach-Object { + $keyval = $PSItem -split "\s*=\s*", 2 + if ($keyval[0] -and $keyval[1]) { + $val = $keyval[1] + + # Remove extraneous quotations around a string value. + if ("'""".Contains($val.Substring(0, 1))) { + $val = $val.Substring(1, $val.Length - 2) + } + + $pyvenvConfig[$keyval[0]] = $val + Write-Verbose "Adding Key: '$($keyval[0])'='$val'" + } + } + } + return $pyvenvConfig +} + + +<# Begin Activate script --------------------------------------------------- #> + +# Determine the containing directory of this script +$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition +$VenvExecDir = Get-Item -Path $VenvExecPath + +Write-Verbose "Activation script is located in path: '$VenvExecPath'" +Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" +Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" + +# Set values required in priority: CmdLine, ConfigFile, Default +# First, get the location of the virtual environment, it might not be +# VenvExecDir if specified on the command line. +if ($VenvDir) { + Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" +} +else { + Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." + $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") + Write-Verbose "VenvDir=$VenvDir" +} + +# Next, read the `pyvenv.cfg` file to determine any required value such +# as `prompt`. +$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir + +# Next, set the prompt from the command line, or the config file, or +# just use the name of the virtual environment folder. +if ($Prompt) { + Write-Verbose "Prompt specified as argument, using '$Prompt'" +} +else { + Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" + if ($pyvenvCfg -and $pyvenvCfg['prompt']) { + Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" + $Prompt = $pyvenvCfg['prompt']; + } + else { + Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)" + Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" + $Prompt = Split-Path -Path $venvDir -Leaf + } +} + +Write-Verbose "Prompt = '$Prompt'" +Write-Verbose "VenvDir='$VenvDir'" + +# Deactivate any currently active virtual environment, but leave the +# deactivate function in place. +deactivate -nondestructive + +# Now set the environment variable VIRTUAL_ENV, used by many tools to determine +# that there is an activated venv. +$env:VIRTUAL_ENV = $VenvDir + +if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { + + Write-Verbose "Setting prompt to '$Prompt'" + + # Set the prompt to include the env name + # Make sure _OLD_VIRTUAL_PROMPT is global + function global:_OLD_VIRTUAL_PROMPT { "" } + Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT + New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt + + function global:prompt { + Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " + _OLD_VIRTUAL_PROMPT + } + $env:VIRTUAL_ENV_PROMPT = $Prompt +} + +# Clear PYTHONHOME +if (Test-Path -Path Env:PYTHONHOME) { + Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME + Remove-Item -Path Env:PYTHONHOME +} + +# Add the venv to the PATH +Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH +$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/activate b/tools/fusion_clock_acr_wedge/.venv/bin/activate new file mode 100644 index 00000000..7d00953a --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/activate @@ -0,0 +1,76 @@ +# This file must be used with "source bin/activate" *from bash* +# You cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then + PATH="${_OLD_VIRTUAL_PATH:-}" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then + PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # Call hash to forget past locations. Without forgetting + # past locations the $PATH changes we made may not be respected. + # See "man bash" for more details. hash is usually a builtin of your shell + hash -r 2> /dev/null + + if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then + PS1="${_OLD_VIRTUAL_PS1:-}" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + unset VIRTUAL_ENV_PROMPT + if [ ! "${1:-}" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +# on Windows, a path can contain colons and backslashes and has to be converted: +case "$(uname)" in + CYGWIN*|MSYS*|MINGW*) + # transform D:\path\to\venv to /d/path/to/venv on MSYS and MINGW + # and to /cygdrive/d/path/to/venv on Cygwin + VIRTUAL_ENV=$(cygpath /Users/gurpreet/Github/Odoo-Modules/tools/fusion_clock_acr_wedge/.venv) + export VIRTUAL_ENV + ;; + *) + # use the path as-is + export VIRTUAL_ENV=/Users/gurpreet/Github/Odoo-Modules/tools/fusion_clock_acr_wedge/.venv + ;; +esac + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/"bin":$PATH" +export PATH + +VIRTUAL_ENV_PROMPT='(.venv) ' +export VIRTUAL_ENV_PROMPT + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "${PYTHONHOME:-}" ] ; then + _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" + unset PYTHONHOME +fi + +if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then + _OLD_VIRTUAL_PS1="${PS1:-}" + PS1="("'(.venv) '") ${PS1:-}" + export PS1 +fi + +# Call hash to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +hash -r 2> /dev/null diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/activate.csh b/tools/fusion_clock_acr_wedge/.venv/bin/activate.csh new file mode 100644 index 00000000..e9fbd8cf --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/activate.csh @@ -0,0 +1,27 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. + +# Created by Davide Di Blasi . +# Ported to Python 3.3 venv by Andrew Svetlov + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV /Users/gurpreet/Github/Odoo-Modules/tools/fusion_clock_acr_wedge/.venv + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/"bin":$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + set prompt = '(.venv) '"$prompt" + setenv VIRTUAL_ENV_PROMPT '(.venv) ' +endif + +alias pydoc python -m pydoc + +rehash diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/activate.fish b/tools/fusion_clock_acr_wedge/.venv/bin/activate.fish new file mode 100644 index 00000000..dfd3f734 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/activate.fish @@ -0,0 +1,69 @@ +# This file must be used with "source /bin/activate.fish" *from fish* +# (https://fishshell.com/). You cannot run it directly. + +function deactivate -d "Exit virtual environment and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + set -e _OLD_FISH_PROMPT_OVERRIDE + # prevents error when using nested fish instances (Issue #93858) + if functions -q _old_fish_prompt + functions -e fish_prompt + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + end + end + + set -e VIRTUAL_ENV + set -e VIRTUAL_ENV_PROMPT + if test "$argv[1]" != "nondestructive" + # Self-destruct! + functions -e deactivate + end +end + +# Unset irrelevant variables. +deactivate nondestructive + +set -gx VIRTUAL_ENV /Users/gurpreet/Github/Odoo-Modules/tools/fusion_clock_acr_wedge/.venv + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/"bin $PATH + +# Unset PYTHONHOME if set. +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # Save the current fish_prompt function as the function _old_fish_prompt. + functions -c fish_prompt _old_fish_prompt + + # With the original prompt function renamed, we can override with our own. + function fish_prompt + # Save the return status of the last command. + set -l old_status $status + + # Output the venv prompt; color taken from the blue of the Python logo. + printf "%s%s%s" (set_color 4B8BBE) '(.venv) ' (set_color normal) + + # Restore the return status of the previous command. + echo "exit $old_status" | . + # Output the original/"old" prompt. + _old_fish_prompt + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" + set -gx VIRTUAL_ENV_PROMPT '(.venv) ' +end diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/pip b/tools/fusion_clock_acr_wedge/.venv/bin/pip new file mode 100755 index 00000000..fc3460cf --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/pip @@ -0,0 +1,7 @@ +#!/Users/gurpreet/Github/Odoo-Modules/tools/fusion_clock_acr_wedge/.venv/bin/python3.12 +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + if sys.argv[0].endswith('.exe'): + sys.argv[0] = sys.argv[0][:-4] + sys.exit(main()) diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/pip3 b/tools/fusion_clock_acr_wedge/.venv/bin/pip3 new file mode 100755 index 00000000..fc3460cf --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/pip3 @@ -0,0 +1,7 @@ +#!/Users/gurpreet/Github/Odoo-Modules/tools/fusion_clock_acr_wedge/.venv/bin/python3.12 +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + if sys.argv[0].endswith('.exe'): + sys.argv[0] = sys.argv[0][:-4] + sys.exit(main()) diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/pip3.12 b/tools/fusion_clock_acr_wedge/.venv/bin/pip3.12 new file mode 100755 index 00000000..fc3460cf --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/pip3.12 @@ -0,0 +1,7 @@ +#!/Users/gurpreet/Github/Odoo-Modules/tools/fusion_clock_acr_wedge/.venv/bin/python3.12 +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + if sys.argv[0].endswith('.exe'): + sys.argv[0] = sys.argv[0][:-4] + sys.exit(main()) diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/python b/tools/fusion_clock_acr_wedge/.venv/bin/python new file mode 120000 index 00000000..11b9d885 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/python @@ -0,0 +1 @@ +python3.12 \ No newline at end of file diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/python3 b/tools/fusion_clock_acr_wedge/.venv/bin/python3 new file mode 120000 index 00000000..11b9d885 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/python3 @@ -0,0 +1 @@ +python3.12 \ No newline at end of file diff --git a/tools/fusion_clock_acr_wedge/.venv/bin/python3.12 b/tools/fusion_clock_acr_wedge/.venv/bin/python3.12 new file mode 120000 index 00000000..a3f05084 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/bin/python3.12 @@ -0,0 +1 @@ +/opt/homebrew/opt/python@3.12/bin/python3.12 \ No newline at end of file diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_AppKit.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_AppKit.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..a08752058ff13d53f3c1c0fceff3850f686d1fff GIT binary patch literal 499712 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 z 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

}X7Xi0lAaoUgivaHdd=pU9_51s_g%a}v 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 z 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__init__.py new file mode 100644 index 00000000..863e9f47 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__init__.py @@ -0,0 +1,234 @@ +""" +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. +""" + + +def _setup(): + import sys + + import Foundation + import objc + from . import _metadata, _nsapp, _AppKit + from ._inlines import _inline_list_ + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="AppKit", + frameworkIdentifier="com.apple.AppKit", + frameworkPath=objc.pathForFramework( + "/System/Library/Frameworks/AppKit.framework" + ), + globals_dict=globals(), + inline_list=_inline_list_, + parents=( + _nsapp, + _AppKit, + Foundation, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + for cls, sel in ( + ("NSTouchBarItem", b"init"), + ("NSTextFieldCell", b"initImageCell:"), + ("NSTextViewportLayoutController", b"init"), + ("NSTextViewportLayoutController", b"new"), + ("NSFormCell", b"initImageCell:"), + ("NSTextListElement", b"initWithAttributedString:"), + ("NSTextSelectionNavigation", b"init"), + ("NSTextSelectionNavigation", b"new"), + ("NSTextRange", b"init"), + ("NSTextRange", b"new"), + ("NSTextCheckingController", b"init"), + ("NSFontAssetRequest", b"init"), + ("NSDictionaryControllerKeyValuePair", b"init"), + ("NSSharingService", b"init"), + ("NSSharingServicePicker", b"init"), + ("NSMenuItemBadge", b"init"), + ("NSTextInputContext", b"init"), + ("NSAccessibilityCustomRotorItemResult", b"init"), + ("NSAccessibilityCustomRotorItemResult", b"new"), + ("NSWindow", b"initWithCoder:"), + ("NSCollectionViewDiffableDataSource", b"init"), + ("NSCollectionViewDiffableDataSource", b"new"), + ("NSDraggingImageComponent", b"init"), + ("NSDraggingItem", b"init"), + ("NSSearchToolbarItem", b"view"), + ("NSTableViewDiffableDataSource", b"init"), + ("NSTableViewDiffableDataSource", b"new"), + ("NSSearchFieldCell", b"initImageCell:"), + ("NSDataAsset", b"init"), + ("NSRulerMarker", b"init"), + ("NSTextSelection", b"init"), + ("NSDatePickerCell", b"initWithImageCell:"), + ("NSCollectionViewCompositionalLayout", b"init"), + ("NSCollectionViewCompositionalLayout", b"new"), + ("NSCollectionLayoutSection", b"init"), + ("NSCollectionLayoutSection", b"new"), + ("NSCollectionLayoutItem", b"init"), + ("NSCollectionLayoutItem", b"new"), + ("NSCollectionLayoutGroupCustomItem", b"init"), + ("NSCollectionLayoutGroupCustomItem", b"new"), + ("NSCollectionLayoutGroup", b"init"), + ("NSCollectionLayoutGroup", b"new"), + ("NSCollectionLayoutDimension", b"init"), + ("NSCollectionLayoutDimension", b"new"), + ("NSCollectionLayoutSize", b"init"), + ("NSCollectionLayoutSize", b"new"), + ("NSCollectionLayoutSpacing", b"init"), + ("NSCollectionLayoutSpacing", b"new"), + ("NSCollectionLayoutEdgeSpacing", b"init"), + ("NSCollectionLayoutEdgeSpacing", b"new"), + ("NSCollectionLayoutSupplementaryItem", b"init"), + ("NSCollectionLayoutSupplementaryItem", b"new"), + ("NSCollectionLayoutBoundarySupplementaryItem", b"init"), + ("NSCollectionLayoutBoundarySupplementaryItem", b"new"), + ("NSCollectionLayoutDecorationItem", b"init"), + ("NSCollectionLayoutDecorationItem", b"new"), + ("NSCollectionLayoutAnchor", b"init"), + ("NSCollectionLayoutAnchor", b"new"), + ("NSTextLineFragment", b"init"), + ("NSPreviewRepresentingActivityItem", b"init"), + ("NSPreviewRepresentingActivityItem", b"new"), + ("NSTextLayoutFragment", b"init"), + ("NSBindingSelectionMarker", b"init"), + ("NSTextAttachmentViewProvider", b"init"), + ("NSTextAttachmentViewProvider", b"new"), + ("NSWritingToolsCoordinatorAnimationParameters", b"init"), + ("NSWritingToolsCoordinatorAnimationParameters", b"new"), + ("NSWritingToolsCoordinatorContext", b"init"), + ("NSWritingToolsCoordinatorContext", b"new"), + ("NSViewLayoutRegion", b"init"), + ("NSViewLayoutRegion", b"new"), + ): + objc.registerUnavailableMethod(cls, sel) + + del sys.modules["AppKit._metadata"] + + 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)), + ) + + # Fix types for a number of character constants + # XXX: Move this to metadata + globals_dict = globals() + for nm in [ + "NSEnterCharacter", + "NSBackspaceCharacter", + "NSTabCharacter", + "NSNewlineCharacter", + "NSFormFeedCharacter", + "NSCarriageReturnCharacter", + "NSBackTabCharacter", + "NSDeleteCharacter", + "NSLineSeparatorCharacter", + "NSParagraphSeparatorCharacter", + "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: + globals_dict[nm] = chr(__getattr__(nm)) # noqa: F821 + except AttributeError: + pass + + +globals().pop("_setup")() + + +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} diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4be3ba33654848be5239dcc8665468ac82b999fd GIT binary patch literal 6476 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 ayFEWkypvchJrZ{QS=hbR6%A!vV*dfm+q>)l literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/_metadata.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/_metadata.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..041d32713843213277ef837988ac76f6602a39da GIT binary patch literal 623410 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≦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ऐ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

PV#WVX=Tpg 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 VZ~g3g$GZP@z2m)~T|c(|{|81E>^}ei literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/_nsapp.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/__pycache__/_nsapp.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..194f60c442e515e97036ea0b856df58354f51f16 GIT binary patch literal 1728 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 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$NSAccessibilityAnyTypeSearchKey$NSAccessibilityApplicationActivatedNotification$NSAccessibilityApplicationDeactivatedNotification$NSAccessibilityApplicationHiddenNotification$NSAccessibilityApplicationRole$NSAccessibilityApplicationShownNotification$NSAccessibilityArticleSearchKey$NSAccessibilityAscendingSortDirectionValue$NSAccessibilityAttachmentTextAttribute$NSAccessibilityAttributedStringForRangeParameterizedAttribute$NSAccessibilityAutoInteractableAttribute$NSAccessibilityAutocorrectedTextAttribute$NSAccessibilityAutocorrectionOccurredNotification$NSAccessibilityBackgroundColorTextAttribute$NSAccessibilityBlockQuoteLevelAttribute$NSAccessibilityBlockquoteSameLevelSearchKey$NSAccessibilityBlockquoteSearchKey$NSAccessibilityBoldFontSearchKey$NSAccessibilityBoundsForRangeParameterizedAttribute$NSAccessibilityBrowserRole$NSAccessibilityBusyIndicatorRole$NSAccessibilityButtonRole$NSAccessibilityButtonSearchKey$NSAccessibilityCancelAction$NSAccessibilityCancelButtonAttribute$NSAccessibilityCellForColumnAndRowParameterizedAttribute$NSAccessibilityCellRole$NSAccessibilityCenterTabStopMarkerTypeValue$NSAccessibilityCentimetersUnitValue$NSAccessibilityCheckBoxRole$NSAccessibilityCheckBoxSearchKey$NSAccessibilityChildrenAttribute$NSAccessibilityChildrenInNavigationOrderAttribute$NSAccessibilityClearButtonAttribute$NSAccessibilityCloseButtonAttribute$NSAccessibilityCloseButtonSubrole$NSAccessibilityCollectionListSubrole$NSAccessibilityColorWellRole$NSAccessibilityColumnCountAttribute$NSAccessibilityColumnHeaderUIElementsAttribute$NSAccessibilityColumnIndexRangeAttribute$NSAccessibilityColumnRole$NSAccessibilityColumnTitlesAttribute$NSAccessibilityColumnsAttribute$NSAccessibilityComboBoxRole$NSAccessibilityConfirmAction$NSAccessibilityContainsProtectedContentAttribute$NSAccessibilityContentListSubrole$NSAccessibilityContentsAttribute$NSAccessibilityControlSearchKey$NSAccessibilityCreatedNotification$NSAccessibilityCriticalValueAttribute$NSAccessibilityCustomTextAttribute$NSAccessibilityDateTimeAreaRole$NSAccessibilityDateTimeComponentsAttribute$NSAccessibilityDecimalTabStopMarkerTypeValue$NSAccessibilityDecrementAction$NSAccessibilityDecrementArrowSubrole$NSAccessibilityDecrementButtonAttribute$NSAccessibilityDecrementPageSubrole$NSAccessibilityDefaultButtonAttribute$NSAccessibilityDefinitionListSubrole$NSAccessibilityDeleteAction$NSAccessibilityDescendingSortDirectionValue$NSAccessibilityDescriptionAttribute$NSAccessibilityDescriptionListSubrole$NSAccessibilityDialogSubrole$NSAccessibilityDifferentTypeSearchKey$NSAccessibilityDisclosedByRowAttribute$NSAccessibilityDisclosedRowsAttribute$NSAccessibilityDisclosingAttribute$NSAccessibilityDisclosureLevelAttribute$NSAccessibilityDisclosureTriangleRole$NSAccessibilityDocumentAttribute$NSAccessibilityDraggingDestinationDragAcceptedNotification$NSAccessibilityDraggingDestinationDragNotAcceptedNotification$NSAccessibilityDraggingDestinationDropAllowedNotification$NSAccessibilityDraggingDestinationDropNotAllowedNotification$NSAccessibilityDraggingSourceDragBeganNotification$NSAccessibilityDraggingSourceDragEndedNotification$NSAccessibilityDrawerCreatedNotification$NSAccessibilityDrawerRole$NSAccessibilityEditedAttribute$NSAccessibilityEmbeddedImageDescriptionAttribute$NSAccessibilityEnabledAttribute$NSAccessibilityErrorCodeExceptionInfo$NSAccessibilityException$NSAccessibilityExpandedAttribute$NSAccessibilityExtrasMenuBarAttribute$NSAccessibilityFilenameAttribute$NSAccessibilityFirstLineIndentMarkerTypeValue$NSAccessibilityFloatingWindowSubrole$NSAccessibilityFocusedAttribute$NSAccessibilityFocusedUIElementAttribute$NSAccessibilityFocusedUIElementChangedNotification$NSAccessibilityFocusedWindowAttribute$NSAccessibilityFocusedWindowChangedNotification$NSAccessibilityFontBoldAttribute$NSAccessibilityFontChangeSearchKey$NSAccessibilityFontColorChangeSearchKey$NSAccessibilityFontFamilyKey$NSAccessibilityFontItalicAttribute$NSAccessibilityFontNameKey$NSAccessibilityFontSizeKey$NSAccessibilityFontTextAttribute$NSAccessibilityForegroundColorTextAttribute$NSAccessibilityFrameSearchKey$NSAccessibilityFrontmostAttribute$NSAccessibilityFullScreenButtonAttribute$NSAccessibilityFullScreenButtonSubrole$NSAccessibilityGraphicSearchKey$NSAccessibilityGridRole$NSAccessibilityGroupRole$NSAccessibilityGrowAreaAttribute$NSAccessibilityGrowAreaRole$NSAccessibilityHandleRole$NSAccessibilityHandlesAttribute$NSAccessibilityHeadIndentMarkerTypeValue$NSAccessibilityHeaderAttribute$NSAccessibilityHeadingLevel1SearchKey$NSAccessibilityHeadingLevel2SearchKey$NSAccessibilityHeadingLevel3SearchKey$NSAccessibilityHeadingLevel4SearchKey$NSAccessibilityHeadingLevel5SearchKey$NSAccessibilityHeadingLevel6SearchKey$NSAccessibilityHeadingLevelAttribute$NSAccessibilityHeadingRole$NSAccessibilityHeadingSameLevelSearchKey$NSAccessibilityHeadingSearchKey$NSAccessibilityHelpAttribute$NSAccessibilityHelpTagCreatedNotification$NSAccessibilityHelpTagRole$NSAccessibilityHiddenAttribute$NSAccessibilityHorizontalOrientationValue$NSAccessibilityHorizontalScrollBarAttribute$NSAccessibilityHorizontalUnitDescriptionAttribute$NSAccessibilityHorizontalUnitsAttribute$NSAccessibilityHorizontialUnitDescriptionAttribute$NSAccessibilityHorizontialUnitsAttribute$NSAccessibilityIdentifierAttribute$NSAccessibilityImageRole$NSAccessibilityInchesUnitValue$NSAccessibilityIncrementAction$NSAccessibilityIncrementArrowSubrole$NSAccessibilityIncrementButtonAttribute$NSAccessibilityIncrementPageSubrole$NSAccessibilityIncrementorRole$NSAccessibilityIndexAttribute$NSAccessibilityIndexForChildUIElementAttribute$NSAccessibilityIndexForChildUIElementInNavigationOrderAttribute$NSAccessibilityInsertionPointLineNumberAttribute$NSAccessibilityItalicFontSearchKey$NSAccessibilityKeyboardFocusableSearchKey$NSAccessibilityLabelUIElementsAttribute$NSAccessibilityLabelValueAttribute$NSAccessibilityLandmarkSearchKey$NSAccessibilityLanguageAttribute$NSAccessibilityLanguageTextAttribute$NSAccessibilityLayoutAreaRole$NSAccessibilityLayoutChangedNotification$NSAccessibilityLayoutItemRole$NSAccessibilityLayoutPointForScreenPointParameterizedAttribute$NSAccessibilityLayoutSizeForScreenSizeParameterizedAttribute$NSAccessibilityLeftTabStopMarkerTypeValue$NSAccessibilityLevelIndicatorRole$NSAccessibilityLineForIndexParameterizedAttribute$NSAccessibilityLinkRole$NSAccessibilityLinkSearchKey$NSAccessibilityLinkTextAttribute$NSAccessibilityLinkedUIElementsAttribute$NSAccessibilityListItemIndexTextAttribute$NSAccessibilityListItemLevelTextAttribute$NSAccessibilityListItemPrefixTextAttribute$NSAccessibilityListMarkerRole$NSAccessibilityListRole$NSAccessibilityListSearchKey$NSAccessibilityLiveRegionSearchKey$NSAccessibilityMainAttribute$NSAccessibilityMainWindowAttribute$NSAccessibilityMainWindowChangedNotification$NSAccessibilityMarkedMisspelledTextAttribute$NSAccessibilityMarkerGroupUIElementAttribute$NSAccessibilityMarkerTypeAttribute$NSAccessibilityMarkerTypeDescriptionAttribute$NSAccessibilityMarkerUIElementsAttribute$NSAccessibilityMarkerValuesAttribute$NSAccessibilityMatteContentUIElementAttribute$NSAccessibilityMatteHoleAttribute$NSAccessibilityMatteRole$NSAccessibilityMaxValueAttribute$NSAccessibilityMenuBarAttribute$NSAccessibilityMenuBarItemRole$NSAccessibilityMenuBarRole$NSAccessibilityMenuButtonRole$NSAccessibilityMenuItemRole$NSAccessibilityMenuRole$NSAccessibilityMinValueAttribute$NSAccessibilityMinimizeButtonAttribute$NSAccessibilityMinimizeButtonSubrole$NSAccessibilityMinimizedAttribute$NSAccessibilityMisspelledTextAttribute$NSAccessibilityMisspelledWordSearchKey$NSAccessibilityModalAttribute$NSAccessibilityMovedNotification$NSAccessibilityNextContentsAttribute$NSAccessibilityNumberOfCharactersAttribute$NSAccessibilityOrderedByRowAttribute$NSAccessibilityOrientationAttribute$NSAccessibilityOutlineRole$NSAccessibilityOutlineRowSubrole$NSAccessibilityOutlineSearchKey$NSAccessibilityOverflowButtonAttribute$NSAccessibilityPageRole$NSAccessibilityParentAttribute$NSAccessibilityPathAttribute$NSAccessibilityPicasUnitValue$NSAccessibilityPickAction$NSAccessibilityPlaceholderValueAttribute$NSAccessibilityPlainTextSearchKey$NSAccessibilityPointsUnitValue$NSAccessibilityPopUpButtonRole$NSAccessibilityPopoverRole$NSAccessibilityPositionAttribute$NSAccessibilityPressAction$NSAccessibilityPreviousContentsAttribute$NSAccessibilityPriorityKey$NSAccessibilityProgressIndicatorRole$NSAccessibilityProxyAttribute$NSAccessibilityRTFForRangeParameterizedAttribute$NSAccessibilityRadioButtonRole$NSAccessibilityRadioGroupRole$NSAccessibilityRadioGroupSearchKey$NSAccessibilityRaiseAction$NSAccessibilityRangeForIndexParameterizedAttribute$NSAccessibilityRangeForLineParameterizedAttribute$NSAccessibilityRangeForPositionParameterizedAttribute$NSAccessibilityRatingIndicatorSubrole$NSAccessibilityRelevanceIndicatorRole$NSAccessibilityRequiredAttribute$NSAccessibilityResizedNotification$NSAccessibilityResultsForSearchPredicateParameterizedAttribute$NSAccessibilityRightTabStopMarkerTypeValue$NSAccessibilityRoleAttribute$NSAccessibilityRoleDescriptionAttribute$NSAccessibilityRowCollapsedNotification$NSAccessibilityRowCountAttribute$NSAccessibilityRowCountChangedNotification$NSAccessibilityRowExpandedNotification$NSAccessibilityRowHeaderUIElementsAttribute$NSAccessibilityRowIndexRangeAttribute$NSAccessibilityRowRole$NSAccessibilityRowsAttribute$NSAccessibilityRulerMarkerRole$NSAccessibilityRulerRole$NSAccessibilitySameTypeSearchKey$NSAccessibilityScreenPointForLayoutPointParameterizedAttribute$NSAccessibilityScreenSizeForLayoutSizeParameterizedAttribute$NSAccessibilityScrollAreaRole$NSAccessibilityScrollBarRole$NSAccessibilityScrollToVisibleAction$NSAccessibilitySearchButtonAttribute$NSAccessibilitySearchCurrentElementKey$NSAccessibilitySearchCurrentRangeKey$NSAccessibilitySearchDirectionKey$NSAccessibilitySearchDirectionNext$NSAccessibilitySearchDirectionPrevious$NSAccessibilitySearchFieldSubrole$NSAccessibilitySearchIdentifiersKey$NSAccessibilitySearchMenuAttribute$NSAccessibilitySearchResultDescriptionOverrideKey$NSAccessibilitySearchResultElementKey$NSAccessibilitySearchResultLoaderKey$NSAccessibilitySearchResultRangeKey$NSAccessibilitySearchResultsLimitKey$NSAccessibilitySearchTextKey$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$NSAccessibilityStaticTextSearchKey$NSAccessibilityStrikethroughColorTextAttribute$NSAccessibilityStrikethroughTextAttribute$NSAccessibilityStringForRangeParameterizedAttribute$NSAccessibilityStyleChangeSearchKey$NSAccessibilityStyleRangeForIndexParameterizedAttribute$NSAccessibilitySubroleAttribute$NSAccessibilitySuggestionSubrole$NSAccessibilitySuperscriptTextAttribute$NSAccessibilitySwitchSubrole$NSAccessibilitySystemDialogSubrole$NSAccessibilitySystemFloatingWindowSubrole$NSAccessibilitySystemWideRole$NSAccessibilityTabButtonSubrole$NSAccessibilityTabGroupRole$NSAccessibilityTableRole$NSAccessibilityTableRowSubrole$NSAccessibilityTableSameLevelSearchKey$NSAccessibilityTableSearchKey$NSAccessibilityTabsAttribute$NSAccessibilityTailIndentMarkerTypeValue$NSAccessibilityTextAlignmentAttribute$NSAccessibilityTextAreaRole$NSAccessibilityTextAttachmentSubrole$NSAccessibilityTextCompletionAttribute$NSAccessibilityTextFieldRole$NSAccessibilityTextFieldSearchKey$NSAccessibilityTextInputMarkedRangeAttribute$NSAccessibilityTextInputMarkingSessionBeganNotification$NSAccessibilityTextInputMarkingSessionEndedNotification$NSAccessibilityTextLinkSubrole$NSAccessibilityTextStateChangeTypeKey$NSAccessibilityTextStateSyncKey$NSAccessibilityTimelineSubrole$NSAccessibilityTitleAttribute$NSAccessibilityTitleChangedNotification$NSAccessibilityTitleUIElementAttribute$NSAccessibilityToggleSubrole$NSAccessibilityToolbarButtonAttribute$NSAccessibilityToolbarButtonSubrole$NSAccessibilityToolbarRole$NSAccessibilityTopLevelUIElementAttribute$NSAccessibilityUIElementDestroyedNotification$NSAccessibilityUIElementsForSearchPredicateParameterizedAttribute$NSAccessibilityUIElementsKey$NSAccessibilityURLAttribute$NSAccessibilityUnderlineColorTextAttribute$NSAccessibilityUnderlineSearchKey$NSAccessibilityUnderlineTextAttribute$NSAccessibilityUnitDescriptionAttribute$NSAccessibilityUnitsAttribute$NSAccessibilityUnitsChangedNotification$NSAccessibilityUnknownMarkerTypeValue$NSAccessibilityUnknownOrientationValue$NSAccessibilityUnknownRole$NSAccessibilityUnknownSortDirectionValue$NSAccessibilityUnknownSubrole$NSAccessibilityUnknownUnitValue$NSAccessibilityUnvisitedLinkSearchKey$NSAccessibilityValueAttribute$NSAccessibilityValueChangedNotification$NSAccessibilityValueDescriptionAttribute$NSAccessibilityValueIndicatorRole$NSAccessibilityVerticalOrientationValue$NSAccessibilityVerticalScrollBarAttribute$NSAccessibilityVerticalUnitDescriptionAttribute$NSAccessibilityVerticalUnitsAttribute$NSAccessibilityVisibleCellsAttribute$NSAccessibilityVisibleCharacterRangeAttribute$NSAccessibilityVisibleChildrenAttribute$NSAccessibilityVisibleColumnsAttribute$NSAccessibilityVisibleNameKey$NSAccessibilityVisibleRowsAttribute$NSAccessibilityVisitedAttribute$NSAccessibilityVisitedLinkSearchKey$NSAccessibilityWarningValueAttribute$NSAccessibilityWebAreaRole$NSAccessibilityWindowAttribute$NSAccessibilityWindowCreatedNotification$NSAccessibilityWindowDeminiaturizedNotification$NSAccessibilityWindowMiniaturizedNotification$NSAccessibilityWindowMovedNotification$NSAccessibilityWindowResizedNotification$NSAccessibilityWindowRole$NSAccessibilityWindowsAttribute$NSAccessibilityZoomButtonAttribute$NSAccessibilityZoomButtonSubrole$NSAdaptiveImageGlyphAttributeName$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$NSApplicationShouldBeginSuppressingHighDynamicRangeContentNotification$NSApplicationShouldEndSuppressingHighDynamicRangeContentNotification$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$NSDefaultFontExcludedDocumentAttribute$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$NSFontWidthCompressed@d$NSFontWidthCondensed@d$NSFontWidthExpanded@d$NSFontWidthStandard@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$NSPasteboardDetectionPatternCalendarEvent$NSPasteboardDetectionPatternEmailAddress$NSPasteboardDetectionPatternFlightNumber$NSPasteboardDetectionPatternLink$NSPasteboardDetectionPatternMoneyAmount$NSPasteboardDetectionPatternNumber$NSPasteboardDetectionPatternPhoneNumber$NSPasteboardDetectionPatternPostalAddress$NSPasteboardDetectionPatternProbableWebSearch$NSPasteboardDetectionPatternProbableWebURL$NSPasteboardDetectionPatternShipmentTrackingNumber$NSPasteboardMetadataTypeContentType$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$NSSpellCheckerDidChangeAutomaticInlinePredictionNotification$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$NSTextCheckingGenerateInlinePredictionsKey$NSTextCheckingOrthographyKey$NSTextCheckingQuotesKey$NSTextCheckingReferenceDateKey$NSTextCheckingReferenceTimeZoneKey$NSTextCheckingRegularExpressionsKey$NSTextCheckingReplacementsKey$NSTextCheckingSelectedRangeKey$NSTextColorBinding$NSTextContentStorageUnsupportedAttributeAddedNotification$NSTextContentTypeAddressCity$NSTextContentTypeAddressCityAndState$NSTextContentTypeAddressState$NSTextContentTypeBirthdate$NSTextContentTypeBirthdateDay$NSTextContentTypeBirthdateMonth$NSTextContentTypeBirthdateYear$NSTextContentTypeCountryName$NSTextContentTypeCreditCardExpiration$NSTextContentTypeCreditCardExpirationMonth$NSTextContentTypeCreditCardExpirationYear$NSTextContentTypeCreditCardFamilyName$NSTextContentTypeCreditCardGivenName$NSTextContentTypeCreditCardMiddleName$NSTextContentTypeCreditCardName$NSTextContentTypeCreditCardNumber$NSTextContentTypeCreditCardSecurityCode$NSTextContentTypeCreditCardType$NSTextContentTypeDateTime$NSTextContentTypeEmailAddress$NSTextContentTypeFamilyName$NSTextContentTypeFlightNumber$NSTextContentTypeFullStreetAddress$NSTextContentTypeGivenName$NSTextContentTypeJobTitle$NSTextContentTypeLocation$NSTextContentTypeMiddleName$NSTextContentTypeName$NSTextContentTypeNamePrefix$NSTextContentTypeNameSuffix$NSTextContentTypeNewPassword$NSTextContentTypeNickname$NSTextContentTypeOneTimeCode$NSTextContentTypeOrganizationName$NSTextContentTypePassword$NSTextContentTypePostalCode$NSTextContentTypeShipmentTrackingNumber$NSTextContentTypeStreetAddressLine1$NSTextContentTypeStreetAddressLine2$NSTextContentTypeSublocality$NSTextContentTypeTelephoneNumber$NSTextContentTypeURL$NSTextContentTypeUsername$NSTextDidBeginEditingNotification$NSTextDidChangeNotification$NSTextDidEndEditingNotification$NSTextEffectAttributeName$NSTextEffectLetterpressStyle$NSTextEncodingNameDocumentAttribute$NSTextEncodingNameDocumentOption$NSTextFinderCaseInsensitiveKey$NSTextFinderMatchingTypeKey$NSTextHighlightColorSchemeAttributeName$NSTextHighlightColorSchemeBlue$NSTextHighlightColorSchemeDefault$NSTextHighlightColorSchemeMint$NSTextHighlightColorSchemeOrange$NSTextHighlightColorSchemePink$NSTextHighlightColorSchemePurple$NSTextHighlightStyleAttributeName$NSTextHighlightStyleDefault$NSTextInputContextKeyboardSelectionDidChangeNotification$NSTextKit1ListMarkerFormatDocumentOption$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$NSToolbarInspectorTrackingSeparatorItemIdentifier$NSToolbarItemKey$NSToolbarNewIndexKey$NSToolbarPrintItemIdentifier$NSToolbarSeparatorItemIdentifier$NSToolbarShowColorsItemIdentifier$NSToolbarShowFontsItemIdentifier$NSToolbarSidebarTrackingSeparatorItemIdentifier$NSToolbarSpaceItemIdentifier$NSToolbarToggleInspectorItemIdentifier$NSToolbarToggleSidebarItemIdentifier$NSToolbarWillAddItemNotification$NSToolbarWritingToolsItemIdentifier$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$NSWritingToolsExclusionAttributeName$""" +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$NSAccessibilityHourMinuteDateTimeComponentsFlag@12$NSAccessibilityHourMinuteSecondDateTimeComponentsFlag@14$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$NSAccessibilityYearMonthDateTimeComponentsFlag@192$NSAccessibilityYearMonthDayDateTimeComponentsFlag@224$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.0$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_2_3@663.6$NSAppKitVersionNumber10_3@743$NSAppKitVersionNumber10_3_2@743.14$NSAppKitVersionNumber10_3_3@743.2$NSAppKitVersionNumber10_3_5@743.24$NSAppKitVersionNumber10_3_7@743.33$NSAppKitVersionNumber10_3_9@743.36$NSAppKitVersionNumber10_4@824$NSAppKitVersionNumber10_4_1@824.1$NSAppKitVersionNumber10_4_3@824.23$NSAppKitVersionNumber10_4_4@824.33$NSAppKitVersionNumber10_4_7@824.41$NSAppKitVersionNumber10_5@949$NSAppKitVersionNumber10_5_2@949.27$NSAppKitVersionNumber10_5_3@949.33$NSAppKitVersionNumber10_6@1038$NSAppKitVersionNumber10_7@1138$NSAppKitVersionNumber10_7_2@1138.23$NSAppKitVersionNumber10_7_3@1138.32$NSAppKitVersionNumber10_7_4@1138.47$NSAppKitVersionNumber10_8@1187$NSAppKitVersionNumber10_9@1265$NSAppKitVersionNumber11_0@2022.0$NSAppKitVersionNumber11_1@2022.2$NSAppKitVersionNumber11_2@2022.3$NSAppKitVersionNumber11_3@2022.4$NSAppKitVersionNumber11_4@2022.5$NSAppKitVersionNumber11_5@2022.6$NSAppKitVersionNumber12_0@2113.0$NSAppKitVersionNumber12_1@2113.2$NSAppKitVersionNumber12_2@2113.3$NSAppKitVersionNumber12_3@2113.4$NSAppKitVersionNumber12_4@2113.5$NSAppKitVersionNumber12_5@2113.6$NSAppKitVersionNumber13_0@2299.0$NSAppKitVersionNumber13_1@2299.3$NSAppKitVersionNumber13_2@2299.3$NSAppKitVersionNumber13_3@2299.4$NSAppKitVersionNumber13_4@2299.5$NSAppKitVersionNumber13_5@2299.6$NSAppKitVersionNumber13_6@2299.7$NSAppKitVersionNumber14_0@2487.0$NSAppKitVersionNumber14_1@2487.2$NSAppKitVersionNumberWithColumnResizingBrowser@685.0$NSAppKitVersionNumberWithContinuousScrollingBrowser@680.0$NSAppKitVersionNumberWithCursorSizeSupport@682.0$NSAppKitVersionNumberWithCustomSheetPosition@686.0$NSAppKitVersionNumberWithDeferredWindowDisplaySupport@1019.0$NSAppKitVersionNumberWithDirectionalTabs@631.0$NSAppKitVersionNumberWithDockTilePlugInSupport@1001.0$NSAppKitVersionNumberWithPatternColorLeakFix@641.0$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$NSBezelStyleAccessoryBar@13$NSBezelStyleAccessoryBarAction@12$NSBezelStyleAutomatic@0$NSBezelStyleBadge@15$NSBezelStyleCircular@7$NSBezelStyleDisclosure@5$NSBezelStyleFlexiblePush@2$NSBezelStyleGlass@16$NSBezelStyleHelpButton@9$NSBezelStyleInline@15$NSBezelStylePush@1$NSBezelStylePushDisclosure@14$NSBezelStyleRecessed@13$NSBezelStyleRegularSquare@2$NSBezelStyleRoundRect@12$NSBezelStyleRounded@1$NSBezelStyleRoundedDisclosure@14$NSBezelStyleShadowlessSquare@6$NSBezelStyleSmallSquare@10$NSBezelStyleTexturedRounded@11$NSBezelStyleTexturedSquare@8$NSBezelStyleToolbar@11$NSBezierPathElementClosePath@3$NSBezierPathElementCubicCurveTo@2$NSBezierPathElementCurveTo@2$NSBezierPathElementLineTo@1$NSBezierPathElementMoveTo@0$NSBezierPathElementQuadraticCurveTo@4$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$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$NSColorWellStyleDefault@0$NSColorWellStyleExpanded@2$NSColorWellStyleMinimal@1$NSComboButtonStyleSplit@0$NSComboButtonStyleUnified@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$NSControlBorderShapeAutomatic@0$NSControlBorderShapeCapsule@1$NSControlBorderShapeCircle@3$NSControlBorderShapeRoundedRectangle@2$NSControlCharacterActionContainerBreak@32$NSControlCharacterActionHorizontalTab@4$NSControlCharacterActionLineBreak@8$NSControlCharacterActionParagraphBreak@16$NSControlCharacterActionWhitespace@2$NSControlCharacterActionZeroAdvancement@1$NSControlGlyph@16777215$NSControlKeyMask@262144$NSControlSizeExtraLarge@4$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$NSCursorFrameResizeDirectionsAll@3$NSCursorFrameResizeDirectionsInward@1$NSCursorFrameResizeDirectionsOutward@2$NSCursorFrameResizePositionBottom@4$NSCursorFrameResizePositionBottomLeft@6$NSCursorFrameResizePositionBottomRight@12$NSCursorFrameResizePositionLeft@2$NSCursorFrameResizePositionRight@8$NSCursorFrameResizePositionTop@1$NSCursorFrameResizePositionTopLeft@3$NSCursorFrameResizePositionTopRight@9$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$NSEventMaskMouseCancelled@1099511627776$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$NSEventTypeMouseCancelled@40$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$NSGlassEffectViewStyleClear@1$NSGlassEffectViewStyleRegular@0$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$NSHorizontalDirectionsAll@3$NSHorizontalDirectionsLeft@1$NSHorizontalDirectionsRight@2$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$NSImageDynamicRangeConstrainedHigh@1$NSImageDynamicRangeHigh@2$NSImageDynamicRangeStandard@0$NSImageDynamicRangeUnspecified@-1$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$NSImageSymbolColorRenderingModeAutomatic@0$NSImageSymbolColorRenderingModeFlat@1$NSImageSymbolColorRenderingModeGradient@2$NSImageSymbolScaleLarge@3$NSImageSymbolScaleMedium@2$NSImageSymbolScaleSmall@1$NSImageSymbolVariableValueModeAutomatic@0$NSImageSymbolVariableValueModeColor@1$NSImageSymbolVariableValueModeDraw@2$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$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$NSMenuItemBadgeTypeAlerts@3$NSMenuItemBadgeTypeNewItems@2$NSMenuItemBadgeTypeNone@0$NSMenuItemBadgeTypeUpdates@1$NSMenuPresentationStylePalette@1$NSMenuPresentationStyleRegular@0$NSMenuPropertyItemAccessibilityDescription@32$NSMenuPropertyItemAttributedTitle@2$NSMenuPropertyItemEnabled@16$NSMenuPropertyItemImage@8$NSMenuPropertyItemKeyEquivalent@4$NSMenuPropertyItemTitle@1$NSMenuSelectionModeAutomatic@0$NSMenuSelectionModeSelectAny@2$NSMenuSelectionModeSelectOne@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$NSPageLayoutResultCancelled@0$NSPageLayoutResultChanged@1$NSPageUpFunctionKey@63276$NSPaperOrientationLandscape@1$NSPaperOrientationPortrait@0$NSParagraphSeparatorCharacter@8233$NSPasteboardAccessBehaviorAlwaysAllow@2$NSPasteboardAccessBehaviorAlwaysDeny@3$NSPasteboardAccessBehaviorAsk@1$NSPasteboardAccessBehaviorDefault@0$NSPasteboardCommunicationError@67585$NSPasteboardContentsCurrentHostOnly@1$NSPasteboardContentsNotAvailableError@67587$NSPasteboardErrorMaximum@67839$NSPasteboardErrorMinimum@67584$NSPasteboardInvalidArgumentError@67586$NSPasteboardMiscellaneousError@67584$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$NSPrintPanelResultCancelled@0$NSPrintPanelResultPrinted@1$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$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$NSSharingCollaborationModeCollaborate@1$NSSharingCollaborationModeSendCopy@0$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$NSSplitViewItemBehaviorInspector@3$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$NSStringDrawingOptionsResolvesNaturalAlignmentWithBaseWritingDirection@512$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$NSTextAlignmentJustified@3$NSTextAlignmentLeft@0$NSTextAlignmentNatural@4$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$NSTextCursorAccessoryPlacementBackward@1$NSTextCursorAccessoryPlacementCenter@4$NSTextCursorAccessoryPlacementForward@2$NSTextCursorAccessoryPlacementInvisible@3$NSTextCursorAccessoryPlacementOffscreenBottom@8$NSTextCursorAccessoryPlacementOffscreenLeft@5$NSTextCursorAccessoryPlacementOffscreenRight@7$NSTextCursorAccessoryPlacementOffscreenTop@6$NSTextCursorAccessoryPlacementUnspecified@0$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$NSTextInsertionIndicatorAutomaticModeOptionsShowEffectsView@1$NSTextInsertionIndicatorAutomaticModeOptionsShowWhileTracking@2$NSTextInsertionIndicatorDisplayModeAutomatic@0$NSTextInsertionIndicatorDisplayModeHidden@1$NSTextInsertionIndicatorDisplayModeVisible@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$NSTintProminenceAutomatic@0$NSTintProminenceNone@1$NSTintProminencePrimary@2$NSTintProminenceSecondary@3$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$NSToolbarItemStylePlain@0$NSToolbarItemStyleProminent@1$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$NSVerticalDirectionsAll@3$NSVerticalDirectionsDown@2$NSVerticalDirectionsUp@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$NSViewLayoutRegionAdaptivityAxisHorizontal@1$NSViewLayoutRegionAdaptivityAxisNone@0$NSViewLayoutRegionAdaptivityAxisVertical@2$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$NSWindowCollectionBehaviorAuxiliary@131072$NSWindowCollectionBehaviorCanJoinAllApplications@262144$NSWindowCollectionBehaviorCanJoinAllSpaces@1$NSWindowCollectionBehaviorDefault@0$NSWindowCollectionBehaviorFullScreenAllowsTiling@2048$NSWindowCollectionBehaviorFullScreenAuxiliary@256$NSWindowCollectionBehaviorFullScreenDisallowsTiling@4096$NSWindowCollectionBehaviorFullScreenNone@512$NSWindowCollectionBehaviorFullScreenPrimary@128$NSWindowCollectionBehaviorIgnoresCycle@64$NSWindowCollectionBehaviorManaged@4$NSWindowCollectionBehaviorMoveToActiveSpace@2$NSWindowCollectionBehaviorParticipatesInCycle@32$NSWindowCollectionBehaviorPrimary@65536$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$NSWindowSharingErrorMaximum@67466$NSWindowSharingErrorMinimum@67456$NSWindowSharingNone@0$NSWindowSharingReadOnly@1$NSWindowSharingReadWrite@2$NSWindowSharingRequestAlreadyRequested@67456$NSWindowSharingRequestNoEligibleSession@67457$NSWindowSharingRequestUnspecifiedError@67458$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$NSWritingToolsBehaviorComplete@1$NSWritingToolsBehaviorDefault@0$NSWritingToolsBehaviorLimited@2$NSWritingToolsBehaviorNone@-1$NSWritingToolsCoordinatorContextScopeFullDocument@1$NSWritingToolsCoordinatorContextScopeUserSelection@0$NSWritingToolsCoordinatorContextScopeVisibleArea@2$NSWritingToolsCoordinatorStateInactive@0$NSWritingToolsCoordinatorStateInteractiveResting@2$NSWritingToolsCoordinatorStateInteractiveStreaming@3$NSWritingToolsCoordinatorStateNoninteractive@1$NSWritingToolsCoordinatorTextAnimationAnticipate@0$NSWritingToolsCoordinatorTextAnimationAnticipateInactive@8$NSWritingToolsCoordinatorTextAnimationInsert@2$NSWritingToolsCoordinatorTextAnimationRemove@1$NSWritingToolsCoordinatorTextAnimationTranslate@9$NSWritingToolsCoordinatorTextReplacementReasonInteractive@0$NSWritingToolsCoordinatorTextReplacementReasonNoninteractive@1$NSWritingToolsCoordinatorTextUpdateReasonTyping@0$NSWritingToolsCoordinatorTextUpdateReasonUndoRedo@1$NSWritingToolsResultDefault@0$NSWritingToolsResultList@4$NSWritingToolsResultPlainText@1$NSWritingToolsResultPresentationIntent@16$NSWritingToolsResultRichText@2$NSWritingToolsResultTable@8$NSYearMonthDatePickerElementFlag@192$NSYearMonthDayDatePickerElementFlag@224$NS_USER_ACTIVITY_SUPPORTED@1$""" +misc.update( + { + "NSImageResizingModeStretch": selAorI(1, 0), + "NSTextAlignmentRight": selAorI(2, 1), + "NSTextAlignmentCenter": selAorI(1, 2), + "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), + "NSMenuSelectionMode": NewType("NSMenuSelectionMode", int), + "NSBackingStoreType": NewType("NSBackingStoreType", int), + "NSCellAttribute": NewType("NSCellAttribute", int), + "NSImageSymbolVariableValueMode": NewType( + "NSImageSymbolVariableValueMode", int + ), + "NSVisualEffectState": NewType("NSVisualEffectState", int), + "NSViewControllerTransitionOptions": NewType( + "NSViewControllerTransitionOptions", int + ), + "NSLayoutRelation": NewType("NSLayoutRelation", int), + "NSImageFrameStyle": NewType("NSImageFrameStyle", int), + "NSFontAction": NewType("NSFontAction", int), + "NSMenuItemBadgeType": NewType("NSMenuItemBadgeType", 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), + "NSSharingCollaborationMode": NewType("NSSharingCollaborationMode", 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), + "NSComboButtonStyle": NewType("NSComboButtonStyle", int), + "NSWritingToolsBehavior": NewType("NSWritingToolsBehavior", 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), + "NSTextFinderMatchingType": NewType("NSTextFinderMatchingType", int), + "NSWindowToolbarStyle": NewType("NSWindowToolbarStyle", int), + "NSEventButtonMask": NewType("NSEventButtonMask", 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 + ), + "NSPageLayoutResult": NewType("NSPageLayoutResult", int), + "NSSplitViewItemCollapseBehavior": NewType( + "NSSplitViewItemCollapseBehavior", int + ), + "NSTitlebarSeparatorStyle": NewType("NSTitlebarSeparatorStyle", int), + "NSFontAssetRequestOptions": NewType("NSFontAssetRequestOptions", int), + "NSCollectionViewItemHighlightState": NewType( + "NSCollectionViewItemHighlightState", 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), + "NSCursorFrameResizeDirections": NewType("NSCursorFrameResizeDirections", 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 + ), + "NSImageSymbolColorRenderingMode": NewType( + "NSImageSymbolColorRenderingMode", 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), + "NSWritingToolsCoordinatorTextAnimation": NewType( + "NSWritingToolsCoordinatorTextAnimation", 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), + "NSWritingToolsResultOptions": NewType("NSWritingToolsResultOptions", int), + "NSImageScaling": NewType("NSImageScaling", int), + "NSStringDrawingOptions": NewType("NSStringDrawingOptions", int), + "NSBrowserDropOperation": NewType("NSBrowserDropOperation", int), + "NSDrawerState": NewType("NSDrawerState", int), + "NSDragOperation": NewType("NSDragOperation", int), + "NSViewLayoutRegionAdaptivityAxis": NewType( + "NSViewLayoutRegionAdaptivityAxis", 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 + ), + "NSImageSymbolScale": NewType("NSImageSymbolScale", 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), + "NSControlBorderShape": NewType("NSControlBorderShape", int), + "NSTextLayoutManagerSegmentOptions": NewType( + "NSTextLayoutManagerSegmentOptions", int + ), + "NSWindowListOptions": NewType("NSWindowListOptions", int), + "NSWindowDepth": NewType("NSWindowDepth", int), + "NSUnderlineStyle": NewType("NSUnderlineStyle", int), + "NSTextCursorAccessoryPlacement": NewType( + "NSTextCursorAccessoryPlacement", int + ), + "NSFontDescriptorSymbolicTraits": NewType( + "NSFontDescriptorSymbolicTraits", int + ), + "NSFindPanelSubstringMatchType": NewType("NSFindPanelSubstringMatchType", int), + "NSAccessibilityAnnotationPosition": NewType( + "NSAccessibilityAnnotationPosition", int + ), + "NSTextLayoutFragmentState": NewType("NSTextLayoutFragmentState", int), + "NSGlassEffectViewStyle": NewType("NSGlassEffectViewStyle", int), + "NSEventPhase": NewType("NSEventPhase", int), + "NSPrintPanelResult": NewType("NSPrintPanelResult", int), + "NSDocumentChangeType": NewType("NSDocumentChangeType", int), + "NSWindowButton": NewType("NSWindowButton", int), + "NSWritingToolsCoordinatorContextScope": NewType( + "NSWritingToolsCoordinatorContextScope", 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), + "NSPasteboardAccessBehavior": NewType("NSPasteboardAccessBehavior", int), + "NSTickMarkPosition": NewType("NSTickMarkPosition", int), + "NSWritingToolsCoordinatorState": NewType( + "NSWritingToolsCoordinatorState", int + ), + "NSWindowBackingLocation": NewType("NSWindowBackingLocation", int), + "NSTableViewDropOperation": NewType("NSTableViewDropOperation", int), + "NSProgressIndicatorThickness": NewType("NSProgressIndicatorThickness", int), + "NSMenuPresentationStyle": NewType("NSMenuPresentationStyle", int), + "NSApplicationPresentationOptions": NewType( + "NSApplicationPresentationOptions", int + ), + "NSMenuProperties": NewType("NSMenuProperties", int), + "NSTextSelectionGranularity": NewType("NSTextSelectionGranularity", int), + "NSPrintingPaginationMode": NewType("NSPrintingPaginationMode", int), + "NSTextInsertionIndicatorAutomaticModeOptions": NewType( + "NSTextInsertionIndicatorAutomaticModeOptions", int + ), + "NSTextInputTraitType": NewType("NSTextInputTraitType", int), + "NSAnimationEffect": NewType("NSAnimationEffect", int), + "NSScrollerKnobStyle": NewType("NSScrollerKnobStyle", int), + "NSVisualEffectMaterial": NewType("NSVisualEffectMaterial", int), + "NSCollectionLayoutSectionOrthogonalScrollingBehavior": NewType( + "NSCollectionLayoutSectionOrthogonalScrollingBehavior", int + ), + "NSHorizontalDirections": NewType("NSHorizontalDirections", 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), + "NSColorWellStyle": NewType("NSColorWellStyle", 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 + ), + "NSTextInsertionIndicatorDisplayMode": NewType( + "NSTextInsertionIndicatorDisplayMode", int + ), + "NSWindowOrderingMode": NewType("NSWindowOrderingMode", int), + "NSPasteboardContentsOptions": NewType("NSPasteboardContentsOptions", int), + "NSImageAlignment": NewType("NSImageAlignment", int), + "NSWritingToolsCoordinatorTextReplacementReason": NewType( + "NSWritingToolsCoordinatorTextReplacementReason", 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 + ), + "NSTableViewRowSizeStyle": NewType("NSTableViewRowSizeStyle", int), + "NSTextFinderAction": NewType("NSTextFinderAction", int), + "NSCollectionViewScrollPosition": NewType( + "NSCollectionViewScrollPosition", int + ), + "NSTypesetterBehavior": NewType("NSTypesetterBehavior", 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), + "NSToolbarItemStyle": NewType("NSToolbarItemStyle", 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 + ), + "NSVerticalDirections": NewType("NSVerticalDirections", 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), + "NSTouchTypeMask": NewType("NSTouchTypeMask", int), + "NSScrollArrowPosition": NewType("NSScrollArrowPosition", int), + "NSCursorFrameResizePosition": NewType("NSCursorFrameResizePosition", int), + "NSSelectionGranularity": NewType("NSSelectionGranularity", int), + "NSTintProminence": NewType("NSTintProminence", int), + "NSPrintingOrientation": NewType("NSPrintingOrientation", int), + "NSWritingToolsCoordinatorTextUpdateReason": NewType( + "NSWritingToolsCoordinatorTextUpdateReason", 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), + "NSImageDynamicRange": NewType("NSImageDynamicRange", int), + "NSApplicationActivationPolicy": NewType("NSApplicationActivationPolicy", int), + "NSTableViewAnimationOptions": NewType("NSTableViewAnimationOptions", int), + "NSGridCellPlacement": NewType("NSGridCellPlacement", int), + "NSToolbarSizeMode": NewType("NSToolbarSizeMode", int), + } +) +misc.update( + { + "NSAccessibilitySortDirectionValue": NewType( + "NSAccessibilitySortDirectionValue", str + ), + "NSPasteboardMetadataType": NewType("NSPasteboardMetadataType", str), + "NSSpeechPropertyKey": NewType("NSSpeechPropertyKey", str), + "NSFontCollectionActionTypeKey": NewType("NSFontCollectionActionTypeKey", str), + "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), + "NSAccessibilityDateTimeComponentsFlags": NewType( + "NSAccessibilityDateTimeComponentsFlags", int + ), + "NSAccessibilityParameterizedAttributeName": NewType( + "NSAccessibilityParameterizedAttributeName", str + ), + "NSWorkspaceLaunchConfigurationKey": NewType( + "NSWorkspaceLaunchConfigurationKey", str + ), + "NSToolbarItemVisibilityPriority": NewType( + "NSToolbarItemVisibilityPriority", int + ), + "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), + "NSTextHighlightStyle": NewType("NSTextHighlightStyle", str), + "NSPasteboardTypeFindPanelSearchOptionKey": NewType( + "NSPasteboardTypeFindPanelSearchOptionKey", str + ), + "NSSpeechMode": NewType("NSSpeechMode", str), + "NSViewAnimationEffectName": NewType("NSViewAnimationEffectName", str), + "NSPasteboardDetectionPattern": NewType("NSPasteboardDetectionPattern", str), + "NSAttributedStringDocumentReadingOptionKey": NewType( + "NSAttributedStringDocumentReadingOptionKey", str + ), + "NSModalResponse": NewType("NSModalResponse", int), + "NSAccessibilityRulerUnitValue": NewType("NSAccessibilityRulerUnitValue", str), + "NSAccessibilitySearchKey": NewType("NSAccessibilitySearchKey", str), + "NSToolbarUserInfoKey": NewType("NSToolbarUserInfoKey", 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), + "NSPasteboardAccessBehavior": NewType("NSPasteboardAccessBehavior", int), + "NSDefinitionPresentationType": NewType("NSDefinitionPresentationType", str), + "NSAttributedStringFormattingContextKey": NewType( + "NSAttributedStringFormattingContextKey", 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 + ), + "NSTextHighlightColorScheme": NewType("NSTextHighlightColorScheme", 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 + ), + "NSFontWidth": NewType("NSFontWidth", float), + "NSControlStateValue": NewType("NSControlStateValue", int), + "NSAccessibilityOrientationValue": NewType( + "NSAccessibilityOrientationValue", str + ), + "NSDeviceDescriptionKey": NewType("NSDeviceDescriptionKey", str), + "NSBitmapImageRepPropertyKey": NewType("NSBitmapImageRepPropertyKey", str), + "NSPrinterPaperName": NewType("NSPrinterPaperName", str), + "NSSharingServiceName": NewType("NSSharingServiceName", str), + "NSAboutPanelOptionKey": NewType("NSAboutPanelOptionKey", str), + "NSColorSpaceName": NewType("NSColorSpaceName", str), + "NSSpeechErrorKey": NewType("NSSpeechErrorKey", str), + "NSRuleEditorPredicatePartKey": NewType("NSRuleEditorPredicatePartKey", str), + "NSPasteboardReadingOptionKey": NewType("NSPasteboardReadingOptionKey", str), + } +) +misc.update({}) +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@^C", + "", + {"arguments": {10: {"c_array_of_fixed_length": 5, "type_modifier": "n"}}}, + ), + "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": b"v@:@q^v"}, + 7: {"sel_of_type": b"v@:@q^v"}, + }, + "variadic": True, + }, + ), + "NSBeginAlertSheet": ( + b"v@@@@@@::^v@", + "", + { + "arguments": { + 9: {"printf_format": True}, + 6: {"sel_of_type": b"v@:@q^v"}, + 7: {"sel_of_type": 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": b"v@:@q^v"}, + 7: {"sel_of_type": 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", + "NSBezelStyleRoundedDisclosure": "NSBezelStylePushDisclosure", + "NSBezelStyleRegularSquare": "NSBezelStyleFlexiblePush", + "NSImageRepRegistryChangedNotification": "NSImageRepRegistryDidChangeNotification", + "NSBezierPathElementCurveTo": "NSBezierPathElementCubicCurveTo", + "NSModalPanelWindowLevel": "kCGModalPanelWindowLevel", + "NSSubmenuWindowLevel": "kCGTornOffMenuWindowLevel", + "NSTickMarkPositionTrailing": "NSTickMarkPositionBelow", + "NSGestureRecognizerStateRecognized": "NSGestureRecognizerStateEnded", + "NSLayoutFormatAlignAllBaseline": "NSLayoutFormatAlignAllLastBaseline", + "NSGridCellPlacementBottom": "NSGridCellPlacementTrailing", + "NSBezelStyleInline": "NSBezelStyleBadge", + "NSTornOffMenuWindowLevel": "kCGTornOffMenuWindowLevel", + "NSRightTextAlignment": "NSTextAlignmentRight", + "NSPopUpMenuWindowLevel": "kCGPopUpMenuWindowLevel", + "NSLayoutAttributeBaseline": "NSLayoutAttributeLastBaseline", + "NSBezelStyleRoundRect": "NSBezelStyleAccessoryBarAction", + "NSDragOperationAll": "NSDragOperationAll_Obsolete", + "NSGridCellPlacementTop": "NSGridCellPlacementLeading", + "NSMainMenuWindowLevel": "kCGMainMenuWindowLevel", + "NSDraggingItemEnumerationConcurrent": "NSEnumerationConcurrent", + "NSScreenSaverWindowLevel": "kCGScreenSaverWindowLevel", + "NSEventDurationForever": "DBL_MAX", + "NSBezelStyleTexturedRounded": "NSBezelStyleToolbar", + "NSLayoutAttributeLastBaseline": "NSLayoutAttributeBaseline", + "NSBezelStyleRounded": "NSBezelStylePush", + "NSBezelStyleRecessed": "NSBezelStyleAccessoryBar", + "NSFileHandlingPanelCancelButton": "NSModalResponseCancel", + "NSWorkspaceLaunchDefault": "NSWorkspaceLaunchAsync", + "NSNormalWindowLevel": "kCGNormalWindowLevel", + "NSFileHandlingPanelOKButton": "NSModalResponseOK", + "NSIMAGE_UNAVAILABLE_MACCATALYST": "TARGET_OS_IPHONE", + "NSFloatingWindowLevel": "kCGFloatingWindowLevel", + "NSTickMarkPositionLeading": "NSTickMarkPositionAbove", + "NSDockWindowLevel": "kCGDockWindowLevel", + "NSCenterTextAlignment": "NSTextAlignmentCenter", + "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": "{CGPoint=dd}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"CIImage", + b"drawInRect:fromRect:operation:fraction:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r(b"NSATSTypesetter", b"bidiProcessingEnabled", {"retval": {"type": "Z"}}) + r( + b"NSATSTypesetter", + b"boundingBoxForControlGlyphAtIndex:forTextContainer:proposedLineFragment:glyphPosition:characterIndex:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "{CGPoint=dd}"}, + 6: {"type": "Q"}, + }, + }, + ) + r( + b"NSATSTypesetter", + b"characterRangeForGlyphRange:actualGlyphRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type_modifier": b"o"}}, + }, + ) + r( + b"NSATSTypesetter", + b"deleteGlyphsInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSATSTypesetter", + b"getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 3: {"type": "^I", "type_modifier": b"o", "c_array_length_in_arg": 2}, + 4: {"type": "^Q", "type_modifier": b"o", "c_array_length_in_arg": 2}, + 5: {"type": "^Q", "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"NSATSTypesetter", + b"getLineFragmentRect:usedRect:forParagraphSeparatorGlyphRange:atProposedOrigin:", + { + "retval": {"type": "v"}, + "arguments": { + 2: {"type_modifier": b"o"}, + 3: {"type_modifier": b"o"}, + 4: {"type": "{_NSRange=QQ}"}, + 5: {"type": "{CGPoint=dd}"}, + }, + }, + ) + r( + b"NSATSTypesetter", + b"glyphRangeForCharacterRange:actualCharacterRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type_modifier": b"o"}, + }, + }, + ) + r( + b"NSATSTypesetter", + b"lineSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSATSTypesetter", b"paragraphGlyphRange", {"retval": {"type": "{_NSRange=QQ}"}}) + r( + b"NSATSTypesetter", + b"paragraphSeparatorGlyphRange", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSATSTypesetter", + b"paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSATSTypesetter", + b"paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSATSTypesetter", + b"setAttachmentSize:forGlyphRange:", + {"arguments": {2: {"type": "{CGSize=dd}"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSATSTypesetter", + b"setBidiLevels:forGlyphRange:", + { + "arguments": { + 2: {"type": "^z", "type_modifier": b"n", "c_array_length_in_arg": 3}, + 3: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSATSTypesetter", + b"setBidiProcessingEnabled:", + {"arguments": {2: {"type": "Z"}}}, + ) + r( + b"NSATSTypesetter", + b"setDrawsOutsideLineFragment:forGlyphRange:", + {"arguments": {2: {"type": "Z"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSATSTypesetter", + b"setHardInvalidation:forGlyphRange:", + {"arguments": {2: {"type": "Z"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSATSTypesetter", + b"setLineFragmentRect:forGlyphRange:usedRect:baselineOffset:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{_NSRange=QQ}"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "d"}, + } + }, + ) + r( + b"NSATSTypesetter", + b"setLocation:withAdvancements:forStartOfGlyphRange:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, + 4: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSATSTypesetter", + b"setNotShownAttribute:forGlyphRange:", + {"arguments": {2: {"type": "Z"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSATSTypesetter", + b"setParagraphGlyphRange:separatorGlyphRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r(b"NSATSTypesetter", b"setUsesFontLeading:", {"arguments": {2: {"type": "Z"}}}) + r( + b"NSATSTypesetter", + b"shouldBreakLineByHyphenatingBeforeCharacterAtIndex:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "Q"}}}, + ) + r( + b"NSATSTypesetter", + b"shouldBreakLineByWordBeforeCharacterAtIndex:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "Q"}}}, + ) + r( + b"NSATSTypesetter", + b"substituteGlyphsInRange:withGlyphs:", + { + "arguments": { + 2: {"type": "{_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": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 3: {"type": "{_NSRange=QQ}"}, + 4: {"type": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 5: {"type": "^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": b"q"}}, + } + } + } + }, + ) + r( + b"NSAlert", + b"beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:", + {"arguments": {4: {"sel_of_type": 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"applicationShouldSuppressHighDynamicRangeContent", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSApplication", + b"beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:", + {"arguments": {5: {"sel_of_type": 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": "{_NSRange=QQ}"}, + 5: {"type": "^{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSAttributedString", + b"RTFDFromRange:documentAttributes:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSAttributedString", + b"RTFFromRange:documentAttributes:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSAttributedString", + b"URLAtIndex:effectiveRange:", + {"arguments": {3: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}}}, + ) + r( + b"NSAttributedString", + b"boundingRectWithSize:options:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{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": "{_NSRange=QQ}"}, 4: {"type_modifier": b"o"}}}, + ) + r( + b"NSAttributedString", + b"docFormatFromRange:documentAttributes:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSAttributedString", + b"doubleClickAtIndex:", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSAttributedString", + b"drawAtPoint:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSAttributedString", + b"drawInRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSAttributedString", + b"drawWithRect:options:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSAttributedString", + b"fileWrapperFromRange:documentAttributes:error:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}, 4: {"type_modifier": b"o"}}}, + ) + r( + b"NSAttributedString", + b"fontAttributesInRange:", + {"arguments": {2: {"type": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSAttributedString", + b"lineBreakByHyphenatingBeforeIndex:withinRange:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSAttributedString", + b"nextWordFromIndex:forward:", + {"arguments": {3: {"type": "Z"}}}, + ) + r(b"NSAttributedString", b"prefersRTFDInRange:", {"retval": {"type": b"Z"}}) + r( + b"NSAttributedString", + b"rangeOfTextBlock:atIndex:", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSAttributedString", + b"rangeOfTextList:atIndex:", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSAttributedString", + b"rangeOfTextTable:atIndex:", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSAttributedString", + b"rulerAttributesInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r(b"NSAttributedString", b"size", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSBackgroundExtensionView", + b"automaticallyPlacesContentView", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSBackgroundExtensionView", + b"setAutomaticallyPlacesContentView:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"NSBezierPath", + b"appendBezierPathWithArcFromPoint:toPoint:radius:", + {"arguments": {2: {"type": "{CGPoint=dd}"}, 3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSBezierPath", + b"appendBezierPathWithArcWithCenter:radius:startAngle:endAngle:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSBezierPath", + b"appendBezierPathWithArcWithCenter:radius:startAngle:endAngle:clockwise:", + {"arguments": {2: {"type": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSBezierPath", + b"appendBezierPathWithRoundedRect:xRadius:yRadius:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSBezierPath", + b"bezierPathWithOvalInRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSBezierPath", + b"bezierPathWithRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSBezierPath", + b"bezierPathWithRoundedRect:xRadius:yRadius:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSBezierPath", + b"bounds", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSBezierPath", b"cachesBezierPath", {"retval": {"type": "Z"}}) + r( + b"NSBezierPath", + b"clipRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSBezierPath", + b"containsPoint:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSBezierPath", + b"controlPointBounds", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSBezierPath", b"currentPoint", {"retval": {"type": "{CGPoint=dd}"}}) + r( + b"NSBezierPath", + b"curveToPoint:controlPoint1:controlPoint2:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type": "{CGPoint=dd}"}, + 4: {"type": "{CGPoint=dd}"}, + } + }, + ) + r( + b"NSBezierPath", + b"drawPackedGlyphs:atPoint:", + { + "arguments": { + 2: { + "c_array_delimited_by_null": True, + "type": "^v", + "type_modifier": b"n", + }, + 3: {"type": "{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": "{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": "{CGPoint=dd}"}}}) + r(b"NSBezierPath", b"moveToPoint:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) + r( + b"NSBezierPath", + b"relativeCurveToPoint:controlPoint1:controlPoint2:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type": "{CGPoint=dd}"}, + 4: {"type": "{CGPoint=dd}"}, + } + }, + ) + r( + b"NSBezierPath", + b"relativeLineToPoint:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSBezierPath", + b"relativeMoveToPoint:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSBezierPath", + b"setAssociatedPoints:atIndex:", + {"arguments": {2: {"c_array_of_variable_length": True}, 3: {"type": "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": "{CGPoint=dd}"}, 3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSBezierPath", + b"strokeRect:", + {"arguments": {2: {"type": "{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": "^^Q", "type_modifier": b"o", "c_array_length_in_arg": 3}, + 3: {"type": "^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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSBitmapImageRep", b"isPlanar", {"retval": {"type": "Z"}}) + r( + b"NSBitmapImageRep", + b"setPixel:atX:y:", + { + "arguments": { + 2: { + "type": "^Q", + "type_modifier": b"n", + "c_array_of_variable_length": True, + } + } + }, + ) + r(b"NSBox", b"borderRect", {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}) + r(b"NSBox", b"contentViewMargins", {"retval": {"type": "{CGSize=dd}"}}) + r(b"NSBox", b"isTransparent", {"retval": {"type": "Z"}}) + r(b"NSBox", b"setContentViewMargins:", {"arguments": {2: {"type": "{CGSize=dd}"}}}) + r( + b"NSBox", + b"setFrameFromContentFrame:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSBox", b"setTransparent:", {"arguments": {2: {"type": "Z"}}}) + r(b"NSBox", b"titleRect", {"retval": {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSBrowser", + b"editItemAtIndexPath:withEvent:select:", + {"arguments": {4: {"type": "Z"}}}, + ) + r( + b"NSBrowser", + b"frameOfColumn:", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSBrowser", + b"frameOfInsideOfColumn:", + {"retval": {"type": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSButtonCell", + b"drawImage:withFrame:inView:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSButtonCell", + b"drawTitle:withFrame:inView:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type": "{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": "{CGSize=dd}"}, 4: {"type": "Z"}, 5: {"type": "Z"}}}, + ) + r( + b"NSCachedImageRep", + b"initWithWindow:rect:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCachedImageRep", + b"rect", + {"retval": {"type": "{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": 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": 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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSCell", b"cellSize", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSCell", + b"cellSizeForBounds:", + { + "retval": {"type": "{CGSize=dd}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSCell", + b"continueTracking:at:inView:", + { + "retval": {"type": "Z"}, + "arguments": {2: {"type": "{CGPoint=dd}"}, 3: {"type": "{CGPoint=dd}"}}, + }, + ) + r( + b"NSCell", + b"drawInteriorWithFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCell", + b"drawWithExpansionFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCell", + b"drawWithFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCell", + b"drawingRectForBounds:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSCell", + b"editWithFrame:inView:editor:delegate:event:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCell", + b"expansionFrameWithFrame:inView:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSCell", + b"highlightColorWithFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCell", + b"hitTestForEvent:inRect:ofView:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCell", + b"imageRectForBounds:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCell", + b"selectWithFrame:inView:editor:delegate:start:length:", + {"arguments": {2: {"type": "{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": "{CGPoint=dd}"}}}, + ) + r( + b"NSCell", + b"stopTracking:at:inView:mouseIsUp:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type": "{CGPoint=dd}"}, + 5: {"type": "Z"}, + } + }, + ) + r( + b"NSCell", + b"titleRectForBounds:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSCell", + b"trackMouse:inRect:ofView:untilMouseUp:", + { + "retval": {"type": "Z"}, + "arguments": { + 3: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSClipView", + b"documentVisibleRect", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSClipView", b"drawsBackground", {"retval": {"type": "Z"}}) + r( + b"NSClipView", + b"onstrainScrollPoint:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r(b"NSClipView", b"scrollToPoint:", {"arguments": {2: {"type": "{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"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + 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": 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": 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": "{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": "{CGSize=dd}"}}) + r(b"NSCollectionView", b"minItemSize", {"retval": {"type": "{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": "{CGSize=dd}"}}}, + ) + r( + b"NSCollectionView", + b"setMinItemSize:", + {"arguments": {2: {"type": "{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"@"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + r( + b"NSColor", + b"drawSwatchInRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSColor", + b"getComponents:", + { + "arguments": { + 2: { + "type": "^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": "{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": "{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"NSColorWell", b"setSupportsAlpha:", {"arguments": {2: {"type": b"Z"}}}) + r(b"NSColorWell", b"supportsAlpha", {"retval": {"type": b"Z"}}) + r(b"NSComboBox", b"completes", {"retval": {"type": "Z"}}) + r(b"NSComboBox", b"hasVerticalScroller", {"retval": {"type": "Z"}}) + r(b"NSComboBox", b"intercellSpacing", {"retval": {"type": "{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": "{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": "{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": "{CGSize=dd}"}}}, + ) + r(b"NSComboBoxCell", b"setUsesDataSource:", {"arguments": {2: {"type": "Z"}}}) + r(b"NSComboBoxCell", b"usesDataSource", {"retval": {"type": "Z"}}) + r( + b"NSComboButton", + b"comboButtonWithImage:menu:target:action:", + {"arguments": {5: {"sel_of_type": b"v@:@"}}}, + ) + r( + b"NSComboButton", + b"comboButtonWithTitle:image:menu:target:action:", + {"arguments": {6: {"sel_of_type": b"v@:@"}}}, + ) + r( + b"NSComboButton", + b"comboButtonWithTitle:menu:target:action:", + {"arguments": {5: {"sel_of_type": b"v@:@"}}}, + ) + 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": "{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": "{CGPoint=dd}"}}) + r( + b"NSCursor", + b"initWithImage:foregroundColorHint:backgroundColorHint:hotSpot:", + {"arguments": {5: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSCursor", + b"initWithImage:hotSpot:", + {"arguments": {3: {"type": "{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": 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": 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": "{CGSize=dd}"}}) + r( + b"NSDocument", + b"accommodatePresentedItemDeletionWithCompletionHandler:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + 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"relinquishPresentedItemToReader:", + { + "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"relinquishPresentedItemToWriter:", + { + "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"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"savePanelShowsFileFormatsControl", {"retval": {"type": b"Z"}}) + r( + b"NSDocument", + b"savePresentedItemChangesWithCompletionHandler:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + 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": 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": b"q"}, + 3: {"type": b"o^Z"}, + }, + } + } + } + }, + ) + r( + b"NSDraggingSession", + b"setAnimatesToStartingPositionsOnCancelOrFail:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r(b"NSDrawer", b"contentSize", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSDrawer", + b"initWithContentSize:preferredEdge:", + {"arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r(b"NSDrawer", b"maxContentSize", {"retval": {"type": "{CGSize=dd}"}}) + r(b"NSDrawer", b"minContentSize", {"retval": {"type": "{CGSize=dd}"}}) + r(b"NSDrawer", b"setContentSize:", {"arguments": {2: {"type": "{CGSize=dd}"}}}) + r(b"NSDrawer", b"setMaxContentSize:", {"arguments": {2: {"type": "{CGSize=dd}"}}}) + r(b"NSDrawer", b"setMinContentSize:", {"arguments": {2: {"type": "{CGSize=dd}"}}}) + r( + b"NSEPSImageRep", + b"boundingBox", + {"retval": {"type": "{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": "{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": "{CGPoint=dd}"}, 10: {"type": "Z"}}}, + ) + r(b"NSEvent", b"locationInWindow", {"retval": {"type": "{CGPoint=dd}"}}) + r( + b"NSEvent", + b"mouseEventWithType:location:modifierFlags:timestamp:windowNumber:context:eventNumber:clickCount:pressure:", + {"arguments": {3: {"type": "{CGPoint=dd}"}}}, + ) + r(b"NSEvent", b"mouseLocation", {"retval": {"type": "{CGPoint=dd}"}}) + r( + b"NSEvent", + b"otherEventWithType:location:modifierFlags:timestamp:windowNumber:context:subtype:data1:data2:", + {"arguments": {3: {"type": "{CGPoint=dd}"}}}, + ) + r(b"NSEvent", b"setMouseCoalescingEnabled:", {"arguments": {2: {"type": b"Z"}}}) + r(b"NSEvent", b"tilt", {"retval": {"type": "{CGPoint=dd}"}}) + r( + b"NSEvent", + b"trackSwipeEventWithOptions:dampenAmountThresholdMin:max:usingHandler:", + { + "arguments": { + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"d"}, + 2: {"type": 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": "{CGSize=dd}"}}) + r( + b"NSFont", + b"boundingRectForFont", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSFont", + b"boundingRectForGlyph:", + {"retval": {"type": "{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": "{CGSize=dd}"}}) + r( + b"NSFont", + b"positionOfGlyph:forCharacter:struckOverRect:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": { + 3: {"type": "S"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + }, + }, + ) + r( + b"NSFont", + b"positionOfGlyph:precededByGlyph:isNominal:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {4: {"type": "^Z", "type_modifier": b"o"}}, + }, + ) + r( + b"NSFont", + b"positionOfGlyph:struckOverGlyph:metricsExist:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {4: {"type": "^Z", "type_modifier": b"o"}}, + }, + ) + r( + b"NSFont", + b"positionOfGlyph:struckOverRect:metricsExist:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": { + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "^Z", "type_modifier": b"o"}, + }, + }, + ) + r( + b"NSFont", + b"positionOfGlyph:withRelation:toBaseGlyph:totalAdvancement:metricsExist:", + { + "retval": {"type": "{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": "{CGSize=dd}"}}}) + r(b"NSFormCell", b"isOpaque", {"retval": {"type": "Z"}}) + r(b"NSFormCell", b"titleWidth:", {"arguments": {2: {"type": "{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": "{CGPoint=dd}"}, + 3: {"type": "d"}, + 4: {"type": "{CGPoint=dd}"}, + } + }, + ) + r( + b"NSGradient", + b"drawFromPoint:toPoint:options:", + {"arguments": {2: {"type": "{CGPoint=dd}"}, 3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSGradient", + b"drawInBezierPath:relativeCenterPosition:", + {"arguments": {3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSGradient", + b"drawInRect:angle:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSGradient", + b"drawInRect:relativeCenterPosition:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{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": "{CGPoint=dd}"}}) + r(b"NSGraphicsContext", b"setFocusStack:", {"arguments": {2: {"type": "^v"}}}) + r( + b"NSGraphicsContext", + b"setPatternPhase:", + {"arguments": {2: {"type": "{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": "{CGPoint=dd}"}}}, + ) + r( + b"NSImage", + b"CGImageForProposedRect:context:hints:", + { + "arguments": { + 2: {"type": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"o"} + } + }, + ) + r( + b"NSImage", + b"alignmentRect", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSImage", + b"bestRepresentationForRect:context:hints:", + {"arguments": {2: {"type": "{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": "{CGPoint=dd}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSImage", + b"compositeToPoint:fromRect:operation:fraction:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSImage", + b"compositeToPoint:operation:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSImage", + b"compositeToPoint:operation:fraction:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSImage", + b"dissolveToPoint:fraction:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSImage", + b"dissolveToPoint:fromRect:fraction:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSImage", + b"drawAtPoint:fromRect:operation:fraction:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSImage", + b"drawInRect:fromRect:operation:fraction:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSImage", + b"drawInRect:fromRect:operation:fraction:respectFlipped:hints:", + { + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 6: {"type": "Z"}, + }, + }, + ) + r( + b"NSImage", + b"drawRepresentation:inRect:", + { + "retval": {"type": "Z"}, + "arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSImage", + b"hitTestRect:withImageDestinationRect:context:hints:flipped:", + { + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 6: {"type": "Z"}, + }, + }, + ) + r( + b"NSImage", + b"hitTestRect:withImageDestinationRect:context_hints:flipped:", + { + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{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": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, + }, + } + }, + } + }, + ) + r(b"NSImage", b"initWithCGImage:size:", {"arguments": {3: {"type": "{CGSize=dd}"}}}) + r( + b"NSImage", + b"initWithIconRef:", + {"arguments": {2: {"type": "^{OpaqueIconRef=}"}}}, + ) + r(b"NSImage", b"initWithSize:", {"arguments": {2: {"type": "{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": "{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": "{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": "{CGSize=dd}"}}) + r(b"NSImage", b"usesEPSOnResolutionMismatch", {"retval": {"type": "Z"}}) + r( + b"NSImageRep", + b"CGImageForProposedRect:context:hints:", + { + "arguments": { + 2: {"type": "^{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": "{CGPoint=dd}"}}}, + ) + r( + b"NSImageRep", + b"drawInRect:", + { + "retval": {"type": "Z"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSImageRep", + b"drawInRect:fromRect:operation:fraction:respectFlipped:hints:", + { + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{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": "{CGSize=dd}"}}}) + r(b"NSImageRep", b"size", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSImageView", + b"addSymbolEffect:options:animated:", + {"arguments": {4: {"type": b"Z"}}}, + ) + 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"removeAllSymbolEffectsWithOptions:animated:", + {"arguments": {3: {"type": b"Z"}}}, + ) + r( + b"NSImageView", + b"removeSymbolEffectOfType:options:animated:", + {"arguments": {4: {"type": b"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": "{_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"registerCloudKitShareWithPreparationHandler:", + { + "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": "@"}, + 3: {"type": "@"}, + }, + }, + "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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"addTemporaryAttributes:forCharacterRange:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r(b"NSLayoutManager", b"allowsNonContiguousLayout", {"retval": {"type": "Z"}}) + r( + b"NSLayoutManager", + b"attachmentSizeForGlyphAtIndex:", + {"retval": {"type": "{CGSize=dd}"}}, + ) + r(b"NSLayoutManager", b"backgroundLayoutEnabled", {"retval": {"type": "Z"}}) + r( + b"NSLayoutManager", + b"boundingRectForGlyphRange:inTextContainer:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSLayoutManager", + b"boundsRectForTextBlock:atIndex:effectiveRange:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {4: {"type_modifier": b"o"}}, + }, + ) + r( + b"NSLayoutManager", + b"boundsRectForTextBlock:glyphRange:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSLayoutManager", + b"characterIndexForPoint:inTextContainer:fractionOfDistanceBetweenInsertionPoints:", + {"arguments": {2: {"type": "{CGPoint=dd}"}, 4: {"type_modifier": b"o"}}}, + ) + r( + b"NSLayoutManager", + b"characterRangeForGlyphRange:actualGlyphRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type_modifier": b"o"}}, + }, + ) + r( + b"NSLayoutManager", + b"deleteGlyphsInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"drawBackgroundForGlyphRange:atPoint:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSLayoutManager", + b"drawGlyphsForGlyphRange:atPoint:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSLayoutManager", + b"drawStrikethroughForGlyphRange:strikethroughType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 5: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 6: {"type": "{_NSRange=QQ}"}, + 7: {"type": "{CGPoint=dd}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"drawUnderlineForGlyphRange:underlineType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 5: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 6: {"type": "{_NSRange=QQ}"}, + 7: {"type": "{CGPoint=dd}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"drawsOutsideLineFragmentForGlyphAtIndex:", + {"retval": {"type": "Z"}}, + ) + r( + b"NSLayoutManager", + b"ensureGlyphsForCharacterRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"ensureGlyphsForGlyphRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"ensureLayoutForBoundingRect:inTextContainer:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSLayoutManager", + b"ensureLayoutForCharacterRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"ensureLayoutForGlyphRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"enumerateEnclosingRectsForGlyphRange:withinSelectedGlyphRange:inTextContainer:usingBlock:", + { + "arguments": { + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": 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": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 2: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": b"@"}, + 4: {"type": b"{_NSRange=QQ}"}, + 5: {"type": b"o^Z"}, + }, + } + } + } + }, + ) + r( + b"NSLayoutManager", + b"extraLineFragmentRect", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSLayoutManager", + b"extraLineFragmentUsedRect", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSLayoutManager", + b"fillBackgroundRectArray:count:forCharacterRange:color:", + { + "arguments": { + 2: { + "type": "^{CGRect={CGPoint=dd}{CGSize=dd}}", + "type_modifier": b"N", + "c_array_length_in_arg": 3, + }, + 4: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"fractionOfDistanceThroughGlyphForPoint:inTextContainer:", + {"retval": {"type": "d"}, "arguments": {2: {"type": "{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": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:", + { + "arguments": { + 2: {"type": "{_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": "{_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": "r^d", "type_modifier": b"o"}, + 6: {"type": "^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": "{CGPoint=dd}"}}}, + ) + r( + b"NSLayoutManager", + b"glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 4: {"null_accepted": False, "type_modifier": b"o"}, + } + }, + ) + r( + b"NSLayoutManager", + b"glyphRangeForBoundingRect:inTextContainer:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSLayoutManager", + b"glyphRangeForBoundingRectWithoutAdditionalLayout:inTextContainer:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSLayoutManager", + b"glyphRangeForCharacterRange:actualCharacterRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type_modifier": b"o"}}, + }, + ) + r( + b"NSLayoutManager", + b"glyphRangeForTextContainer:", + {"retval": {"type": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"invalidateDisplayForGlyphRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"invalidateGlyphsForCharacterRange:changeInLength:actualCharacterRange:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 4: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}, + } + }, + ) + r( + b"NSLayoutManager", + b"invalidateGlyphsOnLayoutInvalidationForGlyphRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"invalidateLayoutForCharacterRange:actualCharacterRange:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 3: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}, + } + }, + ) + r( + b"NSLayoutManager", + b"invalidateLayoutForCharacterRange:isSoft:actualCharacterRange:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 3: {"type": "Z"}, + 4: {"type": "^{_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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {4: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}}, + }, + ) + r( + b"NSLayoutManager", + b"layoutRectForTextBlock:glyphRange:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSLayoutManager", + b"limitsLayoutForSuspiciousContents", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSLayoutManager", + b"lineFragmentRectForGlyphAtIndex:effectiveRange:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}}, + }, + ) + r( + b"NSLayoutManager", + b"lineFragmentRectForGlyphAtIndex:effectiveRange:withoutAdditionalLayout:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type_modifier": b"o"}, 4: {"type": "Z"}}, + }, + ) + r( + b"NSLayoutManager", + b"lineFragmentUsedRectForGlyphAtIndex:effectiveRange:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type_modifier": b"o"}}, + }, + ) + r( + b"NSLayoutManager", + b"lineFragmentUsedRectForGlyphAtIndex:effectiveRange:withoutAdditionalLayout:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type_modifier": b"o"}, 4: {"type": "Z"}}, + }, + ) + r( + b"NSLayoutManager", + b"locationForGlyphAtIndex:", + {"retval": {"type": "{CGPoint=dd}"}}, + ) + r( + b"NSLayoutManager", + b"notShownAttributeForGlyphAtIndex:", + {"retval": {"type": "Z"}}, + ) + r( + b"NSLayoutManager", + b"rangeOfNominallySpacedGlyphsContainingIndex:", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSLayoutManager", + b"rectArrayForCharacterRange:withinSelectedCharacterRange:inTextContainer:rectCount:", + { + "retval": {"c_array_length_in_arg": 5}, + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 3: {"type": "{_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": "{_NSRange=QQ}"}, + 3: {"type": "{_NSRange=QQ}"}, + 5: {"type_modifier": b"o"}, + }, + }, + ) + r( + b"NSLayoutManager", + b"removeTemporaryAttribute:forCharacterRange:", + {"arguments": {3: {"type": "{_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": "{CGSize=dd}"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"setBackgroundLayoutEnabled:", + {"arguments": {2: {"type": "Z"}}}, + ) + r( + b"NSLayoutManager", + b"setBoundsRect:forTextBlock:glyphRange:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"setDrawsOutsideLineFragment:forGlyphAtIndex:", + {"arguments": {2: {"type": "Z"}}}, + ) + r( + b"NSLayoutManager", + b"setExtraLineFragmentRect:usedRect:textContainer:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"setLimitsLayoutForSuspiciousContents:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"NSLayoutManager", + b"setLineFragmentRect:forGlyphRange:usedRect:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{_NSRange=QQ}"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"setLocation:forStartOfGlyphRange:", + {"arguments": {2: {"type": "{CGPoint=dd}"}, 3: {"type": "{_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": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSLayoutManager", + b"setTextContainer:forGlyphRange:", + {"arguments": {3: {"type": "{_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": "{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": "{_NSRange=QQ}"}, + 5: {"type": "{CGPoint=dd}"}, + 8: {"type": "{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": "{_NSRange=QQ}"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "{_NSRange=QQ}"}, + 6: {"type": "{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": "{_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": "{_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": "Q"}, + 4: {"type": "{_NSRange=QQ}"}, + 6: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "{_NSRange=QQ}"}, + 6: {"type": "{CGPoint=dd}"}, + } + }, + ) + r( + b"NSLayoutManager", + b"usedRectForTextContainer:", + {"retval": {"type": "{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": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSMatrix", b"cellSize", {"retval": {"type": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMatrix", + b"initWithFrame:mode:cellClass:numberOfRows:numberOfColumns:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMatrix", + b"initWithFrame:mode:prototype:numberOfRows:numberOfColumns:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSMatrix", b"intercellSpacing", {"retval": {"type": "{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": "{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": "{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": 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": 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"automaticallyInsertsWritingToolsItems", {"retval": {"type": b"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": "{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"paletteMenuWithColors:titles:selectionHandler:", + { + "arguments": { + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + r( + b"NSMenu", + b"paletteMenuWithColors:titles:templateImage:selectionHandler:", + { + "arguments": { + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + r(b"NSMenu", b"performKeyEquivalent:", {"retval": {"type": "Z"}}) + r( + b"NSMenu", + b"popUpMenuPositioningItem:atLocation:inView:", + {"retval": {"type": "Z"}, "arguments": {3: {"type": "{CGPoint=dd}"}}}, + ) + r(b"NSMenu", b"setAllowsContextMenuPlugIns:", {"arguments": {2: {"type": "Z"}}}) + r(b"NSMenu", b"setAutoenablesItems:", {"arguments": {2: {"type": "Z"}}}) + r( + b"NSMenu", + b"setAutomaticallyInsertsWritingToolsItems:", + {"arguments": {2: {"type": b"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"isSectionHeader", {"retval": {"type": b"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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMenuItemCell", + b"drawImageWithFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMenuItemCell", + b"drawKeyEquivalentWithFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMenuItemCell", + b"drawSeparatorItemWithFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMenuItemCell", + b"drawStateImageWithFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMenuItemCell", + b"drawTitleWithFrame:inView:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMenuItemCell", + b"keyEquivalentRectForBounds:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r(b"NSMenuItemCell", b"keyEquivalentWidth", {"retval": {"type": "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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSMenuItemCell", + b"titleRectForBounds:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{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": "{CGPoint=dd}"}}}, + ) + r( + b"NSMenuView", + b"initWithFrame:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSMenuView", + b"innerRect", + {"retval": {"type": "{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": "{CGPoint=dd}"}}) + r(b"NSMenuView", b"needsSizing", {"retval": {"type": "Z"}}) + r( + b"NSMenuView", + b"rectOfItemAtIndex:", + {"retval": {"type": "{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": "{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": "{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": "{CGSize=dd}"}}) + r( + b"NSMutableAttributedString", + b"applyFontTraits:range:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"fixAttachmentAttributeInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"fixAttributesInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"fixFontAttributeInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"fixParagraphStyleAttributeInRange:", + {"arguments": {2: {"type": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"setBaseWritingDirection:range:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"subscriptRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"superscriptRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"unscriptRange:", + {"arguments": {2: {"type": "{_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"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": "Q"}}) + r( + b"NSObject", + b"accessibilityArrayAttributeValues:index:maxCount:", + {"arguments": {4: {"type": "Q"}}}, + ) + r( + b"NSObject", + b"accessibilityAttributedStringForRange:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"{_NSRange=QQ}"}}, + }, + ) + r( + b"NSObject", + b"accessibilityAttributedUserInputLabels", + {"required": True, "retval": {"type": b"@"}}, + ) + 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:", + {"arguments": {2: {"type": "{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": "Q"}}) + r( + b"NSObject", + b"accessibilityInsertionPointLineNumber", + {"required": True, "retval": {"type": b"q"}}, + ) + r(b"NSObject", b"accessibilityIsAttributeSettable:", {"retval": {"type": "Z"}}) + 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"accessibilityName", {"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"accessibilityParent", {"required": True, "retval": {"type": b"@"}}) + r(b"NSObject", b"accessibilityPerformAction:", {"retval": {"type": "v"}}) + 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": True, "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"}}, + ) + r(b"NSObject", b"accessibilitySetValue:forAttribute:", {"retval": {"type": "v"}}) + 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"accessibilityUserInputLabels", + {"required": True, "retval": {"type": b"@"}}, + ) + 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": True, "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": "q"}}, + }, + ) + r( + b"NSObject", + b"activeConversationWillChange:fromOldConversation:", + { + "required": True, + "retval": {"type": "v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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"allowedWritingToolsResultOptions", + {"required": False, "retval": {"type": b"Q"}}, + ) + 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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "{CGPoint=dd}"}, + 5: {"type": "Q"}, + }, + }, + ) + r(b"NSObject", b"attributedString", {"required": True, "retval": {"type": b"@"}}) + r( + b"NSObject", + b"attributedSubstringForProposedRange:actualRange:", + { + "required": True, + "retval": {"type": b"@"}, + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 3: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}, + }, + }, + ) + r( + b"NSObject", + b"attributedSubstringFromRange:", + { + "required": True, + "retval": {"type": b"@"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}}, + }, + ) + r(b"NSObject", b"autocorrectionType", {"required": False, "retval": {"type": b"q"}}) + r( + b"NSObject", + b"baseWritingDirectionAtLocation:", + {"required": True, "retval": {"type": b"q"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"baselineDeltaForCharacterAtIndex:", + {"required": False, "retval": {"type": "d"}, "arguments": {2: {"type": "Q"}}}, + ) + 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": "q"}, + 5: {"type": "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": "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": "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": "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": "d"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"browser:isColumnValid:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "q"}, + }, + }, + ) + r( + b"NSObject", + b"browser:nextTypeSelectMatchFromRow:toRow:inColumn:forString:", + { + "required": False, + "retval": {"type": "Q"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "q"}, + 4: {"type": "q"}, + 5: {"type": "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": "q"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "q"}}, + }, + ) + r( + b"NSObject", + b"browser:selectRow:inColumn:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}, 4: {"type": "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": "q"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"browser:shouldSizeColumn:forUserResize:toWidth:", + { + "required": False, + "retval": {"type": "d"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "q"}, + 4: {"type": "Z"}, + 5: {"type": "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": "d"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"browser:titleOfColumn:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"browser:typeSelectStringForRow:inColumn:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"browser:validateDrop:proposedRow:column:dropOperation:", + { + "required": False, + "retval": {"type": "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": "q"}, + 5: {"type": "q"}, + }, + }, + ) + r( + b"NSObject", + b"browser:writeRowsWithIndexes:inColumn:toPasteboard:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "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": "q"}}, + }, + ) + r( + b"NSObject", + b"candidateListTouchBarItem:changeSelectionFromCandidateAtIndex:toIndex:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}, 4: {"type": "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": "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": "{CGPoint=dd}"}}, + ) + r( + b"NSObject", + b"cellFrameForTextContainer:proposedLineFragment:glyphPosition:characterIndex:", + { + "required": True, + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "{CGPoint=dd}"}, + 5: {"type": "Q"}, + }, + }, + ) + r(b"NSObject", b"cellSize", {"required": True, "retval": {"type": "{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": "Q"}, + "arguments": {2: {"type": "{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": "q"}, + 5: {"type": "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": "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": "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": "^{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": "^{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": "{CGPoint=dd}"}, 5: {"type": "q"}}}, + ) + r( + b"NSObject", + b"collectionView:draggingSession:willBeginAtPoint:forItemsAtIndexPaths:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "{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": "{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": "{NSEdgeInsets=dddd}"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"collectionView:layout:minimumInteritemSpacingForSectionAtIndex:", + { + "required": False, + "retval": {"type": "d"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"collectionView:layout:minimumLineSpacingForSectionAtIndex:", + { + "required": False, + "retval": {"type": "d"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"collectionView:layout:referenceSizeForFooterInSection:", + { + "required": False, + "retval": {"type": "{CGSize=dd}"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"collectionView:layout:referenceSizeForHeaderInSection:", + { + "required": False, + "retval": {"type": "{CGSize=dd}"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"collectionView:layout:sizeForItemAtIndexPath:", + { + "required": False, + "retval": {"type": "{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": "q"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"collectionView:pasteboardWriterForItemAtIndex:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "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": "q"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "^q", "type_modifier": b"N"}, + 5: {"type": "^q", "type_modifier": b"N"}, + }, + }, + ) + r( + b"NSObject", + b"collectionView:validateDrop:proposedIndexPath:dropOperation:", + { + "required": False, + "retval": {"type": "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": "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": "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": "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": "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": "{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": "Q"}, 3: {"type": "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": "{_NSRange=QQ}"}, + 6: {"null_accepted": False, "type": "^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": "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": "^d", "type_modifier": b"N"}, + }, + }, + ) + r( + b"NSObject", + b"defaultAnimationForKey:", + {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"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"documentVisibleRect", + {"required": False, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSObject", b"draggedImage", {"required": True, "retval": {"type": b"@"}}) + r( + b"NSObject", + b"draggedImage:beganAt:", + {"arguments": {3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSObject", + b"draggedImage:endedAt:deposited:", + {"arguments": {3: {"type": "{CGPoint=dd}"}, 4: {"type": "Z"}}}, + ) + r( + b"NSObject", + b"draggedImage:endedAt:operation:", + {"arguments": {3: {"type": "{CGPoint=dd}"}, 4: {"type": "Q"}}}, + ) + r( + b"NSObject", + b"draggedImage:movedTo:", + {"arguments": {3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSObject", + b"draggedImageLocation", + {"required": True, "retval": {"type": "{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": "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": "{CGPoint=dd}"}}, + ) + r(b"NSObject", b"draggingPasteboard", {"required": True, "retval": {"type": b"@"}}) + r( + b"NSObject", + b"draggingSequenceNumber", + {"required": True, "retval": {"type": "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": "Q"}, "arguments": {3: {"type": "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": "Q"}}, + ) + r( + b"NSObject", + b"draggingSourceOperationMaskForLocal:", + {"retval": {"type": "Q"}, "arguments": {2: {"type": "Z"}}}, + ) + r( + b"NSObject", + b"draggingUpdated:", + {"required": False, "retval": {"type": "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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": b"@"}, + }, + }, + ) + r( + b"NSObject", + b"drawWithFrame:inView:characterIndex:", + { + "required": True, + "retval": {"type": "v"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": b"@"}, + 4: {"type": "Q"}, + }, + }, + ) + r( + b"NSObject", + b"drawWithFrame:inView:characterIndex:layoutManager:", + { + "required": True, + "retval": {"type": "v"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": b"@"}, + 4: {"type": "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": "{CGSize=dd}"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "{CGSize=dd}"}}, + }, + ) + r( + b"NSObject", + b"drawsVerticallyForCharacterAtIndex:", + {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": "q"}}}, + ) + 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": 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"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"firstRectForCharacterRange:", + { + "required": True, + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSObject", + b"firstRectForCharacterRange:actualRange:", + { + "required": True, + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 3: {"type": "^{_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": "d"}, + "arguments": {2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": b"@"}, + }, + }, + ) + r( + b"NSObject", + b"hyphenCharacterForGlyphAtIndex:", + {"retval": {"type": "i"}, "arguments": {2: {"type": "Q"}}}, + ) + r( + b"NSObject", + b"hyphenationFactorForGlyphAtIndex:", + {"retval": {"type": "f"}, "arguments": {2: {"type": "Q"}}}, + ) + r(b"NSObject", b"iconProvider", {"required": False, "retval": {"type": b"@"}}) + 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": "q"}}, + }, + ) + r( + b"NSObject", + b"image:didLoadRepresentation:withStatus:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": b"@"}, + 4: {"type": "Q"}, + }, + }, + ) + r(b"NSObject", b"imageProvider", {"required": False, "retval": {"type": b"@"}}) + 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"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": "Q"}, 3: {"type": b"@"}}, + }, + ) + r( + b"NSObject", + b"inlinePredictionType", + {"required": False, "retval": {"type": b"q"}}, + ) + 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"insertAdaptiveImageGlyph:replacementRange:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, + }, + ) + 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": "Q"}, + 4: {"type": "Q"}, + 5: {"type": "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": "{_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"item", {"required": True, "retval": {"type": b"@"}}) + 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"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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "Q"}, + 4: {"type": b"@"}, + 5: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 6: {"type": "{CGPoint=dd}"}, + 7: {"type": "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": "d"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "Q"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + }, + }, + ) + r( + b"NSObject", + b"layoutManager:paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", + { + "required": False, + "retval": {"type": "d"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "Q"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + }, + }, + ) + r( + b"NSObject", + b"layoutManager:paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:", + { + "required": False, + "retval": {"type": "d"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "Q"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + }, + }, + ) + r( + b"NSObject", + b"layoutManager:shouldBreakLineByHyphenatingBeforeCharacterAtIndex:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}}, + }, + ) + r( + b"NSObject", + b"layoutManager:shouldBreakLineByWordBeforeCharacterAtIndex:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "n^Q", "c_array_length_in_arg": 6}, + 5: {"type": "n^Q", "c_array_length_in_arg": 6}, + 6: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSObject", + b"layoutManager:shouldSetLineFragmentRect:lineFragmentUsedRect:baselineOffset:inTextContainer:forGlyphRange:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "N^{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "N^{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "N^d"}, + 6: {"type": b"@"}, + 7: {"type": "{_NSRange=QQ}"}, + }, + }, + ) + r( + b"NSObject", + b"layoutManager:shouldUseAction:forControlCharacterAtIndex:", + { + "required": False, + "retval": {"type": "q"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}, 4: {"type": "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": "Q"}, + 6: {"type": "^{_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": "{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"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": "{_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": "{_NSRange=QQ}"}, 3: {"type": b"@"}}, + }, + ) + r( + b"NSObject", + b"mathExpressionCompletionType", + {"required": False, "retval": {"type": b"q"}}, + ) + r( + b"NSObject", + b"menu:updateItem:atIndex:shouldCancel:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "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": "{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": "Q"}, + 3: {"type": "{CGPoint=dd}"}, + 4: {"type": "Q"}, + 5: {"type": b"@"}, + }, + }, + ) + r( + b"NSObject", + b"mouseDraggedOnCharacterIndex:atCoordinate:withModifier:client:", + { + "required": True, + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": "Q"}, + 3: {"type": "{CGPoint=dd}"}, + 4: {"type": "Q"}, + 5: {"type": b"@"}, + }, + }, + ) + r( + b"NSObject", + b"mouseUpOnCharacterIndex:atCoordinate:withModifier:client:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": "Q"}, + 3: {"type": "{CGPoint=dd}"}, + 4: {"type": "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": "q"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"numberOfItemsInComboBox:", + {"required": False, "retval": {"type": "q"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"numberOfItemsInComboBoxCell:", + {"required": False, "retval": {"type": "q"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"numberOfItemsInMenu:", + {"required": False, "retval": {"type": "q"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"numberOfRowsInTableView:", + {"required": False, "retval": {"type": "q"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"numberOfSectionsInCollectionView:", + {"required": False, "retval": {"type": "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": True, + "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"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": "q"}, + }, + }, + ) + r( + b"NSObject", + b"outlineView:child:ofItem:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "{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": "{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": "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": "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": "q"}, 4: {"type": "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": "d"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 5: {"type": b"@"}, + 6: {"type": b"@"}, + 7: {"type": "{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:userCanChangeVisibilityOfTableColumn:", + { + "required": False, + "retval": {"type": b"Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, + }, + ) + r( + b"NSObject", + b"outlineView:userDidChangeVisibilityOfTableColumns:", + { + "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": "Q"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": b"@"}, + 5: {"type": "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": "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:didSelectType:", + { + "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:displayNameForType:", + { + "required": False, + "retval": {"type": b"@"}, + "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": "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": "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"preferredTextAccessoryPlacement", + {"required": False, "retval": {"type": b"q"}}, + ) + r( + b"NSObject", + b"prepareForDragOperation:", + {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, + ) + 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"previewRepresentableActivityItemsForWindow:", + {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"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": "{_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": "q"}, + 4: {"type": b"@"}, + 5: {"type": "Q"}, + }, + }, + ) + r( + b"NSObject", + b"ruleEditor:displayValueForCriterion:inRow:", + { + "required": True, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"ruleEditor:numberOfChildrenForCriterion:withRowType:", + { + "required": True, + "retval": {"type": "q"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "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": "q"}, + }, + }, + ) + r( + b"NSObject", + b"ruleEditorRowsDidChange:", + {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"rulerView:locationForPoint:", + {"retval": {"type": "d"}, "arguments": {3: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSObject", + b"rulerView:pointForLocation:", + {"retval": {"type": "{CGPoint=dd}"}, "arguments": {3: {"type": "d"}}}, + ) + r( + b"NSObject", + b"rulerView:pointForlocation:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type": "d"}}, + }, + ) + r( + b"NSObject", + b"rulerView:willAddMarker:atLocation:", + {"retval": {"type": "d"}, "arguments": {4: {"type": "d"}}}, + ) + r( + b"NSObject", + b"rulerView:willMoveMarker:toLocation:", + {"retval": {"type": "d"}, "arguments": {4: {"type": "d"}}}, + ) + 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": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSObject", + b"scrubber:didHighlightItemAtIndex:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"scrubber:didSelectItemAtIndex:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"scrubber:layout:sizeForItemAtIndex:", + { + "required": False, + "retval": {"type": "{CGSize=dd}"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"scrubber:viewForItemAtIndex:", + { + "required": True, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "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": "Z"}}) + r( + b"NSObject", + b"selectedRange", + {"required": True, "retval": {"type": "{_NSRange=QQ}"}}, + ) + r(b"NSObject", b"selectedRanges", {"required": False, "retval": {"type": b"@"}}) + r( + b"NSObject", + b"selectionAnchorRect", + {"required": False, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSObject", + b"selectionRect", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + 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"setAccessibilityAttributedUserInputLabels:", + {"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"setAccessibilityUserInputLabels:", + {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, + ) + 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"setAllowedWritingToolsResultOptions:", + {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, + ) + r(b"NSObject", b"setAllowsMultipleSelection:", {"arguments": {2: {"type": "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"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"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:", + {"arguments": {2: {"type": "{_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"setInlinePredictionType:", + {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, + ) + r( + b"NSObject", + b"setIntAttribute:value:forGlyphAtIndex:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": {2: {"type": "q"}, 3: {"type": "q"}, 4: {"type": "Q"}}, + }, + ) + r( + b"NSObject", + b"setLinkDetectionType:", + {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, + ) + 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": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSObject", + b"setMarkedText:selectedRange:replacementRange:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "{_NSRange=QQ}"}, + 4: {"type": "{_NSRange=QQ}"}, + }, + }, + ) + r( + b"NSObject", + b"setMathExpressionCompletionType:", + {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, + ) + 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:", {"arguments": {2: {"type": "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"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"setWritingToolsBehavior:", + {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, + ) + 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"sharingServicePickerCollaborationModeRestrictions:", + {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"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"showContextMenuForSelection:", + {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"showRelativeToRect:ofView:preferredEdge:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "Q"}, + } + }, + ) + r( + b"NSObject", + b"slideDraggedImageTo:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": {2: {"type": "{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": "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": "{_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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "q"}, + }, + }, + ) + r( + b"NSObject", + b"splitView:onstrainMaxCoordinate:ofSubviewAt:", + {"retval": {"type": "d"}, "arguments": {3: {"type": "d"}, 4: {"type": "q"}}}, + ) + r( + b"NSObject", + b"splitView:onstrainMinCoordinate:ofSubviewAt:", + {"retval": {"type": "d"}, "arguments": {3: {"type": "d"}, 4: {"type": "q"}}}, + ) + r( + b"NSObject", + b"splitView:onstrainSplitPosition:ofSubviewAt:", + {"retval": {"type": "d"}, "arguments": {3: {"type": "d"}, 4: {"type": "q"}}}, + ) + r( + b"NSObject", + b"splitView:resizeSubviewsWithOldSize:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "{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": "q"}}, + }, + ) + r( + b"NSObject", + b"splitView:shouldHideDividerAtIndex:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "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": "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": "Q"}, + 3: {"type": "o^{_NSRange=QQ}"}, + 4: {"type": "o^Z"}, + } + }, + ) + r(b"NSObject", b"stringLength", {"required": False, "retval": {"type": b"Q"}}) + r( + b"NSObject", + b"supportsAdaptiveImageGlyph", + {"required": False, "retval": {"type": b"Z"}}, + ) + 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": "q"}, + 5: {"type": "Q"}, + }, + }, + ) + r( + b"NSObject", + b"tableView:dataCellForTableColumn:row:", + { + "required": False, + "retval": {"type": "@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "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": "d"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"tableView:isGroupRow:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "q"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "q"}, + 4: {"type": "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": "q"}}, + }, + ) + r( + b"NSObject", + b"tableView:pasteboardWriterForRow:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"tableView:rowActionsForRow:edge:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}, 4: {"type": "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": "q"}, + }, + }, + ) + r( + b"NSObject", + b"tableView:shouldEditTableColumn:row:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"tableView:shouldReorderColumn:toColumn:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "q"}, 4: {"type": "q"}}, + }, + ) + r( + b"NSObject", + b"tableView:shouldSelectRow:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "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": "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": "d"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "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": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 5: {"type": b"@"}, + 6: {"type": "q"}, + 7: {"type": "{CGPoint=dd}"}, + }, + }, + ) + r( + b"NSObject", + b"tableView:typeSelectStringForTableColumn:row:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "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:userCanChangeVisibilityOfTableColumn:", + { + "required": False, + "retval": {"type": b"Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, + }, + ) + r( + b"NSObject", + b"tableView:userDidChangeVisibilityOfTableColumns:", + { + "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": "Q"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "q"}, + 5: {"type": "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": "q"}, + }, + }, + ) + r(b"NSObject", b"tableView:writeRows:toPasteboard:", {"retval": {"type": "Z"}}) + 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": "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": "{_NSRange=QQ}"}, + }, + }, + ) + r( + b"NSObject", + b"textField:textView:candidatesForSelectedRange:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "{_NSRange=QQ}"}, + }, + }, + ) + r( + b"NSObject", + b"textField:textView:shouldSelectCandidateAtIndex:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "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": "Q"}, + 4: {"type": "{_NSRange=QQ}"}, + 5: {"type": "q"}, + }, + }, + ) + r( + b"NSObject", + b"textStorage:willProcessEditing:range:changeInLength:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "Q"}, + 4: {"type": "{_NSRange=QQ}"}, + 5: {"type": "q"}, + }, + }, + ) + r( + b"NSObject", + b"textStorageDidProcessEditing:", + {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"textStorageWillProcessEditing:", + {"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": "{_NSRange=QQ}"}, + }, + }, + ) + r( + b"NSObject", + b"textView:candidatesForSelectedRange:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSObject", + b"textView:clickedOnCell:inRect:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "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": "Q"}}, + }, + ) + r( + b"NSObject", + b"textView:completions:forPartialWordRange:indexOfSelectedItem:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "{_NSRange=QQ}"}, + 5: {"type": "^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": "{_NSRange=QQ}"}, + 4: {"type": "q"}, + 5: {"type": b"@"}, + 6: {"type": b"@"}, + 7: {"type": b"@"}, + 8: {"type": "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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "Q"}, + }, + }, + ) + r( + b"NSObject", + b"textView:draggedCell:inRect:event:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": b"@"}, + 6: {"type": "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": "Q"}, + }, + }, + ) + r( + b"NSObject", + b"textView:shouldChangeTextInRange:replacementString:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "{_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": "Q"}}, + }, + ) + r( + b"NSObject", + b"textView:shouldSetSpellingState:range:", + { + "required": False, + "retval": {"type": "q"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "q"}, + 4: {"type": "{_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": "{_NSRange=QQ}"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "{_NSRange=QQ}"}, + 4: {"type": "{_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": "{_NSRange=QQ}"}, + 4: {"type": b"@"}, + 5: {"type": "^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": "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": "Q"}}, + }, + ) + r( + b"NSObject", + b"textView:writeCell:atIndex:toPasteboard:type:", + { + "required": False, + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "Q"}, + 5: {"type": b"@"}, + 6: {"type": b"@"}, + }, + }, + ) + r( + b"NSObject", + b"textView:writingToolsIgnoredRangesInEnclosingRange:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, + }, + ) + 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"textViewWritingToolsDidEnd:", + {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"textViewWritingToolsWillBegin:", + {"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"title", {"required": False, "retval": {"type": b"@"}}) + r( + b"NSObject", + b"tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem:", + { + "required": False, + "retval": {"type": b"@"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "q"}, + 5: {"type": "^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": "Q"}}, + }, + ) + r( + b"NSObject", + b"tokenField:styleForRepresentedObject:", + { + "required": False, + "retval": {"type": "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": "q"}, + 5: {"type": "^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": "Q"}}, + }, + ) + r( + b"NSObject", + b"tokenFieldCell:styleForRepresentedObject:", + { + "required": False, + "retval": {"type": "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"toolbar:itemIdentifier:canBeInsertedAtIndex:", + { + "required": False, + "retval": {"type": b"Z"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, + }, + ) + 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"toolbarImmovableItemIdentifiers:", + {"required": False, "retval": {"type": b"@"}, "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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": b"@"}, + 5: {"type": "Q"}, + 6: {"type": "Z"}, + }, + }, + ) + r( + b"NSObject", + b"trackMouse:inRect:ofView:untilMouseUp:", + { + "required": True, + "retval": {"type": "Z"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "{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"undoManagerForTextView:", + {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"unionRectInVisibleSelectedRange", + {"required": False, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + 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": "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"valueClassForBinding:", {"retval": {"type": "#"}}) + r( + b"NSObject", + b"view:stringForToolTip:point:userData:", + { + "required": True, + "retval": {"type": b"@"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "i"}, + 4: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": b"@"}, + 5: {"type": "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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": "{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"windowForSharingRequestFromWindow:", + {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, + ) + r(b"NSObject", b"windowLevel", {"required": False, "retval": {"type": "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": "{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": "{CGSize=dd}"}, + "arguments": {2: {"type": b"@"}, 3: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "{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"writingToolsBehavior", + {"required": False, "retval": {"type": b"q"}}, + ) + r( + b"NSObject", + b"writingToolsCoordinator:finishTextAnimation:forRange:inContext:completion:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"q"}, + 4: {"type": b"{_NSRange=QQ}"}, + 5: {"type": b"@"}, + 6: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:prepareForTextAnimation:forRange:inContext:completion:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"q"}, + 4: {"type": b"{_NSRange=QQ}"}, + 5: {"type": b"@"}, + 6: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:replaceRange:inContext:proposedText:reason:animationParameters:completion:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"{_NSRange=QQ}"}, + 4: {"type": b"@"}, + 5: {"type": b"@"}, + 6: {"type": b"q"}, + 7: {"type": b"@"}, + 8: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:requestsBoundingBezierPathsForRange:inContext:completion:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"{_NSRange=QQ}"}, + 4: {"type": b"@"}, + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:requestsContextsForScope:completion:", + { + "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"@"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:requestsDecorationContainerViewForRange:inContext:completion:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"{_NSRange=QQ}"}, + 4: {"type": b"@"}, + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:requestsPreviewForRect:inContext:completion:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": b"@"}, + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:requestsPreviewForTextAnimation:ofRange:inContext:completion:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"q"}, + 4: {"type": b"{_NSRange=QQ}"}, + 5: {"type": b"@"}, + 6: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:requestsRangeInContextWithIdentifierForPoint:completion:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"{CGPoint=dd}"}, + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"{_NSRange=QQ}"}, + 2: {"type": b"@"}, + }, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:requestsSingleContainerSubrangesOfRange:inContext:completion:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"{_NSRange=QQ}"}, + 4: {"type": b"@"}, + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:requestsUnderlinePathsForRange:inContext:completion:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"{_NSRange=QQ}"}, + 4: {"type": b"@"}, + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:selectRanges:inContext:completion:", + { + "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": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"writingToolsCoordinator:willChangeToState: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"}}, + }, + "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": "^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", + "type_modifier": b"n", + } + }, + }, + ) + r( + b"NSOpenGLLayer", + b"drawInOpenGLContext:pixelFormat:forLayerTime:displayTime:", + { + "arguments": { + 5: { + "type": "^{_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": "{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": b"v@:@q^v"}, 7: {"type": "^v"}}}, + ) + r( + b"NSOpenPanel", + b"beginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:", + {"arguments": {7: {"sel_of_type": 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"NSOpenPanel", b"setShowsContentTypes:", {"arguments": {2: {"type": b"Z"}}}) + r(b"NSOpenPanel", b"showsContentTypes", {"retval": {"type": b"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": "{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": "{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": b"q"}}, + } + } + } + }, + ) + r( + b"NSPICTImageRep", + b"boundingBox", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSPageLayout", + b"beginSheetUsingPrintInfo:onWindow:completionHandler:", + { + "arguments": { + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, + } + } + } + }, + ) + r( + b"NSPageLayout", + b"beginSheetWithPrintInfo:modalForWindow:delegate:didEndSelector:contextInfo:", + {"arguments": {5: {"sel_of_type": 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"detectMetadataForTypes:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSPasteboard", + b"detectPatternsForPatterns:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSPasteboard", + b"detectValuesForPatterns:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + 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"detectMetadataForTypes:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSPasteboardItem", + b"detectPatternsForPatterns:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSPasteboardItem", + b"detectValuesForPatterns:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + 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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSPathCell", + b"mouseExited:withFrame:inView:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSPathCell", + b"pathComponentCellAtPoint:withFrame:inView:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSPathCell", + b"rectOfPathComponentCell:withFrame:inView:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {3: {"type": "{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"altersStateOfSelectedItem", {"retval": {"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": "{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"setAltersStateOfSelectedItem:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r(b"NSPopUpButton", b"setAutoenablesItems:", {"arguments": {2: {"type": "Z"}}}) + r(b"NSPopUpButton", b"setPullsDown:", {"arguments": {2: {"type": "Z"}}}) + r(b"NSPopUpButton", b"setUsesItemFromMenu:", {"arguments": {2: {"type": b"Z"}}}) + r(b"NSPopUpButton", b"usesItemFromMenu", {"retval": {"type": b"Z"}}) + r(b"NSPopUpButtonCell", b"altersStateOfSelectedItem", {"retval": {"type": "Z"}}) + r( + b"NSPopUpButtonCell", + b"attachPopUpWithFrame:inView:", + {"arguments": {2: {"type": "{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": "{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"hasFullSizeContent", {"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"setHasFullSizeContent:", {"arguments": {2: {"type": b"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": "{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": "{CGSize=dd}"}}) + r(b"NSPrintInfo", b"setHorizontallyCentered:", {"arguments": {2: {"type": "Z"}}}) + r(b"NSPrintInfo", b"setPaperSize:", {"arguments": {2: {"type": "{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": "{CGSize=dd}"}}) + r( + b"NSPrintOperation", + b"EPSOperationWithView:insideRect:toData:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSPrintOperation", + b"EPSOperationWithView:insideRect:toData:printInfo:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSPrintOperation", + b"EPSOperationWithView:insideRect:toPath:printInfo:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSPrintOperation", + b"PDFOperationWithView:insideRect:toData:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSPrintOperation", + b"PDFOperationWithView:insideRect:toData:printInfo:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSPrintOperation", + b"PDFOperationWithView:insideRect:toPath:printInfo:", + {"arguments": {3: {"type": "{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": "{_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"beginSheetUsingPrintInfo:onWindow:completionHandler:", + { + "arguments": { + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, + } + } + } + }, + ) + r( + b"NSPrintPanel", + b"beginSheetWithPrintInfo:modalForWindow:delegate:didEndSelector:contextInfo:", + {"arguments": {5: {"sel_of_type": 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": "{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": "{CGSize=dd}"}}) + r( + b"NSPrinter", + b"printerWithName:domain:includeUnavailable:", + {"arguments": {4: {"type": "Z"}}}, + ) + r( + b"NSPrinter", + b"rectForKey:inTable:", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSPrinter", b"sizeForKey:inTable:", {"retval": {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSRulerMarker", b"imageOrigin", {"retval": {"type": "{CGPoint=dd}"}}) + r( + b"NSRulerMarker", + b"imageRectInRuler", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSRulerMarker", + b"initWithRulerView:markerLocation:image:imageOrigin:", + {"arguments": {5: {"type": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSRulerView", + b"drawMarkersInRect:", + {"arguments": {2: {"type": "{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"activateFromApplication:options:", + {"retval": {"type": b"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": b"v@:@q^v"}, 7: {"type": "^v"}}}, + ) + r( + b"NSSavePanel", + b"beginSheetForDirectory:file:modalForWindow:modalDelegate:didEndSelector:contextInfo:", + {"arguments": {6: {"sel_of_type": b"v@:@q^v"}, 7: {"type": "^v"}}}, + ) + r( + b"NSSavePanel", + b"beginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:", + {"arguments": {7: {"sel_of_type": 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": b"q"}}, + } + } + } + }, + ) + r( + b"NSSavePanel", + b"beginWithCompletionHandler:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": 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"setShowsContentTypes:", {"arguments": {2: {"type": b"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"showsContentTypes", {"retval": {"type": b"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"displayLinkWithTarget:selector:", + {"arguments": {3: {"type": ":", "sel_of_type": b"v@:@"}}}, + ) + r(b"NSScreen", b"frame", {"retval": {"type": "{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": "{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": "{CGSize=dd}"}}) + r( + b"NSScrollView", + b"contentSizeForFrameSize:hasHorizontalScroller:hasVerticalScroller:borderType:", + { + "retval": {"type": "{CGSize=dd}"}, + "arguments": { + 2: {"type": "{CGSize=dd}"}, + 3: {"type": "Z"}, + 4: {"type": "Z"}, + }, + }, + ) + r( + b"NSScrollView", + b"documentVisibleRect", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSScrollView", b"drawsBackground", {"retval": {"type": "Z"}}) + r( + b"NSScrollView", + b"frameSizeForContentSize:hasHorizontalScroller:hasVerticalScroller:borderType:", + { + "retval": {"type": "{CGSize=dd}"}, + "arguments": { + 2: {"type": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSScroller", b"testPart:", {"arguments": {2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSSearchFieldCell", + b"searchButtonRectForBounds:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSSearchFieldCell", + b"searchTextRectForBounds:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{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": "{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": "{CGSize=dd}"}}}) + r(b"NSShadow", b"shadowOffset", {"retval": {"type": "{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": "{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": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 3: {"type": "{_NSRange=QQ}"}, + 4: {"type": "^{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": "{CGPoint=dd}"}}}, + ) + r(b"NSSlider", b"isVertical", {"retval": {"type": "Z"}}) + r( + b"NSSlider", + b"rectOfTickMarkAtIndex:", + {"retval": {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "Z"}, + } + }, + ) + r( + b"NSSliderCell", + b"drawKnob:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSSliderCell", + b"indexOfTickMarkAtPoint:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r(b"NSSliderCell", b"isVertical", {"retval": {"type": "Z"}}) + r( + b"NSSliderCell", + b"knobRectFlipped:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "Z"}}, + }, + ) + r(b"NSSliderCell", b"prefersTrackingUntilMouseUp", {"retval": {"type": "Z"}}) + r( + b"NSSliderCell", + b"rectOfTickMarkAtIndex:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "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": "{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": "{_NSRange=QQ}"}, + "arguments": {5: {"type": "Z"}, 7: {"type_modifier": b"o"}}, + }, + ) + r( + b"NSSpellChecker", + b"checkSpellingOfString:startingAt:", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSSpellChecker", + b"checkSpellingOfString:startingAt:language:wrap:inSpellDocumentWithTag:wordCount:", + { + "retval": {"type": "{_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": "{_NSRange=QQ}"}, + 7: {"type_modifier": b"o"}, + 8: {"type_modifier": b"o"}, + } + }, + ) + r( + b"NSSpellChecker", + b"completionsForPartialWordRange:inString:language:inSpellDocumentWithTag:", + {"arguments": {2: {"type": "{_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"isAutomaticInlinePredictionEnabled", + {"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": b"q"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSSpellChecker", + b"requestCheckingOfString:range:types:options:inSpellDocumentWithTag:completionHandler:", + { + "arguments": { + 3: {"type": "{_NSRange=QQ}"}, + 7: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"q"}, + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": 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": "{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"automaticallyAdjustsSafeAreaInsets", + {"retval": {"type": b"Z"}}, + ) + r(b"NSSplitViewItem", b"canCollapse", {"retval": {"type": b"Z"}}) + r(b"NSSplitViewItem", b"canCollapseFromWindowResize", {"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"setAutomaticallyAdjustsSafeAreaInsets:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r(b"NSSplitViewItem", b"setCanCollapse:", {"arguments": {2: {"type": b"Z"}}}) + r( + b"NSSplitViewItem", + b"setCanCollapseFromWindowResize:", + {"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"NSSplitViewItemAccessoryViewController", + b"automaticallyAppliesContentInsets", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSSplitViewItemAccessoryViewController", + b"isHidden", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSSplitViewItemAccessoryViewController", + b"setAutomaticallyAppliesContentInsets:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"NSSplitViewItemAccessoryViewController", + b"setHidden:", + {"arguments": {2: {"type": b"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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGSize=dd}"}}, + }, + ) + r( + b"NSString", + b"drawAtPoint:withAttributes:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSString", + b"drawInRect:withAttributes:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSString", + b"drawWithRect:options:attributes:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSString", b"sizeWithAttributes:", {"retval": {"type": "{CGSize=dd}"}}) + r(b"NSTabView", b"allowsTruncatedLabels", {"retval": {"type": "Z"}}) + r( + b"NSTabView", + b"contentRect", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSTabView", b"drawsBackground", {"retval": {"type": "Z"}}) + r(b"NSTabView", b"minimumSize", {"retval": {"type": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSTabViewItem", + b"sizeOfLabel:", + {"retval": {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "Z"}, + } + }, + ) + r( + b"NSTableHeaderCell", + b"sortIndicatorRectForBounds:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSTableHeaderView", + b"columnAtPoint:", + {"arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r( + b"NSTableHeaderView", + b"headerRectOfColumn:", + {"retval": {"type": "{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": "{CGPoint=dd}"}}}, + ) + r(b"NSTableView", b"columnAtPoint:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) + r( + b"NSTableView", + b"columnIndexesInRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTableView", + b"columnsInRect:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTableView", + b"drawGridInClipRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTableView", + b"drawRow:clipRect:", + {"arguments": {3: {"type": "{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": b"q"}, + }, + } + } + } + }, + ) + r(b"NSTableView", b"floatsGroupRows", {"retval": {"type": b"Z"}}) + r( + b"NSTableView", + b"frameOfCellAtColumn:row:", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSTableView", + b"highlightSelectionInClipRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSTableView", b"intercellSpacing", {"retval": {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSTableView", + b"rectOfRow:", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSTableView", b"rowActionsVisible", {"retval": {"type": "Z"}}) + r(b"NSTableView", b"rowAtPoint:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) + r( + b"NSTableView", + b"rowViewAtRow:makeIfNecessary:", + {"arguments": {3: {"type": b"Z"}}}, + ) + r( + b"NSTableView", + b"rowsInRect:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{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": "{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"sectionHeaderViewProvider", + { + "retval": { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}}, + } + } + }, + ) + 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"@"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"q"}, + 3: {"type": b"@"}, + }, + } + } + } + }, + ) + 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": "{_NSRange=QQ}"}}}) + r(b"NSText", b"RTFFromRange:", {"arguments": {2: {"type": "{_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": "{CGSize=dd}"}}) + r(b"NSText", b"minSize", {"retval": {"type": "{CGSize=dd}"}}) + r(b"NSText", b"readRTFDFromFile:", {"retval": {"type": "Z"}}) + r( + b"NSText", + b"replaceCharactersInRange:withRTF:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSText", + b"replaceCharactersInRange:withRTFD:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSText", + b"replaceCharactersInRange:withString:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSText", + b"scrollRangeToVisible:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r(b"NSText", b"selectedRange", {"retval": {"type": "{_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": "{_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": "{CGSize=dd}"}}}) + r(b"NSText", b"setMinSize:", {"arguments": {2: {"type": "{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": "{_NSRange=QQ}"}}}) + r(b"NSText", b"setTextColor:range:", {"arguments": {3: {"type": "{_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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "{_NSRange=QQ}"}, + }, + }, + ) + r( + b"NSTextBlock", + b"drawBackgroundWithFrame:inView:characterRange:layoutManager:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSTextBlock", + b"rectForLayoutAtPoint:inRect:textContainer:characterRange:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "{_NSRange=QQ}"}, + }, + }, + ) + r( + b"NSTextCheckingController", + b"menuAtIndex:clickedOnSelection:effectiveRange:", + {"arguments": {3: {"type": b"Z"}}}, + ) + r(b"NSTextContainer", b"containerSize", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSTextContainer", + b"containsPoint:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "{CGPoint=dd}"}}}, + ) + r(b"NSTextContainer", b"heightTracksTextView", {"retval": {"type": "Z"}}) + r( + b"NSTextContainer", + b"initWithContainerSize:", + {"arguments": {2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type_modifier": b"o"}, + }, + }, + ) + r( + b"NSTextContainer", + b"setContainerSize:", + {"arguments": {2: {"type": "{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"NSTextContentStorage", b"includesTextListMarkers", {"retval": {"type": b"Z"}}) + r( + b"NSTextContentStorage", + b"setIncludesTextListMarkers:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r(b"NSTextElement", b"isRepresentedElement", {"retval": {"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"allowsWritingTools", {"retval": {"type": b"Z"}}) + r(b"NSTextField", b"allowsWritingToolsAffordance", {"retval": {"type": b"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"resolvesNaturalAlignmentWithBaseWritingDirection", + {"retval": {"type": b"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"setAllowsWritingTools:", {"arguments": {2: {"type": b"Z"}}}) + r( + b"NSTextField", + b"setAllowsWritingToolsAffordance:", + {"arguments": {2: {"type": b"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"setResolvesNaturalAlignmentWithBaseWritingDirection:", + {"arguments": {2: {"type": b"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"NSTextInsertionIndicator", + b"effectsViewInserter", + { + "retval": { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + }, + ) + r( + b"NSTextInsertionIndicator", + b"setEffectsViewInserter:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + r( + b"NSTextLayoutFragment", + b"textLineFragmentForTextLocation:isUpstreamAffinity:", + {"arguments": {3: {"type": b"Z"}}}, + ) + r( + b"NSTextLayoutFragment", + b"textLineFragmentForVerticalOffset:requiresExactMatch:", + {"arguments": {3: {"type": b"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"renderingAttributesValidator", + { + "retval": { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + }, + ) + r( + b"NSTextLayoutManager", + b"resolvesNaturalAlignmentWithBaseWritingDirection", + {"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"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSTextLayoutManager", + b"setResolvesNaturalAlignmentWithBaseWritingDirection:", + {"arguments": {2: {"type": b"Z"}}}, + ) + 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"NSTextList", b"includesTextListMarkers", {"retval": {"type": b"Z"}}) + r(b"NSTextList", b"isOrdered", {"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": "{_NSRange=QQ}"}}}, + ) + r(b"NSTextStorage", b"editedRange", {"retval": {"type": "{_NSRange=QQ}"}}) + r( + b"NSTextStorage", + b"ensureAttributesAreFixedInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r(b"NSTextStorage", b"fixesAttributesLazily", {"retval": {"type": "Z"}}) + r( + b"NSTextStorage", + b"invalidateAttributesInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextTable", + b"boundsRectForBlock:contentRect:inRect:textContainer:characterRange:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 6: {"type": "{_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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "{_NSRange=QQ}"}, + }, + }, + ) + r(b"NSTextTable", b"hidesEmptyCells", {"retval": {"type": "Z"}}) + r( + b"NSTextTable", + b"rectForBlock:layoutAtPoint:inRect:textContainer:characterRange:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 3: {"type": "{CGPoint=dd}"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 6: {"type": "{_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": "{CGPoint=dd}"}}}, + ) + r( + b"NSTextView", + b"completionsForPartialWordRange:indexOfSelectedItem:", + {"arguments": {2: {"type": "{_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": "{CGSize=dd}"}, 4: {"type": "Z"}}, + }, + ) + r( + b"NSTextView", + b"drawInsertionPointInRect:color:turnedOn:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "Z"}, + } + }, + ) + r( + b"NSTextView", + b"drawViewBackgroundInRect:", + {"arguments": {2: {"type": "{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"initUsingTextLayoutManager:", {"arguments": {2: {"type": b"Z"}}}) + r( + b"NSTextView", + b"initWithFrame:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTextView", + b"initWithFrame:textContainer:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTextView", + b"insertCompletion:forPartialWordRange:movement:isFinal:", + {"arguments": {3: {"type": "{_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"isWritingToolsActive", {"retval": {"type": b"Z"}}) + r( + b"NSTextView", + b"performValidatedReplacementInRange:withAttributedString:", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSTextView", + b"rangeForUserCharacterAttributeChange", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r(b"NSTextView", b"rangeForUserCompletion", {"retval": {"type": "{_NSRange=QQ}"}}) + r( + b"NSTextView", + b"rangeForUserParagraphAttributeChange", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r(b"NSTextView", b"rangeForUserTextChange", {"retval": {"type": "{_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": "d"}, "arguments": {4: {"type": "d"}}}, + ) + r( + b"NSTextView", + b"selectionRangeForProposedRange:granularity:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}}, + }, + ) + r(b"NSTextView", b"setAcceptsGlyphInfo:", {"arguments": {2: {"type": "Z"}}}) + r( + b"NSTextView", + b"setAlignment:range:", + {"arguments": {3: {"type": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextView", + b"setConstrainedFrameSize:", + {"arguments": {2: {"type": "{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": "{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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextView", + b"setSelectedRange:affinity:stillSelecting:", + {"arguments": {2: {"type": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextView", + b"setTextContainerInset:", + {"arguments": {2: {"type": "{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": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextView", + b"smartDeleteRangeForProposedRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSTextView", + b"smartInsertAfterStringForString:replacingRange:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextView", + b"smartInsertBeforeStringForString:replacingRange:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r(b"NSTextView", b"smartInsertDeleteEnabled", {"retval": {"type": "Z"}}) + r( + b"NSTextView", + b"smartInsertForString:replacingRange:beforeString:afterString:", + { + "arguments": { + 3: {"type": "{_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": "{CGSize=dd}"}}) + r(b"NSTextView", b"textContainerOrigin", {"retval": {"type": "{CGPoint=dd}"}}) + r( + b"NSTextView", + b"textViewUsingTextLayoutManager:", + {"arguments": {2: {"type": b"Z"}}}, + ) + 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"allowsDisplayModeCustomization", {"retval": {"type": b"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"setAllowsDisplayModeCustomization:", + {"arguments": {2: {"type": b"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"isHidden", {"retval": {"type": b"Z"}}) + r(b"NSToolbarItem", b"isNavigational", {"retval": {"type": b"Z"}}) + r(b"NSToolbarItem", b"isVisible", {"retval": {"type": b"Z"}}) + r(b"NSToolbarItem", b"maxSize", {"retval": {"type": "{CGSize=dd}"}}) + r(b"NSToolbarItem", b"minSize", {"retval": {"type": "{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"setHidden:", {"arguments": {2: {"type": b"Z"}}}) + r(b"NSToolbarItem", b"setMaxSize:", {"arguments": {2: {"type": "{CGSize=dd}"}}}) + r(b"NSToolbarItem", b"setMinSize:", {"arguments": {2: {"type": "{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": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTrackingArea", + b"rect", + {"retval": {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": "Q"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "{CGPoint=dd}"}, + 6: {"type": "Q"}, + }, + }, + ) + r( + b"NSTypesetter", + b"characterRangeForGlyphRange:actualGlyphRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type_modifier": b"o"}}, + }, + ) + r( + b"NSTypesetter", + b"deleteGlyphsInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTypesetter", + b"endLineWithGlyphRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTypesetter", + b"getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:bidiLevels:", + { + "retval": {"type": "Q"}, + "arguments": { + 2: {"type": "{_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": "{_NSRange=QQ}"}, + 5: {"type": "{CGPoint=dd}"}, + } + }, + ) + r( + b"NSTypesetter", + b"getLineFragmentRect:usedRect:remainingRect:forStartingGlyphAtIndex:proposedRect:lineSpacing:paragraphSpacingBefore:paragraphSpacingAfter:", + { + "arguments": { + 2: {"type": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 3: {"type": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 4: {"type": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 6: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSTypesetter", + b"glyphRangeForCharacterRange:actualCharacterRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type_modifier": b"o"}}, + }, + ) + r( + b"NSTypesetter", + b"layoutCharactersInRange:forLayoutManager:maximumNumberOfLineFragments:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTypesetter", + b"paragraphCharacterRange", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r(b"NSTypesetter", b"paragraphGlyphRange", {"retval": {"type": "{_NSRange=QQ}"}}) + r( + b"NSTypesetter", + b"paragraphSeparatorCharacterRange", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSTypesetter", + b"paragraphSeparatorGlyphRange", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSTypesetter", + b"paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTypesetter", + b"paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:", + {"arguments": {3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSTypesetter", + b"printingAdjustmentInLayoutManager:forNominallySpacedGlyphRange:packedGlyphs:count:", + { + "retval": {"type": "{CGSize=dd}"}, + "arguments": { + 3: {"type": "{_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": "{CGSize=dd}"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTypesetter", + b"setBidiLevels:forGlyphRange:", + { + "arguments": { + 2: {"type": "^z", "type_modifier": b"n", "c_array_length_in_arg": 3}, + 3: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r(b"NSTypesetter", b"setBidiProcessingEnabled:", {"arguments": {2: {"type": "Z"}}}) + r( + b"NSTypesetter", + b"setDrawsOutsideLineFragment:forGlyphRange:", + {"arguments": {2: {"type": "Z"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTypesetter", + b"setHardInvalidation:forGlyphRange:", + {"arguments": {2: {"type": "Z"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTypesetter", + b"setLineFragmentRect:forGlyphRange:usedRect:baselineOffset:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{_NSRange=QQ}"}, + 4: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + } + }, + ) + r( + b"NSTypesetter", + b"setLocation:withAdvancements:forStartOfGlyphRange:", + { + "arguments": { + 2: {"type": "{CGPoint=dd}"}, + 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, + 4: {"type": "{_NSRange=QQ}"}, + } + }, + ) + r( + b"NSTypesetter", + b"setNotShownAttribute:forGlyphRange:", + {"arguments": {2: {"type": "Z"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTypesetter", + b"setParagraphGlyphRange:separatorGlyphRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}, 3: {"type": "{_NSRange=QQ}"}}}, + ) + r(b"NSTypesetter", b"setUsesFontLeading:", {"arguments": {2: {"type": "Z"}}}) + r( + b"NSTypesetter", + b"shouldBreakLineByHyphenatingBeforeCharacterAtIndex:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "Q"}}}, + ) + r( + b"NSTypesetter", + b"shouldBreakLineByWordBeforeCharacterAtIndex:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "Q"}}}, + ) + r( + b"NSTypesetter", + b"substituteGlyphsInRange:withGlyphs:", + { + "arguments": { + 2: {"type": "{_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": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 3: {"type": "{_NSRange=QQ}"}, + 4: {"type": "^{CGRect={CGPoint=dd}{CGSize=dd}}", "type_modifier": b"N"}, + 5: {"type": "^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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"addToolTipRect:owner:userData:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "^v"}, + } + }, + ) + r( + b"NSView", + b"addTrackingRect:owner:userData:assumeInside:", + { + "arguments": { + 2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r(b"NSView", b"alignmetRectInsets", {"retval": {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{CGPoint=dd}"}, + } + }, + ) + r( + b"NSView", + b"bitmapImageRepForCachingDisplayInRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSView", b"bounds", {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}) + r( + b"NSView", + b"cacheDisplayInRect:toBitmapImageRep:", + {"arguments": {2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r(b"NSView", b"clipsToBounds", {"retval": {"type": b"Z"}}) + r(b"NSView", b"context:", {"arguments": {2: {"type": "^v"}}}) + r( + b"NSView", + b"convertPoint:fromView:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r( + b"NSView", + b"convertPoint:toView:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r( + b"NSView", + b"convertPointFromBase:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r( + b"NSView", + b"convertPointToBase:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r( + b"NSView", + b"convertRect:fromView:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSView", + b"convertRect:toView:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSView", + b"convertRectFromBase:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSView", + b"convertRectToBase:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSView", + b"convertSize:fromView:", + {"retval": {"type": "{CGSize=dd}"}, "arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r( + b"NSView", + b"convertSize:toView:", + {"retval": {"type": "{CGSize=dd}"}, "arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r( + b"NSView", + b"convertSizeFromBase:", + {"retval": {"type": "{CGSize=dd}"}, "arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r( + b"NSView", + b"convertSizeToBase:", + {"retval": {"type": "{CGSize=dd}"}, "arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r( + b"NSView", + b"dataWithEPSInsideRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"dataWithPDFInsideRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"displayIfNeededInRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"displayIfNeededInRectIgnoringOpacity:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"displayLinkWithTarget:selector:", + {"arguments": {3: {"type": ":", "sel_of_type": b"v@:@"}}}, + ) + r( + b"NSView", + b"displayRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"displayRectIgnoringOpacity:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"displayRectIgnoringOpacity:inContext:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"dragFile:fromRect:slideBack:event:", + { + "retval": {"type": "Z"}, + "arguments": { + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 4: {"type": "Z"}, + }, + }, + ) + r( + b"NSView", + b"dragImage:at:offset:event:pasteboard:source:slideBack:", + { + "arguments": { + 3: {"type": "{CGPoint=dd}"}, + 4: {"type": "{CGSize=dd}"}, + 8: {"type": "Z"}, + } + }, + ) + r( + b"NSView", + b"dragPromisedFilesOfTypes:fromRect:source:slideBack:event:", + { + "retval": {"type": "Z"}, + "arguments": { + 3: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "Z"}, + }, + }, + ) + r( + b"NSView", + b"drawPageBorderWithSize:", + {"arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r( + b"NSView", + b"drawRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"drawSheetBorderWithSize:", + {"arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r(b"NSView", b"enterFullScreenMode:withOptions:", {"retval": {"type": "Z"}}) + r(b"NSView", b"frame", {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}) + r( + b"NSView", + b"getRectsBeingDrawn:count:", + { + "arguments": { + 2: {"type": "^^{CGRect}"}, + 3: {"type": "^q", "type_modifier": b"o"}, + } + }, + ) + r( + b"NSView", + b"getRectsExposedDuringLiveResize:count:", + { + "arguments": { + 2: { + "c_array_of_fixed_length": 4, + "type": "^{CGRect={CGPoint=dd}{CGSize=dd}}", + "type_modifier": b"o", + }, + 3: {"type": "^q", "type_modifier": b"o"}, + } + }, + ) + r(b"NSView", b"hasAmbiguousLayout", {"retval": {"type": b"Z"}}) + r(b"NSView", b"hitTest:", {"arguments": {2: {"type": "{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": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{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": "{CGPoint=dd}"}, + 3: {"type": "{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": "{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"prefersCompactControlSizeMetrics", {"retval": {"type": b"Z"}}) + r(b"NSView", b"preservesContentDuringLiveResize", {"retval": {"type": "Z"}}) + r( + b"NSView", + b"rectForPage:", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSView", + b"rectPreservedDuringLiveResize", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSView", + b"removeCursorRect:cursor:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSView", b"requiresConstraintBasedLayout", {"retval": {"type": b"Z"}}) + r( + b"NSView", + b"resizeSubviewsWithOldSize:", + {"arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r( + b"NSView", + b"resizeWithOldSuperviewSize:", + {"arguments": {2: {"type": "{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": "{CGSize=dd}"}}}) + r( + b"NSView", + b"scrollClipView:toPoint:", + {"arguments": {3: {"type": "{CGPoint=dd}"}}}, + ) + r(b"NSView", b"scrollPoint:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) + r( + b"NSView", + b"scrollRect:by:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{CGSize=dd}"}, + } + }, + ) + r( + b"NSView", + b"scrollRectToVisible:", + { + "retval": {"type": "Z"}, + "arguments": {2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSView", b"setBoundsOrigin:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) + r(b"NSView", b"setBoundsSize:", {"arguments": {2: {"type": "{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"setClipsToBounds:", {"arguments": {2: {"type": b"Z"}}}) + r( + b"NSView", + b"setFrame:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSView", b"setFrameOrigin:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) + r(b"NSView", b"setFrameSize:", {"arguments": {2: {"type": "{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": "{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": "{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"setPrefersCompactControlSizeMetrics:", + {"arguments": {2: {"type": b"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": "{CGPoint=dd}"}}}, + ) + r( + b"NSView", + b"showDefinitionForAttributedString:range:options:baselineOriginProvider:", + { + "arguments": { + 3: {"type": "{_NSRange=QQ}"}, + 5: { + "callable": { + "retval": {"type": b"{CGPoint=dd}"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": 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": "{CGPoint=dd}"}}}, + ) + r( + b"NSView", + b"translateRectsNeedingDisplayInRect:by:", + { + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "{CGSize=dd}"}, + } + }, + ) + r( + b"NSView", + b"translatesAutoresizingMaskIntoConstraints", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSView", + b"visibleRect", + {"retval": {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSView", + b"writePDFInsideRect:toPasteboard:", + {"arguments": {2: {"type": "{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"presentViewController:asPopoverRelativeToRect:ofView:preferredEdge:behavior:hasFullSizeContent:", + {"arguments": {7: {"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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSWindow", b"areCursorRectsEnabled", {"retval": {"type": "Z"}}) + r(b"NSWindow", b"aspectRatio", {"retval": {"type": "{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": b"q"}}, + } + } + } + }, + ) + r( + b"NSWindow", + b"beginSheet:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, + } + } + } + }, + ) + r( + b"NSWindow", + b"cacheImageInRect:", + {"arguments": {2: {"type": "{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": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r(b"NSWindow", b"contentAspectRatio", {"retval": {"type": "{CGSize=dd}"}}) + r(b"NSWindow", b"contentMaxSize", {"retval": {"type": "{CGSize=dd}"}}) + r(b"NSWindow", b"contentMinSize", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSWindow", + b"contentRectForFrameRect:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSWindow", + b"contentRectForFrameRect:styleMask:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "Q"}, + }, + }, + ) + r(b"NSWindow", b"contentResizeIncrements", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSWindow", + b"convertBaseToScreen:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r( + b"NSWindow", + b"convertScreenToBase:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r( + b"NSWindow", + b"dataWithEPSInsideRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSWindow", + b"dataWithPDFInsideRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSWindow", + b"displayLinkWithTarget:selector:", + {"arguments": {3: {"type": ":", "sel_of_type": b"v@:@"}}}, + ) + r(b"NSWindow", b"displaysWhenScreenProfileChanges", {"retval": {"type": "Z"}}) + r( + b"NSWindow", + b"dragImage:at:offset:event:pasteboard:source:slideBack:", + { + "arguments": { + 3: {"type": "{CGPoint=dd}"}, + 4: {"type": "{CGSize=dd}"}, + 8: {"type": "Z"}, + } + }, + ) + r(b"NSWindow", b"fieldEditor:forObject:", {"arguments": {2: {"type": "Z"}}}) + r(b"NSWindow", b"frame", {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}) + r( + b"NSWindow", + b"frameRectForContentRect:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + }, + ) + r( + b"NSWindow", + b"frameRectForContentRect:styleMask:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "Q"}, + }, + }, + ) + r(b"NSWindow", b"hasActiveWindowSharingSession", {"retval": {"type": b"Z"}}) + 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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 5: {"type": "Z"}, + } + }, + ) + r( + b"NSWindow", + b"initWithContentRect:styleMask:backing:defer:screen:", + { + "arguments": { + 2: {"type": "{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": "{CGSize=dd}"}}) + r(b"NSWindow", b"minSize", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSWindow", + b"mouseLocationOutsideOfEventStream", + {"retval": {"type": "{CGPoint=dd}"}}, + ) + r( + b"NSWindow", + b"nextEventMatchingMask:untilDate:inMode:dequeue:", + {"arguments": {5: {"type": "Z"}}}, + ) + r( + b"NSWindow", + b"onstrainFrameRect:toScreen:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "{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"requestSharingOfWindow:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + r( + b"NSWindow", + b"requestSharingOfWindowUsingPreview:title:completionHandler:", + { + "arguments": { + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + r(b"NSWindow", b"resizeIncrements", {"retval": {"type": "{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": "{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": "{CGSize=dd}"}}}, + ) + r(b"NSWindow", b"setContentMaxSize:", {"arguments": {2: {"type": "{CGSize=dd}"}}}) + r(b"NSWindow", b"setContentMinSize:", {"arguments": {2: {"type": "{CGSize=dd}"}}}) + r( + b"NSWindow", + b"setContentResizeIncrements:", + {"arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r(b"NSWindow", b"setContentSize:", {"arguments": {2: {"type": "{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": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + 3: {"type": "Z"}, + } + }, + ) + r( + b"NSWindow", + b"setFrame:display:animate:", + { + "arguments": { + 2: {"type": "{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": "{CGPoint=dd}"}}}) + r( + b"NSWindow", + b"setFrameTopLeftPoint:", + {"arguments": {2: {"type": "{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": "{CGSize=dd}"}}}) + r(b"NSWindow", b"setMinSize:", {"arguments": {2: {"type": "{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": "{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"transferWindowSharingToWindow:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + 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": "{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": "{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": "{CGPoint=dd}"}, 4: {"type": "{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"NSWritingToolsCoordinator", + b"includesTextListMarkers", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSWritingToolsCoordinator", + b"isWritingToolsAvailable", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSWritingToolsCoordinator", + b"setIncludesTextListMarkers:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"NSWritingToolsCoordinatorAnimationParameters", + b"completionHandler", + { + "retval": { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}}, + } + } + }, + ) + r( + b"NSWritingToolsCoordinatorAnimationParameters", + b"progressHandler", + { + "retval": { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"f"}}, + } + } + }, + ) + r( + b"NSWritingToolsCoordinatorAnimationParameters", + b"setCompletionHandler:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}}, + } + } + } + }, + ) + r( + b"NSWritingToolsCoordinatorAnimationParameters", + b"setProgressHandler:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"f"}}, + } + } + } + }, + ) +finally: + objc._updatingMetadata(False) + +objc.registerNewKeywordsFromSelector("CIColor", b"initWithColor:") +objc.registerNewKeywordsFromSelector("CIImage", b"initWithBitmapImageRep:") +objc.registerNewKeywordsFromSelector( + "NSAccessibilityCustomAction", b"initWithName:handler:" +) +objc.registerNewKeywordsFromSelector( + "NSAccessibilityCustomAction", b"initWithName:target:selector:" +) +objc.registerNewKeywordsFromSelector( + "NSAccessibilityCustomRotor", b"initWithLabel:itemSearchDelegate:" +) +objc.registerNewKeywordsFromSelector( + "NSAccessibilityCustomRotor", b"initWithRotorType:itemSearchDelegate:" +) +objc.registerNewKeywordsFromSelector( + "NSAccessibilityCustomRotorItemResult", b"initWithItemLoadingToken:customLabel:" +) +objc.registerNewKeywordsFromSelector( + "NSAccessibilityCustomRotorItemResult", b"initWithTargetElement:" +) +objc.registerNewKeywordsFromSelector("NSAdaptiveImageGlyph", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSAdaptiveImageGlyph", b"initWithImageContent:") +objc.registerNewKeywordsFromSelector("NSAnimation", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSAnimation", b"initWithDuration:animationCurve:") +objc.registerNewKeywordsFromSelector("NSAppearance", b"initWithAppearanceNamed:bundle:") +objc.registerNewKeywordsFromSelector("NSAppearance", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithData:options:documentAttributes:error:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithDocFormat:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithHTML:baseURL:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithHTML:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithHTML:options:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithPath:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithRTF:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithRTFD:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithRTFDFileWrapper:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithURL:documentAttributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithURL:options:documentAttributes:error:" +) +objc.registerNewKeywordsFromSelector( + "NSBitmapImageRep", + b"initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:", +) +objc.registerNewKeywordsFromSelector( + "NSBitmapImageRep", + b"initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bytesPerRow:bitsPerPixel:", +) +objc.registerNewKeywordsFromSelector("NSBitmapImageRep", b"initWithCGImage:") +objc.registerNewKeywordsFromSelector("NSBitmapImageRep", b"initWithCIImage:") +objc.registerNewKeywordsFromSelector("NSBitmapImageRep", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSBitmapImageRep", b"initWithFocusedViewRect:") +objc.registerNewKeywordsFromSelector("NSBrowserCell", b"initImageCell:") +objc.registerNewKeywordsFromSelector("NSBrowserCell", b"initTextCell:") +objc.registerNewKeywordsFromSelector("NSBrowserCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSButtonCell", b"initImageCell:") +objc.registerNewKeywordsFromSelector("NSButtonCell", b"initTextCell:") +objc.registerNewKeywordsFromSelector("NSButtonCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSCIImageRep", b"initWithCIImage:") +objc.registerNewKeywordsFromSelector( + "NSCachedImageRep", b"initWithSize:depth:separate:alpha:" +) +objc.registerNewKeywordsFromSelector("NSCachedImageRep", b"initWithWindow:rect:") +objc.registerNewKeywordsFromSelector("NSCell", b"initImageCell:") +objc.registerNewKeywordsFromSelector("NSCell", b"initTextCell:") +objc.registerNewKeywordsFromSelector("NSCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSCollectionViewCompositionalLayout", b"initWithSection:" +) +objc.registerNewKeywordsFromSelector( + "NSCollectionViewCompositionalLayout", b"initWithSection:configuration:" +) +objc.registerNewKeywordsFromSelector( + "NSCollectionViewCompositionalLayout", b"initWithSectionProvider:" +) +objc.registerNewKeywordsFromSelector( + "NSCollectionViewCompositionalLayout", b"initWithSectionProvider:configuration:" +) +objc.registerNewKeywordsFromSelector( + "NSCollectionViewDiffableDataSource", b"initWithCollectionView:itemProvider:" +) +objc.registerNewKeywordsFromSelector( + "NSCollectionViewTransitionLayout", b"initWithCurrentLayout:nextLayout:" +) +objc.registerNewKeywordsFromSelector("NSColor", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSColorList", b"initWithName:") +objc.registerNewKeywordsFromSelector("NSColorList", b"initWithName:fromFile:") +objc.registerNewKeywordsFromSelector("NSColorPicker", b"initWithPickerMask:colorPanel:") +objc.registerNewKeywordsFromSelector("NSColorSpace", b"initWithCGColorSpace:") +objc.registerNewKeywordsFromSelector("NSColorSpace", b"initWithColorSyncProfile:") +objc.registerNewKeywordsFromSelector("NSColorSpace", b"initWithICCProfileData:") +objc.registerNewKeywordsFromSelector("NSControl", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSControl", b"initWithFrame:") +objc.registerNewKeywordsFromSelector("NSController", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSCursor", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSCursor", b"initWithImage:foregroundColorHint:backgroundColorHint:hotSpot:" +) +objc.registerNewKeywordsFromSelector("NSCursor", b"initWithImage:hotSpot:") +objc.registerNewKeywordsFromSelector( + "NSCustomImageRep", b"initWithDrawSelector:delegate:" +) +objc.registerNewKeywordsFromSelector( + "NSCustomImageRep", b"initWithSize:flipped:drawingHandler:" +) +objc.registerNewKeywordsFromSelector("NSDataAsset", b"initWithName:") +objc.registerNewKeywordsFromSelector("NSDataAsset", b"initWithName:bundle:") +objc.registerNewKeywordsFromSelector("NSDatePickerCell", b"initImageCell:") +objc.registerNewKeywordsFromSelector("NSDatePickerCell", b"initTextCell:") +objc.registerNewKeywordsFromSelector("NSDatePickerCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSDocument", b"initForURL:withContentsOfURL:ofType:error:" +) +objc.registerNewKeywordsFromSelector("NSDocument", b"initWithContentsOfFile:ofType:") +objc.registerNewKeywordsFromSelector("NSDocument", b"initWithContentsOfURL:ofType:") +objc.registerNewKeywordsFromSelector( + "NSDocument", b"initWithContentsOfURL:ofType:error:" +) +objc.registerNewKeywordsFromSelector("NSDocument", b"initWithType:error:") +objc.registerNewKeywordsFromSelector("NSDocumentController", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSDraggingImageComponent", b"initWithKey:") +objc.registerNewKeywordsFromSelector("NSDraggingItem", b"initWithPasteboardWriter:") +objc.registerNewKeywordsFromSelector("NSDrawer", b"initWithContentSize:preferredEdge:") +objc.registerNewKeywordsFromSelector("NSEPSImageRep", b"initWithData:") +objc.registerNewKeywordsFromSelector( + "NSFilePromiseProvider", b"initWithFileType:delegate:" +) +objc.registerNewKeywordsFromSelector( + "NSFontAssetRequest", b"initWithFontDescriptors:options:" +) +objc.registerNewKeywordsFromSelector("NSFontDescriptor", b"initWithFontAttributes:") +objc.registerNewKeywordsFromSelector("NSFormCell", b"initImageCell:") +objc.registerNewKeywordsFromSelector("NSFormCell", b"initTextCell:") +objc.registerNewKeywordsFromSelector("NSFormCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSGestureRecognizer", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSGestureRecognizer", b"initWithTarget:action:") +objc.registerNewKeywordsFromSelector("NSGradient", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSGradient", b"initWithColors:") +objc.registerNewKeywordsFromSelector( + "NSGradient", b"initWithColors:atLocations:colorSpace:" +) +objc.registerNewKeywordsFromSelector("NSGradient", b"initWithColorsAndLocations:") +objc.registerNewKeywordsFromSelector( + "NSGradient", b"initWithStartingColor:endingColor:" +) +objc.registerNewKeywordsFromSelector("NSGridView", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSGridView", b"initWithFrame:") +objc.registerNewKeywordsFromSelector("NSImage", b"initByReferencingFile:") +objc.registerNewKeywordsFromSelector("NSImage", b"initByReferencingURL:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithCGImage:size:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithContentsOfFile:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithDataIgnoringOrientation:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithIconRef:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithPasteboard:") +objc.registerNewKeywordsFromSelector("NSImage", b"initWithSize:") +objc.registerNewKeywordsFromSelector("NSImageRep", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSInputManager", b"initWithName:host:") +objc.registerNewKeywordsFromSelector("NSInputServer", b"initWithDelegate:name:") +objc.registerNewKeywordsFromSelector("NSLayoutManager", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSLevelIndicatorCell", b"initWithLevelIndicatorStyle:" +) +objc.registerNewKeywordsFromSelector("NSMatrix", b"initWithFrame:") +objc.registerNewKeywordsFromSelector( + "NSMatrix", b"initWithFrame:mode:cellClass:numberOfRows:numberOfColumns:" +) +objc.registerNewKeywordsFromSelector( + "NSMatrix", b"initWithFrame:mode:prototype:numberOfRows:numberOfColumns:" +) +objc.registerNewKeywordsFromSelector("NSMenu", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSMenu", b"initWithTitle:") +objc.registerNewKeywordsFromSelector("NSMenuItem", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSMenuItem", b"initWithTitle:action:keyEquivalent:" +) +objc.registerNewKeywordsFromSelector("NSMenuItemBadge", b"initWithCount:") +objc.registerNewKeywordsFromSelector("NSMenuItemBadge", b"initWithCount:type:") +objc.registerNewKeywordsFromSelector("NSMenuItemBadge", b"initWithString:") +objc.registerNewKeywordsFromSelector("NSMenuItemCell", b"initTextCell:") +objc.registerNewKeywordsFromSelector("NSMenuItemCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSMovie", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSMovie", b"initWithMovie:") +objc.registerNewKeywordsFromSelector("NSNib", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSNib", b"initWithNibData:bundle:") +objc.registerNewKeywordsFromSelector("NSNib", b"initWithNibNamed:bundle:") +objc.registerNewKeywordsFromSelector("NSObjectController", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSObjectController", b"initWithContent:") +objc.registerNewKeywordsFromSelector("NSOpenGLContext", b"initWithCGLContextObj:") +objc.registerNewKeywordsFromSelector("NSOpenGLContext", b"initWithFormat:shareContext:") +objc.registerNewKeywordsFromSelector("NSOpenGLPixelBuffer", b"initWithCGLPBufferObj:") +objc.registerNewKeywordsFromSelector( + "NSOpenGLPixelBuffer", + b"initWithTextureTarget:textureInternalFormat:textureMaxMipMapLevel:pixelsWide:pixelsHigh:", +) +objc.registerNewKeywordsFromSelector("NSOpenGLPixelFormat", b"initWithAttributes:") +objc.registerNewKeywordsFromSelector( + "NSOpenGLPixelFormat", b"initWithCGLPixelFormatObj:" +) +objc.registerNewKeywordsFromSelector("NSOpenGLPixelFormat", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSOpenGLView", b"initWithFrame:pixelFormat:") +objc.registerNewKeywordsFromSelector("NSPDFImageRep", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSPICTImageRep", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSPopUpButton", b"initWithFrame:pullsDown:") +objc.registerNewKeywordsFromSelector("NSPopUpButtonCell", b"initTextCell:pullsDown:") +objc.registerNewKeywordsFromSelector("NSPopUpButtonCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSPopover", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSPredicateEditorRowTemplate", b"initWithCompoundTypes:" +) +objc.registerNewKeywordsFromSelector( + "NSPredicateEditorRowTemplate", + b"initWithLeftExpressions:rightExpressionAttributeType:modifier:operators:options:", +) +objc.registerNewKeywordsFromSelector( + "NSPredicateEditorRowTemplate", + b"initWithLeftExpressions:rightExpressions:modifier:operators:options:", +) +objc.registerNewKeywordsFromSelector( + "NSPressureConfiguration", b"initWithPressureBehavior:" +) +objc.registerNewKeywordsFromSelector( + "NSPreviewRepresentingActivityItem", b"initWithItem:title:image:icon:" +) +objc.registerNewKeywordsFromSelector( + "NSPreviewRepresentingActivityItem", + b"initWithItem:title:imageProvider:iconProvider:", +) +objc.registerNewKeywordsFromSelector("NSPrintInfo", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSPrintInfo", b"initWithDictionary:") +objc.registerNewKeywordsFromSelector("NSResponder", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSRulerMarker", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSRulerMarker", b"initWithRulerView:markerLocation:image:imageOrigin:" +) +objc.registerNewKeywordsFromSelector("NSRulerView", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSRulerView", b"initWithScrollView:orientation:") +objc.registerNewKeywordsFromSelector("NSScrollView", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSScrollView", b"initWithFrame:") +objc.registerNewKeywordsFromSelector("NSScrubber", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSScrubber", b"initWithFrame:") +objc.registerNewKeywordsFromSelector("NSScrubberLayout", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSScrubberProportionalLayout", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSScrubberProportionalLayout", b"initWithNumberOfVisibleItems:" +) +objc.registerNewKeywordsFromSelector("NSScrubberSelectionStyle", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSSearchFieldCell", b"initImageCell:") +objc.registerNewKeywordsFromSelector("NSSearchFieldCell", b"initTextCell:") +objc.registerNewKeywordsFromSelector("NSSearchFieldCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSSharingCollaborationModeRestriction", b"initWithDisabledMode:" +) +objc.registerNewKeywordsFromSelector( + "NSSharingCollaborationModeRestriction", + b"initWithDisabledMode:alertTitle:alertMessage:", +) +objc.registerNewKeywordsFromSelector( + "NSSharingCollaborationModeRestriction", + b"initWithDisabledMode:alertTitle:alertMessage:alertDismissButtonTitle:", +) +objc.registerNewKeywordsFromSelector( + "NSSharingCollaborationModeRestriction", + b"initWithDisabledMode:alertTitle:alertMessage:alertDismissButtonTitle:alertRecoverySuggestionButtonTitle:alertRecoverySuggestionButtonLaunchURL:", +) +objc.registerNewKeywordsFromSelector( + "NSSharingService", b"initWithTitle:image:alternateImage:handler:" +) +objc.registerNewKeywordsFromSelector("NSSharingServicePicker", b"initWithItems:") +objc.registerNewKeywordsFromSelector("NSSound", b"initWithContentsOfFile:byReference:") +objc.registerNewKeywordsFromSelector("NSSound", b"initWithContentsOfURL:byReference:") +objc.registerNewKeywordsFromSelector("NSSound", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSSound", b"initWithPasteboard:") +objc.registerNewKeywordsFromSelector("NSSpeechSynthesizer", b"initWithVoice:") +objc.registerNewKeywordsFromSelector( + "NSStoryboardSegue", b"initWithIdentifier:source:destination:" +) +objc.registerNewKeywordsFromSelector("NSTabViewItem", b"initWithIdentifier:") +objc.registerNewKeywordsFromSelector("NSTableColumn", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTableColumn", b"initWithIdentifier:") +objc.registerNewKeywordsFromSelector("NSTableView", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTableView", b"initWithFrame:") +objc.registerNewKeywordsFromSelector( + "NSTableViewDiffableDataSource", b"initWithTableView:cellProvider:" +) +objc.registerNewKeywordsFromSelector("NSText", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSText", b"initWithFrame:") +objc.registerNewKeywordsFromSelector( + "NSTextAlternatives", b"initWithPrimaryString:alternativeStrings:" +) +objc.registerNewKeywordsFromSelector("NSTextAttachment", b"initWithData:ofType:") +objc.registerNewKeywordsFromSelector("NSTextAttachment", b"initWithFileWrapper:") +objc.registerNewKeywordsFromSelector( + "NSTextAttachmentViewProvider", + b"initWithTextAttachment:parentView:textLayoutManager:location:", +) +objc.registerNewKeywordsFromSelector("NSTextCheckingController", b"initWithClient:") +objc.registerNewKeywordsFromSelector("NSTextContainer", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTextContainer", b"initWithContainerSize:") +objc.registerNewKeywordsFromSelector("NSTextContainer", b"initWithSize:") +objc.registerNewKeywordsFromSelector("NSTextContentManager", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTextElement", b"initWithTextContentManager:") +objc.registerNewKeywordsFromSelector("NSTextFieldCell", b"initImageCell:") +objc.registerNewKeywordsFromSelector("NSTextFieldCell", b"initTextCell:") +objc.registerNewKeywordsFromSelector("NSTextFieldCell", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTextFinder", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTextInputContext", b"initWithClient:") +objc.registerNewKeywordsFromSelector("NSTextLayoutFragment", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSTextLayoutFragment", b"initWithTextElement:range:" +) +objc.registerNewKeywordsFromSelector("NSTextLayoutManager", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSTextLineFragment", b"initWithAttributedString:range:" +) +objc.registerNewKeywordsFromSelector("NSTextLineFragment", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSTextLineFragment", b"initWithString:attributes:range:" +) +objc.registerNewKeywordsFromSelector("NSTextList", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTextList", b"initWithMarkerFormat:options:") +objc.registerNewKeywordsFromSelector( + "NSTextList", b"initWithMarkerFormat:options:startingItemNumber:" +) +objc.registerNewKeywordsFromSelector("NSTextListElement", b"initWithAttributedString:") +objc.registerNewKeywordsFromSelector( + "NSTextListElement", + b"initWithParentElement:textList:contents:markerAttributes:childElements:", +) +objc.registerNewKeywordsFromSelector("NSTextParagraph", b"initWithAttributedString:") +objc.registerNewKeywordsFromSelector( + "NSTextPreview", b"initWithSnapshotImage:presentationFrame:" +) +objc.registerNewKeywordsFromSelector( + "NSTextPreview", b"initWithSnapshotImage:presentationFrame:candidateRects:" +) +objc.registerNewKeywordsFromSelector("NSTextRange", b"initWithLocation:") +objc.registerNewKeywordsFromSelector("NSTextRange", b"initWithLocation:endLocation:") +objc.registerNewKeywordsFromSelector("NSTextSelection", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTextSelection", b"initWithLocation:affinity:") +objc.registerNewKeywordsFromSelector( + "NSTextSelection", b"initWithRange:affinity:granularity:" +) +objc.registerNewKeywordsFromSelector( + "NSTextSelection", b"initWithRanges:affinity:granularity:" +) +objc.registerNewKeywordsFromSelector( + "NSTextSelectionNavigation", b"initWithDataSource:" +) +objc.registerNewKeywordsFromSelector( + "NSTextTab", b"initWithTextAlignment:location:options:" +) +objc.registerNewKeywordsFromSelector("NSTextTab", b"initWithType:location:") +objc.registerNewKeywordsFromSelector( + "NSTextTableBlock", b"initWithTable:startingRow:rowSpan:startingColumn:columnSpan:" +) +objc.registerNewKeywordsFromSelector("NSTextView", b"initUsingTextLayoutManager:") +objc.registerNewKeywordsFromSelector("NSTextView", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTextView", b"initWithFrame:") +objc.registerNewKeywordsFromSelector("NSTextView", b"initWithFrame:textContainer:") +objc.registerNewKeywordsFromSelector( + "NSTextViewportLayoutController", b"initWithTextLayoutManager:" +) +objc.registerNewKeywordsFromSelector("NSToolbar", b"initWithIdentifier:") +objc.registerNewKeywordsFromSelector("NSToolbarItem", b"initWithItemIdentifier:") +objc.registerNewKeywordsFromSelector("NSTouchBar", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTouchBarItem", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSTouchBarItem", b"initWithIdentifier:") +objc.registerNewKeywordsFromSelector( + "NSTrackingArea", b"initWithRect:options:owner:userInfo:" +) +objc.registerNewKeywordsFromSelector("NSTreeNode", b"initWithRepresentedObject:") +objc.registerNewKeywordsFromSelector("NSUserDefaultsController", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSUserDefaultsController", b"initWithDefaults:initialValues:" +) +objc.registerNewKeywordsFromSelector( + "NSUserInterfaceCompressionOptions", b"initWithCoder:" +) +objc.registerNewKeywordsFromSelector( + "NSUserInterfaceCompressionOptions", b"initWithCompressionOptions:" +) +objc.registerNewKeywordsFromSelector( + "NSUserInterfaceCompressionOptions", b"initWithIdentifier:" +) +objc.registerNewKeywordsFromSelector("NSView", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSView", b"initWithFrame:") +objc.registerNewKeywordsFromSelector("NSViewAnimation", b"initWithViewAnimations:") +objc.registerNewKeywordsFromSelector("NSViewController", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSViewController", b"initWithNibName:bundle:") +objc.registerNewKeywordsFromSelector("NSWindow", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSWindow", b"initWithContentRect:styleMask:backing:defer:" +) +objc.registerNewKeywordsFromSelector( + "NSWindow", b"initWithContentRect:styleMask:backing:defer:screen:" +) +objc.registerNewKeywordsFromSelector("NSWindow", b"initWithWindowRef:") +objc.registerNewKeywordsFromSelector("NSWindowController", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSWindowController", b"initWithWindow:") +objc.registerNewKeywordsFromSelector("NSWindowController", b"initWithWindowNibName:") +objc.registerNewKeywordsFromSelector( + "NSWindowController", b"initWithWindowNibName:owner:" +) +objc.registerNewKeywordsFromSelector( + "NSWindowController", b"initWithWindowNibPath:owner:" +) +objc.registerNewKeywordsFromSelector("NSWritingToolsCoordinator", b"initWithDelegate:") +objc.registerNewKeywordsFromSelector( + "NSWritingToolsCoordinatorContext", b"initWithAttributedString:range:" +) +protocols = { + "NSDeprecatedTextStorageDelegateInterface": objc.informal_protocol( + "NSDeprecatedTextStorageDelegateInterface", + [ + objc.selector( + None, b"textStorageWillProcessEditing:", b"v@:@", isRequired=False + ), + objc.selector( + None, b"textStorageDidProcessEditing:", b"v@:@", isRequired=False + ), + ], + ), + "NSLayerDelegateContentsScaleUpdating": objc.informal_protocol( + "NSLayerDelegateContentsScaleUpdating", + [ + objc.selector( + None, + b"layer:shouldInheritContentsScale:fromWindow:", + b"Z@:@d@", + isRequired=False, + ) + ], + ), + "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), + ], + ), + "NSToolbarItemValidation": objc.informal_protocol( + "NSToolbarItemValidation", + [objc.selector(None, b"validateToolbarItem:", b"Z@:@", isRequired=False)], + ), + "NSFontManagerDelegate": objc.informal_protocol( + "NSFontManagerDelegate", + [ + objc.selector( + None, b"fontManager:willIncludeFont:", b"Z@:@@", isRequired=False + ) + ], + ), +} +expressions = {} + +# END OF FILE diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_nsapp.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_nsapp.py new file mode 100644 index 00000000..52dd48e6 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/AppKit/_nsapp.py @@ -0,0 +1,29 @@ +import objc as _objc +import AppKit as _AppKit + + +class _NSApp: + """ + Helper class to emulate NSApp in Python. + """ + + def __getrealapp(self): + d = {} + _objc.loadBundleVariables(_AppKit.__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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Cocoa/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Cocoa/__init__.py new file mode 100644 index 00000000..c8b2190b --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Cocoa/__init__.py @@ -0,0 +1,27 @@ +""" +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. +""" + + +def _setup(): + import AppKit + import objc + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Cocoa", + frameworkIdentifier=None, + frameworkPath=None, + globals_dict=globals(), + inline_list=None, + parents=(AppKit,), + metadict={}, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Cocoa/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Cocoa/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3560464afe00d6e0dcfdbb5b4dee309f47277c19 GIT binary patch literal 1038 zcmZuw&rcLF6z_oj143UV$h#ce~F==L}-JQbhbkcSp7)T(H z$dSZ@H}3`y-u)9ip)qa-4o7o?Dpvkm-?|uE=oA0%s^7$Ns@%BS@y<#Ht zGcnr3YHb<|uz7D1VkkQ=33?wQ9Gt_d3X3{$}r4ur<82(-fkaJWiKAW$8K zEeVv20)(<@?0U@I!1H0~vs)?$@TkV%sOFG6$w?XT_zHvRi7l)JjucBOfw>X|ZUR); z34qUclwzusb1(i6p1t4rZ*wJ^1f*QQS znT+!t=Zd4f_)66mWye>9a#zQFJn(tIh|iUdv!Ns5n2LL9pk5l!62M79;yyyE;M5w7 zq7`?8@{hTWEm2-~kD^-IIbjHj8>Ul z+GN3|?enr7rg!pQ>CRnSam{8z$K7zMOxdY?HX%IVnvhbs9d{GObQH>As3W-pY89qE zbY=~lS^YmIZho7XJDr%T=ZESATpt<#K3sVHygoEm9~eFEtq%;I_oK=C4b(H)eQJ&G zJv#EwhfrbaaPeU2h@V6YyHOb`4lq7_Ol1Quk!o(Bkv0u{fe%qEdK!T CAs?~; literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_CoreFoundation.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_CoreFoundation.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..c8419ee6a38ec1ac7082a2fb14342640e7ad0c53 GIT binary patch literal 166968 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�C{2C^n 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 frBeSSgQ$hD@&`nz_|xsLr5*4 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 Hv+4f#$$BPFp-IzyLkq7lgOyTL!3pghf>_ox^ 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 Q{OlLiqdNnSI0NB-0S02U=l}o! literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_metadata.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_metadata.py new file mode 100644 index 00000000..d8fce642 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_metadata.py @@ -0,0 +1,3465 @@ +# This file is generated by objective.metadata +# +# Last update: Fri Aug 8 15:42:24 2025 +# +# 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( + { + "CGPoint": objc.createStructType( + "CoreFoundation.CGPoint", b"{CGPoint=dd}", ["x", "y"] + ), + "CFXMLExternalID": objc.createStructType( + "CoreFoundation.CFXMLExternalID", + b"{CFXMLExternalID=^{__CFURL=}^{__CFString=}}", + ["systemID", "publicID"], + ), + "CFXMLAttributeDeclarationInfo": objc.createStructType( + "CoreFoundation.CFXMLAttributeDeclarationInfo", + b"{CFXMLAttributeDeclarationInfo=^{__CFString=}^{__CFString=}^{__CFString=}}", + ["attributeName", "typeString", "defaultString"], + ), + "CFXMLDocumentTypeInfo": objc.createStructType( + "CoreFoundation.CFXMLDocumentTypeInfo", + b"{CFXMLDocumentTypeInfo={CFXMLExternalID=^{__CFURL=}^{__CFString=}}}", + ["externalID"], + ), + "CGVector": objc.createStructType( + "CoreFoundation.CGVector", b"{CGVector=dd}", ["dx", "dy"] + ), + "CGSize": objc.createStructType( + "CoreFoundation.CGSize", b"{CGSize=dd}", ["width", "height"] + ), + "CFSocketSignature": objc.createStructType( + "CoreFoundation.CFSocketSignature", + b"{CFSocketSignature=iii^{__CFData=}}", + ["protocolFamily", "socketType", "protocol", "address"], + ), + "CFXMLDocumentInfo": objc.createStructType( + "CoreFoundation.CFXMLDocumentInfo", + b"{CFXMLDocumentInfo=^{__CFURL=}I}", + ["sourceURL", "encoding"], + ), + "CFXMLElementInfo": objc.createStructType( + "CoreFoundation.CFXMLElementInfo", + b"{CFXMLElementInfo=^{__CFDictionary=}^{__CFArray=}Z[3c]}", + ["attributes", "attributeOrder", "isEmpty", "_reserved"], + ), + "CFUUIDBytes": objc.createStructType( + "CoreFoundation.CFUUIDBytes", + b"{CFUUIDBytes=CCCCCCCCCCCCCCCC}", + [ + "byte0", + "byte1", + "byte2", + "byte3", + "byte4", + "byte5", + "byte6", + "byte7", + "byte8", + "byte9", + "byte10", + "byte11", + "byte12", + "byte13", + "byte14", + "byte15", + ], + ), + "CFSwappedFloat32": objc.createStructType( + "CoreFoundation.CFSwappedFloat32", b"{CFSwappedFloat32=I}", ["v"] + ), + "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"] + ), + "CGRect": objc.createStructType( + "CoreFoundation.CGRect", + b"{CGRect={CGPoint=dd}{CGSize=dd}}", + ["origin", "size"], + ), + "CFStreamError": objc.createStructType( + "CoreFoundation.CFStreamError", b"{CFStreamError=qi}", ["domain", "error"] + ), + "CGAffineTransformComponents": objc.createStructType( + "CoreFoundation.CGAffineTransformComponents", + b"{CGAffineTransformComponents={CGSize=dd}dd{CGVector=dd}}", + ["scale", "horizontalShear", "rotation", "translation"], + ), + "CFXMLAttributeListDeclarationInfo": objc.createStructType( + "CoreFoundation.CFXMLAttributeListDeclarationInfo", + b"{CFXMLAttributeListDeclarationInfo=q^{CFXMLAttributeDeclarationInfo=^{__CFString=}^{__CFString=}^{__CFString=}}}", + ["numberOfAttributes", "attributes"], + ), + "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"], + ), + "CFXMLEntityInfo": objc.createStructType( + "CoreFoundation.CFXMLEntityInfo", + b"{CFXMLEntityInfo=q^{__CFString=}{CFXMLExternalID=^{__CFURL=}^{__CFString=}}^{__CFString=}}", + ["entityType", "replacementText", "entityID", "notationName"], + ), + "CFXMLElementTypeDeclarationInfo": objc.createStructType( + "CoreFoundation.CFXMLElementTypeDeclarationInfo", + b"{CFXMLElementTypeDeclarationInfo=^{__CFString=}}", + ["contentDescription"], + ), + "CFGregorianDate": objc.createStructType( + "CoreFoundation.CFGregorianDate", + b"{CFGregorianDate=iccccd}", + ["year", "month", "day", "hour", "minute", "second"], + ), + "CFSwappedFloat64": objc.createStructType( + "CoreFoundation.CFSwappedFloat64", b"{CFSwappedFloat64=Q}", ["v"] + ), + "CGAffineTransform": objc.createStructType( + "CoreFoundation.CGAffineTransform", + b"{CGAffineTransform=dddddd}", + ["a", "b", "c", "d", "tx", "ty"], + ), + } +) +constants = """$kCFAbsoluteTimeIntervalSince1904@d$kCFAbsoluteTimeIntervalSince1970@d$kCFAllocatorDefault@^{__CFAllocator=}$kCFAllocatorMalloc@^{__CFAllocator=}$kCFAllocatorMallocZone@^{__CFAllocator=}$kCFAllocatorNull@^{__CFAllocator=}$kCFAllocatorSystemDefault@^{__CFAllocator=}$kCFAllocatorUseContext@^{__CFAllocator=}$kCFBanglaCalendar$kCFBooleanFalse@^{__CFBoolean=}$kCFBooleanTrue@^{__CFBoolean=}$kCFBuddhistCalendar$kCFBundleDevelopmentRegionKey$kCFBundleExecutableKey$kCFBundleIdentifierKey$kCFBundleInfoDictionaryVersionKey$kCFBundleLocalizationsKey$kCFBundleNameKey$kCFBundleVersionKey$kCFChineseCalendar$kCFCoreFoundationVersionNumber@d$kCFDangiCalendar$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$kCFGujaratiCalendar$kCFHebrewCalendar$kCFISO8601Calendar$kCFIndianCalendar$kCFIslamicCalendar$kCFIslamicCivilCalendar$kCFIslamicTabularCalendar$kCFIslamicUmmAlQuraCalendar$kCFJapaneseCalendar$kCFKannadaCalendar$kCFLocaleAlternateQuotationBeginDelimiterKey$kCFLocaleAlternateQuotationEndDelimiterKey$kCFLocaleCalendar$kCFLocaleCalendarIdentifier$kCFLocaleCollationIdentifier$kCFLocaleCollatorIdentifier$kCFLocaleCountryCode$kCFLocaleCountryCodeKey$kCFLocaleCurrencyCode$kCFLocaleCurrencySymbol$kCFLocaleCurrentLocaleDidChangeNotification$kCFLocaleDecimalSeparator$kCFLocaleExemplarCharacterSet$kCFLocaleGroupingSeparator$kCFLocaleIdentifier$kCFLocaleLanguageCode$kCFLocaleLanguageCodeKey$kCFLocaleMeasurementSystem$kCFLocaleQuotationBeginDelimiterKey$kCFLocaleQuotationEndDelimiterKey$kCFLocaleScriptCode$kCFLocaleUsesMetricSystem$kCFLocaleVariantCode$kCFMalayalamCalendar$kCFMarathiCalendar$kCFNull@^{__CFNull=}$kCFNumberFormatterAlwaysShowDecimalSeparator$kCFNumberFormatterCurrencyCode$kCFNumberFormatterCurrencyDecimalSeparator$kCFNumberFormatterCurrencyGroupingSeparator$kCFNumberFormatterCurrencySymbol$kCFNumberFormatterDecimalSeparator$kCFNumberFormatterDefaultFormat$kCFNumberFormatterExponentSymbol$kCFNumberFormatterFormatWidth$kCFNumberFormatterGroupingSeparator$kCFNumberFormatterGroupingSize$kCFNumberFormatterInfinitySymbol$kCFNumberFormatterInternationalCurrencySymbol$kCFNumberFormatterIsLenient$kCFNumberFormatterMaxFractionDigits$kCFNumberFormatterMaxIntegerDigits$kCFNumberFormatterMaxSignificantDigits$kCFNumberFormatterMinFractionDigits$kCFNumberFormatterMinGroupingDigits$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=}$kCFOdiaCalendar$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$kCFTamilCalendar$kCFTeluguCalendar$kCFTimeZoneSystemTimeZoneDidChangeNotification$kCFURLAddedToDirectoryDateKey$kCFURLApplicationIsScriptableKey$kCFURLAttributeModificationDateKey$kCFURLCanonicalPathKey$kCFURLContentAccessDateKey$kCFURLContentModificationDateKey$kCFURLCreationDateKey$kCFURLCustomIconKey$kCFURLDirectoryEntryCountKey$kCFURLDocumentIdentifierKey$kCFURLEffectiveIconKey$kCFURLFileAllocatedSizeKey$kCFURLFileContentIdentifierKey$kCFURLFileDirectoryContents$kCFURLFileExists$kCFURLFileIdentifierKey$kCFURLFileLastModificationTime$kCFURLFileLength$kCFURLFileOwnerID$kCFURLFilePOSIXMode$kCFURLFileProtectionComplete$kCFURLFileProtectionCompleteUnlessOpen$kCFURLFileProtectionCompleteUntilFirstUserAuthentication$kCFURLFileProtectionCompleteWhenUserInactive$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$kCFURLUbiquitousItemIsSyncPausedKey$kCFURLUbiquitousItemIsUploadedKey$kCFURLUbiquitousItemIsUploadingKey$kCFURLUbiquitousItemPercentDownloadedKey$kCFURLUbiquitousItemPercentUploadedKey$kCFURLUbiquitousItemSupportedSyncControlsKey$kCFURLUbiquitousItemUploadingErrorKey$kCFURLVolumeAvailableCapacityForImportantUsageKey$kCFURLVolumeAvailableCapacityForOpportunisticUsageKey$kCFURLVolumeAvailableCapacityKey$kCFURLVolumeCreationDateKey$kCFURLVolumeIdentifierKey$kCFURLVolumeIsAutomountedKey$kCFURLVolumeIsBrowsableKey$kCFURLVolumeIsEjectableKey$kCFURLVolumeIsEncryptedKey$kCFURLVolumeIsInternalKey$kCFURLVolumeIsJournalingKey$kCFURLVolumeIsLocalKey$kCFURLVolumeIsReadOnlyKey$kCFURLVolumeIsRemovableKey$kCFURLVolumeIsRootFileSystemKey$kCFURLVolumeLocalizedFormatDescriptionKey$kCFURLVolumeLocalizedNameKey$kCFURLVolumeMaximumFileSizeKey$kCFURLVolumeMountFromLocationKey$kCFURLVolumeNameKey$kCFURLVolumeResourceCountKey$kCFURLVolumeSubtypeKey$kCFURLVolumeSupportsAccessPermissionsKey$kCFURLVolumeSupportsAdvisoryFileLockingKey$kCFURLVolumeSupportsCasePreservedNamesKey$kCFURLVolumeSupportsCaseSensitiveNamesKey$kCFURLVolumeSupportsCompressionKey$kCFURLVolumeSupportsExclusiveRenamingKey$kCFURLVolumeSupportsExtendedSecurityKey$kCFURLVolumeSupportsFileCloningKey$kCFURLVolumeSupportsFileProtectionKey$kCFURLVolumeSupportsHardLinksKey$kCFURLVolumeSupportsImmutableFilesKey$kCFURLVolumeSupportsJournalingKey$kCFURLVolumeSupportsPersistentIDsKey$kCFURLVolumeSupportsRenamingKey$kCFURLVolumeSupportsRootDirectoryDatesKey$kCFURLVolumeSupportsSparseFilesKey$kCFURLVolumeSupportsSwapRenamingKey$kCFURLVolumeSupportsSymbolicLinksKey$kCFURLVolumeSupportsVolumeSizesKey$kCFURLVolumeSupportsZeroRunsKey$kCFURLVolumeTotalCapacityKey$kCFURLVolumeTypeNameKey$kCFURLVolumeURLForRemountingKey$kCFURLVolumeURLKey$kCFURLVolumeUUIDStringKey$kCFUserNotificationAlertHeaderKey$kCFUserNotificationAlertMessageKey$kCFUserNotificationAlertTopMostKey$kCFUserNotificationAlternateButtonTitleKey$kCFUserNotificationCheckBoxTitlesKey$kCFUserNotificationDefaultButtonTitleKey$kCFUserNotificationIconURLKey$kCFUserNotificationKeyboardTypesKey$kCFUserNotificationLocalizationURLKey$kCFUserNotificationOtherButtonTitleKey$kCFUserNotificationPopUpSelectionKey$kCFUserNotificationPopUpTitlesKey$kCFUserNotificationProgressIndicatorValueKey$kCFUserNotificationSoundURLKey$kCFUserNotificationTextFieldTitlesKey$kCFUserNotificationTextFieldValuesKey$kCFVietnameseCalendar$kCFVikramCalendar$kCFXMLTreeErrorDescription$kCFXMLTreeErrorLineNumber$kCFXMLTreeErrorLocation$kCFXMLTreeErrorStatusCode$""" +enums = """$CFByteOrderBigEndian@2$CFByteOrderLittleEndian@1$CFByteOrderUnknown@0$CFNotificationSuspensionBehaviorCoalesce@2$CFNotificationSuspensionBehaviorDeliverImmediately@4$CFNotificationSuspensionBehaviorDrop@1$CFNotificationSuspensionBehaviorHold@3$CF_HAS_TYPED_ALLOCATOR@0$CF_USE_OSBYTEORDER_H@1$CGFLOAT_DEFINED@1$CGFLOAT_IS_DOUBLE@1$CGRectMaxXEdge@2$CGRectMaxYEdge@3$CGRectMinXEdge@0$CGRectMinYEdge@1$CGVECTOR_DEFINED@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$kCFCalendarUnitDayOfYear@65536$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), + "CGRectEdge": NewType("CGRectEdge", int), + "CFPropertyListFormat": NewType("CFPropertyListFormat", int), + } +) +misc.update({}) +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_4_6_Intel": 368.26, + "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_2_8": 263.5, + "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_5_4": 476.14, + "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_3_1": 299.0, + "kCFCoreFoundationVersionNumber10_5_8": 476.19, + "kCFCoreFoundationVersionNumber10_4_11": 368.31, + "kCFCoreFoundationVersionNumber10_6_1": 550.0, + "kCFCoreFoundationVersionNumber10_6_7": 550.42, + "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_8": 744.0, + } +) +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=}",), + "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"}}, + } + } + } + }, + ), + "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"@"}, + }, + }, + "callable_retained": True, + } + } + }, + ), + "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",), + "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=}"}, + }, + } + } + }, + }, + ), + "CFTimeZoneCopyAbbreviationDictionary": ( + b"^{__CFDictionary=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "CFStringConvertEncodingToIANACharSetName": (b"^{__CFString=}I",), + "CFSwapInt16LittleToHost": (b"SS",), + "CFBundleCopyLocalizedStringForLocalizations": ( + b"^{__CFString=}^{__CFBundle=}^{__CFString=}^{__CFString=}^{__CFString=}^{__CFArray=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "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=}@",), + "CFAttributedStringGetBidiLevelsAndResolvedDirections": ( + b"B^{__CFAttributedString=}{CFRange=qq}c^C^C", + "", + { + "arguments": { + 3: {"c_array_length_in_arg": 1, "type_modifier": "o"}, + 4: {"c_array_length_in_arg": 1, "type_modifier": "o"}, + } + }, + ), + "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"}}}, + ), + "CFStringCreateStringWithValidatedFormat": ( + b"^{__CFString=}^{__CFAllocator=}^{__CFDictionary=}^{__CFString=}^{__CFString=}^^{__CFError=}", + "", + { + "retval": {"already_cfretained": True}, + "arguments": { + 1: {"printf_format": True}, + 3: {"printf_format": True}, + 4: { + "null_accepted": True, + "already_cfretained": True, + "type_modifier": "o", + }, + }, + "variadic": True, + }, + ), + "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": {1: {"printf_format": True}, 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": 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": b"q"}, + }, + }, + "callable_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=}",), + "CFNumberFormatterSetProperty": (b"v^{__CFNumberFormatter=}^{__CFString=}@",), + "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=}",), + "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": {1: {"printf_format": False}, 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=}",), + "CFAttributedStringGetStatisticalWritingDirections": ( + b"B^{__CFAttributedString=}{CFRange=qq}c^C^C", + "", + { + "arguments": { + 3: {"c_array_length_in_arg": 1, "type_modifier": "o"}, + 4: {"c_array_length_in_arg": 1, "type_modifier": "o"}, + } + }, + ), + "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"}}}, + ), + "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}}, + ), + "CFURLCreateCopyAppendingPathExtension": ( + b"^{__CFURL=}^{__CFAllocator=}^{__CFURL=}^{__CFString=}", + "", + {"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 = { + "CGFLOAT_EPSILON": "DBL_EPSILON", + "CFDateFormatterKey": "CFStringRef", + "CFNumberFormatterKey": "CFStringRef", + "CGFLOAT_MIN": "DBL_MIN", + "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", + "CGFLOAT_TYPE": "double", + "kCFFileSecurityRemoveACL": "_FILESEC_REMOVE_ACL", + "CFXMLTreeRef": "CFTreeRef", + "CFStreamPropertyKey": "CFStringRef", + "CGFLOAT_MAX": "DBL_MAX", + "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", "NSMutableString"), + ( + "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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_static.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_static.py new file mode 100644 index 00000000..b6005267 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/CoreFoundation/_static.py @@ -0,0 +1,107 @@ +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_Foundation.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_Foundation.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..3cfb8f2bda6b8f56eebfa019d47b2a33b829fd1a GIT binary patch literal 173344 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 UopJiy#@Ww}y6l`XdWpe*19d%UQ~&?~ literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__init__.py new file mode 100644 index 00000000..37d3cab7 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__init__.py @@ -0,0 +1,229 @@ +""" +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. +""" + + +def _setup(): + import sys + + import CoreFoundation + import objc + from . import _Foundation, _metadata, _functiondefines, _context + from ._inlines import _inline_list_ + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Foundation", + frameworkIdentifier="com.apple.Foundation", + frameworkPath=objc.pathForFramework( + "/System/Library/Frameworks/Foundation.framework" + ), + globals_dict=globals(), + inline_list=_inline_list_, + parents=( + _Foundation, + _functiondefines, + _context, + CoreFoundation, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + for cls, sel in ( + ("NSPresentationIntent", b"init"), + ("NSURLSessionWebSocketMessage", b"init"), + ("NSURLSessionWebSocketMessage", b"new"), + ("NSURLSessionWebSocketTask", b"init"), + ("NSURLSessionWebSocketTask", b"new"), + ("NSInflectionRule", b"init"), + ("NSMorphologyPronoun", b"init"), + ("NSMorphologyPronoun", b"new"), + ("NSTermOfAddress", b"init"), + ("NSTermOfAddress", b"new"), + ("NSObject", b"poseAsClass:"), + ("NSBundleResourceRequest", b"init"), + ("NSBundleResourceRequest", b"new"), + ("NSCalendar", b"init"), + ("NSCalendar", b"new"), + ("NSDistributedLock", b"init"), + ("NSDistributedLock", b"new"), + ("NSLocale", b"init"), + ("NSLocale", b"new"), + ("NSMeasurement", b"init"), + ("NSMeasurement", b"new"), + ("NSOrderedCollectionChange", b"init"), + ("NSOrderedCollectionChange", b"new"), + ("NSScriptCommandDescription", b"init"), + ("NSScriptCommandDescription", b"new"), + ("NSScriptWhoseTests", b"init"), + ("NSScriptWhoseTests", b"new"), + ("NSUnit", b"init"), + ("NSUnit", b"new"), + ): + objc.registerUnavailableMethod(cls, sel) + + del sys.modules["Foundation._metadata"] + + objc.addConvenienceForClass( + "NSAttributedString", (("__len__", lambda self: self.length()),) + ) + + objc.addConvenienceForBasicMapping("NSMergeConflict", True) + objc.addConvenienceForBasicMapping("NSUbiquitousKeyValueStore", False) + objc.addConvenienceForBasicMapping("NSUserDefaults", False) + + 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)),) + ) + + +globals().pop("_setup")() + +from objc import NSDecimal, YES, NO # isort:skip # noqa: E402, F401 + +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, F401 +import Foundation._nsurl # isort:skip # noqa: E402, F401 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..21bd4d235ba149827273efa7740c6009c375bf55 GIT binary patch literal 9404 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_context.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_context.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..644c73b4badb966b4eed3d2ed5db48a7af93bbc1 GIT binary patch literal 2166 zcmcIk&2JM&6rWk|IveAZ(y|2+K7!h+HPl}9<4{CELaIQmgj*?8s(cx3b|=ARv+K^R z(>U^>ha9NXieqk^v2p-T{0$W+3sBIuH%`4ld_d}{@6CQ>Nuoei^+|sFX6C);_ul+| z^KfdaLO^cco9O(m5%LTdndqr8{sN43;t`Mfq(wAxg?QQ;@k$#IfzqOCPlr7t-_!cE zR{jf*n=a~1Xljg4g0W6GM0=#Ad324mN|?8$dnM3DU#}VQ$>!WwZRyPW+`H6^!X+na zyVtl_Y6oD2ftyyKa-v;=-}ncWc|Zq*sRL9|?%B!u%FhVtOcWNWxsiS$OCHfDL)wJ0 zCYa!k41>6GIqU_VswJLk&V46BmrMC|un@)vx`lk?j)kju+(>gb@&ONfu-_(DrjB$W&cHg+b+fg^v1Y?~H zNC$U!NC!Q32zcgquzj?V=BA`iL>cyLC2;^g@o_J~%wCXT0`GcAMHN00Gt7v$Fldr7 z4pR{@iH~19iPUova~uT)qcE$tD!)`VO?zb8_w)zV`_(7r1@Sf*1VjJ zV44TWntdjqs|my=UvXK~@A7y8t!2lL%W7+0V%akw$$S7PeB}*+k~pdfPro{y#>i~k ziS7=DgU9CV(}RcAfSSWH;xKTQIAd{zu_c9hu&a#y*mL~kL>z=%;xMY?poT;RtLg;S zsuUXX5U4e>rD?|OmPw6^vO*8lK0UBg9I!$PIT92T!OAN9~3~C4#T@?)R2eK*}5};&+07FI?FlQF_P8hr6l^pVZoxSfwD^5v557VJ{oF!P0y=_HcT zKhb+e?*xHg5FioZX*~njB`#pl)_Z4l#&Gtj_PYJO9y#>`KC4KMyvFsRWl2rQc%&wI zOkJ?cB}2pTJUNq1!G~pf(V|u;wfhOn)-|i}!ZfljFO=36Z2pZ|QMWX!Y^tu7vrM%n zc;bdx@glliESe?P!HDDWzh5ceIwp6NwKCu2rs*nQ7u@INoU&xt_MNnClr7UyT-&xB zC0}+R1XTxT8>*&r^*hs8GnM3)S=v&pLQdJNxXtcQ!SBLt6v;E&)aD z>~wphlbaQ9G?QICNq`SSbTT~7ZGe~L7j~`5Zq(V0CY!Fa=?0r=vZXp(I*{4+y;dx-tZKeH_~eC%QR{4?@qupyKg3AHv}e`zSAP zyZ8i;ieH5ZIO#&%$GY742pH)YL8l$(>!&cXORB;;?fmM#G4J{~)F?+?)+C<=AA`OZ z&iR=aut7J#rcEdDZaNR!Ny{u+b*FUuXB zP!)SA)M$oZ1245uH+=p+40s}FA|QYZBY`%9i9QA^AcO~IUMpMfG75=*3>LV^83b>uw5Iq#7P&nAB zGnM)jmiyP8>dkYQkL_JmwKp{ag~nkvzXEVlmAB3z+STVRu*1heRrS@TCR?eqm7p+P zo;WAKHAf*ixDVYlp1BBvV@Xbe?KCdZBgxr1o85DMO1%{uY;j*&{GTMruY(`{34)(3 zr{s70oVfdhI0dUD&klS3?O21Q_oZ~d5K)wvZY?ZAPz*_xZon89s&Ls>X_ojQ*5Kat zsOHh!2?>blhZ(Mb;XPad%OO;-h`fFGRrz3eWLy3f;lKC<<>7*zCt-BEXVWaxO+Yoe{E0Ha*ij? zrLx?Q0zCw(m%l3d*Z(a40><#-a25d$MM~*kfSft^jm=BcB(<7PE2Y?|M a9choI{m~4dL`RQ?01k&pB>KJR^Z5r~k_Kx4 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_metadata.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_metadata.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..111a9d6d8f3a22654a2fb538ae2d12ce04c4cc1c GIT binary patch literal 360483 zcmc#+2b>(W)wiz~Is`%wC4_Ez=-}=HH+*M`DQ11MKCivEd+gr1(R&TOV|wVlLujFd z-b|>bLqZLNP(oRqK+$g zzlOXO9ptU#t?aGRm0apoz118`y}I`sCy8r#YkF&WYj@SC(s;j}*K*xJQTqc2c^cS26*eDg=)QZvx{F>Bhs8P&|8mr>uJ38nYX^i+kkl+XuJ)Xx1q+{h3hPm5>x!$(S+g9Uk$Gq({-uBGfUgPb+yd5;&j?CLpjOLp0t{<_*<&!?#$a=6MMUyZjP^Y+ttlbJVJw;IUQXjpXWn#;H-mXI!aT0mJoEEmzSqsXZjD!9UP0p(nOD?! zJRA!%sWow9nZYuHQou#J3-@}$h;FZ-bu_m zN#p&2d4CA=xL!|Y{>fp!cM9`P(Rima?^KO<8uL!mc&9V(bd7fg^UlzCXEN_hjdvFF z&eC{iGw*DTcMkK;(Rk-F?_7;{9`nxAc;_?ke2sSj^DfYM^O!eJ<6X$S3pL(F%)2Pe z<9fZA`4@-z-X+YtMB`n`yh}CSWz4%w<6X|Y%QfB~nfFJHcLnpV(0Ere?@En#74xpr zcvmy;YK?ad^RCf&*D~)~jdvaMuG4teGw*thcLVco(0Dg8??#Px6Z38g^R5`kyqg0a zf4?R2{np6$+alj@k9@x)^8L=p_q!tB?~Z)GC-VJI!FTW8d97Cr3}SO@Onx7iyI9i{jrTC~9@cn|Fz*qK_bBro)p&nl z-d{A{W6XO@<2}y2$2Hy)%zHxPJ;}T$HQrOqdrIRy&Ag{I-ZRX5Cd@??vXlsPX>FyuWI^mzejG#(SB0FKfJ4nD>gtdzE>w zYP{E&_nO9goq4Zoyami#pz+>d-WwY4P3FC+@!n$ITVbB;gKq~s#=H~x{%-Kydv9K? zQy+NW`v6w|H~#nU{O^a}N8o(S^e6o9r~L0{-ao+q-1`Fm{*y6ZGUs3X?^pcq*WNdH z`mOhG{QI5vAN>2h_rn=9qxjML3EzJ9{)>NqIThO07E~Qm^`IJn^+1V|tPg4f ze!3ym6~1kR&&Es*0<{TKn}XVmsm(!c;p@32z6se|f%-iowg$BgQ`>^tj;ZZ^-VUI4 zWZq7oc4lfYs3A-Z1tsce7^vaQ8v$x0Q=>q&F|`Y*U6~pU3iXD6$KW%Tsd1p7BmNza z&u*kG{!YMWi1!ozZO5krpNaVFj?YT?>@lw?Y@gf;dxF0g%b5gfZ+!N_XJ3z6Xg_== z=LXXMQ)?NsKR6ktrhw|ihtc>;ST9F9$W$7YomcD2n2IM|_~`je)AGsT`E<@_2BrQTzn1;mGdBcKbWN*0!rj{D5%4j zcQ~jcsE6V2k@y_N+@nDq!_={$j>9LeZjPT<r8OYVhLx1I)|xqL7m6c`JgUfY96QynYsv+DC@^8RIVZaeoALh2KA}#5a-ZDo|H5_8L&vGIbrO>+x}|iyMHwkyG9TN@#d9D51kG zpl;=-w}HAHpRiomDma1th3ohZJQ4MBr%&Al>TZ^H52!yeb+7;QK2Z1LLphjicK##(|_R__jXF*#K!pEpG_kMl7+$+ZcZ_+R?xGOvaNz^J+lpx%fR7PcX)C z1W@B`0`#WfnCrMwv(12|@v+9+93P5UYP>DM6E(FJzEMO~<86)4HcV}cr$XoLz}udA zJAk5ys>a(1pPeax)N7457!;4&^cUZU_<9b-w_%)OIH(a!jRZA{sWwo%kQ983v5vIC zU4a`dag}304aZ|b*Reo}zAz4H#>+G^uE00FZvA?~lb~*QL&^!PUpuG{rY3?Cy=Zq} z$ye2Qdw`;-r^ee8A5njMffA*hgr}mn?d|iZoPxJ6DDvestdXF|0`>==P!*+=HIV^E z^jwPkXjG|zZ>;e=rm~=>GDVS{sF7))XdJBZa`=ccOb1VBPH~;cJ&&iNPj`c&2(QK~ z;sblezdgW-{&fH-VKpW2g)U|A5Q*S>FFt+vW+?-ndKIVRGIboNNKWK2XzKhXMz$ndp0PF>}tGo@uA4B#ycM$M0Tv}JkX+U zF9LNjKfeUjrA%E0>T;(32ujr6m7uO--qoP4Vd`2?*D-ZHs2iBN5!6jg-3;m$rfvmw z8&kJ~x`U}ZLEXjF-JtGa>QA8VW$Hdq_xs-J0epLq`F{o_EaqWQk1+31P!#{vc#q*j z@lTES1U^qP^%SV5nR*5k#St~$b3XMvs27+wAJmIX{T0+pOuY<>;+q=pReWA!>UB^H zn0f=$n@qh0>TO@!cku09=D!E(eWpGDMR7-s_ji0gWa=YOA2am{s85+93#6HAjrTb| zCouH|sDCo`C8&Qf^%bbEnfeCQw@m#T)OSq%2h{gW{Q&Amrhf8qKZC-2U-sHxPOarx ze=TPHq8(~6R@d@aU5l~0hNE>9t-KpQ%iBfttp+XF=tdHyzXrrt+Y= znJR!PGSvg>0H#Wy%AjCqr?cJGVic;Cws#rj7?i{jJtJ5ucNo`U9wwnWA<%m8sJ}ozB!5 zpw49KEKp}Nbq=U=nK}>D`M$On;M+XrUkK_VrY;6`2~(GXx{RsILH&`bD?nYz)K#FC zWa?^AJCtMGIchnyO_Eg)IFpv z{{9K8LbX_}uffQ+lzEjN>zo6ouPIjN!~Y`PefZq3R_U|!h!ztyqeJ7z<}v% zhvf=-(y}ZMXSJgLVMIPKNZmXDxMd;pA$(|ty)XXKe3{zrQJU@K{If~}!`Qz_%wvdr zgB1A2kuah#b;?Lf^|(y+gq8~5VpBbdR1``1I#tMi3OYO;LOo;Dn^4b&P|sOW&jS^% z2}T-ff+W(q0Ac6j^CCWf#pfk4D>Ul)GVoNASGW#nt$@D08dC?93#}ChjcUDT@SSpc zJth}gO-Q2^ts$s7w%5y>QYvXpp6@Nv+EOoXhctKx*mo`1_wbDBgtQHnOn!R{e^E~K zVV-MN)F`EP&FOt$X;p*j8)d}5Wa)l6K%4BAQvFTpr{N9dCM>O%h?)<{wqR*J#TEMz zu<?PT5%nohpUHe_#fEC*b4%M0_6v!nm7F9jt?{^&hvd?#4$YWpO!~^;F9`Fs zl=lc|viSM<*!mXXzX3kJjtKRwFEzPDv?fF)Qa&-RrfBVmu+%$F#fNGOt4ET;+7VOO zQHoGl&%+bgUQ8?e0E8}^SEj78YrP-Y!hZt7gC5j}YQ3N5(TY-hPXCoTQHez<7FABP z3Z|@OQRY;K)eY5xbsl@HQ|l19*Lk%@yTeInXvX^kNcR>#((Z_hRQ0G?_DA?`@)(~2 z(-10~Ok?zvgryZdst4+gq8{qJCTSzJ71ly)lEQ+L?WWFama+qztn*r8WLIl9b-ePZ zS~ID{v^GiDz{VDpR*TD==Hsub+eK6UCH`kMO)I$no7!9Ie^z@-hjJpnX^XhXf4h#F z)VFA5JARa@<27$lpDv?JowpohCXF(6ymqdnz5`8`w|e(FtevYCt@Q}|>lo~cJ~puE z{_++pv25YxluYGq0>2Ybz6XNND$9}3cW}|jl<$snF?J0!YVYQgLU0q`5 za|J!aSdQ)FMz$1Hh!M~Z5wme3~(t@tyPgKJ|eEe&PpBjRK$2i zed~05Ux%U>&~o1(5~qtazvGX(BsP#+KU(t@nF@H9p@O&$q#6 zTT2UVmqNGgQ($)hHg2R4EwE$C((aT{T3Ru+UQ4A*I9D zShiF}`x9!S6N+|ngRzqA%J(jyE62(@oaU?JUElPn_Ds}hFUY1nW7T${ng&iPlTnkMP_!qWEGy%LngW!n;W#fsW#~+S^-^H7 zDX>#hV7pRa=~O^`o#s#jbWT8^Y`u+8Gqil|9yAYZw=dD=6$w?45*;HLq@bC3+8Bm% zDmv-YR3X!Z~%%qx_>4c(F8}W8SvSx=+_8dc&1-$gVA&O&M zd^dSw%4KdS7arv*#)1QZItVDSB4^6Oop&1K(A>1nJ9r+gyP32)1Wym8{9ud0J^}fe z!>Hb4QXP(GVZX$+W@stO;Rs+ub!R~x>4Z8e5p^_jJjMxitP|=uplA%CwxRvt7xDK5 ztYg!9so}F})O^pDBWc-Ia41LxnGWc7}xXu$WoMD*++WH z@d_WCv^FYAcBPLG`jObVtMjg!S7)`Ht3&DhzG1O}Yf@mZ)v&T(Sma)p0(-rNm3_h@ z_l6YM8yRc1Exm=~?2Asdkk?3SUpFI-7?W&q-7T<*TNx!*s&6y4D4}lWl8EyVw5H8S zLk$u34oB>rz~1HSXp3g=2I?Ls)SsMC_d22OOGMody&iBvJ?Mn`vlHqeC)C4ED6%Q# zsbzFzZ2w15(!a38I-E3x9a>S3ONmMToFqQs=PqIaO9mSzMWRp8ZwpR z1?g|7e)xn0coeBs?yuK*gr|{8*parsZf!-XOTxc}&wPAv288s5BwEwAc|ywRrBF`s zCrE^5FQ>%6BJreQike0l=zPXN&)-3#vRiEURhdV1_NY#dx!B|Dq0+=fS5&hLfE8nf z%?}gm4IjmAWhvpCGGDS+*{assSc5TYW=6fi_e7vg^EuLkW+kfkM)r_mQmv__a?R^) zEtOX9mb_?ud>7Bi#*_LtVc&Daz7OmNz{a=J-+=nNkFt&Yg!<44^^p_mV}#@i&JzH>tT#|ia4P^$m?Ge_j{13o{Z*U|a7F#jiYCa+?CPMZA; ztm>=2_c8c3!v5Duzh9(8;Q{S)vTskV=N+4%wd1ig#w26waT>1PqZlBrRRpTe300qn zYCw*(0vBjkPp94te!m{4>FTwUZ1y@A*p?J>TP2qIZIax@fT0=^^QwApal`6Xy|)Ck zU6Q5x5(C*rs@_|Q=Ef0Q6Oxwh7fH)Nr)61E(g;(JGgI|^#)(>nVkUW_J@U;Qb&1r! zLQV(r$8@$=V3wEKkj0xLC#pTQOQxuFy8|Mp6=Y8H7kN&+PEsY;GR29? zw+Q?|3(k;GD*8`on=hm9qcJaH0s5HRt5 zZxfUvZA4s;HzCyXn-Jpbl~9{$+R7F%jGdbUyM@GtJ-@Qfg|SnTy``)PHFl+zTQS;i z1*yN6c1S)j`CMhaM``Fzt%zRgy=^Fd0&iQig30r5hiBVYp?TmRwL2sgWgz)G$XXAN z>@Kxq$-~gLl*^7Nwc9DTdc5bNp5Jq!duj6-EtjkU1=vPKvqY070}6}g0J zCbk5ls*s(&1me7*QyYZdNv2j(dCWsS?1Im(JWCCi&Q^1yfgXd>1?v*j8V(>JC?Fh;B^{`+k0!w39%HCVy zM=9UkAt!w;>`_&!J&{U}mQCK#)$@?{d-c1-Nm|LYmctWMWJr4Kt)+6crG2VOwJ%cj zN9*qgy(dE!$&;20O4=Tt?Qis!lqw@rDQu9+eAl2JQtQ1boGQ7`6Sgx2)&o{Vbha3n zBxapZQ=L#JDiTl)x`9N><=8 z#ngMK+{J}V-{Yj^0Zyn=NEi1uC|8xL7pYXVm}DD$5=(X@{Jx6$$YNCFt9<8aKnY&_ z-k-3bnLr12=irPFA3NVe3>xMoXwkQFCe@?4<8Wvs^vkl5?xH(cPU z%{mW~^5fTINt1(tRPEW{HFC%zlzk{|{u!QvW-r=$R{|KZ{Zowm+ zP)9kTj&?#F&O~)_E^DR6Ow}eq>)3A) zh%xd!nOFa{&iSb%l6AR_=og^0^Q3H=zx3xwbRlG4BxNT>w1mA_VyT7tTaQa1Q}{x; zK3g%rB@HfhLS5#By4(r%M<>)3K&dfToTE(|HK;UKYN<54#}kuhp;TAlner@tE{1+W z*sCR$EJx~R?0|V zsa#rvQn|JUVXxC_SeC%ha)i}eE*`75oE>{TQ*Pz zZBD4$fl__eM8%CER7ZCt=0a!B#lDuXDthAy%~I;UyCP?Ya5fmyOqO{k(08+@febo- zR4D`Rg@}=Hk5vX~6_!YKLT6jQ+g|<@Gxoxx*osWVBSq4`~xZR z4?-7Vv(mPWTKqW?^$_xY*a=0YiO-Q_J(`I63s8>%)qm0QRBh$b3jq8DZ4Vi-KpMt9{Gy1&`Qgawplk!Y8o|wE1$zFhG zLCs6NVU!~58;lj+Q}_&fTxfbvoW7@Lz9UhOH!jzEZ-%s5h&+tZ56LIHN$#bIWw6SB z+r6d?cPiZL=^dAPO3J}nig#UVscPx(v2-y?Qv4;>^yPw*h#d-?suE%`Ap{tPN*Mz z>7otH@97m1e@ub>DFycD6xjc2Sbis-(Hs17YJ-2?pCTgr8NmkpDn$d%@hdwqw}n8} z`Y5wC2~?erij!3@OA`31xRV2?0qwF@CNyYRgt8k`$__>YQG%qmDT@*`$z0slCezhU zbIKB=sri;gD7zK1g)cK$3Y~z$bMm9;!%T@cwh&KI{>~|S{x0~4b5W%Djp&Iy?dG|%$Dh>+DE72l0 z@lzVDkFd0|9FAk?p38jj&2J$PTCMD-NtS;zu<qwyh)r@k}k=0KoZ^Spn-oul3Fb}_XfU! zLRj)I@tQVxYsyl&VAqn^Bx|R#t(^k<+Y~yixU+sO|2MxQE1&WsyGSw}dv}{zn6TlUT@g!S3bj zkhGg6WKZ(($$ISV>!H09z*@$AQpl!wUBv8auUgg$>c+HQFSOq;l!NG>>iz0e|7zCk zM+HC&p1*cLx*JA9s`besjnwadsPw1#k^;(?35_Y%cljL@QHuThH7CCvQHG3he5TS( z;XG*%G47_f(63Ws$^QDYmObc^m9i;zj_U`6of^_32}{4Q>UJ}<0l$sb;7yaVRV-@j zkA%&o&|`WExieB=^Nu=nL*IgZ;A4}04dF|`Q@e?GB#|}wu@Y#L@1<1b zs#5iGDzSdpfZs81@Mc#0&RYY13%xKF8eIrAG%M9SI7BkZ#@uNa$> z#>!x%uzUZx(C@$$*n=Fg2Se^5J~p}a2%pCL6aG*spL%wGdJU4jsQf<3UR2)hFvvcf zEla%JB>854gGXtOK>ev+Llj5F;Hg=d{q~kf@9NnoFINvl*dt~8(i|<$8y^Mi(ZGoK z&=#8!>KG?fu#y!g>o_M_$2*};a6+BvggVIy6|BR>mGNZA3VRXrd+{1Ps@qdiV5zsd z%BA?n6?=LL>=_zX&IApS8kOzL6xg#;V1qjkeh)N8i|0Uxb0JstO>y2uoeI^ziMKMD zM>~>p9^{CgVw?RE>ike{!8tH)e>^dbq?GD{MA`G4G$2%Z4d_Jr2GD@4Wj;P}yVw^Z zhl?bZ{EHYr3_C1%CL;Qzy)2S=v6L8$NDCwJ5=guh660HoP?!0r2JdpC1rdt&AA~IV z4!nw$6hd7g%OK)Zd%qy;l^Ry&ZRkUUy~@wsW_N_TT9X)``!yQYp8K_sdtGAggu31d zb%O({j!%@R{u+#>MB(H#uN|xLwa&A>2eQE()Xh$)TYw5Yv%RgT z47aAh-j)J;yEC>PCs*9{y(0zo&J@_YfK|Wwto1PPO zH_49P>sM*?+YV{VtUQ0vV#-G)^^kaP^+76KlIn?m%fY2&(H`P%$$xjuAs8!z8mqK% zcTe)6W4=Mj(rXakQXe^Lph{`(=VARKyQ=6@@|<;I@A|k3T|{nXt(4B@(JtP%ed3@? zk{9~aK}KMs?p}y~wZo-9i1H`(u75a4ODgH-5gG3B?iUz4#O&9$x=mxkKdtgBJy>O{ z`xY2G2mErO^6>k7Y##rL?)#m%=775?=u>g{qy*$UINcf^P;byFXgRv zN6A~*XBuDotz}yoq}KXImC~Abl0DJyq$mpydbmy{$@sUDVbvn2{iHtfohHlOy8lyU zy6#S`sB@vZCzvcKU%*8OkkE2NE0bu89WkCwzY9_e%tJK;F?VKUl$JtFlCL zzo^o~x++T|>@mI-8*$f7w*=R^Z{#&Z;aTiDHuC*Awe}m8Z7Y8x|1ys1NA9VpXC27x zDe9xqt2dlOxcAgX{JxDsit#?0hpo>y;umy+`cmE`+Vhj@yh-KG7UZ6HGnLJl#$JYmPQf<)h{s?KpQ@QK0zN!P`cxoU2H$b{M z7;`qH^j1H+5uR3Biiwvr=58$Yr1ttA`3~YcfWp@|dYh027{|>slt%uAA4*9Pn7WhE z=xrvW-r!fv#8aV5qqjNo*jnmyBRVUF@_L$@Ml*%7Ng85X` zFC^9D*1jC~ytnbw1ey~S)gmeHZ6Qarg7Dz>xO6+pQAYFbdeSW?JuZ~*w*cR?lTPhO zH=0)F+^QercT_U`_KCJil5gB;p(W65DlSLWIt*TD2}2fI!q6BA;TfsDrw@yfAX+7< zEru%z3o)AM8yO7)cqk`d*JK4`C>HYJTUi}o#hx?QSF zx2sBrzv2wOiqBD&Sf4!_Wn*uVQqwUi9sbg&Zuc@{L&($pv0z`KD)%WdJX>=Y{#6))gl{AV@?gtrkM=^+bqa$5XkINu6 zuR78AVOa;7qO{b;7~Z3Z9h*9h=~%&Oan?%cGk0)|SAcem*_~IG*8J}g;?9FhjS2pQ`LBK4hL{5b355>Pu!o>^I{n&ojp|<&xBow zl=c{m?o5icVMbc4vyXL8tHsQ!Qq8I=72V5J@qua+xmJ%Sw%KQ>0$gx5(LceEu;<^1`+ecrnZ17>?bn0o zy;1#W)JTdYj`3xLOQz3-lVlw0AS2K%Dc(AcYd5WrKOU)q+cDB(TdbV!f2tO8x4ILn zN_7%aQNJTQIvxE3YpWKm{vc5yr0=(qS7A>^>hxuzTcqhzsoQ&|sKnlDDWCLt(XHy0 zWlGiG?3S8jTW2U~9Fqq61XPl(pSjQy&RS>*XD3Ra@(7=hR3qo~qpWiiWhK?_d5IF- zOLl%g%DO<474;eR@oip}=`K|1VEJVA?m1qhQfjj<6(86&y|~JBmsFYV(kj!@-CN~F zh~hXf!i)L`vCd=nOqV0Qh>c`D8F!`r2vl4&K;BTBZ(&Xtzxqgbe^pGz?>0B)dnJ|5 z>aX6pK$`J{EVYZ9d<`H5>2CFu21X%TTJhZ}K!Icdiy zke}4b*QbybNDZh4FJ9Lh66Gh==8X$2;iiR_aC4%BaE-+Gt6NgY3QLVUW#5Q9)k!vy zRL{31N(gHcU&h;0$O=o1FXJ64q$b(@ohf7m8U|F7-QSfcKdC+LRubT0^%+l~ML;E$ z_Z}t9>MN7<`I9EWeayeN%5?XsbSQtiD1&a9yUw=gPPrJr=%ljgOlVNYM5(wn?i72Y z_h400gPeqQ*<%8_$L?Cfhn#e2^d81oE3C+#FYn;81;y2tkQFXXd~H3NqBL|XJ-)q! z9ox(BSfYe*JCmQY%cA?~@!ABkhzds_cByn{T}V~EEO|Zg$w+UpM@>&fkSY(>jcveo zmg?!MQ$AC5%4e%i`CQd0pGW3O!+Ipmc5ZB?oMT~(^@s!H{r zs#1NARKjLuOln+tL3l12%0V7o{9$xrQWM?Y7j(Z*b3+35DGJ_C?70lw`- z!7r2sA5&~$OVuQzfGX>wiEqGGTboVdW^C1Y)4VKQ9W{A%6>0b+cFZW$p#dNer>7AYwkx`ElL*tieCf|*F&`4^)i#jYJDbdRl3P*^>Z=BSiw!9Xnx^3iO*rN zP!5&tX)jy+?nD#bbmC?)Li41STSEGbG(NP+TTw~W#VDfF_a2-=_fNJMyk;}X#~;nxGv`i2sV9OEPDCjN!Q>QnO#>8kUl`_XAV zWpGcL%V&%ToA}ohlSb+${N7>u{8#c@)NKznZa<<4XEc&~O_I$f--Hf(hj@KfRr+w7 zMq>%P*Iup4bgQEUxF>Ob_I~sm4HuLrppt574M-3cVV_Af;WrF}_E0@k^rIlBfJ*XW z;XBHv=*M24;hV|nQZD>06en>QBn}T@Reh>?M@;NX8XD@BB#!WPv{~Uuj1shR z6vQ-Q&FqQ z+N!sRrT%BNw{$3{I4@0pa2JUsUlot7!u6_PoA|eTmA{HFS5xAz_Xl(S+aUO|pq5|F?eWHznz}CFkRV-<1lfl~dGYM+q?%Oz}21dI3b8taX)2c*E#eRQQM z%QR|QPDJ&hT^@8mHQ{%BlXC1u8R)Kgyk4__n(c%lIq|aQLKdw;#G?+v>c&nEs3z~= zMARY3@z6xnVL%=3ggU|rbtF*A;*{5pixgewC8Xz3viDIv(hbgaXmkX9Anqd%G4xnU zL${f?!QW#HR!`554e1-_ua5)vcwj~Q*`k&cfI86$b&?Z`Zto`Nc(N1f6dz@arbv5g zv*aAfUs5Ym>?2y4=kB)EGDF={UZ+bb^K~isMlGRMLDZbaKgnnDOC<3ODN*=z*-D1o z&jj|YQ0}}o>1)qk5>KNiE5lkTyY;m~&y~MsVf31mR<4I{`Wl${l3tIK zm^8wv(VOhU{7$1L{Kjsh_ze;CA^QCW6-CFLp%tl;POLV0bo2C{L~RLmZzAeOw8KrZ zOjM&GJH|JYKPMi&Z#eBbGv#!%%!x+DILjmKEsoe*fxS&)AE6e(NB;hSv8@SzyN}mO zoWi@2lslx9>U|_hxzpDr?zg;~a1XZ0y9?NO8@(H-WZNLrpPXco1yPF&8y0tcXr9kA zQ;sc7b5W9ipO%tZCN!swO?iLSDIcghCC!_Hatdvm@T4tDuGu<`zYP%k*4$crV*deI3*{ykaNOHQblolvhNqFzN!yatqr zYRT6&d9Tw5VW`^$c=kr3#5aL@D-rcJQ13XQ-gQE~2Tyti`uuzzgQ?a0krcGaLy-pW zxwwab#?l z`m33@nB%6GpS%b5AzFD^se{XY$A@T(F(IAhcw)3}!j15!Qld`9-_sC7uFX+ZWjoPRwSJ_X$EaBK zA*ufYR(N$kjxyRkVZUOmkHfbrb%B*`YMj|pE?-A-5mvk!N*kAoJfCYhzK!ItXv*<# zM~%King0W<^g8Hw)LVQX1llw%QL69pEZ%N@0P07e_QgkzbRo)CpOoq+PNmH|Q2(J> z2)>zDCn)vLF?rfk(YO>}o?lLF=6R+-HGAd=gitk7)`8ITc=VRVjrK;!S|8brn_zZi zgGcLI$@@^#EF_pIkDC#K`XVNMR?o(N@ttqgJ zF*a;x%Ax}vpQbg$jHK7%NH5B0TQeq&u_K<%@vk_{c%f8F2gz3@<{c+C@Dp6WDCi? zcR8SxovCva@M|ay&QYLG&4;DGg^#+oAnw@J;e2SoZ}xtLUmtG9FGkjT-^{D67$>Q% zR{);u=rqvWU+|ZH57M-kPxuuzy(spmIO74-N-;UEywDO>(IiCjhwkAzsP_)X>47#I+zX+0(D>g!(N|;a+EJjhM;TxET<{%q?}>-nW2ixd5c-hFg}<-8Q-y1tf1SW8lx4g54J z58qO)7I`*v4W}}$WZS3bN`bVgqtho;2Jj9#mD^lT^*;6-ro8Z}Gwu_+u z8QK!s(ut{NcvHJy+$=!{)xs{aHis+~nfU86mJw+S#!|!<`0=1G+ag=Ci7jO=!kf#J zS(aS3N}zY|N(}PYAtsL< zLp3W#ZaQlk-$QqjX~^d!wfW9Ci8B~D{Jv;_mR3r&XFjJxwMD7OvM5qZ%4LW#7vZ7e za~X;pv~nP4`u#zhM;p#sS<7Ux$q~_VAQw9IZOdhpH5V?EC6_j&N*;%HaYF41lp0Z0 z6eZ^!cw!r^N8_1mo6+i>&^B)FFxE%e_T$M`#-V=6H_*D0Yi}HnG}Kdk+v4#kkOmnki6+~I_psA(YlL2~Qu?j(B;O}6mJ$+Gu!lD(G`iq4}4_3K)? zy{k&KPZgF$D>u{&T;{v`Nvu|nmbRZPvE;9OE3sh3>2Tk=q0LYDyoC?Vs%+~()R!_L zja*~4DOwu0n61-K;~uklewt>S{Z_Xk?B~p>JX2*Ft*={Zt&6eML@3izE}ref$YB}W=W<^}7mhF{P(d4`%g*HYEFHhX3ClU}5ciyj23k8=?_ zLSoDfkDrw_B2vvnDt$fMJkO!pQu`qOIa)-HW`8AQ&vMdxHfta>PL;P|CMWWxx=OCE zxe}E!&&YaKGop@W@1Rf_?3OFA2dBUuk^*~Z3hZGiu!pC>9+3ijWD4w2DX>SUz#ijc z#rj?RI)P}vWBoMLCuDq8;RglwxD?pq9kD0C-cIzfal6vZ9$`=NvDzAj^9e&C^cXdk0jrcd`@e6ekpUm3SXSYu~3kq0VqZotcO_3pt(* z6#4sL6ins+tp1*4pTn~KmJQ|7?44`a4Qa-`j^uk{glhKAld{E}!gdx-VCnXPD5E+b zk+zJc{d6Jwf|xSSvy`#fyD)|J7x~(Y=tk?cct$O!pCt*sXOBl@yY?5S*8URI{iQNh z{H&?jBkW}o8z0jP?B$HD#|RqCe}Z{Yy|=%yJ}H+!%3LUN_TxT-4<_st5-YTqD;gH; zl_9JjJz20Vh-C-8F-h}k=KAh_N zW}x=P%ptuM-@+-YZK+#1wOdQw=8UcNJ`7=fd$U-}?IA41LVVNBg1rOS}zR=eh zv@O*GcqTNGZCf$>p&EWrldbtftL!>&EiILcMt??L4TOf(g_p8JgAd&1kz9fWt(FsLuNtT-A zok-$K5=;5VMMy6L`$}T&gnBiF#Me?_Uw6uVK_co6+;gP$lK9$w10{Jg5%m^OZ#$vh z@liGpNwVJcQF5%R@S}u!FA?=V&d|{MMtm6wMJpT0C|b)9D4X^qi&im`QM7)Mj5@&y zMe7^MvQF|*wpu0aY2_kGmUs_(Jn93q(BB|SjTOlrC-9VtN_q!kGj6;z^G%jTpG!E- zTXbdl=zmgUAOBBs`9$VI{x?)(DOS>`bw4#r0hj!A%*@_6YLUdxQb|;{NcpK-LqFrh zCP#skhhZeATqv$nqfhmv|6EF;u`DD7-%O=f8m86ti~mV3|CG7RUu0$Z67~KsNRRhS zUuyo|=E(__?C%Mc?C%Mc?C%Mc?8&K&UpbVqIq|&+&A8R$;_oTPZya)L;1ywI^Ko+n z%9qxKU9n{Ou2@-x^k0jiK)o_B&^6ga57`5v9h-ZIG+cDx!_U zHuJ3>*LwI~(>J~ze$cS-I{c_%9WK>GnesUDd;miujDj4@j9-r^Sj4v?D#2hlLDL$u(2Qw#rQO`xf?0gI;VYo&_E zZUAh2%WR0;HwsA%`77u7TZ>0hHulS_&0tbW85Gim+AMDTRO_vTqxoTI6(JbkjCD@> zZh}Fufw(}u-gGETG3Wp+e6bGq(rygt?Vi3&RL7MBV_MnkgZlL(ym*y;8$f_Mj=8C z_DgQFIYJF_Lb;A;BrzD#Z21laYM7s|tz8H;+zBJ~<<8Z1##p`i*TZCp4L-HOojs~Rv?m=1c ztsUdX%!;=$3we9^^5hxE$jnrr_6(uUvF5s$kE->au%agQTix#6Z<6+b=0QKI^|)pY z)=706#wlCcFUA5UYqD)8Nku*HAHi~6TlC0iSXtu+>=fwS32eL-(k}wME+x{cZCoGq zATjHRoeFGMV(!yYLMs(Y3 zs$vYH^hYjK`bOTJSH3%>1Ef|H(~w3-A+158tyG5INm7pP7b(Z|gB1GpZ)1tTt)`BS zMd@gliRy@YrG0Ou1$$O4{=2SSuqULDd!oet!$F6WQegk!fE_S>-2oNbcAtxDnj^BsJI@h`cWyW$UF-84Slu#?GVv}@C*=94&kG!pb>0@v zNVl?6?(>{wZsm;J+8Mc>Gje-JWQ%v9Gx8!Qm=#0F=33(-C zUgeCu+6j3LWM1oxyv_-EJ!IbCguD?*x7H-&P0liJc1GUfguE4JD&0KTZ7Gm--tA7g z--fcgA@6X`{SL^y(<%46fV|rYc@L0(azfqzYqJI;Dr2}bMAjf?rt-ELVo0wJ0U-IMtme$s$S;BXmoxG!C*;?V`Hds8-qG89>nxLy|8~m#TiCo?8+`|v z|8bJ}J&->*A%6tYEm|YwPtG#k=Gs3)=6{`J{*1lj0ZvGI*PGi2`^%}V&N5rQfeyL1 z;tX@ESL=kNlfY*?A{($yo4oqkij&0+p34YJ$X2hxNoFIEO-{&WN1xn^lgO=3v0|&& z3glu=xf616XXFx2$R#0jDQBchRN0EXjaH{sO@Um_DfeGN=JHO+6<~EPeX|v3a$CI> zon)>AnJ%jbtvKWBHpUUsEuto*TYqoG87o&kS4P=aaVq<&&N5eZE<4F|nN75Mt2&pR z&cnL3(Q3|muI?;zb!VBsahAD;v&=Qnnrk|>=2}3m?Tq}b6LKAAJ=a0*zjKngE|BXv zA=k%<;MU&>d8MOF*Iv9n^xVKvW~;ZMGjbzmCWNz<_+`$>SqZ4u`crce$_g0*7cH7$}WRtgx zWA3hfb0^f2TTDxOF5{TH+m0=jsMXuqQD&33t21)6BeKQ2-w}!5mvll7cJ}jwQT8ED zGKZqw_jN|@=Zu`}gd7GvhdU!jI3Y(m%Nzw{o0H64fONBv(LlPj=2#%dIpsbc$laWf z6Pzt%0%W#3$?SlIxa`BWdJ~;m9M3{oH!{rQ5t4Dge`Q$0EdADBN ziTd=M>XVRJXXI38WS2A2<>W&vPLaEg?>W?x%bF_5#P7p8=}E}1osiR=^_-5HpW!4k zkJ+xV?{2Fc zl)KxkhmdZw9zwd!dI;$@>mj7utS1kf?{>D3t(}o>Gbz&3<-}mCM@YAs6t$*XBtSCV zW>SRQ$+_%qvk8(p*jc7qlwN?$KRC%OIPPM!;;u}q*W)CUkOw#+OVIOdXXH6f$TD*8 zbwuLr#m>lE9FeVFpChu_yVV(anZXXG(X$YY&L zM9AZuWFC+De9Z}Y0%V@(j6BH+`3J~6*%^6?6Y^BZJk1GtI_&cbM`Wvah7d-TT{IX$O%q*Ugg|ISEoR>de=DRel1ocUUx*| zez_yE)w|9Kc|B_09eIP3%p09cME5(~N^~RiyvZ?l+--M4-t1gPmdOt;92kZ$dM2S!7;nJL{aar54HAon|++UPDI?{-Gsra?t0osPvdNXyg-Uk4IBP^m!si zAMwnl&+nnnlTqoh`fLq!g;mF-Xu^Bc(&f>FcdDh!qY=NK*NR`?aBt@(Zwph3EH5K`DN{7z{erFd?T|EO-XLWjjrdK)wB^_;Wr`-eC&JLyfwp6S6$0!e)+kW{wki?`s)*r{(Q8SB4hOnG1A2|oAeJLeSTDWOpP{T z952{7td_cOQ^@&Qq*N5-b|D>#jMmR4o;n7 zX6h952ElYC?@OIxyVNP>no@K%Yd-ANnAR50%&pyoci$R3BulfUSk`2Hu_=~IonncU zS~cRGdTD*%8ptEv7`HrHB25(A=y@s2(FAXqwj3*(wCZZn?Blf<`w-8}t=)*|1qRU6CE~U{@sdSdrM;z z4pr}#Q`itkdV z_*d!_|4yCao75@(V@eT3hB2-7VQi~?40}k|id~ zTKs-mtM^HY6piS+hHFQH1aM`I?vx_s`tPb#%S_cj3x~pjdTAYp+7(|}*WO&7y7 za9o%s(rfVUGueBrR`;7ybk(W2EvB?z#>j2-u0So4XLaq}jrfJFR{XwPniPj4MLJ(r z1NjwWmQ!iJjxFs&(1d)vduf}2PSduHUJLS|5!5}8N05TXDlLUmX}^mt?MJEWeQBhq zh(coXSR5%TdV1iw@$^6QTCNy4iSAlc9R5RY;G`Aj3|vdRi#73$t+NKquH9?EtbyzP z*g9aqC$zsccD;cM8pmd5b=4<7?Slxh5`SJi}&^WGIB?L!a<)_+)YVt&DP^<0gGT0hr}a%4G|np)HyTs)`tsTG zpx$CJUmi5Iube9uCU@qGoiiq9I!lvhWxcNKpp9o{3o{4hb5jQO%;}w0ENs5d0F5N40Cqy z@ZZ7f)h(#)E%q#^%V($dE@+ri?CmXfFQ_l&x~BEcU0D-0DpQ^|ywKO3EoFL(r81QT z0(I^VyY05$%!AjfT~Ir@Cx?H^^v{&?+%+{xgQrf-6|xmU0Ta?Qn8RNlSv&od2Bm<+2P>1 z%V~&V+0I;dCSP7zs3E`ZFlFm0TTI!M{@;4OE0ufs z+1O%lZfZ_cjh3h**PR{L*E=jbHPe^x-Ptoe91F_|p0u+j!%L-N33-RL2t656%4MgH zfeO$_i3~lqKN;KCJtbQ*B;htDeyIzNrO-R9*qzB0h*5?yQ_YOZ6uf-4v}<+_ac81O zcV+Qq_e{PoE84M0f`{~Z-n3k~cW4F{;$;MjQVz>`ql+0YQdL7R%;d8ZvgKl5sS|$> z=*yOS2?uX6zLYDLa=mjVmb#!3SCIuiYgn#4qaEEZ8xgOx7?zncbQ&3TG=BwX^N~h8@!+WRYiaoi`!5DwDgY(($ zWYn14v{JU$h#OhTcA+*i)TWgRj_jMBAs20YI4V1(l$~XK)Yd+3>#a7~)cmaA*|KXZ z=QG`w3X#u-=4R&dX1OA9M`lW2p6#o$I8w&M?(V_)-TF%A*4!o2ld-ngu9-psL61>^ zF`0a34nF1v8ABC0&0Le?P$Nc><7r5=w9SNU4~B_c=eVh4V&?Q6s7`Zjb!78>U46z( zch6;e3vhE5quo6>qa?~W4MpmNuN+z|px@KjJ$!a&mi;9O7KX1{fjIe0xg2t;W3yQ= z>y0Ru_(8Ob7CVa>_IJL|K|Y0SCpjHBjbXWpP91*SR><|{GWpzGI|>z;pM$`d`zGSr zUW3~j+E*%N3!QV?=X6gga!oP=uBa1^3~C7X5z&1Z1`iagJJXBM2_6e&Cl-7Cl9yGi zY$neGXLeGtdrB@_-gy!Mvs3!ILY2f-AiOI-8eYgCIPfHvLzQ8GJ75YVkUAcns$#}TTS;dkkAHrU;-r&C8X{a_C zScW^y2s}o3hzM(3A_6d+NI^UumYtdF%m#6eWcw{PD(4{vlH8H7 zs-AJP3fa=&&Q5ZfZNqF&WQa;xj2h9-8N<;FZ!4L!>JjE}BpEn)WP!n?qPufqhQg<2 z2G2y5kVlM|dVmT)pcG_+QfU#ph5c526oPdWhocpzQrg%QZQb2{y;K2Gf}D>`EOb-*z~`08R48iZ$w|=Ap@D@mfie4Y z6&kFhIAddnnW1(bj{qkkb$qd$n~f-@8+xF`srbxei&*Lyfd#s;=nJYo0&azbN|-@jC>3=osREHhXpOJE2WuJ`3SUSC?sh76 zt9&#pS3=ViOUh>ud_uNM2GvSHJH+yo!e?-Vl+eI+u~KrzHwL*@hnvi6LZ6LgN4aY!DzC=bx=e#T=7f;_$G!IXh| zENLE{!~6+ZkFB0!E($SAa_A3Z+G+8wL>y_qmEzlbGrfIS@l#=emYko#vzLoIk)OB>t4M?@;QtZd3`HJi3h4 zR_KINMqCX0A6)9320!TQftqdOsd`vWVQOA6OnM7wDA++8ho+S{UK`AZDz0;mUS(qO5E3$Z zfA*+mfpU%`tJ)YW_zXv7>qE3y@uXOo-iKK~+AI2K7&gKxcvvh&6pAn-`lQXv6=_1CX-vJp z#AU1$KNf*Z6z|7mniO=TLQLW4v9WC9N?n;kZZ7*FIezPMQCSt`7)Q+UR3&|!FsdRy z-(wm^@G`B4n;&DQ8GV2PWV%Y3o@qlcd8E)zQw2}aQF!*D^D%~!3pA-eK2Iz17`G~f zVGfQ7gQ-o?sSAdBk120^=QIpZ%HX3}$){Nam9|H-F~QEW>6#H#0vT;%jg@*5exE;FlLk!;{>hq;g3WhL=$N%{J-?Y_~(Q2v7YygnJXqt(90zk&VcZ zYZpm}7V~+Q9ymU#ZdO4&!w~>~uP5{fbGyWzb}kAy0G6(?kI#BgQZRW>IWUz_{kTw$tyN{W_XzPw)6HSErO7c zs7hlpJYz!zaC{-cE?z4~Rr1jq>TZKO55Ty~0>)%!$QZ^3KsDz@g=&cWl)i2gyEoU{ zrzR^}0-8*r6%1);z zgqAYAoM?E6J$?fhCf;e#241{a;=O)T8eZWsK0v^sPA`N_1+z%(VUV@a>bo&No*;%- z)J^gk6kS`j0%>TBeb|9nw;8}&D#p%;QwDSRyqGB=k8h?2aFLiN7@i;s#Oh$>1L{pM zqpX~*ge#NAXmYvc;weu84{4ApS0hbN${0cCP@H9W2MmNy==js_|w3PZMd09ZozJ zh*-RLDz>T(1;N=i3L=7Cu5goLiIblqF302`COPeo+AC8^VGu8pRO&Ip=HIZZB=!&E zyt&+ZLQ|RBdqlh0fJU?j3kKnGV?Pm#4syxZpe&9!OdE$?=&6Qh6m5>?V}hG+*=?w@ z5dpxI+TTqL>jP69j2?+)Fg|Z!G)Z8FjT>JnlKAKZSnlZVF+WA{GbD=$uFz$DPP^)~ zOk@RMLBSGbQ2xkabP-3L%y9@Ia#MMur8i>;Z15bX{ZI%~cta0G9BejWJcsqti9M7L zbvmtRa9se2Rb6BGc>Fay$renp6OQ5z&i72q$QYqA9j!g*G25zqf+bz-)R=s0-0;c^ zUt&MUXc)0pgLBDf*j{;PFeX4CARQ1!76w<-Ru08EViUwr&28n8v;~yOk7*m$)=tO$ zj3(7q9-W(!&Cl7TuQ0<7~;W#qAUhtZiiVv*D&69+=biVb}rru&S>xZjEXSy@$>dJMM4_+zjelA*EMpa|-K z&o7y~)EHbWfRjU8n(SXb74|}NQyHrpqPz;I*-H}_$4A8p+saakkz?Fc+7L37CA`dL ze2jU3Sd*v}Eq2i|c`@0vKNmB=%IBogs4Si0H$U4W=k-oAJ)-5d98M^z(9C>bw>f zGqf_$F~~9&KMf_oOg`5`%^2gqd`wah<^#I<>kc?-(aA^r%k7;-K0=~O$0>0P5uq=-*+}>p9s$A&yP+Pb&}1FG zuHcD19_%GfqAv+1g{|i@Z6f;Tm7>{;Jvts3uoBbVgL@k#W2q!?Y_=DJ{|qC9S07`A zFe1M8;xa(@##uvYzZ0_g>`ZDrf2}ZDwxHqQX>iEV&{iQxY@3Q&=Q%qqG)Byc8&W{T z1j~yDO~`g*UDXc4GRr7B${W!*P?p3~HQ<5?4)EkGvwIysOwRM=4UuSoYzD()h1YZC zTB{XHz6_^2#KG@Sb0j2Cs%2?MP4%UOG`f#S0HX&uyCKXx9T`;eO+U1Q`8N26=9Hc+6_vn1D3WNjOiv6qr-2|a6y7GIE9Y*1ywYhm#-*3 zBZtU0A0tk~l%AJ&(joZd8kLssArQ1!>Y0Yc>8?4xPp8N91b#n<1%AFkk)Na7lB`m`MVcLg3)|UD zq4Fe$x@4-(7>S99xJCfk7;)NhU=2sR#SWL;fQz#IJ*=@fgOA&ASdR(cWFW5j$vC+z zqVI%>BPn#GR>c|N13}^`+?Ic6TYH-K+I#2VR%Pf8k=PPLB@?%aoHrF|$APmQlnhrbV=wPPdS$iMubMrIQpMRf39yE)@QFL^SIy(xX zRUFuKvMkD@IJwxTokJ75oino*!%RM7$0wmGZ4rSV85ONrjW5nZKu1#yltu(6(P9MP z4uq??&z%J4pmI1idvR+k>ruH7&>$4?2M-l^(t+o}=>6h20UfNAO)3M^%I9jW0QD*- zC}COTN^u{624`%>RLW}WRND;URDRE(~kAiz`R2jU0P?;W;nCFQ-7SgFl z*l;|@j(c8g8z1`^L#zM1ecaGp#f?6{?M1%)05&%pXNU?@b9grkyNz)D1Q5FJXMUpJ z0*i_!pKVS@!J+wyTzl9;F9K^SA8l!Wq>1EBgC?3l7rP0}$Y608&7-0=2 z_T+*gGSHw>j=YLv6@=t7H;WTMfX(9o9i!W4ZYlsUCA9-P46d5@I_SLctkK1CSuS5g z6B7&*SvnqsH|!`0GQP9msaNj-=Tw{(j}sdqY8%3D5t9n6Bo@^$xb^ZnVk}x7dUDkl zCPsG+-BN`drYOE2*N*7R=V#HHcSmtlCO?%)zwUk1s2mO@;Ds9<#a-cgW`L^1&;|?K z(cn^M3cpGql97Bo6k8*COogrK@nVE5opv=Rr@I?{bfL=fSiKs-@>mwbnm(~~9n&)O zDuIZ2Y_H+f8dQ2NWhH>{Js4D`a9l&D)OcKB%k?XnLBn!*FBA@)bs7Lx@f}6n!N%bx zb+|X8UPp1yF{4LiDH3fr&Yi^B!J&Edc3WU4AT(Oh%X@67j!c;(bjYKz(UnEIa6EKc zwsQu0%ivro*m4a&80sHC(zq0)m1LI>KNyh@Hgm%KU5ZmeE5_j`G@go{80LmIr7E9} zr~R5rHV3yRHjG#f4dFZ{waL=}9e5>6Wu)CP4I8L1rE>THs$27b^ zrhs!~n{Kk%7PIM};PiwgvLJS3&Po@Q=m1ei(Z7R8A&Dp#Jq!-awPBT-Udk4bin?D9W%CL^q82ZY7n(UXmKE0>L~T8TyWP1mzuFy6>K7+7HH)PwIlWow5pU( ztW_h08l4@(Y+e_HwLWBl`>E|X8-?kVTy2h+m`JW8#gcRT9Nde;^#EL$z{Uph zkRbA0lnO;Gb_cU4uzd3xE>3s*^DcTOm&~K*D)4AHPNHDwpPAK!@t78brsR73dsA4t z@~``m0D9+xA0aA6@Dhm7@L2h9d{(wsEK0as1H|t|{7lBpm`kYp^AS~f7AtN=Y?4q>WH3N*a$8wFMUgamCv+$-!Z7ztKZgihTGp2Sii=oOo4(j@RV@u-tZZ3 zOPSSU>IRXk*bxDQfaQxf>IAp44JhAwg?*ED;cPUu!w+b@@y6$PZ_gk$xZ`bj=wJ6X zJ=1S~8xX-IaQRSNkqPuyJJ6c$n$?Zu<3Z#+3^k2C4)K}_+GpT5r}%VN^BJWXHPMy3@o|I!TxWysQTZU2yO+t(@6f$(+1TJ0^7h;bW z@6-%)`tU|GZA5D;)8cmpi!b9xiiD%jSn&)=6IW5hg?x=o?^^WV8WDODtliW0Lihn@ zk){N@<5+?UVYohMEkIKiLdxT&PNX+n@;bSk(f~X*z7b+O6qm zWzmu_Silgeck6=}qj!#w)9j(RN*%s}uI;n}i3mWhD$-~P9|bc)OhA*l078${tNzrB z5~o@bqY!=XY=1nuI4k-TI+k&=l)Q}ePdgu=i5KgPCJk`|mYO~=5j}H8(g2>X~{s%+viY3hpHBc?3`P1w6H+oi(d+} zIKZO&<#8efR_Vf9<;ieY6%awjOOD$cuTUe{?pAx#F%VRPMawpN)tWz~Q0!_2ioH$y zW27CQ>BC7=D@2%ZBEYUKc9Tqd;}s>BxP<)tEj%hV*=h-IqqZpTukzchF4*~%tIM?5 z2|e_ka7|NVl3)|uf_2&dwj{M~eOvG$^=aUjFY$5%s|{}pI=t5%1JSp+0ThG0zhgTT zZ^!J!$_Qq;Z8!o@q9fuH>3y?)Guji3;|<(CoFc=zl2f9HP~-ejPMH2c^lUQ;wg+f9hAE?DP;+ed!%9(_N7WtIITndv(1Py`_ z6$}E^>_m_7ggC5M_hQJ42$3G7EEXg}-NlCUX6DM+mLi>@7cKZ%kV7+g5k(2_f1y`& z>!Z6;h|RZ5Kx~E6ja4WXQCNu@ z&O->v@E($CH-EbGp8kQiLO#JD#0eo|@jD}<-c8H#Z_bmT0hYfB8@{s%<;^ZLV)wrD zAKRM_-JQKXw}gALg-v?$!y?4+E%-bo6NDyK)|NI_S8gre+}PMyVe~+(K^YQK&2exk z(uM)gJ{%7H&6VX_>l+Dh=?vIhUSk+VXk}0D9VoE9dybT2v4y3Zw{Nd4Ev+x#x^-*4 zQo-c8D*WokS_TP+FRn~p?Z{`_JKsc$Ys*XP>+3gHH*O{^cJWpLqIKLcn$BWrePx5; zAYrgo+}ygkvc7R^b#)0tTu%W>aK@q`6K^i9V-Cwp>9jKdg-w9?iHl@vn@elAmN(W{ zZYLwKdN?zB^19fZR#vb;>$lZ@A2L(o6pXUKriOQlkUl)b0^^>=y^WPdX>&=1@Yaqn z6sGEi*!~J44@SVg(}I1_HQaEUw>MU9t_q83DIV}pJ)kX?*$pjk&?tyi>~m;t`R46g zOKT#pvM{u^v2;6@K;Zt++lqtcx7g77^3rNn5?Y}PHp~V!KJr#XrR1^9mDCEpg;v(r)>cHip&&N0mVOQ+Dd#vG#gQznEZw}7m4rstmf~mf z3OL*OP|oJ<<>eJ_S5W5K>aAOA8#m*4bqy}8Y#f2Uh9NIudcKP|XqANyS8v|7O6LiI z;nbR-cjyzKMO$;vP+L5JwQ`dUTkO$7h?G2vRu)SRNb>$LND9QLEe0RRoVs3vcnY8YnLPt@Bq%kS|>o8*9^+ID>%y zG8P*VSBtx^hInF0H58b{B#MejD>Xse$X3EC3>@X#p`+|pM*m4 z0*hBj$YHrs(-otn0qtOacxU$|9@LRqZ4K!Fw$2@*_y9ie)3j6*#* z;e3Sc-GUN%ksRDEdbt(<3Q2+%V$eMpWVv73TX{^R7Xw3E1Hlg%A@Q!SbKsEJ9O>+hW)YG3z4Z7z^@ z3b@7kNrH%kF1cMw87IgKFy`Ps3wHj1Iaf80HXyr6N{aH9c#b04NQ{qEuN;6{Pe#Xs zk0Od$j3@6D6YAU+nfU=-VB^G12De5jaMNMtE>)*P`%jolS{}=%Q~$p zrcryK2J@D>?V7Y?|VYrNz<)#xcxmM4OQPswIffW6A1mi346I z`kT}IK3k6;tgpJ%GVH829al}y8H%({HnQSbl6*eEsmMo?L`2DV*d)AwQ%3;=G^7RfzhPIHCdY30{DALUifIMG zCo3T*3KCORz^iN0h` zSU7cwyjt4F>~m6KuWS}22NPsSk#VAiKeb7woi@miV8=EnK?Ea3fcgN5sVO4ZU1Z;j zR4e2vM6v+}3G)^e&KTR5OSUnK0S|Te;(&NfAv1-=o5?_2IMHUOnV7C*NDgpf>q5P? zjfsnqBmgRi$Nb7I3Nf-XdjnSPhdt_RbV+>=)O3+Ac2ffzm%gwFBy=WiDFe8d)<>eW zzv29iZB!?GIHs+cVq?rh6k)|65dCk~!7yo@+-jsO2%^n~G)LY{hL#5XX4sb(!rEKi zSf~D?QhG!A^2_DLG!|-dtg1RtQ}j}8EEb-T^cm_pn6w$CO^nlt$DGe;kwp^Q!dnpn zb=|(_L}9b@JCvRgILvWv?WPvK^!RBYeoK6F4HhfSCD!J8;)V?aYRXc)wxQsm^NQ4H zM1kyTbhaCca+8**0USi3KZ+gYi>21O4O?aMsJJjq5s(oWsDh^lBKcDlbW!>?B~oA= z&Q9GUPZR+4r?BcS@|Dma(%i%n7oLG#hO;#zP!*!|k z)d&KwLauY>c ztIKA%dUJVwZ3S)zZmL#L2Ayv%ufsX9wki!ZfpoJ6CCpcb?64?hnhuJYaymAcOvwt+ zTnSu66^LhdAr)xr86Nw6sf(Fm5$9LXTh!9o7q%_i3;E|lNXsq2cO}BMnLh|!ZLVXZ zX@X#z=jYH3C3?0Dgf6SnhP6F7>p}hv{_1&XX{m_tSgLXINc?DAJ}MVgkNxo1(a)A{vlJ?!I@68bo1yYcC0M&Z2;iJ=E7+N zNR{CXfTStnT6or-yEfR8)+_z%PE(N$qYtP0#?hRpa2$^4O zb2q`k!!EIAizXvGtjRY38js(KXeI83AeqFCQ%W*goI&w?iuVjk*N%O~U3EsUH`ddN z^ENvn%9<4N;>FoH`h_|O7i<%_pk&BKVa-OtDmrvTH({{5qiDXzlVl7ljvfa1p1>}r z2NTH1wpAM{AsCFwIC0H{h7UX{hU|Wb9D*!nb8&Z9(oOgI@WOA~D4@zVMnlsA^h+*` zH>56)SRCV5ZSaWt>xZ(mk~RbrYz&`4f6hW4Jh?og(y;5m9^4)e>AeY>D8c1$>}nI% zd^~>XuUtwBzu_vNn}mYvPeknZ7b3P{f1t{-d*{8~J^XdpJ-V}dcW;09j*bP$npJBy z@f$wJMb1ps9KtSA;hi$r7QqK#1>9KJWPILYbLo~Wq74v;y@P>K!goXIkB8^HD-+tF z9@PT%x2+w6h;#<6;n-4-`P5=b>iUr-{BTT>&NU9wt$%HvulkwvGA6>E;;yej-{Nm7 z$`L7J7ora`5a33Ua;@078tu>zh6OO`54gZDxuHdipyDk-sax4lG(u_6wo=z#QC9u9LNRH)= ztcZnhgW~m2SzVx{xh4Q=iox|_49#H4hKkYOA(@)IUL0m~Ra*0rZm>v0CbjRI!Cing zCEe7(3ZM(}R9JDxie8utuoL_<8<2Qbb4|<{d;+g7yI-&sDmV`tCKt2`zWYq4UDJ$8 z7;|nCjI_Z1v^0UZ;6vgeQhs-`;x6Gw4_3D2v?wBe_Eo9e-9E=Z7p{G}jc6MRZvJ zC(iR0cs{{yONr2>e7fGEUqK5%fo6Pm4&;mWWUsnNHp#FCCQ_v`ZGzq=(3T~H1b9h5 zLtsr|PbB8JvT%7VOpL`y0SFI2Vj{rTLZE>ef1IM%$+ubCpdsTj!La4O3q&7~K#={K zfpd9{oHR619qaOXAQ0Au)$)E1muo}kVe7Fh!@T(`LZe>PJb@G&2?MsP&7q?}Z0|GL z9j2i^RkrObXCMIwUK&|O4S;5DNSYij>POBTsVy&eGNB!a{3ndTft*Dp1{qE_FJuc0 zIam7MybWa4B>e7c$XAwH683(bMQR1bi`IT^DJ&d^0`P{#Uz1L30|QKb_1Bid8mf`1 zQ+HkFlvqDoV{=a=W%2M#*A9`OPG0K3BKx@jJo{{U*H?wwF|NqYz`zpyMR{$-nrt15NAKtR_+7!dt}u@LABIW`=kSkIJFLN z@e=YlE{j;CPOaQACQYm?bh5Uvz{=-vvf;22Cy3)xrCaCR-#WGV^ zjgn)#vDB%s2PR`+PVFTfvIz>5E%k&B?%E;R*Ww86P7I|u=WY>p6wpJ~&u0#NpB4jMl6+toh zO4(i*hrH3%!jVrv=&ck|2G%&WYL&u$#CndrxIR{>nlPV&c~JpS zZaBw+_+3&CITN}I&N7TT{JXj?;X7fdy;+Uwx~EXhgJtqXzT%BJ;{HWY0_(jcP>Hfw z?=OLC?huOz^V!`2`h?4`+JKe9jf1!$7L&s#n6cvh0iU0!(v_DrE{Ppl%>%Nshj=0v zD^;P@wCwKSRdpfLV(jXx>efoj4_}R|bZf<3$S4SsvXJ#;u2xF3e-#TRCWU}-7M_v^N6gnSg$vY&)#Mr2GIZI= z{poldToTRn&qBm3gdF71Jt1f)& zmMW7j+kiQY47Oq;N%?dz{ewtp<)wc@r2%>cT1A&fPbQ-xxtfCq>^ z2}X9iOen%ZT9&gzS`L`kd~Xz;fAPB+f_0ftDL+6vupdlA}O??90@yXQSY)RU{;1PU|q_4{JZ?Ri#JsazQrKg;cC~So10W5E9>iVOS zVl<15qL@>&lu*rx-!I?`FXQsGxODF$z?X7)MSZdsWf{|@lS)*dhzcekoK!D|lu)6m zS)3x+IIgMSS!bA*#E23o8jX^apEkyKJaU4Cp*dJ06C!yZf$q-`@-e+)w2BDn8nC+P zFMfWVmXRq5o%4YYoz~Z>a)<{6Yg0_7w=+iaDhQfkn#&3hNn3t08ob7;z@hv;Zr34q zO0RH}<~vJvQ7DIgK7!jfG{>a{8WJ~5;yvc}{89H{-z~Pl+xQiD=_#LrD71x=(pVrc z>>aLdQqF&_g))*3c7o+eMx|X zbaQd*7`+^OayrHJ(;-OOHh)sNi#$=vcTo<&tGTIqw>a+6R^7!4;9`cv!yh3V3iQRn z?vtGg@1t0QE3k}JsO%aqDK`r?Q2o{ZQJssVRp+vmEH#}EPUHYIk9GFQjaS?7B3)8V4Jfj;7XtJHYNBaT>MrsKiR6yVp z)DCGWJ~+3q&X!_jU({Lz0E{dhT-r0Nv6OAfk(2p^dYId=ui4t}arwn!dEFN5(GA!j zI9{n3aSt^>+(p(O9tXrsLovc&a7|-*gWWe2Gy1`rmmQ-40^FSnUQ7K4V6<$WQ*Ww_ zG#Wm9Zqx>dkCbX)d4sEdAMCE81K6zWbCUvK!>W{H^M(5hNdR{W+6+NfZWq;&&?bbp z@L=NO63ta8h2c~_y@U?}*)V!cYWpLI%=8w4_mFE;iw}^iL{|?)N=>B?X+pGpstwo# zlU$J%?ki(pCm$fv!T4Xb0lEr;qM`Gp2>|+T?-Y)n!!@P(1Wd=dsVHG)bpTse9(Q2d?}+U<0iqO^o%do z+!^#d{b>vftrtDEr^sxQL|GlA3lm+51UNmLRLAgnf#w*%O!`X{$54tFCMe-6M>T+XdD3LlQ1wH$$ zwSneRMytXIp(ZZzG)8$A$rZN0`{7~taJOb=!K`sR&Tl8tCq5VfwUC5IcC*Wb%@SmP z%uJwe|5D$w;0Jv)s00aaw>?>sFz`V=%#gbY?by5q4)a0U^hR^j*AZXn{7LB9{ zE=&TD1yiU65(xnKhIVqo2`%GP9TwcUl+J}h|5!$ETD_o}l$uSYp71rs1G{*EYpWsQ zmqtCFAo`s4h=jvQ=(bKQVZ-4#DNO_@Et=!2Wm^NCv92=o*lfzD$#=%s(Zw+q>OeA* zHY;k`TQgv7DL_}=Chh+eq$R>R1wrz{*pUQ~w6HnmIfdw678mw#LJ0En=8PH52W=Rh zV>eE+-aexMYq+R`-5WziA*VI}Qe>TBnCaDzb`S&**yWEF5I7!t$X#NH!%If6r;u>y zo(Zp*dRj=Vqu!Kp#oqsh~Nw z@Z>^{%%)-#HB75}%vY(nfo$g5QF-s+hq|$506x3{k}J5@p|kg(dv~cSqmwh5Aj|`C zg1Be|T=Y4IsfH5b?57i4DLny|ncNaU*i#MyojV8NXbmJteoYOP<4B-tZIL=@)a*_N z7Z6$yMT(eF#RKk)A=^XpWFZ(A-Mvom+w|B?WU{ z0m%<1lV600?I~r<<~ux^;y2X_4_WA$3SlRVHY?^c74Nhc@9Q|zMrv*zzSS#rL9Wvd zqHY9IUfkB{#r>y9Mm&Y08#~~4J{?{o;v2=`-u#^*Uc;JD8-`>T@}?kP)PT|PFa>B9 z*Q!L--3)NyiiaujK9B`nvbIcgW#wcReus$D(4yFYx|9IPE5KafJEZM`x`ri@h^$|4 z?ZL<)#xWOCJ21vJxB+)@jr7=A3?1Vm7lS6@l8b@M=*fr3%K`-3AxSut|c@=Js zwU*8AYWYuVfVum&TFgxk>rvVc3~O2z7?g1K#vZBkzdxM7M0D;tIjO7K-UHba9Dppf z3Sb;5?XRgbhq580z~-o}HG0we$>qR%CFL~(qz#$Rs|r`MIWz!V9#7MT+>BZUtQaY( z#m&YF2#Lx*p<~}Rhkvm{T>B>g#W-f$8xBaV+wg8pxobqMfHLS-ck5xOfF#zI3yB51 zKhJ!y)(4~oV=ND8|1XunWnnk*OOb%^V)}5@mjjatOmG}<2^xVYlL=6PF3m9aV65@* zo@Rg;do2oV?8o^QA#JveP^Gm|MA!%;OO^~7&4V#Z7o-5QBFzD^c|8WswWHg6BZy+4 zS{ge;x;F4cbGGsTZ-#q<3?Di$gar{rtxvbp;SDjQ%s~EC+D3Np|E>6MsvxswGX|T$ zOGBc$s&Ff;kiQmkLqciRpxlv6fq00_V$dV`SP|Zr#5RGM#wgufmQ@(sr!j#N#ss=F ztK}A_X|B{35STTXTFVJ&d;#~=6>({)=V`7zl<70IYpcaUe2}`kBuQap zm8^3pWWuq`l;`n4NEX{4zeuczY|O3qljh{L#9DwTU^JWJQEeOoki_6Q=%+F}c`YEP zG(v)|Kh&;BK76Fj7(c*vDauVgd?fPnCoW6VrJU;Q5NwC{_!1`*>8K8`tT%;>#&978 zk5>(j5$wsm{^ri_jHha7P_U^OvSoJZT9cME3C>B#LjFpq3E4HskVU|Y(_$2_B{Wm?Ht)y+IL5I;6enYD zg``Qlo~_0R(Sp}&gD9)S1i;s5-b7}jkcABgHQkB892CKdT(}iCrFQOB84k94qvudi zjJRp$kR3wXhQAQwGaMO4_!D*nj;M<`4|ghT;XZ2R)Bae)NPs@V$`h+_J-~3@x2gt& ztQs(_z<$Y;l*E)rVc9ck4=l~kO-XaLpoXXB|Ut*&|%w)s37Eg_|UQDa<0j`KlSV}E7sf$2QW(F+J8wD75Wpl;yRA+O zSa{(Fl7AxZ1stno1*Fpizm0S;2pS411u~4sVL2{iiLB2}v;2NPtwSG)?O zvxcF{d}Rjb5VT!w!Zl`+Z?&i<2S6)S($+d)83bpBjVgo=K$25+%{g~@IXEy)@Kd1VYwfpwAXqc%$*wD1;5%6i>&Q<%vw{mJ_b`?GMd`J-_3)F8Y+8dd*kt?K~Ujf635E^kZ0{Jjm z4uVB#JyfK`F$HnYffXBR0*mqvduakdlhD`Dy!Lk+6qBhS?tV0UBbko-3ZRm9wl0`b za8xklC#{+KR4#R7pUmC}3eNV`)@VG1)dotp$oHMwdd{b{ zR_qVD6}=oDO}&YF+~BSCKIp+fSsdH=uxfy(>{i0}smn8S2d0N0V~$^;r3nQ7$-&lzc3UBww+JcUEo&PM4M&HV?=5U>X)? z$gY!q*~Wx-;9?{7PLykygaZ+c*NA$;JdgCeA%lC|dlg~Q^|k@yxsrYyOG>#`%=}%v z&E^p>oA1CPS050)VsX6nJ}Ak@;>z-1zK})>x;;xGO3BQ|VP3Gw zJ%_^E7wO=*Hv1)4BM(Rs93FYsT7vspcgTYRah7*PNM_l%Jb7OZZ^`PEf0z|g{1Rh# z#sj`1s=PPAiP`i5EfIikT2eOT>tHNT7m?*iQB&Zm4s$GTVOWAm*N9goJ-hm2gmbg0 z0zmml+)>V*)jNMY)}z4(CntnctXvq7(_+aup}W~$N|(~1k~=fT19re&bjdr#aw{+s zlOrW8j0fQa&}MFfhxLu2Mz{%^VyF%J$vN7_G-4MiU8HG&3WP#KTruJX`u*s$p@3lo z7JWE293m3}k(;v5fcC>N4m~Y2wuB{IfLKZtr}*HJf#v!X@Y)z)}zA7EptyJC)G(C<3WS4 z6?hEkhT%qt>MvI)oex358ttsi>#$kf%@4iODN4&wSSkVde9bN`HgAl~J1M^>VWU3Q zvJ5%Y?48y??^XodvPDpf6P51(;&pgDkS6-R5f%kXCzU!-dC1GKgZb29C{38&&8C9< zQHKj2h1L=I353nN^}c)(jop<{I#iwY*1LNj?9kFhG&b}8c<*7rSwrP9uq2fkmCa@g zE^#)*b0GGrLBMNTX4g=BiP8c^gg9yX#@_OW;6Pz_ct;M3(WGosdp`jot%bpQ185%$ zEW16>E(6Hcyt(~VWVBD#xhRHn~z1ewW4Gu_Xs(`tcdQq671Huy7 zyW$lPVZ~-q8EypxSVt7SaLR%DPHb!r9piqVw;gEDA@zv!1ujUY>?AyhTbWH0EHMRv zHInq4W_6sp3(=`y4s@zcI+(Ky(|jxQ2xay(brAF_D9nM3XIADIKzs>uw9;M)#~S=g zh1od)?G}?j#T3rEf!p}FuTkxA#{yo!qJEA__q&zRU!$idcOtL6eox{2ZAAwWLDlc> z0QYEkB$d3TeTcP6&b-AZoIBOWSgS?Kg#v#GdumQr2{vk#+Gj+EiSrR|ta_6M0A~YL zfXMcefeHZGn3=z^vN1U%6!;6?4brhqGmM5DxDR10T+Yabr|P?=wSEFo(r?x-PY{1s0+JKUna z(%J=bPvInjnnZ6AG=cHRouC|FPKxz@AHWz1D;X4}?IA>&D8RS&#vpil;SdZkfZT$G zvD-N1maKPTakk0IEE<)aZ|@J`;*`+?eYn8ZIOYxh2vSC`gqFWp{I zPTnVk#QoSQlE^j#r1zm zSJ!SU(nr9R{+3r(H#TsA#4L!1cQ-2KlFgnCVFZ~XVv7o>)-)J1R@cpz&;a2fSa{S& z>?nhPeqgDZ@uJ`*=-r-Y(~T)U0z?5OgZE!})Ry}lwG$8a%9=#I9DdY$2`ZvB)<_Vo ziZCKnxV%rpH1j{v;|`$<;+XONWM%`l`0pbYM|(ei zNs#EaRM*LqFF30BNDMg}uJIt~1|}68ITn6agXX(0_i(3pFtQ?Z8!#bO?#Y$&%kpH^ zF9^H4u}q_t)%CYWS&COhvm$f6c?tG0Z@FavKK~Df{pnc}q8BnX*r;IeAHOPYuT>)@ zh@KCuaOWYC65p&c1oGJwpqkQ4dm{y?=Jk?MDg{`ncELTJ0<2a6xV#Rqe^{LX36Z(p z15V0&FFM8%xf+ZbgPl8Dhg*!UR~$%M0>e3CxwN@duKk+=>_Us3BBszv*=Mcvs;y>> z!7%{NCat`8N8d@|`Dc)(O31BhB{mWod($Gp6QAkF{RfBR=Yx^;&INBM^oiA~jv;D- zPgq^j0_u8rslL$^hEI16Z4y4zkeP%D(FEqbhVTBelk*g^vt$AADj;4Pb}WS&HURI; z-!@`chQ9l#1MK0jf0g8ZoKjx2(=eXR-_`Q0PQ?J&x?pTeRo>& z?{wg6V3JRWYW4ACbWzrD`fv?TjW|9TM^juNvs~KaK9pH<5tx94U7w|lCFp>~5RIU@ zWTieVmhKheG=cx{6HNuw4kzH=ftPsJ(eMJaH{Aqj=||U=SC^##%z>oY_h2%_qYMhB z2q7L`L+$JqNKF5%A7Y z8QSFChjtu0>$mWrsDjd}f z#4=}25JPngRJXOxc2w2woWye$9=!cAIO=6k#GLh1ziq%{ElXR%Xq~&^owtu*26ENQ&uLhAJ-cJCRR~mbkK_WKTSRtR2vjCfum{gD}Yyf#V zt_LuH8553~0DPR;%G=@RS77{6pWE3sF^Ih)9!4_2Ec*fNqtOw%SKybO$KF*#L$wu9 z0>WePx~JHw@&N*jBlY+E#UBEv9 z4afn2sg2>f3m#N3XuX10K|qA|R8>4s9J*oo#5w5&L&%J?I%Q`p8~q9H)iLUX;Y`+! z(o>fJE@=SkuuSt!B%7AcC+{=BBL03*=f|>erVT52WjesE6;aMchT``Q^KswGwo$O) zTg{9Wxoj4BrGaFKuYzEyMO{9Qj2^16SO5pJGu5ajK-D;w!&V0Wk{)Mleg-VZfyS1b z`VSUfZ?9>_0i+~}TTQdRH+Ws|GDE#j=E>td>+N>d+x_aoWHfO9PjL__OZD$iVYUKs>5q#QgOvaH>4_WO7hC`aXbc7Q=2Klt(Peg!0>pD1zG=CP7- ztNn2l6>ewC1(y2(V&1lU=L{DLT%=Ohgt{6FU(E;*#ghH1Onfz)6M~@*PArPs@SUy9 zLoHrq!dWj`7Tkh!MxV+_Sw9uHoZTyiGA=_6G-p3SlQM#61?IIRf1=yoL1=G36SU^d zu6|}@3sV`({XwPnf#^ZnG#kKquA4$lJ4!aflBv45#8K)Pd5r7Tz6R4TqDl*UJIzH#F<3W203V3MPFIm5>jWN|bF55uuOZe_gA zeM;dVG?0~yT!J+x>m|b&=1f*u<7IkMH6o;h%CIIAIf0spUX~$Wz-V#Q1Rn0-NbuC0 z41kaZ9`jf727d5rufpI+!6U7qc?J*1syT-n0D^1lrku4IfcV+u@`Aw~a4*!x?7BNmdgMpkl4x;j1k={h_WgsM zA9s(o-rw50zqNgTS6lHYdb{Q5JW5^K2JmEmZ|C0DeHG*-70hj9v)@x? z4>- z7w$lfN3$>QcSADi0Ea=+$(1~rUTNqXwIq!p5#{Xb=-KD&bZkK(vtO4Xe(6CrZ)iC=!YgiJF84!^S7~C&D@izOTbfxp?#&o^Wf-{h6b{vh=BI;j) zE3mIaP@HVcNFXpCxlapg2$JK1A)*K|K}b>Xf-wqV7C>s)fZ-D+hE5U4YsqvBuYr^* zYyCT#N4V0c3rE-np{4I?RgLXu=Q0#;9@Y>aeEn_PgmzS_%b1}hECflG)0-f;34Lsx zpN?@E^XvtQilJqP)vMOCuiz2p@lvVl+uqt$9zFdpv& zkSVo}R^(+v21%E(bTO!tyUpgnCud?L$_zXphxQ<1?(r;YmK+TN6VCw3M>A{@2&A|& z1i1>KiGH$H{*neMSM`)T z+eHu{4%1flnCaE|fSZ~z9JsWI(FJ0KoK-GMc8wrCfBfihlrVlQAy80|;)gKWFrB(= zP^p8VR~AW0e9$V;H4tl_8`+b~PeHyth7|{$ZG~)&$@t2HNru1IQ!*_c3_1p(8PyMm1nVGeJ{zl5 z#@Na`ZDALJr6NJQB*QUeO=kxfODPpP2#)l*G#~1MdDl;trj(InS5+}1H1Y>RwP?u| zq9jTaR6{)jFo}#B{ZR^#MU)`ijX}17aWWneU{4>MA?*$IXJG#v1EZ$u8tFEq=>i0u|jrZBoGVOGivHtpAaO>7VKbd z>KQBZg3p=I%wT%g;Te+Mj}V|MbSoL3&@Wj)9F{y- zxJNDKl+Zb$bw<9|)%gHRN2@mRfAD6LI$Jx6R*zPXC|aDK{%05Oe*S;^&;QMZ zh}u}x^#VjK9W6lh($UKNE>@3jpZ?{y{@!0b`X`G=+-HB;dd9#@227Qe|^26!v)-E^=SR{ zAHRpKx3I$vL+HQ#?=I+YW%iwU>q3V6aQq54vUldw4|e6!=}*CD{so6Nm(&1yb3WnU z2HA=g{oQ}Cpe>N?lA-oLT12)R;BRCG7yk}$GIxMDi&u@#KK+jt?1hb^rG;%RpZ>Fd z1s?b*w6&<)CF58B&p%w)?Xn@8>kC&y`^H*?>J4mroe#tcL}^-dgYu3j=i|ZB?OQiV zOPl}4cmDa-{AF9mb|8Y^{X5vk^QXG-SX~F};LiHZZPD0oEjrBBjuwpJ)*?~t*5WZN&7eDWU-d4O&GqfKieCb0 zce_-;;Kyaq;vT~Cr&}hJ7r%?rkDvZD7QXvz9G!y0=Fq$2+})K!g6Ecpu$8n%CVgTJ~u6))?9d zC;PLv_y_+*l?<_h;gRFS>R0?0ieIub6o&8P$-9ppJ$?Df?5+LTuc0R6Yv~y-Frh8L zfBe&(_xSr={4Gn)yZ!zr_;(ixulY~@du}-$BxF6Oh>9d2+TBFEi>fUukAvkvIM}cI zV8g(YG0H&e>&2J1@PM{b7WkSydPJOYLG80$2C$Ts0Qo8!?gMEAz!T6``tGAos9Ul# zri(Ou0Qfg;YE6RxxYLE~eLykkQ0w8}>vRZvjAh5fy^=E-G>dPe(k6xzzrenMV8`R< z#k)^`82?^%<*e&{3N5?1lqSSteJQ84~81WfCW{-C4ThFQ2}oF^P6C8Z!4r zcvIwb0D!*%fR7*j^a!ROegW})!lgvsL&O?7eQX0}(fThc@Aqk5GIC}|B$02j@2udL8OrRlz{Y^t zztKEv^cStQ;qS#Dk}*HP<}<*XEH=>DuYz3h@-^dL0tq{kAMu+K4$uIKb0m^Ay8l&l z@6;^f0G>(F1AAAFIDsFY&&@ti3Gv_C2>Fm}bbovraKfL+d(8)Le969#s$8;2 z35yovWAeq6(M<-$Z8Y+eU-XnCmVvmilrl*wWDJ&3Wu+?#m&4aUFHy!RC2H#JdkK)Q4rmmn^?YB$LO#Bk)j27(BKr} z|5JVgt`N)&_KDCVJ<_VcFeIa9j0pPYHvL%J)UoQ^ST=GVN{~K6dv<8)ygM6To+DWu zIXwat_VBe82L9hE0;2I>3}?;ZZkt2 z8LQ!6a;GETzmlQ*XDm>TC(RhhAZcx;*qD8W=^l{Hf}$&Yj{ZbuO#j2t?GIj)uLWj2 zo;<`0b;Y;Plw{hh$Yi^xIF4~1(?ouL9w+9+%2Q9{(E{2!iA-_&5h*(D(JkxQasT5H zgo1eDe;OT=MN)?1&Mw*i77xX@A-y5va*Hqc0fm2_;P7||x8D)+dP*S9x= zRA-Q^=?fqp{u}{MLy08ZjVX>H86=WhJn??bz=GtqNgseYK&KoT9+vKbNL&cSAbx}J zHgZUXDt>qGlM}WrO}hXw6{0A7;bUh+-n4jtj9;kj$7cB*vNWV={=o%_E%;_2gYn&u zCr#*(sfdMDacOwpW6_D9F zP)=yvoLC`=3vq9VLKHnCu85@sVknDnx6b89bX1okDe0M=h5^_pouXLa3_E^3*f9^FNPjIGf0; z@PD9;JD`l8u`!XqlxgC=7;s>V7UJn&8=z0|oszo-LUPyfn6V-;7aa3Znc1ZHigm#` z$x)ZMC;KJNx!yv$b2#i}sOypP0(Zp5FTTNfwz5r7b|R&4v6>DicIT8vN(VU{4)6xo z1TR;X;xfZ~%uW(yi|s4Pp$8{RH~)IFXz_^ho5yd(SyD*g!hQ_>1M?tLGmg&Na*7KoF$oyYXYuFVBV4$ zzn#g9pEH61v5=BXFmf&WJD5@?p0)qbu0_}pA2Y~EmmH(BDYA^5E-ny{n0v-Z7+A-O zWG7@S7%Z#qZE{qkXtRjm^B;3m_AND(G<=%tb6{YwPkT4WgceF86_J+atu>yLF^gj}lSG;vG|J2}>(FkXfSt zp&4+P!``I|(!7j$lInSU@NldeCR9kPGzA<#bHYj$;W%~)(h1Qx1rY1>3f?T4rR0Q| zFWRW7K15bdB*ne|4~YXaB$NLbWK>lW8a@G9inR$GL52vn{Y?~8P1^*gdHXX#3MIaM zVO$ge6Ds=>w#gkrYo*~5Eqn;&v=6iGGd?UtCdyMnw|K~s0?xy>NxO96+`D8n7Vc3V zpYb*ZC@IJ!xDkzvCkmx5w3x}uwY+#a`;F&2cd?}qDs9i%>LZo}(OwGS#XBna=j_V> zt9$}!@Xlshxz-v1Jml1Z%k8l%7}D*bs@XS_c9H0Gl)hp`zU4_Pvrh0i{p}z;X~PJ4 z#3oM<&3-%SrCJ6y7vcw*O$x!PKp)OeJtRN-UDTXY3^#7&egiI{*h9}Ldc+t|PDw6bvp4#AcRtHt}^d(O7^A;rd;QZk`P3?*PM4hRUeJJKEOK@72ee z10asI(mZY_jV5SAWjNggqqeFHtW6n!tLwBV_- z*`K7%ECPlgQ@aX2`wCR-a4+2NiBpw1y1RA%{^7mH2T$I+H~Z4g-Rw8`Pr7Q{#>i&^ zne9ycr>zW&9i|KrIM{W)!>FdQ0GMb&ZGo3fE|72w8VZ;`SgbH{ZD5}D2_L$L`+7Bo zu8-h)VPuNvh4L7Z7+98UalHi~KqnOk9+Z$7KQ!&+^@sdTR3~NfHc_rr8K~z-$=i;0 zKRnz8E|3f0Xm|g~gV{G=KWHhk0B*4^2D;Mg{K zek(=L@g#K)Cg7&C&)z@SfA8qQ-aeUX%O!`yG34^?F|u>N(8#U<2BtbUn*!Y==@Qp~ zXSll()~)3sx!E5iyQ>WbM>Os?BV%5c?tuq-+P#BN5vlMS+FD0Zz(t^|+D2qSa7w!Jw1QPILdR^x&S_+2YS7(nG zhEISy7a@2O&WC{X7gi0))q%K#ym!_bDR8=4_2(DY~)?~Nz zl~Tzb^U4!}?GATA`6^~6u+_@SUaJq(W#VM55S+f2R9!~3gy|W-#tyF_Je=h`p<0T7 zxugAq{jI};2YWk5dw5cQ|2|YvZH9mz%uZZK|_pf&^M>6jet*}%!WAJ#C$P(hBe+p{2 zJ~XhG>P@IUxb}~H{m+- zArmPQF{Qq@2L19a+DwXU0Rc~^4nZplR5olOm`%ANwU2uzd}KJ~2_~RH8-~Tj-@49t zLR0x~RybmiU}_>^c-gu^B#cG6ZEZIfX?dt^5jbD&50IUxkP@2G!W>W_BrH@s7-nBh z7Nz`}O4-AaN#OWfQZ|SqG{eo$mujU8)INe@(vj`GcyT$E6X~}q^jnsYvQw(7OQDGZ zoB~!A<4`txyBuw}mZ^0GNti+s-@TrFFG0m3*c?Hoh9LM&2*UntWQG(vrFwCe^C4ir zsE86W$HSJ0JU+Bvw3ouXD-YPOx=kCT)Xt|MBkUo?%@7J<>F2=;|m14Rx%IsD0f%<(q+TJqy)>ktz9_LIY1o`egg3+Wkg6nNW? z8cp+rGmt>n>89sl1zDP`BvX3YV4&SJJk3U%EqspTG8Q8f?#t3H+O)!?N(r*9g_b=_ z@>0_S=`-4a!h{+DzTZN;N<6ten7$eeWIq50($W8eHd=100Ku$j^!Iw_Cr>V9(wtL_ zv!-$5$gwpVa6yz>NoURVAistQ1a85^4{p%}+h${S?1CP+d5uyj`nD7yv`k{y>@yyX zM^{YaFie@C33*O&-GtmdrV2;vgpH-agj@qD8K7ZF(c-u$Fz&qo6GT*aM!{_`7)y(l zAsE3pmIWYHT(>EU%321&TUieqPTss6N>A&SFH@s%DXP0YDTQAnNZE9+?2YK5tjg40 z0`464kZpLT!b2pVv=VaX_R>T_tC^7?(fZT$nSwSC4!Tz8i+WuC;&W8*Q@i^dup~PR z8Ji`{V?g|%U%}y!QhR=Uo?yB16gR=3_V2W^qVSn}=j3R8mxqwhP19SOc(8J@|FYuhN zwgdxcdAPXJo|J+hn;)K2=!9$QfFo&2#=BQm>mg~5i;7G+_l+<2$rg-H7){~z~w7mBFt3OMX-sK0r?m=JuB#siTGQQF+@ly3 zC*#Qrv6#-AUqk4f{>iX5MUF-Y@|Dh;FC?*fc?;IMt|X^Zy)!6|C&LRk+jYIMhX+WD z<2T=#JpJhwUKT5k-`#uq^rr_GJ*0-m2P~f_^knSsC!gq6z_T&3%k@TzYn;9HvAV!T zcW;)lEJ%?}h)(f6ASy3nAJ#ux>^wufLeW7W7ZPB1CjSJ8*7cCl&ls@=oGTprYawde z;EskPL~)-MOKco@=b3aFrqFWPJFhSXd{Hw04$=}MeI_5FgK4BQd#jkebzXc8b(uk# zqqT|ekEud+(B~0Gp^g=f9-!t8y!Z;6D`4CjPw-Gun4xG5SEKv7@5!z_WV18Ho*rLL zI|F9F?r6&6VhxReegy1yd^;F>h|2ANE>xx~Q7qA~y*migEe7XD*WU1+>Xz+S)jA*NB5rYmxQOsZJb1Hr( z!LZw;ih~o#F9CoTK86KPA@thU{SOQZ!GN%TO%&kC$Uywy@nW8o&QywQM;FZrj8J|B zO7{8)J1rC=K{O#Qml1`Xv1J$S9MdNDdfNFJZ!W(1rKc}-u{*6a9a|5@7OrRXF{xs1 zJG>dJ3;eoGz?E&BBKbsw@D4~}x@qvgfXs9gtOjw+-1i-AXO5iF(>{OQW(c#GIaQc%QbluHRSNe8Qnv3tGl%dAeni-U?o^J{>qw z6dkPS=9_N;6O2N?F&*D{cr`s6k8Yepxwrx3O(E(7>$+I*`Qq{v`2ZMZE;gPt1KxWI zmiomk!d>)_NSVRwgA-qb;Yb1MonjTks1|jR)E3Hxn#vGm0m+PVGGw0@e^RYp(q5=} zfg80zQMp7P>mFLxsb#i2?wucwJ8@`?kItYTCM^|zR4q*ro%UJqLZR9jVDr|tNYgNV z<7*GaDp~K}ZD_M~0OT=&1sg3N(+0+irJdr}lftmQe8G&hhmXmQ8WxIeJ{((XqRSV! zO5~t$UGw~nOxNz{Z+3LOWe(gca(Bf;cNA?+4y?8d5rjGuxhHg>wXBv0g*!5>yXtx& zm@xpZdlj^t3lG&H2gcy?1T4kA_E|beo^8eDvmTi(0iF1HhxJuyTq&Yc-DTyTTg@$I>a_eK#tCpa}a(4Gb+PIrQsf$C(j|1%G9 zp5(e9Q)vX*{m;hz&e+y#UQ4sL*ch)OP99P6BQh}1@ZPiM8r4Gf!bi+^j|`(T03((= z$5D0@mFrLlS|CH(&4I&CM(;nO-1(5bGi6L{ppSdEMZCM^UHpCu5qS3efkdc<1EF}P z(TFWXW*xB+*-zjLDbFS+saHXqe*>@dBZ1jh!rtF8w-&fi$YM`d#el-ZVnu(8A$on|eM-IA13^uDOEOgO3TMI+HGz?#&9U+c)01UfmmhW@(#- zDq-4j4wc#R%&x*h2f*pkR)ZJwOKupb*Gak~;a7NqqS23Q?8RgRj?>~#(av=M11hgw zA*`zo+UxWXD#V_6)YP|YK&9tFKQJj#cWA)B#;^27Fm`Y`>!SEQw1hYf#3>eC1!X<- zM=By_3Y~lq;AIJJXrtr$z?7QGoOU`vzr2L7fGc^R>W5IMBr6U^3{yz%S?!z+Ab&|U zv@%#PSfe9m(UgFnd8qrB(1;{OPX-sb)>4SE6<)%{b-C`($w4V@VO~(D2->mV$}ocb zH)w~)FnYoYJ%|5cA}^jAgoM2-)d5V|_cYJ*XBlMKo1|Mbgk;L+1N|5lykG(CfF~EN zGSX@Ik0xE@0ya+E`#qah3n{K&j#Qt=R_G$c&$&rQV(+s761(6!1>bLCf)|UxD>z6V zisysmeCkMz0I`L4zt69>f3E7hpNhfM9tTs-3?s#T1gBCEA0FFw-3 zz_dxgv)ZraJlCA&l=t^s(g_%S#IwPPcc-JCEhfaxfUq1n@-@tOJwkORY@y` z?Bd703Fv3XPY(*d=xcWoV8_+bU_KPa`!JezaEf4;NNqLGMyI%oM&ro_lL)+EcQH5s_a8n)kqNfnCNXJ8i9FF*QCk${~ z_FK%r%Jz`Ht=|JU#jf%bd_0r!E0>>DX>UaHJWLfGZQKC*5d@RLL@hAm$qRF}>coaF zujSKs96WHrX5V>Kj-YgVyF!U3BexQC&v-2L7&WdUkrifniu@I7eK^uzkjSl^a%);% z5Yc(75tajR*!D5-q=0^nm9Y+Z5x?}+@LRErPge*zEIKa$d{%UTj-mth$1l2t1}Zft zLkB$L7%PDVfBQ3~?psQ55+Z;08MOE_<|WWdp}R9&f5DUHlP*%kP{KS8ANC5%jsde( z*Nilw1fb+eLb)yPSS7qs*#@>RxVYR(EANc)W6c6=%2ATq{{ndT+F)uG25c7T(5-; zG%$V*5X2~(q>j-9ib#KuH7s^nfiMeNY-FPTc#ImHOuAa>KVJE-qU~(0R+zd>= z0~pb2pBvCBR3@c4Dk;89?4nKqH!I%bb~ZulI@lV{y2^8NVtB`w1-wMTDk0JCV;Uva zQ42due2o_|%9m9;6H0Z-@4ShQ60|`2vo}(?MSsrv+?pJ)OL7|KtKJZ~tPn15Cj(QL zCLs4A?8-t*S=R1O8yt0Xe*55TFp3R!o(+I+I~l}gr;{tSKur0+^9qv6)So}JEW)KJ z4#7WsY8-9TPA*|vkMfZ}^JE#4GY|VZE?yux&|+8GLtirD1d=KbcfOy} zk?N9tc?Bf0$egoLb)jKn&Hy@cDw*F;jtKd8Y!8vw9D^h#5Ur6&7p^7Q!{QUEVV@Hv zefkYC0*bZKJ(O)raa5*s%|P9WV+Tj4p!zqb`~>MLi1j;=$T~8L24EnUL9`%uS{b6G z;+*RblV(fE)Dq!<6z9l@7EhYCiYP;J);ib=VaPS7&jAG1YD3AJuUyieAoNCa0nhsg z5pY1djUOcsbu#Z)hGGd|VGpXLf>8=!bISWjS_tBom0Q@K16#*_04{ObhW$EZ1NJG) zMf=7bP?YH!E)(iQkii`suu7?=GgR_LCId|@nw3%$DA}34Gz7mZJ!9-5 zd?2AyR4T#_AYTnL%nGQ-TC9f4_-@KZ^DgdLX{lxCuz(gl=v^of&D2A9DyhnI7hXAp zcm~@s`?>KD{@xn}C8(pykR)Sk=A*)wq`i(@chzy+mHiFuMzm*wWzh6`=M?e_7cP;@ z_@WpT_hCST@}UxXk)xkRrxZ_MH*RSag3p!4U#DSLOfN3*S{HJ_Q*D2EHi2a%D`)5g zuI8Bv;N`NR2QyA(kR6?fm@zYtRR?Oq1qy@O3qwz}_Zm#Y2n?-;!Y0J+<0VMsJ-81= z=@J>aC2sT)P?x@o>-BgjFe~{fo(hIx28yeP=V__M^I9=$o5HC4&6kw2N;`sCyXCUp z2S=7^ytGi8Z^zDXc45QlXu&JP?iA!`q|Ff{$Ai^@k%7$SzKIAB|53{kCWCsdD*W|RyrtLc3|^bjpffD?2dALrmqEL8aVd1-o;}0={OZ&{ z;Q*0X4Cy&aq#~C%QkzHc$NU6!vQc^g=cyPSkQ*QK>%i=SV{_6Q7K4M)?rSKwNPJd= z4+jujPGDyZzZq|qeXyq!wy!>h-KPU_IntN(=g9{Y@_Qs6pZ@=EeY+G^zFb)R0Z{-m z6W9roD01TEX_fdMBqC&BrdWlrf&%V6Ir%9r=IuEkR4{1PP*~Vw6b<+ZB@UB{2bq5* z2jeIYJQO0eHqmrL=NEF14Mu#j@!qfx(NcB;e%~v=z#wfNjLxql>)OY7Cr%nlWFG}X zQZ(c@H?YNmFTQufA?nFz=_AyRv#$u! zwu~bn4||o-oSjL)O#zPsN6;Bjl^DAdd=)LF5jM?Gmjwunq!->#?GziRc!6Q2JxfXP zmLd2~_{=0czUK@T0y#qQ!&yVmGxI~@0Jexf7=G=LDbx-92$b+}$vl5l*G--{tL~1+ zeJg~!P67!Ut9}pRN4pH(QWOV(0IyL=Ji&DmJx_|7mc^_CIY3|R_zzQP0hUOHQHEzP zH7hYw%02XB%KV#sDgBLazW8TLKmFmmdwWQv`|^{&c=KiSb|Zszu2$;P+T1u~sG4yt zsK3haRer-%Ob;nL5&@PFq*Xv^c;+ULd_^qs^|YW#mf8@!D3H1kVpu?Oq`3_wY9Sq7 zN?rtR0wFm4J5T zV=QaVDDLQ zBF{!1N(NVsiji;0X-uw`fjznCLy8)mCNMXuFpjdraRTHTw!K#q)U`iG&2W}+&_Nji zRULEC2ctWt7TZ})OAJKg-r;x`N2?4B)oD=!31G}~3W=8Sv4%WxE0*@2DV2k76fyk* zP8_uxw^cq=p7;inf2WE7CdM_*TQyFDB4T4uEn@^hfyb}U@aQ|N%GGJ`d`1j3F5Dn? z6#fT3@)IUOOp;D$6N7-OI9SOO`j~el{$~UcLRfi7U|q1{@n}Qzi8EXH=_g~P6*m2Y z%ZEg|_~G4v))-A=0X?^4Lk};XAz%<;RHx;;*5&>OpBtKI8v_n4DMlg&wQ9$!cKbq_HyU0MSMXfZMHP7ud1_@KFP} z!5*SvE8@+;e4yKHKtvO2h_4EipgQ!z;;{ebI^Ev@Br}6hI*@o`YmdS`nX&LiIB|TzGlGQd98U zMuD9{zm@3(NsF6mv4B=PXL{@*Dw7R!<>3K2q}=Hs@cO){KLD!4UuPIco$$S6a5Pd| zIEv?PZ4)GnSs6IPGr9SR_9n&TA=(WPj(6GBiiMbt9CsT#-i>PDLq7PD@W!NI(m}?_-XCId{pulm; z;}HWu6de6pVcJoGV~qx6QMyGujxgmXbRn%99}mwiUpyQ2hUXrK7Z4>Wm&b-;*2t3_ zKp1=p;|0-Vo2@Eo(`;oW2h+2`B+NTK^?W{5g=)L9GH2ShLHx-`IvPB_g|P(VI@c`p z7GT1J%o<}W!E68wL!zTSIU0S=j|Zm=Y-3~Y*h<9-%{#{3nF4P&$z;qMF$oBA&JLv1 z;V~}ges-8r#)Pn@FAYn}XlgX<%ux^VrWbI>*{wq!!b6xPAzw4OHF*RK zMZNV5Wk#R(dXr}mSLh#;RZ#A>{;(iH$B#gPVp?F|dGmD``fe1L7kHKkD7c|ej~jSo z&ZB7B>WSKTe^C7ZC+Hk1*oWfR|47+CjQZY4U zTp^Fu{Ti$^KJWu?6Z1Ii70;VkfUPwy$@|N_=F|;-ruf~0h@z7z`EC|$Uh-hNT1jl*M`&8S~3;}ZH=YN z$Ltd~Dg~Iz$8haL-Y&Ufz$-ZuzC0l>XGfOZptwN%&I$v^Ox-Ee;H&U*2zUSoc}umN z7&vHf%}_juuo_PsS5w#IbQSQlX9@wIXmv*Lhae$#tXdpgZDIlxqMh!*P7JM8IprBPAk4sDt7`8UWC2BzVG3;pSGAv zlFZ~O|6ts&m^i2U62s+G)nIfnz>0~;3>@#|UKsAy)e; zGcb5y2JDv~N;id&hOlq~u>i*y@);o($S(Ds4Cw%&trK9m$zV=}6No5*r|5(o7E|r{Q}juyt+ctkELDy0R<=0U~{Y>Gz(zgiE(Khajz z$jH)jDC22WIJO4iUU8%)d=<)Au;l9mNH;Gf+b18Vco~Pxv)Tmpi2W|C;J7dt(pON1 z_w*IodYnv>$HJnfDaa>b(?Lt%Vb1e}9@62Y3KRm+taOkCUYmu|$AYZ!J{p+V6wj`h z*${bw6@LsCjpnH^3DK^lP+GVQmGjvAxF!zzgA^3A#})B-=RdHylS=c{sAKcZbs)4= zYtiyv)+z%!I3hYALT_V*AH<*4X6|0E84MtAs9{7D=gJY~yQ11HZ$`AhHndD(2sur4 zaAKKES=6yMr1AG5^l13U2aJhF*nvb?Y_)ocDFbK;i+qVdkKyrQ56Lekda5qUgZRc) zT?I7B{u1PeAg(jKOdqKo>e<;C?+;#_K^NxbNE2%(AL1}qmV_~^+$4ys1kDz(auZsZYna66e|g#1349 zu()iX2GRUQ2l7xJnkJoL+B>~=J9IoG@aeSD&M5)_tX!rb0Hqa@`NAF@M{aQho7Te5 zz0zevP^3um7)De@Dio5z{%Hj^8>wqNSp_QOA(O8{&|t>KjW$?1j?FaccMBldK9^9n z-+h2gj<}FBEnxM$pve%lO@T!*Sr2f% z`Vz)A5JZsewqe;&z#AU|c%r>yhXRHVpTx9>3mTIvSwbQ;!;%IgcNXEFDTrQ9{uYF} zl)%l9_8ydI9HG(pp<9-amo2guHVeKiAj^kL(>4raFO~zNi)WGqs zt>ggqC&Y`>w)sK{G)$0Igu0IV(3ZyRp{1Z2v&1|YPcF{zLdWTqTU(I2@&duKka7Fr zV*HM720?Nj!7$BOr>N%mc|%79Rxvh}RWQ>5?>m|)2@4qO%T|Dz<~!0srNwijsl}`f z!(P838lpeM*m`4%9SWCeb=+JYzkm`)KU)W(cj2G4e#-6hT{R&WiFFi~$!JSy*URVP>u321dt> zGOAZAw#Gxac$r6pJ22KNb+FJ_jrh|6IW72#2Dg3R&M_(8F!@I}Pv>Rt91&m1EYnhk zCNuey&Qe;c@rZ>f(6A?qUs&KjLJkqS7O&36bD0beU4ZSFCAnn)mY>2O}GX&1%+G82XRx0A2SfUvZg$~)X@|yIsyjH^}94gC5)k3 zVj7Y+qj+6f?x$uQVdyO%)rv9X6e75b9*c&9KCIIs-7tP6*@p3L!ezBZ3}jBt5MR!( z4ne=lMcILti-R?69`l3rtuuv9I>ru;aRrpmkuq19Qz&uk{|w{uZIMk8J`#@y6%(h~ z9ZAS9&s_<2YkQ>(XZ6G31%iMXKB}!?_lkA~=jU`MS!}27m3RT{OOO<3QSz6s9E3i3 z1KEA8c;uIZ9Dsv001Dr{H;ETE_PaW_?E8~*v#ZUyNEukR;5z1_LZC^ko*kszj3!X`lz0M@hl9c7aLhl0Iu-74 zl_jQKV-SZQ9^&RTf{mp$ixDE>Z|r#+xitzjL^%@Q>jCsU$-xdn#!BqGG``(JlT%rb z-raWi6w+j9yR;)A@ENYF%Pgv2$2bV|YxdR~iDiD7#~{cHf*o7e+)Yq}ILmXGXF^CR z;nxnWAG@svf#=y^LO`oZW>bE%$|iVPEn_!yhmq6U9@2Z{g~a6EIYmwIfLDkH(v7P4 zu$xP&eg(`+txQn zk)-2owS1^{PZAB^YZ|V(1yLHr5Fbt4_;vSiI+55oc2V)(WPEu678#L|l~M!H4G(ZM zPq{GG!x>YcHjQx*=L=r_DhF_bn}KbTKl8{F~UO~v#D?z@bCK=Z9STx zcJ#pILNL6-i=g8w7*wF?_!yZcj{U6ydv9jXuH{8bmd5ylW9jJZ>rw9G3Ao3bBx6+vkEmQz`9T>=g z`-cc*N8k=LMvMx)4Kfcb#flA35^QuDs`RlLRDeaZ9T8r1GjJ+}bHUTLeWx|G?dxOf z=V9)1;35_&m*;8DvUrbZ@RDDuX`ru$=jVz&nA4;r?X+^h1srdTbxG)wdR`8>1Ki?K zBL-eb%gsxD-X-nVC#0NCX)O=g3(I0_9+m~H$S#2t?^cFVsfPI~k}lkIfGmluPN3MS zC1`^!V7>#N-BBrqtzd_!FNiQ@*InEjudd-(+vPBdH%a9w*Od&-=umz*XHgWK8X#@C z%19tH8Uovlgl>Sp4u#yDTb1_@X+?y`8qbvlb|$-eLw{YE6Nqtb#c~<(dD^(DgpUVH zSUI7kwtSu9Z#4|G1~z|{>Ex{ro10h%9fGlY@N5O9+dw4uTB<{nAeJcd2lmYvHCPen zG*;n$ob_Ju0aEc`7lN-s!&30)OC`Zu%6on_c-Dn+7y^1AAzr^CD?wf&sIM+d(3zP` zw^j=t{}C(2(^WxVX$|hu#(j_vD4st`)K3YneAO*!PB*vAe6a`pk>~jP$eSbu(IS0u z{hFi7vYvAE$;+OLuQJU9-Ko zBQ!3EiPxcp5755x5EDsz;I}U>plj+pzvAXG24p4-8EZPaV0kS_8V!-OVZd2>o6*$i z_EX(wR_K6bP(t?bkDtB_e%k|j*kq{*R!(|6rP1^*;Q&CE2wt%x!}Q#euRy+b@ZTV& zN+2vXziTH&Xj=r$sP_uV z)Rp*BreN+o=#4b=Dz$3X1t!?T+$5vxTDd@+JCK^IH;BzZE3pxa465Ljpg=RU?;X#V zg2`PBM1cuV5}iqTpUN52t*Ie@i{z7M1XWi{Yrv$Wth^(yO7d(6~ghD zgb~o!Vj#FV)RrR@Ld>|W){BWp$K%%WF=36Z{LytgfcqItgSe9nk6joY&@8d zE7630;)_jDnfz!t^`PWxP&$oXpl`sxKzw$|P01wj-Glg{1dI|LVz6}z16_f@5nSF< z^qXF5?I>wt2|>h!vD8()wS4H63SdaBi%1Qw9Q2)_BPP;5-x3Hn8*xsXC8wcE z)Y|V0-zZL$>m!pb%+2u0ztBQt@+gad_#DgSgGU_3!=T1Z!bZ=*{|IM6^#sCm=> zw7R&sn*Dn3obvn?qIEsWl13I@y0u4v!2h!i&oc$P^1|-@nm3%#cG$ZG(zw;kU5s}B2gBu2ymx}Y zdWEN$y%x!_SOOMlMm(nd!f{No0%p87NZ07OSQLrVcLnvjJeEpNtV7#ypUDiuR?vFc z>p8G-_&peZ<12K;NzZ4?WRhhc0M}wA-I(x~f>ii6wZOD^5!b%a3{ReYaN^;~MiR*^ zywQ?#(=Qf#HBJYEE)I8l4!~M_u=ik>@epRPjNs%>#uA9b*yafYOS%t{-T5c>R9YB7 zg`G8+y1twY2Ruxwnu%GVS9}dZE!Ft&c^*@txB=lDlj1lf44BCutk?c>uI>Tn7bd14;jk=)F#LMNs4;kOuzq*JbDO zFxRU-u3pDhz~g*4HAkU11tX&o!4^B)NsDN!m|nG9SHku;vr-1JS9Q;nc74A z%m`+KR>T>Z$&=ADgfTHcoV_n$#fOj;qmYq;P)dOx?@WT>(1NOBWHF=&9?3XC!F41$ zbUl&`n&y{KGk7tbgHhrOpSU+LVI|{|)IQDcKn%jXv-DUP9^{62a^n`x54G%6gLsx!BK1;O&t+695 zB}YBnjg-D7hgf01&6j>Un7H#efd3e)8-lm}dhmTXSFAc+=*$pmzmvM3u>y^hr`FKl zK8P*JnXMF>O=NTv3Q5yE>C=lk zv`Rf6C}#~-d67ziS7NEhx-gB;LOf4oK2JD+8{5x6o~#$sisnSFckW)ehAvMm6-Xdx zT7YubjX#_N+X8hxzF$}A04F;~@B^0qzudh`P*vB~28t07pNTJ26h%=)6cOLz3j}-v zD)`9BNpcLJ5)}*^H6}4RY5n#0j=j)3^rR;}>1prSTbo!Fq3TxsHg9i-bE2Yp`>>I@YzuoI2^!rmrZQ@GCI z@{kWqY%7%+B40r_hVC(>EFHkDiS&-QY2hqeQ_S0b@aWqQKCe z(w!p6fYSbIgp1;fS&5duK9Cy7p`=rxqHI`|pg}U*@~b4`g+KYL%eyZyzWCC;?qf^* zZW)4wUB^B37)WM_Kb;Ps_j};T{`8X>3ZJ|Z+)>j6K^-!hXrt7>Z!%KWP%V2orS#QFVAWWBy>m?n9TQeF}yF*|5 zJ@Mw3n*w-Fx)+ZKo{b(1LLg6~jk43890E$jyx zeHClXBO$AXa2u3z&gpYgCf_ZxRQ|{yj>7BFKb@rCSXJ8%GCI&~-MR@9t}80&wa`Um}cWT1rt{Py{1%iR#jB?55u0?4z1S6lemHp z7^1HiFJ7l4#vcEu%Btkt?LlbBaGmG+9h~H{nyM^w`zEopa<=qHP+o4&x&=XhWPS_m z95vl;ah%h1QU=<9-ICYgjp@yp9QvS=P{Wd2>gu3Cu#go#FN3C|io85>OpWp*Vx@7{ zg{7IQ4f7dWhettpDYO!Q%1NC~c1+U%I*n0eRY{tsc|g_Lc`Eek&291C^S{VG3BJjE zsnr-S3ldS!QYDS~0#!;>=#u|~RuZW0KPsadxa`ECL460swGRfbyikRy!H2Wz%3q8K zjlDr0Cc912QOhuqKg{u6-$A3f9SWg72?<|V?twuDT}KD&GgQxl;qG_H z@?w_tM_>%{YKZR}=nD;nR)xfzp)tuBWE;w^(;3{JTs0<*Qs_oj<(RV;T(^OMIKeLn>;jVBD(8+#NWSUtCOQ1lS1(njLL1Kr(`?O#KGerEUQsGV-YJj$z~hw z=dB7PxrRp=HOU59GYdLmJt`@J4)@Drt1};5dn6|j;DJHh+D^ez;xHlfS;RA@kh7|^ zP<$pa-ysuqyHq2MnCoZg63p;q&LgR0wS@Evp=1k0OJ?KUHS$$R17!qDr{aaJCH`}W zpVC@{Rj@Y!sj)_Hu%$-=jR%pzNQ62b|A%4&Qx=nM9mS~xx!)R z7t%F&Wkau}4`vAdr4VW~gf@!xNpH`VpbmLwLwK@O@9+R_)#6q*y_2PkiVyw=qA^YD zS;;t@O>Wxj{oLnLzMe+zcG~LCxyl@Kza;jXqpXn&wLvDU&QTPMgjuvn)$I?FnWJooE#pbPdolS6X;_XhJg;b!;K4(UuM;Kxh>m1Na6ZkI4 z(hEf4k`3hxD*lC+ZacQ1gTDWMH+biM|EdQjpR^oJ=r+)u>4&Uw6Lq^%ns;;asgzs1 zz$E=5MYUf!7!H>dAqbD)KZ@g@H8L}}H3j>+5C`1L@4btsW$%NYo*RTyC~&CBUa^C` z0GzppZnv_j>|!SOkVf{VfDr_OhCbL27w{N&Wi*Twl$&44$>r9C^9r5EU7hR5hal6z ztzBA3vU1|_so}v$#aZ%wHqSrrY##y3p4Ts_w5 zBZWI|Vmc;Wm5%tcmCEi$O3kH#UXH7DNhABQs9vJO1HM_)F4_%u;HIK8U~;uHSHqS-WJdgK@kLbCErRaBt%r=2k`TQ(9f~NT9Wf!^;VyM0`&fz| zKqMCenDb=gHy6>>Z7e%AK!5*>T(EXgo4SsXAy^TgxIu@x3B(<0WTq9PHEt@ zTU6g7biUK@awXAekrXq?3&+u3gN7oPAF< z3I-aD{E0AtIH7|Bz{G;&+B#he#5~;dJcSGG1O4W?9gRqU%c3CFzG}}@QiV!*FVucY zHTl{M+ZjFo`3N{p6YvgwV&Oo`d;^NldTaDlcm)qI5}g#kqPTSzX*zZ;A40X&So)_z>YXMCJn=3uU!+ITW@8osnCM*j7Qq_0DjvoD zHB{MQTu8)_)^M1;xSiiC7ffh%)K913uVg%ZG+u&o_!a@^Tw&8?-koM+>aF5XLs??# z=fUG<5|Zt-LmEO#*zbhd6a`9W_a$J{&>#;1QXXhF5vvGnj){9D&JC$ccaRQ`e%Z3X zCkxxq-X=h^;Ea$wkQzT|vphfC8IGr;8v{D;vN- z4~UCHk1q{9?jNREzkMF>pe->g)1RVx4pVzi!>=*&1R_!}vwBbw1UJTGn-8`G z?W%d&%wx*D1;&ZI1hRo_3@@j;6n83VM+Y7~q{D^nC(|%lPDg!>l}+P@^v6r3B+miU zQC}OzgrHhqvjv@q+nk!eWX6F7BTp{Ey9ort3Gd3~riGI{pwW~`E=s33nbd6^OzoII`gadoT())-Sn3@q^Er%(gKzbjlnu_b?Q2-8;J> ztUrXT26sNH1c=K_lXo_-*?=puX{inLLlSn}#N%0vPi6IbcI%3-g^O-3qYb$fSU>2; z2{k>UlMv!CG7wYHo-Aa1{)O7Zhls2(^gv8Ey|Tl=%5ccOjvbyAjJ$2hv(idKcMPp3 z5i}|1jA`@>Dn`s=A5$gdR(KB13=^$Pcx(Ek8y^aSb%5LjI zX^z^K5o*`zF$P6FFOm)8C2Zs;)^%eL;F5;STq_rbT+kZv0db?aWx^1=9-t&4*T!lj z1dTFj1kd(=ZE`@j+J_K(5}9A({Yr#&Qg4$_OCsAX;pa>$oFR->T5G!q28sVS38i8t z$syE1fqrPyb>8_k$WI=LDP~CS=(r^OgrJXzH^cDswh| z}dF&bxXc#4s!l)_lIm?A$XnaP9uQGYKX`#PzyfrsBHCG#QV`f;} zG%AzpI5{y6ys{`($)FF?F?S&->W~jn&auUW`6snd-jX_HTU`0VfV-q1NV_F$TX=#Q zmy&74J=KpBiy8#9O$D8kL3HlM7}h^*#8?tts2Lc$GuF+VUGd9+|CWfHRVYM^%h9+> zzu`=A9k7wRbsDeVfujL?FQUUhs%IE_e=-!91E^HErGd=m)YEA4fU9cwh#{p_33zIbvC zbIM1q$$O%5VLwub0N^M+MLV=f;%HR~(v8c6IG=)Wd9EfxHTEcLiuDZ1+d~g9b2-YG z_CjUYpltCxWsPWWNi4ZDp@sf{u-%6_bu;to1aq$ToIZ?}kSuXcZ$5$1sm$M3$@bc;>O0+g6ED?c!;>nKSO;Hu{Pfxr-YPj}=Jg2TDmnzQ z)K!~h?nM*Dvp<1dfflqWb&9pB%35B0#8GTHhVaUp1A*UF%ZFP&py_mbf%bxXyw}+O zb)4!lOXfN}N{Pe=pP_qvk{6?nUlV0D zT|rxmWqMs!^t97B0zPBK{80CEZJpXaOk33&noVh~^rS%XcG@ldJ zRfehrM-$R@CTuV*iPLm_K1e15=zp`QZwQZ`jZ~pNVb0K0t68aUmLRdJ-bGO7Yw*O5 z-jlZZs-SVfi`{(^W+FDf-(QilVzb1KK!jFix7aSPg!PCGIh?G;g_*|(ircY|Tn0n1 zS&3re8`=cIh2vH(A*H}fbK~ngN;p5%3TygJd6ghveq*SBxDV^!)3W2+&+|#Y0p4z5NWqu#YDf^WM zXk**l75h2dY-m?t^8eS(zI9Swb$P*p{nFrS=S*N4_Cs|FtNw!z@^)&OTV9okj;oBKi8p)MBRA&e*x2z=dueZpO& zoVitDrkN+(+zLhpZE8CDTWd1q$q3}^NiZupX5yRUp%sXo&e)1fFBlSO?!7RD&;6#t z2^0EF+ix6+sn7K3&?#Ou>`qRP#SBXh71H@&knkzD%~YDqHcmUM8^Vm`-W zla_H%(o7oFNr=t|HdE`j_d@h6m#GP+h>V%=61c2piM-XJiOiPt(K3ue&hurG@9J@2 zv(hvN67DzJ4J{2walhs7<+RL~nU>cpqCyqU$z-<+!s8&EFbd+ID*)TAc=%L>0pTY|atybij+OXqxfS&$ma)0Xwgo*aqs1)u!ew&4 zS_Dm5j*T*Ak6M0%HgdBRWQd$9!HnUc}%E-Mjg4u=ft!8T75Dc8zYq zQR)}yFi?S)o2Xd`nd zLhU^{(WD~$)|A>;NUo8A`~4Dqpzoo&_^ECNLM?sr6C1Fe`Bi8G{KMU(j3QYyAQQB6 z)+0YDuaiY}e0Z{JuwNfnNGjuG(K25>#LcCo+%dCH);3}(Oek;Pyouy*l3R*S?FkjQ zaV_lf(~QcF zwJElt!A9AY1F5!~Pww%d$?lsBtHh7u?-chzPi9~}>-X&wwm$VA*7}F#G_-=mY1qAR zq*L7t;_wKzPb?#1$fTN#)z+1rqM40B*w>)r2*X8|TSI;=h)Z~hdNwNCBr+eLE$qXa z+I{Ssyjj9OpgPso5iiFW<@_r28bt15S)FbsQspjDNY6!0c$qz?$UjnWhw0fFpF69c z)XK+a%-cO83vVf}wpq$VB}u(MXl` z#|LgPLmTX|Y@Q_u_+5RZ&25CGC`i%EtLql3vCXmj*%>X@Iw0>4>4_)ri-6~Wtq)rX z<_)~&78;W2KBo_e)q5A#koyB*2I<;-j%MiIJ3PO$PkZu)lAqK45GLLndC9Wh!aA5) z;F83uY~A$?cT&iMQ-xexaI?#)o-0FEePjZt=XC~a2O^VYZ9!&ssK`b3Tv@0wh27rA zNDET|lO+X>~P-`H@{oI{V;9aL1So z!)dxE`1;FWza29 zBulb2PWLIOo0u+dB-j%@XGSWcP5*2}EAbG9X;mq*4f-51Mc70?n7+*XIRu~S8vyUX ztDE%UpaZjena37`+6EzvVrGksF$;COcN~!$PKLO+{cuPtLE_Y#D+rPhi|0b{7_ejp~J^gaZ7PIxu{n1^dn21fJ>O*R6d%-jO*b@siB8ast>8)`LvR~&9sX(s#XI`!_+&bM$W4$5FnbyG$7N?o158{%WS%UNN4>WR7;BdtrIi!D(vP*I-OR+~j7;`b zp8$xZ-RkJOZi~fwNGhu|iTh zebYjiIvk-;2ln?lpK(Yepe{ zT%<{A+FYZC{&E0n5v&0>0fW_W?XdHM4R z6FDgkQ^)}@+iAkIZH$SbPeJP@BvSZmsD0lz+o{?{qUA|}_lAb05}uz5u$dtW z9B3PZdBRP>uVso!Mx44@%=L=cO-6HFXSXU*Nbs=XR59|6T=~8UAJsek!&MrpJLE{H zM+j!Ul}^V^nm>gHpGWRs-&FPA1M@?IkIkha*|lCdr{!+AHcBx@zzLGa7-vf9D76sstsSMT@gM?(ut;7{ggiWALX9863lQK$niI;AHolpBdQ8b0te-1 zHkMwlLXd{;>V+*oN!;s&moSs6JN%h40JKD5+SenLBx@jq^#i2i6YU(l!Dsznc)PsVZhLH6q<82V<&5BnojLx(6Gf z1ohG_Cq@8qBe~Iiu_t0m7PU@XPSyQqTb@O$7?<7jE0Uj6kKGq^O;0*Zy|@l$YsdZh zY1b&wf-KSD8`Td5UIZA%1w9~LOW&6W7CksZ%e73c(1T$bG)yFA?x4{e*oecSO`C&f{D!sr7ECdW@CKu1QNG_)a znVw;E^O|fHP%$;bw1fJO@K%X%YSMAISA#H#r3cp(u!V`7EH7`pLGIuUb#gQkY8fTj zL;pMI98AjoXAG6>WHcAs4+kBVUT_>LTSXd@yA%2?p^;FI*al?lW0aR#9Y$WxcbWo+ zAIfz!!#L}?ua8s9`DxQBQCmA7#n5o{9vMMDjK+})eU8nTmfT8h2oCg2O5OsRiTw`= zB(A^;-)?O2pSRDyZW_8JM~l8c)k_7E;84EYR3nJ>l`R!eI~6%tWD%CJoFGm4T4>M` z{%{H@V_GqTE}+EB^3HC&w*l$Sr+^UTbTE-j*zUP@&Nx^9zaiO_dhfnr4=o4(OS$C!=XsUlePaS%fU+ z(NF(=0v6{w%=Os2Jj)m(3#_fs{h0;K4yjG}6-&YNGEnHCCId~`$GEf4tUx&%hrUm# zYREf0`=brYq;r4{(VyHN55^J7VkNe^ocVTS#^Hua0NX=L$88rZ})D%^<0toLOTtUolo7tCe-j_T0RU2@)~Il$De(q?M+bm7U#c z`9Y1SMvOlqS=hF1Vw0jK_e=aIFfQs7ky0DPr6I)8N0@P7SSzD#!3j9TNZ3So_{)O4 zz_)%MBZ-G*4S8pcbs3xxp1^h}K8y8G-RE@uV?_AG{rf>&zUf0ObR0AQA@NbK-;cAd zuZcP*@tB%nr>w(ecmK%DYQT^j@q9Kyhv2v|v1RC2XghKd@6rVk3G`_?2gb#JKKn4- zG(s-cqP46A?P*w=pjw`Vwpt+(sfS-Y@EdKK`H;QAtzrt67a4}Z<=Oo&O*2a*pH(H1 z^|!Se?G3NaV(@62e`tPOLGJIvm`!*c#n)CpbQSp;TMKeE&6IX_lTJw7CHsNayMz11 znY3S&f&PF)_PkIwvygUXLZrpX2nrRBwib{bK5L;bNNN-T+Z!cgSW^Dc20IS@MNGf@ zMX6$Q_PG8!xTV=^!ZJ|qi_6o^ER9DF?Fo0utwyqR4n0<_OJXIy`I~z{R+xV%!sCo5 zLNYF>2NgI!`H7WnC)C^od zt+JE_IOWXc9)&dcTilWEpuvYwasdaJ^%`ajgtzGq3>}E~G|+#q5A^^ipn!p@6?{{O z&FM1HZi484G=kdtvjfoK;=KtH$Qp(DCMOW$y_6;AAuE4n(`uX8H1mpHuATLKPzC!~5vU^gM!v9`*VlYpXJ@FD>5ND>?af~bRm#h~I>fGdW#1_8d= zMCKSfB)FV~&^IBP4u*}KBjjHnt;r|~p$p@eCOPBebYC30O=W<@`k=o)(G403!rYXS z9&m`zRJvb+4_(7z}E`<04n;5?T>8IMAspTK&CfVU^15BOWC!));fWI43 zN5i=z`$mdIQvLFrlnxMPc#_aE7}}v4=SX!H4>3`KS}^w^{LaWtViLKu0H1+ygW%W1 z`N`kLn#R}WEY|ng7XX5iTCvJjB0x#60$D4Bp~iG7ZJR9q)8bBImml+#1kVU=WLbfs z782=*2|S;UFW3+Q7k?A#U6w*_@oh?Mhz%l#x?GwdKKA>T_gz zLRxc|WtFp4wNK7bjFoXqKyd|!7MFi^zna+J+(?G)afL`55Q~aFJ1r(Cmdo^l1ykL+ z%|o8dk6dLFHPV%sdd)c&gr;&EfWC_?xZR_i8ym}t0!XkG-7nGwdJovvY!SaJarJ4J z+%>Yrg08uj$n96{A}OW8wII4Px`^lU#LvNY#Sm6mSv@d9{&vyN&?OD^($@}QXsBwU z7#(TI2_sEgvTe+?ug^%>#B&l7R4N1Y)BvHR>x|z-*Jr+AW4|ioe@tC8Sz$-zumH63ogY( zf2Bg$F1h{Qr1ZfjadKdRUhBI}?v8=}8OMM_NN|25;|N{rTImFj5xV(}4DrBZ5#CB{ zGJabj+?g{u71feo7qv?PKx%LJ?m%GBM7^2dXHDI3CS}fju%6uhY<|HYP?mRWnpubt zPp~t9VVsl~*1a|t)}EsQhg@})Bs zezTE}qQ|!Q;54imBTYk(rcEnd@JA^Rwb*LrJcA)+f?wLNT)1d*irTavj%}s{NjS1W zBZ3HMeoxf;OA=ra^z_a91N2OmXlWuj`gm!sHLCfY;|NOkv|f_Eg&=S^aa_&VThWfvdB34i*q+wHJ5;h)60~Q+Q3PM!$BZAnd4M-E(jm%lntKDqo zSwE|+r95N`sRq~zi`gHt%Dc=ohnTxHmkCfY1L{y<#RG_%VO5sV1%+Fi*&w4$c={zo z0uu6w(h)k0)Thq+5}j14lt}tbK{<-%<~8Uu$hF zlAxi~l3-mip`!2(MNR4eBQX4=)r#AF1F5?XKvw{KMoE2w*5Y99QmMPLXhdVS=^uc8 zf>lt34qxlWOLwN*R{h8F{+vg8E^F<;2C= zfAik`CIli!sHzdhZHH+>nA~Z;WBfSHN#*~Vq zBTuj1CknA%^mc(_hL)V{d}OsSb}^V!R19%;LMTKq6-f#CthI(NPPQXR*2<0bWCR2S zF0$n1<<_bhgl#!>EUT=4d!ipMr-%bg_fZ<+i~z}ptVI(Kb%S)s>|W!&>wAqF-i&&2 z@#1vVE=(|#fQM9|;~*DepZoC%w?r4Tqw`O}Y)&Cb%LEA=ml9yul%C)O3rWRBF-%<% z+NIN;Du`)|gR#kyQDQmb&cbHfE7!w9T3Yu*ukmpZ9{MWwg|*v-L^7KwXRRzba{B&a zuJtA0JVJ*EYZji7f9UB?q@vPU^bR}y6i{!)&5FU8ls=Qr;G=OJaYc9FCIg?7%!a)#+{PH;y&ueL`(WP#xY~jyRyk8lT~)X0F{D>k zWfejxHv_jN8nd;Aq=oFtX0|4&8Nt`n4j}|@$Gn+EbQ;!(%|tViw3H5}QuEQ<>gFc- z{R+RufFCtCeIS(zD58)oK_ctjY-3s}PMeQ^_JCrDBz zU_$>e>|*y@jOrjI&7dgC{>9FI6aF+4)YNS2W`^b<_g|W4s--7zr1qWJ4eQLf^YH#h2Oh?85}nChkMy0uO1!jOexCnW~sI388{)p3l&VomX^L5Esv- z_xHhvoNL0)82oQ)?z4ZQFLuC4ZJya|X5ISMMCW|RqTzYi0K*^fpZWZ!nE#aUpHlv_ zfd7>7pN0Hq5&q$v2OdRKmY8$L=yASj%Kpy#L}GG)FL2d&n1OKdRtdb1SKoR^c2vw1 z4}I}v@67zvlhjNpxG9Wum~>`l0j})O0d|-k$uq?_fwse>=QG6!4bVGN`tSjiQzzw-7Z*yy0gSz|#@hg%s|DNDW;N zZsOE88Yih}{jj;Oi2Zq!A`Ql5y}@SY4bLq9T>5|>GXr{ab7qq*f-or9igICA=6<6T{V5 zo_R=0J?)%Vl$k$o-n{>7S<$@Z|3^{9|I9D_ucJR6{m1I5`Q`sEo>#Jbb`k!`lob`1 z{nwEnkNji7)ciG}^s+^NFMd~4{9lWIT>L+4>whZ#Wo>(`e)lOTaTo-9(lI}1?y*)9K)w={Is(6A6tJ}u|2(FyH|Vk<){BT_4A6ZcdP6E z(eumdy7cNgwEk{M-RuVomM;7Eg2m;FGHZ)AH2$>zm-Tzn>(NN9SJ(V%->Yr^p8vsy zMVZp@H*{XRhfj-&*6;ag>n{}z>57JTOSXGEPP|(AsszQ>v)HN~|JeV_%G&hG+ILH; zye)fQ{N>eJZ~u9GUbX1gPv-3@DgDp@{5c zSMSf;uVg-y#E*&=){Ucz`sb`-*P_gFNiHv1SUGyzt7&@K`t!!-%o<5tTeNW7*lln3 z`G2+kTyrV2P7*7M7H%3_;MJaZHUH5;+57XRQ<+VY zSXH!e!{~Ky+u@hhKUbc}Y?j0=*`2DE#ma~~7lGqe(|EMG$D_XdAbj?3Ey{P_q-NDRpNjnjqy_1sIJTE*`E%PM# z6p~jzyZzI>=dC}N@5!`kY8z7B324{k(@5SkvF6>9eJ{GPhIl_0 z`BnALn@?x%Yw{qHcaEdk-7nZ|{i4i}ei*@r>ajE4uG9aT|MS+1nTMME2+1x&Ki1^0 zk?i*6i6(!8WVg|8HTgRvuN&P?643f{#o^3TP5vIq?gsoplbb;W+yS)+708@IvWpn4 zn%stDcN?^8@@XWyczi~a&m!3!&N)p!A5NaVpvf1J+&BRuv;PH&%)UjL4*hTiAKWf> zYjO{g4^BLOx8%sneaL@!QRb?C_zOO`BmG2^|BB>_(L-J}>i>CtQ|41m{tU@YA(HpG ze(1voch>tg`4*DhnYpdWcaZFMazK;6M6%nLyPA9t$u6?r*W^JYXW@%}7{P}SzG(6z zB)iM;Sd+g-vb!8lH2IsXO1{aX!fZle~)Chi$7>`^Zabm(4t4gX?$?8@r)*) z%}PF}$%vd4-jJCK`T@bfTvBpbQ?DS^#p!NM?m=>R_g>Wxf5C?^9nkc@B7N8Rb)4)k zRsv^sFUowXAHKi`mnijWavzdIIH1Y5kX$>y#%sLfUAg-6j%%6QntmrM`+z2YiDY;6 z?rQQqBs&wIxv$BCS(VQYY5D`CyL0fBCWF%qZL*Xmk07~WV!^v5paK|am9+ir&@cOp65K$m{# z!3THeT-D@jNDhzdx_;R}3lPmo?s?n838qy75fOMD2emL}grva`Ww?`!fP zlHI*Fq{$DEyn7tPsqqDg)1F0{uk^#Cto)BP`Rj1)nJ1e34U%2_`&N^`L$W)hr<(jd zlEXv#K|i#WWPfNck<~hn4{q--X!1oQyM((#lRLALyEOR{lAW2!T-M|(NOm!*Ta$Z` z?4t2iO}>U?ccj-f`390hJMCjl{|nL`?3n#TlmCijx8t8`@@Gg6k%P}Q{clKjm-?nA ze}QDTFTI-Fhh&Eb>(|s2c1=Ewb0XZh~w zO*NLWpGF2FB1|_N4E7X?HnpItqc6#&HZ20YZI|V#rg!cQWROrJvp-13{xkoJ`H+WB zFDRN~3JIuk zs})nTcS~)9mDOi^nfpKU_hSb@rm;JqV;;A_j^_t5^ZDoh$e$(rlQ>_8^aTO{*$FHZ z09a07u>e4C0!sw|UK99G0O|z*EEiw}xX2gfnUw+n(fMVy06=g8YXksl6Idqzkea}H z0f5bQ&ktrQ1ppfJ%O(MUzx=XU03a@aU#kTG#`4QH0f?#qwhI6~K;8Jk%nky-LjEVP zQvl#@-S~k_y#PR3erXT@*h-*L0H7(e?Gpg_$*K&bGbaU5+&qwJnI|9xdFE_YkP>|D`0Ckq1&Oc#A+JkjVk*IN3KB&LUQm#@ zS^Io-rb9s@C2Q_dkm5TtUsjM}J2Q7HNK9qss|pfDnfbbc#7%-9D@d_?@5Dh!Gx2Qaa}lh7^1N5W+;}D+Pzm*OY>k*td)wg`_S+prp>Sj}@eZ&Q3m2kdisS zeyboQa)M74q$E!82L&mC6KwfF*H^#;nN|fUar0}tf|Rt`&>00OVdLws=M;owy=(9E z&c=5;8}YCFw@3f|_s5dsKl8ihVaNaNgTa!eA50f7e|9)CpMSnDUO!z{J6*PDdf}>n zd^LJalKb z<&Ny%*#*TF%QEvz7cR;yShTh@vs{YS6qRh6E~`#zZ*ys8yX4zbRI>8dq7PP=W*P-P zSX8na@S4)hA%TzKdwNx4=D0v7ib^U+?_^F2fL&9vDP7fsZ6h$YP05<{+Wpu!0%PBl ztjRIvb)}hh&53PMvUa*`xAb;-dR6WCR&Qm4SGET;Q&EcDBJ}~|OK{i#;{^o9m(+}X z4U88M7++E`dK?%pATYjUZF=4AUq4qEC~pUPQ&WJ~C9Be_4`yyF48$&3H(l1QQ)U)u zV(4|sJ8)sD{GwOZf!?ey1>#EsK;Dw_XJ2Ph3IcfnJ_hp2S0Hc6*6FgPvUIDaKdKln zeKG%^PhYjXDNSGMe)ZIAy*jnwT4w$SYp`_1T)MKFQlPpN2FjJJA3d8nCph#gP>w^{ zmARlWv^XUd>Gg-9ypimkfH9C`nJ$Gd0sb)k(V@&`g`wP$u5~L2rH*v`s)E-5E=?~x zkh!k#4ZzEvZO?qHAT&J!exe{WJS8ih9h?1BL1=aaT|ZawZvfG=U74E-e*t*o=#xyZ zf>8IAte!4AopXkPdHtFls+yAJ=@m7ZA%!0RmY#m4@G#(2&#q@u3PORyX*id8s4z4) zM8CG2tpNugYj$W|fIo*bEwWpGJq3_!(5he?KvaG<)2=X7F@$R~XB37Grew`%S>~LA z(7j;WtgadVVEjh<@WnTM-l1-9SC6;qDwHs?Xcv(~2GgN%C*al3?#y;62px?e_hkj4 zoZ$wU3njq5>DIzfnP3&Z&I~9BRY^%@dSheeuENlf5WVW59Fd+uIa2b`v-O!F1)&ou zSv$Hm^Ob_og>aJ}%%l{C5~O4W2*#>XXg{Ppv>zpggnX+h&Bf@zbQuN!;+M6(t4cF1 z#ZvA(a&g8lC!lwamNmn1s zoKg5Jzhhy5;pa33x&@Xvkm*twN`;bj$N`#mSyP}PC|Nl-G{eDhT?^ks;i~DfBXO&| zr8IM2b3xYTFpkeYR`_ecbI0r_TDY@RsO&Ob<#!(~e_y?0eE&apzpL3kUNf=v`9_$i zW=rO8F8{TxsBZV{;?h+sGV{xLS}r2VT?UfdRVs^i4>e)?W$r6D2yn%-rp%Cn59I6Z z%vTD+(kdG&rQis_<yvN#}ozL7?a1bDO>yUyE00Iqh_{MWuK*g^#=QqfS^JQ!1 zTZO*^ygt3*K<25!-xD4^lleix=CYy^@Kd=@uWcY_WlGMFy<+sp>;(lc0z_lSG93zc z0_KEvDR>FshUqd)(xUfk_D-~U^p3O8rk6+R7k$$$4hyYhVAc-Lf)xAT;@y)}LL>eRYx-qP!tGn(rxa$(N4 zWzH#l9>Tg$%J)uhtRGK#mHQ?)y{YyNcTTPA0_EWvEhqjc*q-;o69?E>H@OOa0aGlLORrq`R{Rf4c7lA;I z-N>{o(p3Rio!)vP)2eVAVDdce3Z4ciJjoe_&szAL!sh|wWcy6!H|reVTsnI}bM+t> zY1CB(uK_gY&~;7uD^jX(?qDZ=swrPE56`k*h5Gs#I0SYx& z@Ed@YqxUl3D)=40PM3AZP0+g1U!Q8O(~FC$j!dsRJ-wl6deipz@qE#y(q9)9Rn<=K zJn-*N7IX37P4d~|`yVWZOt}``DVh2F`+aeFdhO0k3IB!ymTXExW`RK1o}1HKPG%Mg z#8IRx_h+PrUzcD3(wmQGmdZDXoS44W%!dL&=G>mHy^vWh&Nu*-wuK5gfbk>>=bBMQAuNZ@8_9%fp*ItX~;AP z1c4XKTTP}>puJ`$_6fA#^yPp+5QU|dLjoN(vwK9KCNoP%1%i;g`q{nAaRDGB6F4b= zk&%x=Mi!VdvP@H}!jzFg(vCv8B;TQ266`ypAe2j*{hY$kE^%JLBr6Q{Qb}!kM+fvv zQk;UctaF#bP%!C=T~-(xCS8|qg`r~7*|@4ObWGeE+n{8U`Y3WscRyBGWNxnOCkj*O zu1oK{45?f4Q|iXn+zUmMz?8ZLV{R%8O_O3?ufk9@DVFvtOqm??Y!8%8Ql2t7rw2l} zz|b}c0lljrv`yOleTAWJD%q8;zY2YmWQV>aM zDG!~KcK?aOP&(=KeXB6EP9^2(HG80TlKfCRmF!5@U4!09VCbDxXleOCV7Ppg>`m{x z3C)wh&^&2P#D0GZtj3R4k)eGHyLVJZU9d^;2YQau#` z^8K>HR0PPb>{ghX09l=@3R4vT3bGrj04YyZ0GQDO&;i!^fFV6s9sjXvL=r zQyYNQJDB-gVX6ak^%bT%0N8l|`T(hq`T$woeud%pp_Jja!f^OteT|s`h2iPJtu=dB zL3ns5!Mm?8^#$ne5$Fq~dg=>gxL+wueE|eth^`7#VX!CN_$d?ylAj6#?%c-;!o@?2 zKT#OI9Xy>|GT$l;r;d`P|9vO(R6#g%u=AHQKPXInf(*7rD77dQzyj4lqadwOqaehs zU14ezK$z;GQIPM{D1iK2g-StSsuX0aUr?9|1k`_UwnJem5CoUI6s872>c6ZoRR{;t z2X8|wAoanqL&^SCg|7jY#l5cZ4ZuLQeVLCHhQEg{)+Y+X&!c47e?NhDhgA0&KsiM| zSNLy$1vhRg4DS!^ey_rC`_S+G3d7$+o4c(rl@@|K0}4}XfvtT3S_^59S_`lYd!e-u zm|6?24qQ0|rrJVC!B+}XZ=qXXVd^cgSGu6Jko=DTi_Gy@;jaP9c%CRst;WIhp@Gb| z3d5O0r{k%@@ZwNP`h&vF5a#8KZ7G)ePXS&tx+v4CAbdNtc)P;z=}_c4qwrb4(*1J^ zQ#m4A`GUgKj$pW_G93z2JtAABOJS-<$STiXR#?;{WB|GqrhcS8z59CRs>1O3;Pf|T zt}A@Ql+S#u@LvE6c738STtRd?KUMfMz=FM>EBrUWPF~nyTVl6tax@Dnj85{%?(Zg?0kjcL86m$L1DO#=;U-LOuY`*8hRZmPrZ(y z-era1C8DU^tuWj}c*xiNdR1X)eYT&S_pbWTzdx3Qzc0wZ$wTdx|FiSV^Zmc z?~2O*Ui?c@dAg|l*~r_X4Ve#4fBwO|Ez`v%(`68NH$qT*_SNXYbalH|aoQ_C6JCRUpG&eEjM4=y_KiEvNOTgbm^wC zO%sPvbMMPfy}cLS7GIQ6pv-17im`n^)qCZ&UfGVI7{8VskPPE(ZyKj6I=u2uudFL8 z$1(Q3^&iJ4=1rWQY<+RuYiOA&JC&8Gie{jXmQQbJpWe0uGeC7#3DsFp2K;BiV$21& zaLff-Y{=CjhLYZVaB}VI({EZ|9rq4jep`ISj%Bxw<>YvqSJ4Q$)+^hW)r)4$aeTbi ztJvq2@At|MxH+J9J%)b14?2mptUNu>c6oO3LUwsEyZj-#3;_ULMyWjYLQA+gn53@P zJ>I_aUc-f{vWsr(l1p$ZX#~hooqLSPu{~FgbZPnM(($s1gOmGS)O*{T-xjxE_I|w2 z&2V<|(d*R9``*5bZ;Lx*PN65;tF;{*+yB#UuY8ABR_AsZ8QSw@sLj=%=`vKYVY;Sn zvUsZOcvjV0q+|l>{rDyHUt?cS)J#^tsPt-1zAbL%NWOfwb8PYWO(bu9vC*q<_BOS= zEj}e*(kr%%eKOHF@n~}7#h|yh-P?NlZSfg9&}M_6t2R!nCiZ<*&3MUAKTPAN_^0p9 z4=k2770_U9F3-$gNE}{Fgjh<1SPq2PDhPog9WJQ0>Dv0&^QShofdH}AGS<3?wJu?; z%UJ6Q)C%blXogyA{*+qx{wcMVzZaU<_tR(Ix?R&1O%bZcg$I57DfN&0@3-xE-7>ZE zH1|lCw{jQqRxFz>fnE4N3l?DlAg=2K_|)oT?EXcSCkq-(q04x%pxWlTjJxcXNgT!2 zKc(G0e@d-K{*+p`|0%WZ`=e_m6{??DJbCkV&7101mEQ3#ui?_$;>(t*`HrW4l+e*DK%WmF>?WyoJ%3LO0PaOgc1tTkB}wB2^8@ zX@shRBdTkdT?rzHO}~0Q*^1e9OGynsBr#YCVgT)#5`)G+sot%5=ch1=S-|`deYTJ9 zoSZj#`gNCgw8uMi)!T9HZSi%BKU)H}A%VBTf;zlKa;6PIO-T$$CCKOWnziF?lhsod zC%p2LZ+fQ6uDG~?9BuD6ZXN6W>C@M%-lV1)x~JClOt0M#A@0a%s9X{+gB(XO(J;V~ zTf?FJgLklNs{E2yb~&p>!$2GyizkSB^Q}fdw^l z4379UxUBZ9=><7h`K-q)tH?^n>a0$$q4QAI2g4HPX!Nk|p!gi=()H=erpX)Do#@!r zx5d{4-!V}QdAoZkp}U9jmOL3(a-Xo&5UNJo{&B)9+v1KD-|9r9ivMP4dje~W!bToR z$N&*i8Qjr>al%)+v?9GB;b=*h){HNjxbeF5P4Ua`z5ShUi@Rh3;iFfXeZo!G?U~s2 zd=q59zL%d(ZM%rAN;b2EY~}(I)`cXjOF>v+>HuLy9p$=wvHfP#%S8NYdv(G)eC2I% zw=@k8!AR5U%YeqcZAbDoi}KakT`#=+k9VIP9a}qodZP9Daj)vg+u|m43WC#Fln_ACwn5dn+_PXa~r`Kro1V|qJVPY+g zsJ53UygldN7GJ&cqeTVHPUcAtG)e9ol)FtL8}tJeqL?0>b}J8{|Du-y1Xv^tMdnZ15-DpO2>Z-TjKT35j zL|+pp$x6+KCl9~A^``IDXI@j!+v2OJlgD$Mt^sH69^20ty$QwX=roGY$>r=tjg>Oz zbiBZG0-cFl=JO` z%&TjATik9^>&92n>_e>-^+Th!QWv>-X$Ba`emiJ z`^?+ovse?!y;shJ`7fV(`#aticXFwK!MfN~%+)%&5MAuli~G1zrOPVfLmdzl?mN>P zs;Kl@Pz*+VQBh6Zn^jXQJ7a9C~MtML58bWNo+Jb7{@qW$jiFx#IfhHoTkFG6&_7w`F-D8KxZ%qt( z_3hpkS0f}#*y*j@IoW75V@(&Q!rT!0vRd#oRwawC)NrIXwRq*HR0Ryi*;}_W3rW$3 z`mx&aYZIS(yIQ@??s5p%?(2oAy*-kxHbg6V6raeEhZ#qX{Yuc{c{W+kgL!jMZ4p79 z%FW<9SGLC?k5pR?1X#XeI)rmTl!|4zP_V9Yc6k&FPA>OvD)AhTdxr=9{u%-=T7bZ4?bPjq4I=seC zue$4P@g=h-YsZgHF2_0hnRl$mJABov^G_;_&+=bMmIY*~G{;YT7D4Kx6U!&AO@8X_ zzu@h;=xuQbf|WQsyrWm>-MzyccQVMBH7sCq=f09$j_84tF5Q@}qAL37o7>)rYu-L{ zx=)wEF|tJmeSAD#ae*ACbLIGPFkQZVycUzv{i4I$VGh1@DSVRR=qZw8q!eTyt&6Cg zrIHxxJCt6dY*y;keTesls~CFr&Dh!TM-!>%_r2<4Z;Ou;DUfwf#6-i?XqTB9$Cki< z%NIG~*ph)~Ye&zfx3|LnP;=f}@0)>^`{j~$KXMoY&S=}j{`8gZsg*sr0YdQsH$eWg zpbX*z{H-89Ag9qD6_8WZaT}^^jpoP%b!5dQtau?RhU=DAYS51z>fpz3)%&byV&?r5Uqey8_0>l2pwW_>I_^%k7;VPU zPOsh^l=980Kv?MbC9lCZ_`*#dh#eX6GwA5oo9o^M8XY3-D#Tvn}(B=4KJ^Sb=a%2!Lh1HK-q0(8VDbb9X{{X`N|83OHo-z#HHxa6Qn5V zfL+>jb+cDNj@~P4b?G(+aU@3{r4A+R^chL4BbQ=9>R1V+pI9Y};f0mC@SXUM=YlG? zVt>G|k`QMt8w%e0O$EVm)a#hzsmXL1ax}PSl{vHG&v<06jWdU_8CC-Sk=*9_IVnz1 zYks}F7^@05(~~ue%Ir*4g~|LEPrY4Mxq{RvX3CUpq>%-t^NI4wRWFuJtvfkgaV$${ zlze%Jz09W}C$akq8HC-joJ79W*%DnHj!jQb3RQc~y)8bEGgW%`Cs?u3;XlEOjaq4> z%#UB7dimWyP@AFANs$aKxF@&12)u2#jV&1W&!BpW3p8(B;%CJWY@ ze6k#JiM2Pk#D`p)e=jXS9b5i@Iz(ZRx3_ZO=gn2vGH?8?D*$I>9?9yzF#h>uAIuk1 z5M{;D#qrF3poW8{HZANsD$Pq8eal$WhN0TMiN1hFY zj&$VSV#u-G$Y1b^Pg49KS6=my^gd2dMemPIe*LBaYhUC=oE? z^MB}A{@9s0#SxDDW3T|rKSpw*(A+Yq(JK&=9JT96a@1OrtCDDLS+GBsO8jp%aXcGg z=ElFuys2uKKGX+|`d51INVYk4pCj7l$aTZ+j{IIDaa3e(gOc9wDv0hK_WM-;y%u3L zFF87(E0WI!hhgSF>lzE)L^9;xEz6)!Uu5IcZzteTRy6%_wV`ju2%Y2j;T5t!M3p4_ zBF?^2KKh~9v3p*0dOKR*7Pmp;hRo(>*Zvo~z3s-+N2-W=aK&eq^{dLyQ)3qP6qGBc zs3Kjf8~;SSYp7Of>hN|M69oJBq4A5S)8V1>-VWbf4HH(*MSv22v@)WF64icG-5Q^H zx(toTOyu5a$R#t8H&>pSSTnjQhxuaXxSGf4*mbnStM?}b#JJcqr#=2oCo5@*Ll?gNu$#_#ixG1Hkv&h`})OxtU5=-MO@neO0l>73egZK~{g z7HbKA@;EymJ!Q%c7~=VUTOAmlm8Y!g0$fkb9WoRU4ni)S6dRxtJk+v16 zRVeu{f#i=sGLZbCBB}`+{I5)vb-M$k5-C>>ILwcJ9^>%0e)O+ml68IfejIxCG~%6t z#BZZkZ|Lo#t|fAtRSY(+tz~W}AN_2UojJa&emU=7x6j+-fSrBNJUPy$|QPIAV=<-t-gb{;t=M?NkCU*qqL$Qjch>p;4jFZJ>Ot2?tY{v%@u z@Awk( G+p$bppvZD2evmD8VGl?EOQlEI&F<3=ac!$K@n4e_?66k}B)sc(dPV1ce8%sU=VSN3>SLUL?!LweiZ-rM|ZL(cexZ8Mv5iNEr7tvz3lwKSk(K&Smol{rQVpq-Cu)m- z`Asd_h8LEw;W9M5f(@@;%!Ze-;pJ?2B^zGNhND9@+MCFcIQOAqvNvyccU|R&?7<55 zU=@2%&K|7g&^KV{hz+Sjk7#iW63)E`g-*7yotZG$zqz^O0Ry`#Hv_vk>NOnoI*z&$ zqecu&j2dBl^4yX^jyyMQ^3{)|^$ZmU#z!O(zQGyjCr)no--9I0T-`XM>Z% z4HG+G&ofbzPG0sJ{acyvTQm%7K5Zd$s@*HWFo7!*ai=%R<#Ky9ZZz3$sFEC~HitvO zuJ@a&CvQ%bH|M(ACEg5qEQYva9k(24B3F;4<~(*NRMC{%NQfNA^5)26Xha>C^VX3Q zvt%rJE`Onw!hEC>=F%5EV}nRR|IwX5X@lTPM$W$Z;WWjy%|jRuJ+bxs@O9rdP&XXNLZ# zdh8DTXIH*h>TNsmw)mvn^mtY=dS|?RV&(ItaBh2Bd`J}MxN>$tG?)8c)q98h@I4?~ z1ze?!4{DGF zu)10bW~vc&?JDBvwA-qxb6y%@&ts!4tQlQD_U*)FT#e^Fnf+(H8grT3*cptAcDy(Z z*4NnRl5`pr8f1$ksvMC+FM%cMMUX>pZse-N+yKte4<2Zy4HF1ps{D!<)_0?+O?l}( zF%m09BAh$e9%>`|0><=@4KRgzae@8!)N7SOv+I`;*FGYytpdA=fbYs=n@hY&9?zx+ zxfC~Z5T$YV$lhQ{P>msnxf+(Vz{s&Vw^OZq!zmt}rH-5kj~xC*n#4McuUL+r<{1k# zBYCz2a`;SOd_Q0a&2wuUIcoFM4&*Apl@YntSW|q(r8uu1xyxZxk@j|I{OOLm4pfjAvYC6jyyC9ISRWdR1j%FZGRx4LTw}{f6#Wuv7X0~pX`f8 z7Y*5#!x0df^WZviytSH34TVfg9fCj1&=uY{owz6s?w zXE68D68Zp7>Fo(Nb)i;SkzdJ|#VP9Pv`yNo&KDZasNvLo_KF@U%R)>nm2NPim}I|fW1u5utf*Xc-svR%w`fkk>&4_kW#K~ zMHEA^p*f(i8j4l6Nqf0BDr)dKzL=fNadaB@D~A1Uy6Ek4FSglOY7AX+s>j=J#8+w9 zCu1@7N(LGLf3h1hHYU9EE_WuGpx6aSZ-^$#6Lb{Rq+KBg8VPQyAv=;jg8R{JtDubg z-y?pNhN+&;x|9nhg7^{yKS8|*=azlf^y+nEx1RU@^HWDvFjaQd)%Bp(`ad??-1>NU zZrN++mc4pz*^kUE`|*VAst9MixR^COnOq1#FQ?XBi7T|duqC3yx4$tMfG_LB5-ct# z6K0|kh^fx-;oIVI{X3A59W#+UsC~bs(C*(-s4Xb;9%nkPHesTiA78$YJp^IkuiPS! zq|PoxhExPXbTOF31YzhDQHdSb0+$)|h?Iy0waG+ElbM=EFoJ*_`!~ zu6y?twIrb~A~3}5seCwPJ1vf(F=J0cnVb`j6DD@w=Pc9`6bhq{>Eds|qJ;?QG`k?{ zo-5|?XwXz>ALQ&`cTgy{e_6=ROgav&Yr-04J6U0 z_CgydV4rW+eV(*J1x|LsbG8`QzGoL?={GTFNvB7`Zb~F^S&N^vo4}{cePc8v6iVvj z^y-SSN8=;^9CU*ahdkCP&&261Fd^Pxw%`V7_nK0+d6uspM@wm!P2h(8o zU;fqC{=rDf)z5kY2mND=UU}RlbdGZ^As3h>)l(ttGSB&o-qR4i$efw1HAGqx7HeBD zs6w(gYW7I&ISE&#AjI?3Kkqw%r?VdJ!eneLESrCs#ELHvzNQ-R3PZL)z^iOolN-z` z{1zwHO|3j?Ct0XvN$BWR*`D@M#250mnb(tKl6RU}D{zu`7PcdzHd1NKA28nzOJawe zD@k%y#M{$4Rn``WNE}S<#E5xNV5-iSR59@?V2$_v^Rt}mvw3c)vZF9&e;-yLFSFm8 zwUiq+O)P-ps$IO8IBN+?oLD-anME_Y)|~_PJ#@CsTy7B-C!`R-xH< z%&jw50#wh%Y9%u4zn9^+f=_|;1?q&@Q$1nsEC)Zw+6&BX&_qMeJ2H39Bcge3BQP3{ zh!mDE;F`itmac?O>z< zCrAMYoODXA@@q(z*i%X}?J~rkGzqcb5s9|=`S*HfGVbvLG|$5??-^oWF$hQ<+@5k) zTP;h*b8#yC{1=+E5hUe7&!j^+zlIkzH6>tO0xlcTu~5QiR9b~*pCg@|BNaAcd7+&# zTvj+c7Hw+Xi8v&lyopZvTuSwZFChR{!){%byC`4^APa zA<6ays}Mn>g%_G5i)VF$*=;18LB8$9ir{!5E8Bu70w+ztFJ1pvIp7PVTm@!xg25&8 z6gw=3kh90+zvA9PJ7hM7ycR;o*DT>$Mzzl87II3_>b5twe{$8ZtjU_^fFP!6?2sM>7 zk@?(91hb;546x79_wA%>tKF_8@oMtAJc(#7ElVhhKtVOd+VwFL<%RS~!eQp?(~3fB zk|>9^rldZt%~KO*xM{3x{NMzxGJ2a1zb!sul@$43^1_hYl@rOQ25ijJ3q{9*nP!!$ z#!FvBUO2>Q;0Qgmqx$;X!tDnoxb!l+AoOSlTO40CS@Q}`JX0IYgAdZ{Ig0gjlnj#8 zIXRgqSvf0_#cY0Vw#Es)q|y88Q?I4l+vjqA@&KeQpR}X%iG7%{6Juvz?@wRunc98T ztM(sy0@iFYa_q{f^5c2sSjUez`7DrtWBIx)L?~aTg2+(#py=0lXkJ{k^UZWwYS=xMHr$%mbDR3-i<&DtD~7bVkqsri<|=;|?_pyYIm zs7VS_1766guo=T=&D6>xmOKVT7c71p(G{xY8&PwW4lPsE9-fO8v?6Lu@7S#vBdv7n zh^5leZlRd%Pi)*kOiAwe`^aEjEchzVp{dH&H~Qe&)Vk}D+hNGvoU=2DV>q3&SiUjP zmf)K&l7uromg!X!J&*S1M=hCZZG?gFnHagx6nO(4& zw+YtahVXv5A&f2izttGAaQj4`QLpcC9cUm=`HZVS-bA0ZJZ@$bDuo*4P*utj)r087 z*@W9)ot#?N9Y@_5P1aNmGGh!majsKG4Lu__RhS93Aj!KRdD$ACb1GY@+@zq9Gn2T^ zP#G+)+N3?Kw ze5*#fo2vAqD4>Oc^ob!|UXqTppiH4zORA|LmFi9|w_VAknhF}7;AxJUxXYt)p3Ui0 z0M3zNDQNd{2K_@nX-J&GyqP$Ic{9mcEy0T)EKnonh0m;I!TGu*#3m)lM$5JfuNp5xzq^kafe;9Ff1er zmFGSp0^v2#9K^bqfU1gVZo)Oqky_MEt}-tSP3`hu7y_|%I$Z!c&%+e>dpzGh;@gx3 z?M&ZiDqoHM7EUmXaSrtA`PP>kz1_}@<><2vLP!0U6DpKU7WJ|%(mC}XMz0pZlLQ9b z_=3!Bb8QmFIImJ5zwQ7Cb!2@1YhshoG}l1*FrZUM-m2s6dzq@Kh#C4fWXSX59>v7YA`0+2nybWAD6 z?!dxC4RY*07m&m`@l`8Ztv(W+&tD=@8pc}$2zKo}!1!)UHMA6Xg3;T20Ag1B2gM`aiLJ|;}i=kQ*Le>B)*V9%}JXLnwH9JcrCl*W$K8YMAl5=v^x!m~J z?>!SoUoU@s?M?Tq4zKx&x3~LkaSsn8e2PA-!&JSq$mfF^&%Z6c5X#&4;xn(V?QL

&rC1_55q8*LKZ2XryKNm>A;;5k4hk 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 O|MTvy`uTSos{S7_B&fsy literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_nsindexset.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_nsindexset.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4d8b94ff0ee3173ab12e67245c11b20b724ecdd5 GIT binary patch literal 1011 zcmZ`%Jxmlq6rS0iyMvX#U<86B7Zu4B+(s>oK~0c=vEU>jVnVZ7cINK(SavTnbI2u_ z5M!ehQkXzxEFmh-5T;^6FmvIC9!*Rh_^`Ckxj~IiG8VCRpfG z%n+z>U}g8L?8n}HYdAKBSsTP&kV49!q__dj|GvUG?ItOl^eNOct|&jMj}zjDr6;m4 zE%4^DWOxBSG|MFfpkIbsvQNAhjB3__HL_=oY@7R5J~r|SW?~g))swP@>aU`#l5=Ka zL<<$~pX1~Tygw0z@S}VRYEMOMB5*n1LF&ab5i|Ff)VF-d2B5lZC!Yj!tYeJ7BkLrE z@xVz&$2U(dVQe2~5Wc!*9H7BHG~l59pEGY literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_nsobject.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/__pycache__/_nsobject.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d82f34ea070c0b6a567a22a273aee1bb933eef12 GIT binary patch literal 9892 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_metadata.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_metadata.py new file mode 100644 index 00000000..18fb3987 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_metadata.py @@ -0,0 +1,12224 @@ +# This file is generated by objective.metadata +# +# Last update: Tue Oct 21 16:23:43 2025 +# +# 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"], + ), + "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", + ], + ), + "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$NSCalendarIdentifierBangla$NSCalendarIdentifierBuddhist$NSCalendarIdentifierChinese$NSCalendarIdentifierCoptic$NSCalendarIdentifierDangi$NSCalendarIdentifierEthiopicAmeteAlem$NSCalendarIdentifierEthiopicAmeteMihret$NSCalendarIdentifierGregorian$NSCalendarIdentifierGujarati$NSCalendarIdentifierHebrew$NSCalendarIdentifierISO8601$NSCalendarIdentifierIndian$NSCalendarIdentifierIslamic$NSCalendarIdentifierIslamicCivil$NSCalendarIdentifierIslamicTabular$NSCalendarIdentifierIslamicUmmAlQura$NSCalendarIdentifierJapanese$NSCalendarIdentifierKannada$NSCalendarIdentifierMalayalam$NSCalendarIdentifierMarathi$NSCalendarIdentifierOdia$NSCalendarIdentifierPersian$NSCalendarIdentifierRepublicOfChina$NSCalendarIdentifierTamil$NSCalendarIdentifierTelugu$NSCalendarIdentifierVietnamese$NSCalendarIdentifierVikram$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$NSFileProtectionCompleteWhenUserInactive$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$NSHTTPCookieSetByJavaScript$NSHTTPCookieValue$NSHTTPCookieVersion$NSHTTPPropertyErrorPageDataKey$NSHTTPPropertyHTTPProxy$NSHTTPPropertyRedirectionHeadersKey$NSHTTPPropertyServerHTTPVersionKey$NSHTTPPropertyStatusCodeKey$NSHTTPPropertyStatusReasonKey$NSHangOnUncaughtException@Z$NSHebrewCalendar$NSHelpAnchorErrorKey$NSHourNameDesignations$NSISO8601Calendar$NSImageURLAttributeName$NSInconsistentArchiveException$NSIndianCalendar$NSInflectionAgreementArgumentAttributeName$NSInflectionAgreementConceptAttributeName$NSInflectionAlternativeAttributeName$NSInflectionConceptsKey$NSInflectionReferentConceptAttributeName$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$NSListItemDelimiterAttributeName$NSLoadedClasses$NSLocalNotificationCenterType$NSLocaleAlternateQuotationBeginDelimiterKey$NSLocaleAlternateQuotationEndDelimiterKey$NSLocaleCalendar$NSLocaleCollationIdentifier$NSLocaleCollatorIdentifier$NSLocaleCountryCode$NSLocaleCurrencyCode$NSLocaleCurrencySymbol$NSLocaleDecimalSeparator$NSLocaleExemplarCharacterSet$NSLocaleGroupingSeparator$NSLocaleIdentifier$NSLocaleLanguageCode$NSLocaleMeasurementSystem$NSLocaleQuotationBeginDelimiterKey$NSLocaleQuotationEndDelimiterKey$NSLocaleScriptCode$NSLocaleUsesMetricSystem$NSLocaleVariantCode$NSLocalizedDescriptionKey$NSLocalizedFailureErrorKey$NSLocalizedFailureReasonErrorKey$NSLocalizedNumberFormatAttributeName$NSLocalizedRecoveryOptionsErrorKey$NSLocalizedRecoverySuggestionErrorKey$NSMachErrorDomain$NSMallocException$NSMarkdownSourcePositionAttributeName$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$NSURLDirectoryEntryCountKey$NSURLDocumentIdentifierKey$NSURLEffectiveIconKey$NSURLErrorBackgroundTaskCancelledReasonKey$NSURLErrorDomain$NSURLErrorFailingURLErrorKey$NSURLErrorFailingURLPeerTrustErrorKey$NSURLErrorFailingURLStringErrorKey$NSURLErrorKey$NSURLErrorNetworkUnavailableReasonKey$NSURLFileAllocatedSizeKey$NSURLFileContentIdentifierKey$NSURLFileIdentifierKey$NSURLFileProtectionComplete$NSURLFileProtectionCompleteUnlessOpen$NSURLFileProtectionCompleteUntilFirstUserAuthentication$NSURLFileProtectionCompleteWhenUserInactive$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$NSURLSessionUploadTaskResumeData$NSURLTagNamesKey$NSURLThumbnailDictionaryKey$NSURLThumbnailKey$NSURLTotalFileAllocatedSizeKey$NSURLTotalFileSizeKey$NSURLTypeIdentifierKey$NSURLUbiquitousItemContainerDisplayNameKey$NSURLUbiquitousItemDownloadRequestedKey$NSURLUbiquitousItemDownloadingErrorKey$NSURLUbiquitousItemDownloadingStatusCurrent$NSURLUbiquitousItemDownloadingStatusDownloaded$NSURLUbiquitousItemDownloadingStatusKey$NSURLUbiquitousItemDownloadingStatusNotDownloaded$NSURLUbiquitousItemHasUnresolvedConflictsKey$NSURLUbiquitousItemIsDownloadedKey$NSURLUbiquitousItemIsDownloadingKey$NSURLUbiquitousItemIsExcludedFromSyncKey$NSURLUbiquitousItemIsSharedKey$NSURLUbiquitousItemIsSyncPausedKey$NSURLUbiquitousItemIsUploadedKey$NSURLUbiquitousItemIsUploadingKey$NSURLUbiquitousItemPercentDownloadedKey$NSURLUbiquitousItemPercentUploadedKey$NSURLUbiquitousItemSupportedSyncControlsKey$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$NSURLVolumeMountFromLocationKey$NSURLVolumeNameKey$NSURLVolumeResourceCountKey$NSURLVolumeSubtypeKey$NSURLVolumeSupportsAccessPermissionsKey$NSURLVolumeSupportsAdvisoryFileLockingKey$NSURLVolumeSupportsCasePreservedNamesKey$NSURLVolumeSupportsCaseSensitiveNamesKey$NSURLVolumeSupportsCompressionKey$NSURLVolumeSupportsExclusiveRenamingKey$NSURLVolumeSupportsExtendedSecurityKey$NSURLVolumeSupportsFileCloningKey$NSURLVolumeSupportsFileProtectionKey$NSURLVolumeSupportsHardLinksKey$NSURLVolumeSupportsImmutableFilesKey$NSURLVolumeSupportsJournalingKey$NSURLVolumeSupportsPersistentIDsKey$NSURLVolumeSupportsRenamingKey$NSURLVolumeSupportsRootDirectoryDatesKey$NSURLVolumeSupportsSparseFilesKey$NSURLVolumeSupportsSwapRenamingKey$NSURLVolumeSupportsSymbolicLinksKey$NSURLVolumeSupportsVolumeSizesKey$NSURLVolumeSupportsZeroRunsKey$NSURLVolumeTotalCapacityKey$NSURLVolumeTypeNameKey$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$NSActivityAnimationTrackingEnabled@35184372088832$NSActivityAutomaticTerminationDisabled@32768$NSActivityBackground@255$NSActivityIdleDisplaySleepDisabled@1099511627776$NSActivityIdleSystemSleepDisabled@1048576$NSActivityLatencyCritical@1095216660480$NSActivitySuddenTerminationDisabled@16384$NSActivityTrackingEnabled@70368744177664$NSActivityUserInitiated@16777215$NSActivityUserInitiatedAllowingIdleSystemSleep@15728639$NSActivityUserInteractive@1095233437695$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$NSCalendarUnitDayOfYear@65536$NSCalendarUnitEra@2$NSCalendarUnitHour@32$NSCalendarUnitIsLeapMonth@1073741824$NSCalendarUnitIsRepeatedDay@2147483648$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$NSDataWritingFileProtectionCompleteWhenUserInactive@1342177280$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$NSFileManagerResumeSyncBehaviorAfterUploadWithFailOnConflict@1$NSFileManagerResumeSyncBehaviorDropLocalChanges@2$NSFileManagerResumeSyncBehaviorPreserveLocalChanges@0$NSFileManagerSupportedSyncControlsFailUploadOnConflict@2$NSFileManagerSupportedSyncControlsPauseSync@1$NSFileManagerUnmountAllPartitionsAndEjectDisk@1$NSFileManagerUnmountBusyError@769$NSFileManagerUnmountUnknownError@768$NSFileManagerUnmountWithoutUI@2$NSFileManagerUploadConflictPolicyDefault@0$NSFileManagerUploadConflictPolicyFailOnConflict@1$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$NSGrammaticalCaseAblative@6$NSGrammaticalCaseAccusative@2$NSGrammaticalCaseAdessive@7$NSGrammaticalCaseAllative@8$NSGrammaticalCaseDative@3$NSGrammaticalCaseElative@9$NSGrammaticalCaseEssive@11$NSGrammaticalCaseGenitive@4$NSGrammaticalCaseIllative@10$NSGrammaticalCaseInessive@12$NSGrammaticalCaseLocative@13$NSGrammaticalCaseNominative@1$NSGrammaticalCaseNotSet@0$NSGrammaticalCasePrepositional@5$NSGrammaticalCaseTranslative@14$NSGrammaticalDefinitenessDefinite@2$NSGrammaticalDefinitenessIndefinite@1$NSGrammaticalDefinitenessNotSet@0$NSGrammaticalDeterminationDependent@2$NSGrammaticalDeterminationIndependent@1$NSGrammaticalDeterminationNotSet@0$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$NSGrammaticalPersonFirst@1$NSGrammaticalPersonNotSet@0$NSGrammaticalPersonSecond@2$NSGrammaticalPersonThird@3$NSGrammaticalPronounTypeNotSet@0$NSGrammaticalPronounTypePersonal@1$NSGrammaticalPronounTypePossessive@3$NSGrammaticalPronounTypeReflexive@2$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$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$NSURLErrorNetworkUnavailableReasonUltraConstrained@3$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$NSXPCConnectionCodeSigningRequirementFailure@4102$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), + "NSGrammaticalPerson": NewType("NSGrammaticalPerson", int), + "NSMachPortOptions": NewType("NSMachPortOptions", int), + "NSFileCoordinatorWritingOptions": NewType( + "NSFileCoordinatorWritingOptions", int + ), + "NSNumberFormatterBehavior": NewType("NSNumberFormatterBehavior", int), + "NSDecodingFailurePolicy": NewType("NSDecodingFailurePolicy", int), + "NSXMLNodeOptions": NewType("NSXMLNodeOptions", int), + "NSExpressionType": NewType("NSExpressionType", int), + "NSGrammaticalCase": NewType("NSGrammaticalCase", 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), + "NSGrammaticalDefiniteness": NewType("NSGrammaticalDefiniteness", 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), + "NSPostingStyle": NewType("NSPostingStyle", 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), + "NSGrammaticalDetermination": NewType("NSGrammaticalDetermination", 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), + "NSGrammaticalPronounType": NewType("NSGrammaticalPronounType", 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 + ), + "NSFileManagerSupportedSyncControls": NewType( + "NSFileManagerSupportedSyncControls", 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 + ), + "NSFileManagerUploadLocalVersionConflictPolicy": NewType( + "NSFileManagerUploadLocalVersionConflictPolicy", int + ), + "NSXMLDocumentContentKind": NewType("NSXMLDocumentContentKind", int), + "NSFileManagerResumeSyncBehavior": NewType( + "NSFileManagerResumeSyncBehavior", 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), + "NSURLUbiquitousSharedItemPermissions": NewType( + "NSURLUbiquitousSharedItemPermissions", str + ), + "NSURLThumbnailDictionaryItem": NewType("NSURLThumbnailDictionaryItem", str), + "NSRunLoopMode": NewType("NSRunLoopMode", str), + "NSLocaleKey": NewType("NSLocaleKey", str), + "NSURLFileProtectionType": NewType("NSURLFileProtectionType", 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), + "NSUndoManagerUserInfoKey": NewType("NSUndoManagerUserInfoKey", 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}", + "", + {"arguments": {0: {"type_modifier": "N"}}}, + ), + "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}",), + "NSOffsetRect": ( + b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}dd", + ), + "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@",), + "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", + "", + { + "arguments": { + 0: {"type_modifier": "N"}, + 1: {"type_modifier": "o"}, + 2: {"type_modifier": "o"}, + } + }, + ), + "NSAllHashTableObjects": (b"@@",), + "NSPointFromCGPoint": (b"{CGPoint=dd}{CGPoint=dd}",), + "NSSizeToCGSize": (b"{CGSize=dd}{CGSize=dd}",), + "NSHashInsertKnownAbsent": (b"v@^v",), + "NSNextHashEnumeratorItem": ( + b"^v^{NSHashEnumerator=QQ^v}", + "", + {"arguments": {0: {"type_modifier": "N"}}}, + ), + "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}",), + "NSSwapBigLongToHost": (b"QQ",), + "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", + "", + {"arguments": {2: {"type_modifier": "o"}, 3: {"type_modifier": "o"}}}, + ), + "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}", + "", + {"arguments": {0: {"type_modifier": "N"}}}, + ), + "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", + "NSURLErrorCannotCreateFile": "kCFURLErrorCannotCreateFile", + "NSWeekdayCalendarUnit": "NSCalendarUnitWeekday", + "NSURLErrorFileIsDirectory": "kCFURLErrorFileIsDirectory", + "NSPropertyListXMLFormat_v1_0": "kCFPropertyListXMLFormat_v1_0", + "NSNumberFormatterPadBeforeSuffix": "kCFNumberFormatterPadBeforeSuffix", + "NSCalendarUnitWeekdayOrdinal": "kCFCalendarUnitWeekdayOrdinal", + "NSNumberFormatterDecimalStyle": "kCFNumberFormatterDecimalStyle", + "NSMinuteCalendarUnit": "NSCalendarUnitMinute", + "NSURLErrorRequestBodyStreamExhausted": "kCFURLErrorRequestBodyStreamExhausted", + "NSURLErrorCannotLoadFromNetwork": "kCFURLErrorCannotLoadFromNetwork", + "NSISO8601DateFormatWithYear": "kCFISO8601DateFormatWithYear", + "NSNumberFormatterCurrencyAccountingStyle": "kCFNumberFormatterCurrencyAccountingStyle", + "NSDateFormatterNoStyle": "kCFDateFormatterNoStyle", + "NSTimeZoneCalendarUnit": "NSCalendarUnitTimeZone", + "NSNumberFormatterSpellOutStyle": "kCFNumberFormatterSpellOutStyle", + "NSNumberFormatterCurrencyPluralStyle": "kCFNumberFormatterCurrencyPluralStyle", + "NSISO8601DateFormatWithDay": "kCFISO8601DateFormatWithDay", + "NSURLErrorDataNotAllowed": "kCFURLErrorDataNotAllowed", + "NSURLErrorDownloadDecodingFailedToComplete": "kCFURLErrorDownloadDecodingFailedToComplete", + "NS_UnknownByteOrder": "CFByteOrderUnknown", + "NS_FALLTHROUGH": "CF_FALLTHROUGH", + "NSCalendarUnitWeekOfMonth": "kCFCalendarUnitWeekOfMonth", + "NSURLErrorCallIsActive": "kCFURLErrorCallIsActive", + "NSISO8601DateFormatWithDashSeparatorInDate": "kCFISO8601DateFormatWithDashSeparatorInDate", + "NSCalendarUnitHour": "kCFCalendarUnitHour", + "NSURLErrorSecureConnectionFailed": "kCFURLErrorSecureConnectionFailed", + "NSRectEdgeMaxX": "NSMaxXEdge", + "NSRectEdgeMaxY": "NSMaxYEdge", + "NS_TYPED_EXTENSIBLE_ENUM": "_NS_TYPED_EXTENSIBLE_ENUM", + "NSURLErrorServerCertificateUntrusted": "kCFURLErrorServerCertificateUntrusted", + "NSURLErrorCannotFindHost": "kCFURLErrorCannotFindHost", + "NSIntegerMin": "LONG_MIN", + "NSLocaleLanguageDirectionTopToBottom": "kCFLocaleLanguageDirectionTopToBottom", + "NSYearForWeekOfYearCalendarUnit": "NSCalendarUnitYearForWeekOfYear", + "NSURLErrorNoPermissionsToReadFile": "kCFURLErrorNoPermissionsToReadFile", + "NSQuarterCalendarUnit": "NSCalendarUnitQuarter", + "NSNumberFormatterPercentStyle": "kCFNumberFormatterPercentStyle", + "NSISO8601DateFormatWithFullTime": "kCFISO8601DateFormatWithFullTime", + "NS_STRING_ENUM": "_NS_TYPED_ENUM", + "NS_TYPED_ENUM": "_NS_TYPED_ENUM", + "NSLocaleLanguageDirectionLeftToRight": "kCFLocaleLanguageDirectionLeftToRight", + "NSNumberFormatterPadAfterSuffix": "kCFNumberFormatterPadAfterSuffix", + "NSURLErrorClientCertificateRequired": "kCFURLErrorClientCertificateRequired", + "NSSecondCalendarUnit": "NSCalendarUnitSecond", + "NSURLErrorCannotConnectToHost": "kCFURLErrorCannotConnectToHost", + "NSURLErrorDNSLookupFailed": "kCFURLErrorDNSLookupFailed", + "NSURLErrorZeroByteResource": "kCFURLErrorZeroByteResource", + "NSMonthCalendarUnit": "NSCalendarUnitMonth", + "NSNumberFormatterNoStyle": "kCFNumberFormatterNoStyle", + "NS_NONATOMIC_IOSONLY": "atomic", + "NSURLErrorClientCertificateRejected": "kCFURLErrorClientCertificateRejected", + "NSURLErrorUserCancelledAuthentication": "kCFURLErrorUserCancelledAuthentication", + "NSCalendarUnitWeekOfYear": "kCFCalendarUnitWeekOfYear", + "NSLocaleLanguageDirectionRightToLeft": "kCFLocaleLanguageDirectionRightToLeft", + "NSURLErrorCannotRemoveFile": "kCFURLErrorCannotRemoveFile", + "NSWeekdayOrdinalCalendarUnit": "NSCalendarUnitWeekdayOrdinal", + "NSURLErrorResourceUnavailable": "kCFURLErrorResourceUnavailable", + "NSURLErrorNetworkConnectionLost": "kCFURLErrorNetworkConnectionLost", + "NS_LittleEndian": "CFByteOrderLittleEndian", + "NSMapTableObjectPointerPersonality": "NSPointerFunctionsObjectPointerPersonality", + "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", + "NSWeekOfMonthCalendarUnit": "NSCalendarUnitWeekOfMonth", + "NSPropertyListBinaryFormat_v1_0": "kCFPropertyListBinaryFormat_v1_0", + "NSNumberFormatterOrdinalStyle": "kCFNumberFormatterOrdinalStyle", + "NSYearCalendarUnit": "NSCalendarUnitYear", + "NS_NONATOMIC_IPHONEONLY": "NS_NONATOMIC_IOSONLY", + "NSURLErrorRedirectToNonExistentLocation": "kCFURLErrorRedirectToNonExistentLocation", + "NSURLErrorNotConnectedToInternet": "kCFURLErrorNotConnectedToInternet", + "NSDataReadingMapped": "NSDataReadingMappedIfSafe", + "NSURLErrorCannotDecodeRawData": "kCFURLErrorCannotDecodeRawData", + "NSCalendarUnitQuarter": "kCFCalendarUnitQuarter", + "NSURLErrorCannotMoveFile": "kCFURLErrorCannotMoveFile", + "NSPropertyListMutableContainersAndLeaves": "kCFPropertyListMutableContainersAndLeaves", + "NSURLErrorCancelled": "kCFURLErrorCancelled", + "NSRectEdgeMinX": "NSMinXEdge", + "NSURLErrorTimedOut": "kCFURLErrorTimedOut", + "NSPropertyListImmutable": "kCFPropertyListImmutable", + "NSCalendarUnitYearForWeekOfYear": "kCFCalendarUnitYearForWeekOfYear", + "NSCalendarCalendarUnit": "NSCalendarUnitCalendar", + "NSURLErrorDownloadDecodingFailedMidStream": "kCFURLErrorDownloadDecodingFailedMidStream", + "NSRectEdgeMinY": "NSMinYEdge", + "NSISO8601DateFormatWithFullDate": "kCFISO8601DateFormatWithFullDate", + "NSNumberFormatterRoundFloor": "kCFNumberFormatterRoundFloor", + "NSRect": "CGRect", + "NSOperationQualityOfServiceUserInitiated": "NSQualityOfServiceUserInitiated", + "NSCalendarUnitWeekday": "kCFCalendarUnitWeekday", + "NS_BigEndian": "CFByteOrderBigEndian", + "NSNumberFormatterCurrencyStyle": "kCFNumberFormatterCurrencyStyle", + "NS_UNAVAILABLE": "UNAVAILABLE_ATTRIBUTE", + "NSOperationQualityOfServiceUserInteractive": "NSQualityOfServiceUserInteractive", + "NSURLErrorCannotDecodeContentData": "kCFURLErrorCannotDecodeContentData", + "NSUTF16StringEncoding": "NSUnicodeStringEncoding", + "NSNumberFormatterRoundDown": "kCFNumberFormatterRoundDown", + "NSURLErrorHTTPTooManyRedirects": "kCFURLErrorHTTPTooManyRedirects", + "NSISO8601DateFormatWithSpaceBetweenDateAndTime": "kCFISO8601DateFormatWithSpaceBetweenDateAndTime", + "NSNumberFormatterRoundHalfUp": "kCFNumberFormatterRoundHalfUp", + "NSISO8601DateFormatWithInternetDateTime": "kCFISO8601DateFormatWithInternetDateTime", + "NSCalendarUnitMinute": "kCFCalendarUnitMinute", + "NSDateFormatterFullStyle": "kCFDateFormatterFullStyle", + "NSPoint": "CGPoint", + "NSISO8601DateFormatWithMonth": "kCFISO8601DateFormatWithMonth", + "NSNumberFormatterScientificStyle": "kCFNumberFormatterScientificStyle", + "NSURLErrorInternationalRoamingOff": "kCFURLErrorInternationalRoamingOff", + "NSLocaleLanguageDirectionUnknown": "kCFLocaleLanguageDirectionUnknown", + "NSCalendarUnitSecond": "kCFCalendarUnitSecond", + "NSURLErrorCannotParseResponse": "kCFURLErrorCannotParseResponse", + "NSOperationQualityOfServiceBackground": "NSQualityOfServiceBackground", + "NSMapTableCopyIn": "NSPointerFunctionsCopyIn", + "NSURLErrorCannotWriteToFile": "kCFURLErrorCannotWriteToFile", + "NSURLErrorServerCertificateHasBadDate": "kCFURLErrorServerCertificateHasBadDate", + "NSURLErrorUserAuthenticationRequired": "kCFURLErrorUserAuthenticationRequired", + "NSURLErrorDataLengthExceedsMaximum": "kCFURLErrorDataLengthExceedsMaximum", + "NSCalendarUnitEra": "kCFCalendarUnitEra", + "NSPropertyListOpenStepFormat": "kCFPropertyListOpenStepFormat", + "NSISO8601DateFormatWithColonSeparatorInTimeZone": "kCFISO8601DateFormatWithColonSeparatorInTimeZone", + "NSURLErrorCannotOpenFile": "kCFURLErrorCannotOpenFile", + "_NS_TYPED_ENUM": "_CF_TYPED_ENUM", + "NSDateFormatterShortStyle": "kCFDateFormatterShortStyle", + "NSDecimalNoScale": "SHRT_MAX", + "NSDateFormatterLongStyle": "kCFDateFormatterLongStyle", + "NSISO8601DateFormatWithTime": "kCFISO8601DateFormatWithTime", + "NSNumberFormatterCurrencyISOCodeStyle": "kCFNumberFormatterCurrencyISOCodeStyle", + "_NS_TYPED_EXTENSIBLE_ENUM": "_CF_TYPED_EXTENSIBLE_ENUM", + "NSJSONReadingAllowFragments": "NSJSONReadingFragmentsAllowed", + "NSCalendarUnitMonth": "kCFCalendarUnitMonth", + "NSWeekOfYearCalendarUnit": "NSCalendarUnitWeekOfYear", + "NS_WARN_UNUSED_RESULT": "CF_WARN_UNUSED_RESULT", + "NSURLErrorServerCertificateNotYetValid": "kCFURLErrorServerCertificateNotYetValid", + "NSMapTableWeakMemory": "NSPointerFunctionsWeakMemory", + "NSWrapCalendarComponents": "NSCalendarWrapComponents", + "NSURLErrorFileDoesNotExist": "kCFURLErrorFileDoesNotExist", + "NSLocaleLanguageDirectionBottomToTop": "kCFLocaleLanguageDirectionBottomToTop", + "NSUncachedRead": "NSDataReadingUncached", + "NSIntegerMax": "LONG_MAX", + "NSDateFormatterMediumStyle": "kCFDateFormatterMediumStyle", + "NSCalendarUnitDayOfYear": "kCFCalendarUnitDayOfYear", + "NSURLErrorUnsupportedURL": "kCFURLErrorUnsupportedURL", + "NSNumberFormatterPadAfterPrefix": "kCFNumberFormatterPadAfterPrefix", + "NSNumberFormatterRoundHalfEven": "kCFNumberFormatterRoundHalfEven", + "NSISO8601DateFormatWithWeekOfYear": "kCFISO8601DateFormatWithWeekOfYear", + "NSDayCalendarUnit": "NSCalendarUnitDay", + "NSISO8601DateFormatWithFractionalSeconds": "kCFISO8601DateFormatWithFractionalSeconds", + "NSMapTableZeroingWeakMemory": "NSPointerFunctionsZeroingWeakMemory", + "NSSize": "CGSize", + "NSNumberFormatterRoundCeiling": "kCFNumberFormatterRoundCeiling", + "NSNumberFormatterPadBeforePrefix": "kCFNumberFormatterPadBeforePrefix", + "NSUndefinedDateComponent": "NSDateComponentUndefined", + "NSURLErrorServerCertificateHasUnknownRoot": "kCFURLErrorServerCertificateHasUnknownRoot", + "NSURLErrorBadServerResponse": "kCFURLErrorBadServerResponse", + "NSMappedRead": "NSDataReadingMapped", + "NSUIntegerMax": "ULONG_MAX", + "NSHourCalendarUnit": "NSCalendarUnitHour", + "NS_NOESCAPE": "CF_NOESCAPE", + "NSURLRequestReloadIgnoringCacheData": "NSURLRequestReloadIgnoringLocalCacheData", + "NSNumberFormatterRoundUp": "kCFNumberFormatterRoundUp", + "NSISO8601DateFormatWithTimeZone": "kCFISO8601DateFormatWithTimeZone", + "NS_SWIFT_BRIDGED_TYPEDEF": "CF_SWIFT_BRIDGED_TYPEDEF", + "NSURLErrorCannotCloseFile": "kCFURLErrorCannotCloseFile", + "NSCalendarUnitDay": "kCFCalendarUnitDay", + "NSAtomicWrite": "NSDataWritingAtomic", + "NSNumberFormatterRoundHalfDown": "kCFNumberFormatterRoundHalfDown", + "NSOperationQualityOfService": "NSQualityOfService", +} +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": "{NSAffineTransformStruct=dddddd}"}}}, + ) + r( + b"NSAffineTransform", + b"transformPoint:", + { + "retval": {"type": "{CGPoint=dd}"}, + "arguments": {2: {"type": "{CGPoint=dd}"}}, + }, + ) + r( + b"NSAffineTransform", + b"transformSize:", + {"retval": {"type": "{CGSize=dd}"}, "arguments": {2: {"type": "{CGSize=dd}"}}}, + ) + r( + b"NSAffineTransform", + b"transformStruct", + {"retval": {"type": "{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": 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": 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": 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": "{_NSRange=QQ}"}, + }, + }, + ) + r( + b"NSArray", + b"indexOfObject:inRange:", + {"arguments": {3: {"type": "{_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": b"Q"}, + 3: {"type": b"^Z", "type_modifier": "o"}, + }, + } + } + } + }, + ) + r( + b"NSArray", + b"indexOfObjectIdenticalTo:inRange:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSArray", + b"indexOfObjectPassingTest:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"Z"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": 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": 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": 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": 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": 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": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSAttributedString", + b"attributedSubstringFromRange:", + {"arguments": {2: {"type": "{_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": "{_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": 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": 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"initWithFormat:options:locale:context:", + {"variadic": True}, + ) + r( + b"NSAttributedString", + b"initWithFormat:options:locale:context:arguments:", + {"suggestion": "Use -initWithFormat:options:locale:context: instead"}, + ) + 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:context:", + {"variadic": True}, + ) + r( + b"NSAttributedString", + b"localizedAttributedStringWithFormat:options:", + {"arguments": {2: {"printf_format": True}}, "variadic": True}, + ) + r( + b"NSAttributedString", + b"localizedAttributedStringWithFormat:options:context:", + {"variadic": True}, + ) + r( + b"NSAttributedStringMarkdownParsingOptions", + b"allowsExtendedAttributes", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSAttributedStringMarkdownParsingOptions", + b"appliesSourcePositionAttributes", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSAttributedStringMarkdownParsingOptions", + b"setAllowsExtendedAttributes:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"NSAttributedStringMarkdownParsingOptions", + b"setAppliesSourcePositionAttributes:", + {"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": 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": "{_NSRange=QQ}"}}) + r(b"NSCalendar", b"minimumRangeOfUnit:", {"retval": {"type": "{_NSRange=QQ}"}}) + r( + b"NSCalendar", + b"nextWeekendStartDate:interval:options:afterDate:", + {"retval": {"type": b"Z"}}, + ) + r( + b"NSCalendar", + b"rangeOfUnit:inUnit:forDate:", + {"retval": {"type": "{_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": "{_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": "^t", + "type_modifier": b"n", + }, + 4: {"type_modifier": b"o", "c_array_of_variable_length": True}, + } + }, + ) + r(b"NSCoder", b"decodeBoolForKey:", {"retval": {"type": "Z"}}) + r( + b"NSCoder", + b"decodeBytesForKey:minimumLength:", + { + "retval": { + "c_array_delimited_by_null": True, + "type": "^v", + "c_array_length_in_arg": 3, + } + }, + ) + 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"decodeBytesWithMinimumLength:", + { + "retval": { + "c_array_delimited_by_null": True, + "type": "^v", + "c_array_length_in_arg": 2, + } + }, + ) + 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": "{CGPoint=dd}"}}) + r( + b"NSCoder", + b"decodePointForKey:", + {"retval": {"type": "{CGPoint=dd}"}, "arguments": {2: {"type": "@"}}}, + ) + r( + b"NSCoder", + b"decodeRect", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r( + b"NSCoder", + b"decodeRectForKey:", + { + "retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": {2: {"type": "@"}}, + }, + ) + r(b"NSCoder", b"decodeSize", {"retval": {"type": "{CGSize=dd}"}}) + r( + b"NSCoder", + b"decodeSizeForKey:", + {"retval": {"type": "{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": "{CGPoint=dd}"}}}) + r(b"NSCoder", b"encodePoint:forKey:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) + r( + b"NSCoder", + b"encodeRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r( + b"NSCoder", + b"encodeRect:forKey:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSCoder", b"encodeSize:", {"arguments": {2: {"type": "{CGSize=dd}"}}}) + r(b"NSCoder", b"encodeSize:forKey:", {"arguments": {2: {"type": "{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": 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": "{_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": 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": "{_NSRange=QQ}"}}) + r(b"NSData", b"subdataWithRange:", {"arguments": {2: {"type": "{_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"isRepeatedDay", {"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"NSDateComponents", b"setRepeatedDay:", {"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": "^{_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"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"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": 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": "[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"fetchLatestRemoteVersionOfItemAtURL:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + 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"pauseSyncForUbiquitousItemAtURL:completionHandler:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + 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"resumeSyncForUbiquitousItemAtURL:withBehavior:completionHandler:", + { + "arguments": { + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + 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"NSFileManager", + b"uploadLocalVersionOfUbiquitousItemAtURL:withConflictResolutionPolicy:completionHandler:", + { + "arguments": { + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"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": "{_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": "^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": "^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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSIndexSet", + b"countOfIndexesInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSIndexSet", + b"enumerateIndexesInRange:options:usingBlock:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": 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": 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": b"Q"}, + 2: {"type": b"^Z", "type_modifier": "o"}, + }, + } + } + } + }, + ) + r( + b"NSIndexSet", + b"enumerateRangesInRange:options:usingBlock:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": 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": 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": 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": "{_NSRange=QQ}"}, + 4: { + "callable": { + "retval": {"type": b"Z"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": 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": b"Q"}, + 2: {"type": b"^Z", "type_modifier": "o"}, + }, + } + } + } + }, + ) + r( + b"NSIndexSet", + b"indexSetWithIndexesInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSIndexSet", + b"indexWithOptions:passingTest:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": b"Z"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"Q"}, + 2: {"type": b"^Z", "type_modifier": "o"}, + }, + } + } + } + }, + ) + r( + b"NSIndexSet", + b"indexesInRange:options:passingTest:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 4: { + "callable": { + "retval": {"type": b"Z"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": 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": 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": b"Q"}, + 2: {"type": b"^Z", "type_modifier": "o"}, + }, + } + } + } + }, + ) + r( + b"NSIndexSet", + b"initWithIndexesInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSIndexSet", + b"intersectsIndexesInRange:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "{_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": "^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"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"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"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"@"}, + }, + } + } + } + }, + ) + 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": 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": b"{_NSRange=QQ}"}, + 3: {"type": 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": b"{_NSRange=QQ}"}, + 3: {"type": b"o^Z"}, + }, + } + } + } + }, + ) + r( + b"NSLinguisticTagger", + b"orthographyAtIndex:effectiveRange:", + {"arguments": {3: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}}}, + ) + r( + b"NSLinguisticTagger", + b"possibleTagsAtIndex:scheme:tokenRange:sentenceRange:scores:", + { + "arguments": { + 4: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}, + 5: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}, + 6: {"type_modifier": b"o"}, + } + }, + ) + r( + b"NSLinguisticTagger", + b"tagAtIndex:scheme:tokenRange:sentenceRange:", + { + "arguments": { + 4: {"type": "^{_NSRange=QQ}", "type_modifier": b"o"}, + 5: {"type": "^{_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": 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": 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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableArray", + b"removeObjectIdenticalTo:inRange:", + {"arguments": {3: {"type": "{_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": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableArray", + b"replaceObjectsInRange:withObjectsFromArray:range:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}, 4: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableArray", + b"sortUsingComparator:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": 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": "{_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": b"q"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSMutableAttributedString", + b"addAttribute:value:range:", + {"arguments": {4: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"addAttributes:range:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"appendLocalizedFormat:", + {"arguments": {2: {"printf_format": True}}, "variadic": True}, + ) + r( + b"NSMutableAttributedString", + b"deleteCharactersInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"removeAttribute:range:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"replaceCharactersInRange:withAttributedString:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"replaceCharactersInRange:withString:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableAttributedString", + b"setAttributes:range:", + {"arguments": {3: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableCharacterSet", + b"addCharactersInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableCharacterSet", + b"removeCharactersInRange:", + {"arguments": {2: {"type": "{_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": "{_NSRange=QQ}"}, + 3: {"type_modifier": b"n", "c_array_length_in_arg": 2}, + } + }, + ) + r( + b"NSMutableData", + b"replaceBytesInRange:withBytes:length:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, + } + }, + ) + r( + b"NSMutableData", + b"resetBytesInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableIndexSet", + b"addIndexesInRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableIndexSet", + b"removeIndexesInRange:", + {"arguments": {2: {"type": "{_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": b"q"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSMutableOrderedSet", + b"sortUsingComparator:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"q"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSMutableOrderedSet", + b"sortWithOptions:usingComparator:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": 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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableString", + b"replaceCharactersInRange:withString:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSMutableString", + b"replaceOccurrencesOfString:withString:options:range:", + {"arguments": {5: {"type": "{_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"allowsPersistentDNS", {"retval": {"type": b"Z"}}) + r( + b"NSMutableURLRequest", + b"allowsUltraConstrainedNetworkAccess", + {"retval": {"type": b"Z"}}, + ) + r(b"NSMutableURLRequest", b"assumesHTTP3Capable", {"retval": {"type": b"Z"}}) + r(b"NSMutableURLRequest", b"requiresDNSSECValidation", {"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"setAllowsPersistentDNS:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"NSMutableURLRequest", + b"setAllowsUltraConstrainedNetworkAccess:", + {"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"NSMutableURLRequest", + b"setRequiresDNSSECValidation:", + {"arguments": {2: {"type": b"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": "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": 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:didCreateTask:", + { + "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": 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:needNewBodyStreamFromOffset:completionHandler:", + { + "arguments": { + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + }, + "type": "@?", + } + } + }, + ) + 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": b"Q"}, + 2: {"type": b"@"}, + }, + }, + "type": b"@?", + }, + }, + }, + ) + r( + b"NSObject", + b"URLSession:task:didReceiveInformationalResponse:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"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:needNewBodyStreamFromOffset:completionHandler:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": b"q"}, + 5: { + "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": 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"accommodatePresentedItemEvictionWithCompletionHandler:", + { + "required": False, + "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"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": "Q"}}}, + ) + r( + b"NSObject", + b"attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:", + { + "retval": {"type": "v"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": "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"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"classCode", {"retval": {"type": "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:", {"retval": {"type": "Z"}}) + 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": "^{?=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"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": "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": "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", {"retval": {"type": "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": "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:", {"retval": {"type": "Z"}}) + 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:", + {"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:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "#"}}}, + ) + r( + b"NSObject", + b"isNotEqualTo:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, + ) + r(b"NSObject", b"isProxy", {"retval": {"type": "Z"}}) + r( + b"NSObject", + b"isSubclassOfClass:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": "#"}}}, + ) + r( + b"NSObject", + b"itemProviderVisibilityForRepresentationWithTypeIdentifier:", + {"required": False, "retval": {"type": "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:", {"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:", {"arguments": {2: {"type": ":"}}}) + 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:", + {"arguments": {2: {"type": ":"}}}, + ) + 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", {"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": "Q"}, 3: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"replaceValueAtIndex:inPropertyWithKey:withValue:", + { + "retval": {"type": "v"}, + "arguments": {2: {"type": "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:", + {"retval": {"type": "Z"}, "arguments": {2: {"type": ":"}}}, + ) + r(b"NSObject", b"retainCount", {"retval": {"type": "Q"}}) + r(b"NSObject", b"retainWeakReference", {"retval": {"type": "Z"}}) + r(b"NSObject", b"roundingMode", {"required": True, "retval": {"type": "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"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"setScriptingProperties:", + {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, + ) + r( + b"NSObject", + b"setSharedObservers:", + {"retval": {"type": b"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": "q"}}}, + ) + r( + b"NSObject", + b"spellServer:checkGrammarInString:language:details:", + { + "required": False, + "retval": {"type": "{_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": "Q"}, + 5: {"type": "q"}, + 6: {"type": b"@"}, + 7: {"type": b"@"}, + 8: {"type": "^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": "{_NSRange=QQ}"}, + "arguments": { + 2: {"type": b"@"}, + 3: {"type": b"@"}, + 4: {"type": b"@"}, + 5: {"type": "^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": "{_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": "Q"}}, + }, + ) + r(b"NSObject", b"superclass", {"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": "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": "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"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": 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": 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": b"Q"}, + 3: {"type": b"^Z", "type_modifier": "o"}, + }, + } + } + } + }, + ) + r( + b"NSOrderedSet", + b"indexOfObject:inSortedRange:options:usingComparator:", + { + "arguments": { + 5: { + "callable": { + "retval": {"type": 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": 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": 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": 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": 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": 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": 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": 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": b"q"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"@"}, + }, + } + } + } + }, + ) + r( + b"NSOrderedSet", + b"sortedArrayWithOptions:usingComparator:", + { + "arguments": { + 3: { + "callable": { + "retval": {"type": 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"}}) + r(b"NSProcessInfo", b"isiOSAppOnMac", {"retval": {"type": "Z"}}) + r(b"NSProcessInfo", b"isiOSAppOnVision", {"retval": {"type": b"Z"}}) + 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": 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_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": "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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSString", + b"compare:options:range:locale:", + {"arguments": {4: {"type": "{_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": b"{_NSRange=QQ}"}, + 3: {"type": b"{_NSRange=QQ}"}, + 4: {"type": b"^Z", "type_modifier": "o"}, + }, + } + } + } + }, + ) + r( + b"NSString", + b"enumerateSubstringsInRange:options:usingBlock:", + { + "arguments": { + 2: {"type": "{_NSRange=QQ}"}, + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"@"}, + 2: {"type": b"{_NSRange=QQ}"}, + 3: {"type": 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": b"{_NSRange=QQ}"}, + 3: {"type": 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": "^Q", "type_modifier": b"o"}, + 7: {"type": "{_NSRange=QQ}"}, + 8: {"type": "^{_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": "^{_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": "{_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": "{_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": "{_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": "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": "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": "[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": "[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"initWithValidatedFormat:validFormatSpecifiers:arguments:error:", + {"arguments": {5: {"type_modifier": b"o"}}}, + ) + r( + b"NSString", + b"initWithValidatedFormat:validFormatSpecifiers:error:", + { + "arguments": {2: {"printf_format": True}, 4: {"type_modifier": b"o"}}, + "variadic": True, + }, + ) + r( + b"NSString", + b"initWithValidatedFormat:validFormatSpecifiers:locale:arguments:error:", + {"arguments": {6: {"type_modifier": b"o"}}}, + ) + r( + b"NSString", + b"initWithValidatedFormat:validFormatSpecifiers:locale:error:", + { + "arguments": {2: {"printf_format": True}, 5: {"type_modifier": b"o"}}, + "variadic": True, + }, + ) + r( + b"NSString", + b"initWithValidatedFormat:validatedFormatSpecifiers:arguments:error:", + { + "arguments": {5: {"type_modifier": b"o"}}, + "suggestion": "use -initWithValidatedFormat:validatedFormatSpecifiers:error:", + }, + ) + r( + b"NSString", + b"initWithValidatedFormat:validatedFormatSpecifiers:error:", + {"arguments": {2: {"printf_format": True}, 4: {"type_modifier": b"o"}}}, + ) + r( + b"NSString", + b"initWithValidatedFormat:validatedFormatSpecifiers:locale:arguments:error:", + { + "arguments": {6: {"type_modifier": b"o"}}, + "suggestion": "use -initWithValidatedFormat:validatedFormatSpecifiers:locale:error:", + }, + ) + r( + b"NSString", + b"initWithValidatedFormat:validatedFormatSpecifiers:locale:error:", + {"arguments": {2: {"printf_format": True}, 5: {"type_modifier": b"o"}}}, + ) + r(b"NSString", b"isAbsolutePath", {"retval": {"type": "Z"}}) + r(b"NSString", b"isEqualToString:", {"retval": {"type": "Z"}}) + r( + b"NSString", + b"lineRangeForRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_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"localizedStringWithValidatedFormat:validFormatSpecifiers:error:", + {"arguments": {4: {"type_modifier": b"o"}}, "variadic": True}, + ) + r( + b"NSString", + b"lossyCString", + {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, + ) + r( + b"NSString", + b"paragraphRangeForRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}}, + }, + ) + r(b"NSString", b"rangeOfCharacterFromSet:", {"retval": {"type": "{_NSRange=QQ}"}}) + r( + b"NSString", + b"rangeOfCharacterFromSet:options:", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSString", + b"rangeOfCharacterFromSet:options:range:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {4: {"type": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSString", + b"rangeOfComposedCharacterSequenceAtIndex:", + {"retval": {"type": "{_NSRange=QQ}"}}, + ) + r( + b"NSString", + b"rangeOfComposedCharacterSequencesForRange:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {2: {"type": "{_NSRange=QQ}"}}, + }, + ) + r(b"NSString", b"rangeOfString:", {"retval": {"type": "{_NSRange=QQ}"}}) + r(b"NSString", b"rangeOfString:options:", {"retval": {"type": "{_NSRange=QQ}"}}) + r( + b"NSString", + b"rangeOfString:options:range:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {4: {"type": "{_NSRange=QQ}"}}, + }, + ) + r( + b"NSString", + b"rangeOfString:options:range:locale:", + { + "retval": {"type": "{_NSRange=QQ}"}, + "arguments": {4: {"type": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSString", + b"stringByReplacingOccurrencesOfString:withString:options:range:", + {"arguments": {5: {"type": "{_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": "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": "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"stringWithValidatedFormat:validFormatSpecifiers:error:", + { + "arguments": {2: {"printf_format": True}, 4: {"type_modifier": b"o"}}, + "variadic": True, + }, + ) + r( + b"NSString", + b"stringWithValidatedFormat:validFormatSpecifiers:locale:error:", + {"arguments": {2: {"printf_format": True}, 5: {"type_modifier": b"o"}}}, + ) + r( + b"NSString", + b"stringWithValidatedFormat:validatedFormatSpecifiers:error:", + {"arguments": {2: {"printf_format": True}, 4: {"type_modifier": b"o"}}}, + ) + r( + b"NSString", + b"stringWithValidatedFormat:validatedFormatSpecifiers:locale:error:", + {"arguments": {2: {"printf_format": True}, 5: {"type_modifier": b"o"}}}, + ) + r( + b"NSString", + b"substringWithRange:", + {"arguments": {2: {"type": "{_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": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"correctionCheckingResultWithRange:replacementString:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"dashCheckingResultWithRange:replacementString:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"dateCheckingResultWithRange:date:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"dateCheckingResultWithRange:date:timeZone:duration:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"grammarCheckingResultWithRange:details:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"linkCheckingResultWithRange:URL:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"orthographyCheckingResultWithRange:orthography:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"phoneNumberCheckingResultWithRange:phoneNumber:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"quoteCheckingResultWithRange:replacementString:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"regularExpressionCheckingResultWithRanges:count:regularExpression:", + { + "arguments": { + 2: { + "type": "^{_NSRange=QQ}", + "type_modifier": b"n", + "c_array_length_in_arg": 3, + } + } + }, + ) + r( + b"NSTextCheckingResult", + b"replacementCheckingResultWithRange:replacementString:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"spellCheckingResultWithRange:", + {"arguments": {2: {"type": "{_NSRange=QQ}"}}}, + ) + r( + b"NSTextCheckingResult", + b"transitInformationCheckingResultWithRange:components:", + {"arguments": {2: {"type": "{_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"URLWithString:encodingInvalidCharacters:", + {"arguments": {3: {"type": b"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": "^t", + "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": "^t", + "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"initWithString:encodingInvalidCharacters:", + {"arguments": {3: {"type": b"Z"}}}, + ) + 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"componentsWithString:encodingInvalidCharacters:", + {"arguments": {3: {"type": b"Z"}}}, + ) + r( + b"NSURLComponents", + b"componentsWithURL:resolvingAgainstBaseURL:", + {"arguments": {3: {"type": b"Z"}}}, + ) + r( + b"NSURLComponents", + b"initWithString:encodingInvalidCharacters:", + {"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"allowsPersistentDNS", {"retval": {"type": b"Z"}}) + r( + b"NSURLRequest", + b"allowsUltraConstrainedNetworkAccess", + {"retval": {"type": b"Z"}}, + ) + r(b"NSURLRequest", b"assumesHTTP3Capable", {"retval": {"type": "Z"}}) + r(b"NSURLRequest", b"requiresDNSSECValidation", {"retval": {"type": b"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"NSURLSession", + b"uploadTaskWithResumeData:completionHandler:", + { + "arguments": { + 3: { + "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"allowsUltraConstrainedNetworkAccess", + {"retval": {"type": b"Z"}}, + ) + r(b"NSURLSessionConfiguration", b"enablesEarlyData", {"retval": {"type": b"Z"}}) + r(b"NSURLSessionConfiguration", b"isDiscretionary", {"retval": {"type": "Z"}}) + r( + b"NSURLSessionConfiguration", + b"requiresDNSSECValidation", + {"retval": {"type": b"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"setAllowsUltraConstrainedNetworkAccess:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"NSURLSessionConfiguration", + b"setDiscretionary:", + {"arguments": {2: {"type": "Z"}}}, + ) + r( + b"NSURLSessionConfiguration", + b"setEnablesEarlyData:", + {"arguments": {2: {"type": b"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"setRequiresDNSSECValidation:", + {"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"setUsesClassicLoadingMode:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"NSURLSessionConfiguration", + b"setWaitsForConnectivity:", + {"arguments": {2: {"type": "Z"}}}, + ) + r( + b"NSURLSessionConfiguration", + b"shouldUseExtendedBackgroundIdleMode", + {"retval": {"type": "Z"}}, + ) + r( + b"NSURLSessionConfiguration", + b"usesClassicLoadingMode", + {"retval": {"type": b"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": "Q"}, + 3: {"type": "Q"}, + 4: {"type": "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": "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"NSURLSessionUploadTask", + b"cancelByProducingResumeData:", + { + "arguments": { + 2: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, + } + } + } + }, + ) + 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: {"c_array_of_fixed_length": 16, "type": "^t", "type_modifier": b"o"} + } + }, + ) + r( + b"NSUUID", + b"initWithUUIDBytes:", + { + "arguments": { + 2: {"c_array_of_fixed_length": 16, "type": "^t", "type_modifier": b"n"} + } + }, + ) + 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": "{CGPoint=dd}"}}) + r( + b"NSValue", + b"pointerValue", + {"retval": {"type": "^v"}, "suggestion": "use something else"}, + ) + r(b"NSValue", b"rangeValue", {"retval": {"type": "{_NSRange=QQ}"}}) + r( + b"NSValue", + b"rectValue", + {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, + ) + r(b"NSValue", b"sizeValue", {"retval": {"type": "{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": "{CGPoint=dd}"}}}) + r( + b"NSValue", + b"valueWithPointer:", + {"arguments": {2: {"type": "^v"}}, "suggestion": "use some other method"}, + ) + r(b"NSValue", b"valueWithRange:", {"arguments": {2: {"type": "{_NSRange=QQ}"}}}) + r( + b"NSValue", + b"valueWithRect:", + {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, + ) + r(b"NSValue", b"valueWithSize:", {"arguments": {2: {"type": "{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"}}}, + ) +finally: + objc._updatingMetadata(False) + +objc.registerNewKeywordsFromSelector("NSAffineTransform", b"initWithTransform:") +objc.registerNewKeywordsFromSelector("NSAppleEventDescriptor", b"initWithAEDescNoCopy:") +objc.registerNewKeywordsFromSelector( + "NSAppleEventDescriptor", b"initWithDescriptorType:bytes:length:" +) +objc.registerNewKeywordsFromSelector( + "NSAppleEventDescriptor", b"initWithDescriptorType:data:" +) +objc.registerNewKeywordsFromSelector( + "NSAppleEventDescriptor", + b"initWithEventClass:eventID:targetDescriptor:returnID:transactionID:", +) +objc.registerNewKeywordsFromSelector("NSAppleScript", b"initWithContentsOfURL:error:") +objc.registerNewKeywordsFromSelector("NSAppleScript", b"initWithSource:") +objc.registerNewKeywordsFromSelector("NSArchiver", b"initForWritingWithMutableData:") +objc.registerNewKeywordsFromSelector("NSArray", b"initWithArray:") +objc.registerNewKeywordsFromSelector("NSArray", b"initWithArray:copyItems:") +objc.registerNewKeywordsFromSelector("NSArray", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSArray", b"initWithContentsOfFile:") +objc.registerNewKeywordsFromSelector("NSArray", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSArray", b"initWithContentsOfURL:error:") +objc.registerNewKeywordsFromSelector("NSArray", b"initWithObjects:") +objc.registerNewKeywordsFromSelector("NSArray", b"initWithObjects:count:") +objc.registerNewKeywordsFromSelector("NSAttributedString", b"initWithAttributedString:") +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithContentsOfMarkdownFileAtURL:options:baseURL:error:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithFormat:options:locale:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithFormat:options:locale:arguments:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithFormat:options:locale:context:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithFormat:options:locale:context:arguments:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithMarkdown:options:baseURL:error:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithMarkdownString:options:baseURL:error:" +) +objc.registerNewKeywordsFromSelector("NSAttributedString", b"initWithString:") +objc.registerNewKeywordsFromSelector( + "NSAttributedString", b"initWithString:attributes:" +) +objc.registerNewKeywordsFromSelector( + "NSAttributedStringMarkdownSourcePosition", + b"initWithStartLine:startColumn:endLine:endColumn:", +) +objc.registerNewKeywordsFromSelector( + "NSBackgroundActivityScheduler", b"initWithIdentifier:" +) +objc.registerNewKeywordsFromSelector("NSBundle", b"initWithPath:") +objc.registerNewKeywordsFromSelector("NSBundle", b"initWithURL:") +objc.registerNewKeywordsFromSelector("NSBundleResourceRequest", b"initWithTags:") +objc.registerNewKeywordsFromSelector("NSBundleResourceRequest", b"initWithTags:bundle:") +objc.registerNewKeywordsFromSelector("NSCachedURLResponse", b"initWithResponse:data:") +objc.registerNewKeywordsFromSelector( + "NSCachedURLResponse", b"initWithResponse:data:userInfo:storagePolicy:" +) +objc.registerNewKeywordsFromSelector("NSCalendar", b"initWithCalendarIdentifier:") +objc.registerNewKeywordsFromSelector("NSCalendarDate", b"initWithString:") +objc.registerNewKeywordsFromSelector( + "NSCalendarDate", b"initWithString:calendarFormat:" +) +objc.registerNewKeywordsFromSelector( + "NSCalendarDate", b"initWithString:calendarFormat:locale:" +) +objc.registerNewKeywordsFromSelector( + "NSCalendarDate", b"initWithYear:month:day:hour:minute:second:timeZone:" +) +objc.registerNewKeywordsFromSelector("NSCharacterSet", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSComparisonPredicate", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSComparisonPredicate", b"initWithLeftExpression:rightExpression:customSelector:" +) +objc.registerNewKeywordsFromSelector( + "NSComparisonPredicate", + b"initWithLeftExpression:rightExpression:modifier:type:options:", +) +objc.registerNewKeywordsFromSelector("NSCompoundPredicate", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSCompoundPredicate", b"initWithType:subpredicates:" +) +objc.registerNewKeywordsFromSelector("NSConditionLock", b"initWithCondition:") +objc.registerNewKeywordsFromSelector("NSConnection", b"initWithReceivePort:sendPort:") +objc.registerNewKeywordsFromSelector("NSCountedSet", b"initWithArray:") +objc.registerNewKeywordsFromSelector("NSCountedSet", b"initWithCapacity:") +objc.registerNewKeywordsFromSelector("NSCountedSet", b"initWithSet:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithBase64EncodedData:options:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithBase64EncodedString:options:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithBase64Encoding:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithBytes:length:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithBytesNoCopy:length:") +objc.registerNewKeywordsFromSelector( + "NSData", b"initWithBytesNoCopy:length:deallocator:" +) +objc.registerNewKeywordsFromSelector( + "NSData", b"initWithBytesNoCopy:length:freeWhenDone:" +) +objc.registerNewKeywordsFromSelector("NSData", b"initWithContentsOfFile:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithContentsOfFile:options:error:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithContentsOfMappedFile:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithContentsOfURL:options:error:") +objc.registerNewKeywordsFromSelector("NSData", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSDataDetector", b"initWithTypes:error:") +objc.registerNewKeywordsFromSelector("NSDate", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSDate", b"initWithString:") +objc.registerNewKeywordsFromSelector("NSDate", b"initWithTimeInterval:sinceDate:") +objc.registerNewKeywordsFromSelector("NSDate", b"initWithTimeIntervalSince1970:") +objc.registerNewKeywordsFromSelector("NSDate", b"initWithTimeIntervalSinceNow:") +objc.registerNewKeywordsFromSelector( + "NSDate", b"initWithTimeIntervalSinceReferenceDate:" +) +objc.registerNewKeywordsFromSelector( + "NSDateFormatter", b"initWithDateFormat:allowNaturalLanguage:" +) +objc.registerNewKeywordsFromSelector("NSDateInterval", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSDateInterval", b"initWithStartDate:duration:") +objc.registerNewKeywordsFromSelector("NSDateInterval", b"initWithStartDate:endDate:") +objc.registerNewKeywordsFromSelector("NSDecimalNumber", b"initWithDecimal:") +objc.registerNewKeywordsFromSelector( + "NSDecimalNumber", b"initWithMantissa:exponent:isNegative:" +) +objc.registerNewKeywordsFromSelector("NSDecimalNumber", b"initWithString:") +objc.registerNewKeywordsFromSelector("NSDecimalNumber", b"initWithString:locale:") +objc.registerNewKeywordsFromSelector( + "NSDecimalNumberHandler", + b"initWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:", +) +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithContentsOfFile:") +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithContentsOfURL:error:") +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithDictionary:") +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithDictionary:copyItems:") +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithObjects:forKeys:") +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithObjects:forKeys:count:") +objc.registerNewKeywordsFromSelector("NSDictionary", b"initWithObjectsAndKeys:") +objc.registerNewKeywordsFromSelector("NSDimension", b"initWithSymbol:converter:") +objc.registerNewKeywordsFromSelector("NSDistantObject", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSDistantObject", b"initWithLocal:connection:") +objc.registerNewKeywordsFromSelector("NSDistantObject", b"initWithTarget:connection:") +objc.registerNewKeywordsFromSelector("NSDistributedLock", b"initWithPath:") +objc.registerNewKeywordsFromSelector("NSError", b"initWithDomain:code:userInfo:") +objc.registerNewKeywordsFromSelector("NSException", b"initWithName:reason:userInfo:") +objc.registerNewKeywordsFromSelector("NSExpression", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSExpression", b"initWithExpressionType:") +objc.registerNewKeywordsFromSelector("NSFileCoordinator", b"initWithFilePresenter:") +objc.registerNewKeywordsFromSelector("NSFileHandle", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSFileHandle", b"initWithFileDescriptor:") +objc.registerNewKeywordsFromSelector( + "NSFileHandle", b"initWithFileDescriptor:closeOnDealloc:" +) +objc.registerNewKeywordsFromSelector("NSFileSecurity", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSFileWrapper", b"initDirectoryWithFileWrappers:") +objc.registerNewKeywordsFromSelector("NSFileWrapper", b"initRegularFileWithContents:") +objc.registerNewKeywordsFromSelector( + "NSFileWrapper", b"initSymbolicLinkWithDestination:" +) +objc.registerNewKeywordsFromSelector( + "NSFileWrapper", b"initSymbolicLinkWithDestinationURL:" +) +objc.registerNewKeywordsFromSelector("NSFileWrapper", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSFileWrapper", b"initWithPath:") +objc.registerNewKeywordsFromSelector( + "NSFileWrapper", b"initWithSerializedRepresentation:" +) +objc.registerNewKeywordsFromSelector("NSFileWrapper", b"initWithURL:options:error:") +objc.registerNewKeywordsFromSelector("NSHTTPCookie", b"initWithProperties:") +objc.registerNewKeywordsFromSelector( + "NSHTTPURLResponse", b"initWithURL:statusCode:HTTPVersion:headerFields:" +) +objc.registerNewKeywordsFromSelector("NSHashTable", b"initWithOptions:capacity:") +objc.registerNewKeywordsFromSelector( + "NSHashTable", b"initWithPointerFunctions:capacity:" +) +objc.registerNewKeywordsFromSelector("NSIndexPath", b"initWithIndex:") +objc.registerNewKeywordsFromSelector("NSIndexPath", b"initWithIndexes:length:") +objc.registerNewKeywordsFromSelector("NSIndexSet", b"initWithIndex:") +objc.registerNewKeywordsFromSelector("NSIndexSet", b"initWithIndexSet:") +objc.registerNewKeywordsFromSelector("NSIndexSet", b"initWithIndexesInRange:") +objc.registerNewKeywordsFromSelector( + "NSIndexSpecifier", + b"initWithContainerClassDescription:containerSpecifier:key:index:", +) +objc.registerNewKeywordsFromSelector("NSInflectionRuleExplicit", b"initWithMorphology:") +objc.registerNewKeywordsFromSelector("NSInputStream", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSInputStream", b"initWithFileAtPath:") +objc.registerNewKeywordsFromSelector("NSInputStream", b"initWithURL:") +objc.registerNewKeywordsFromSelector("NSInvocationOperation", b"initWithInvocation:") +objc.registerNewKeywordsFromSelector( + "NSInvocationOperation", b"initWithTarget:selector:object:" +) +objc.registerNewKeywordsFromSelector("NSItemProvider", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSItemProvider", b"initWithItem:typeIdentifier:") +objc.registerNewKeywordsFromSelector("NSItemProvider", b"initWithObject:") +objc.registerNewKeywordsFromSelector( + "NSKeyValueSharedObservers", b"initWithObservableClass:" +) +objc.registerNewKeywordsFromSelector( + "NSKeyedArchiver", b"initForWritingWithMutableData:" +) +objc.registerNewKeywordsFromSelector("NSKeyedArchiver", b"initRequiringSecureCoding:") +objc.registerNewKeywordsFromSelector( + "NSKeyedUnarchiver", b"initForReadingFromData:error:" +) +objc.registerNewKeywordsFromSelector("NSKeyedUnarchiver", b"initForReadingWithData:") +objc.registerNewKeywordsFromSelector( + "NSLinguisticTagger", b"initWithTagSchemes:options:" +) +objc.registerNewKeywordsFromSelector("NSLocale", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSLocale", b"initWithLocaleIdentifier:") +objc.registerNewKeywordsFromSelector("NSLogicalTest", b"initAndTestWithTests:") +objc.registerNewKeywordsFromSelector("NSLogicalTest", b"initNotTestWithTest:") +objc.registerNewKeywordsFromSelector("NSLogicalTest", b"initOrTestWithTests:") +objc.registerNewKeywordsFromSelector("NSMachPort", b"initWithMachPort:") +objc.registerNewKeywordsFromSelector("NSMachPort", b"initWithMachPort:options:") +objc.registerNewKeywordsFromSelector( + "NSMapTable", b"initWithKeyOptions:valueOptions:capacity:" +) +objc.registerNewKeywordsFromSelector( + "NSMapTable", b"initWithKeyPointerFunctions:valuePointerFunctions:capacity:" +) +objc.registerNewKeywordsFromSelector("NSMeasurement", b"initWithDoubleValue:unit:") +objc.registerNewKeywordsFromSelector("NSMetadataItem", b"initWithURL:") +objc.registerNewKeywordsFromSelector( + "NSMorphologyPronoun", b"initWithPronoun:morphology:dependentMorphology:" +) +objc.registerNewKeywordsFromSelector("NSMutableArray", b"initWithCapacity:") +objc.registerNewKeywordsFromSelector("NSMutableArray", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSMutableArray", b"initWithContentsOfFile:") +objc.registerNewKeywordsFromSelector("NSMutableArray", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSMutableData", b"initWithCapacity:") +objc.registerNewKeywordsFromSelector("NSMutableData", b"initWithLength:") +objc.registerNewKeywordsFromSelector("NSMutableDictionary", b"initWithCapacity:") +objc.registerNewKeywordsFromSelector("NSMutableDictionary", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSMutableDictionary", b"initWithContentsOfFile:") +objc.registerNewKeywordsFromSelector("NSMutableDictionary", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSMutableOrderedSet", b"initWithCapacity:") +objc.registerNewKeywordsFromSelector("NSMutableOrderedSet", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSMutableSet", b"initWithCapacity:") +objc.registerNewKeywordsFromSelector("NSMutableSet", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSMutableString", b"initWithCapacity:") +objc.registerNewKeywordsFromSelector("NSNameSpecifier", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSNameSpecifier", b"initWithContainerClassDescription:containerSpecifier:key:name:" +) +objc.registerNewKeywordsFromSelector("NSNetService", b"initWithDomain:type:name:") +objc.registerNewKeywordsFromSelector("NSNetService", b"initWithDomain:type:name:port:") +objc.registerNewKeywordsFromSelector("NSNotification", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSNotification", b"initWithName:object:userInfo:") +objc.registerNewKeywordsFromSelector( + "NSNotificationQueue", b"initWithNotificationCenter:" +) +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithBool:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithChar:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithDouble:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithFloat:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithInt:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithInteger:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithLong:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithLongLong:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithShort:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithUnsignedChar:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithUnsignedInt:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithUnsignedInteger:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithUnsignedLong:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithUnsignedLongLong:") +objc.registerNewKeywordsFromSelector("NSNumber", b"initWithUnsignedShort:") +objc.registerNewKeywordsFromSelector( + "NSOrderedCollectionChange", b"initWithObject:type:index:" +) +objc.registerNewKeywordsFromSelector( + "NSOrderedCollectionChange", b"initWithObject:type:index:associatedIndex:" +) +objc.registerNewKeywordsFromSelector( + "NSOrderedCollectionDifference", b"initWithChanges:" +) +objc.registerNewKeywordsFromSelector( + "NSOrderedCollectionDifference", + b"initWithInsertIndexes:insertedObjects:removeIndexes:removedObjects:", +) +objc.registerNewKeywordsFromSelector( + "NSOrderedCollectionDifference", + b"initWithInsertIndexes:insertedObjects:removeIndexes:removedObjects:additionalChanges:", +) +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithArray:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithArray:copyItems:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithArray:range:copyItems:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithObject:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithObjects:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithObjects:count:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithOrderedSet:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithOrderedSet:copyItems:") +objc.registerNewKeywordsFromSelector( + "NSOrderedSet", b"initWithOrderedSet:range:copyItems:" +) +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithSet:") +objc.registerNewKeywordsFromSelector("NSOrderedSet", b"initWithSet:copyItems:") +objc.registerNewKeywordsFromSelector("NSOrthography", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSOrthography", b"initWithDominantScript:languageMap:" +) +objc.registerNewKeywordsFromSelector("NSOutputStream", b"initToBuffer:capacity:") +objc.registerNewKeywordsFromSelector("NSOutputStream", b"initToFileAtPath:append:") +objc.registerNewKeywordsFromSelector("NSOutputStream", b"initWithURL:append:") +objc.registerNewKeywordsFromSelector("NSPointerArray", b"initWithOptions:") +objc.registerNewKeywordsFromSelector("NSPointerArray", b"initWithPointerFunctions:") +objc.registerNewKeywordsFromSelector("NSPointerFunctions", b"initWithOptions:") +objc.registerNewKeywordsFromSelector( + "NSPortCoder", b"initWithReceivePort:sendPort:components:" +) +objc.registerNewKeywordsFromSelector( + "NSPortMessage", b"initWithSendPort:receivePort:components:" +) +objc.registerNewKeywordsFromSelector( + "NSPositionalSpecifier", b"initWithPosition:objectSpecifier:" +) +objc.registerNewKeywordsFromSelector("NSProgress", b"initWithParent:userInfo:") +objc.registerNewKeywordsFromSelector("NSProtocolChecker", b"initWithTarget:protocol:") +objc.registerNewKeywordsFromSelector("NSRangeSpecifier", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSRangeSpecifier", + b"initWithContainerClassDescription:containerSpecifier:key:startSpecifier:endSpecifier:", +) +objc.registerNewKeywordsFromSelector( + "NSRegularExpression", b"initWithPattern:options:error:" +) +objc.registerNewKeywordsFromSelector("NSRelativeSpecifier", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSRelativeSpecifier", + b"initWithContainerClassDescription:containerSpecifier:key:relativePosition:baseSpecifier:", +) +objc.registerNewKeywordsFromSelector("NSScanner", b"initWithString:") +objc.registerNewKeywordsFromSelector( + "NSScriptClassDescription", b"initWithSuiteName:className:dictionary:" +) +objc.registerNewKeywordsFromSelector("NSScriptCommand", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSScriptCommand", b"initWithCommandDescription:") +objc.registerNewKeywordsFromSelector("NSScriptCommandDescription", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSScriptCommandDescription", b"initWithSuiteName:commandName:dictionary:" +) +objc.registerNewKeywordsFromSelector("NSScriptObjectSpecifier", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSScriptObjectSpecifier", + b"initWithContainerClassDescription:containerSpecifier:key:", +) +objc.registerNewKeywordsFromSelector( + "NSScriptObjectSpecifier", b"initWithContainerSpecifier:key:" +) +objc.registerNewKeywordsFromSelector("NSScriptWhoseTest", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSSet", b"initWithArray:") +objc.registerNewKeywordsFromSelector("NSSet", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSSet", b"initWithObjects:") +objc.registerNewKeywordsFromSelector("NSSet", b"initWithObjects:count:") +objc.registerNewKeywordsFromSelector("NSSet", b"initWithSet:") +objc.registerNewKeywordsFromSelector("NSSet", b"initWithSet:copyItems:") +objc.registerNewKeywordsFromSelector( + "NSSocketPort", b"initRemoteWithProtocolFamily:socketType:protocol:address:" +) +objc.registerNewKeywordsFromSelector("NSSocketPort", b"initRemoteWithTCPPort:host:") +objc.registerNewKeywordsFromSelector( + "NSSocketPort", b"initWithProtocolFamily:socketType:protocol:address:" +) +objc.registerNewKeywordsFromSelector( + "NSSocketPort", b"initWithProtocolFamily:socketType:protocol:socket:" +) +objc.registerNewKeywordsFromSelector("NSSocketPort", b"initWithTCPPort:") +objc.registerNewKeywordsFromSelector("NSSortDescriptor", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSSortDescriptor", b"initWithKey:ascending:") +objc.registerNewKeywordsFromSelector( + "NSSortDescriptor", b"initWithKey:ascending:comparator:" +) +objc.registerNewKeywordsFromSelector( + "NSSortDescriptor", b"initWithKey:ascending:selector:" +) +objc.registerNewKeywordsFromSelector("NSSpecifierTest", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSSpecifierTest", b"initWithObjectSpecifier:comparisonOperator:testObject:" +) +objc.registerNewKeywordsFromSelector("NSString", b"initWithBytes:length:encoding:") +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithBytesNoCopy:length:encoding:deallocator:" +) +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithBytesNoCopy:length:encoding:freeWhenDone:" +) +objc.registerNewKeywordsFromSelector("NSString", b"initWithCString:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithCString:encoding:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithCString:length:") +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithCStringNoCopy:length:freeWhenDone:" +) +objc.registerNewKeywordsFromSelector("NSString", b"initWithCharacters:length:") +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithCharactersNoCopy:length:deallocator:" +) +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithCharactersNoCopy:length:freeWhenDone:" +) +objc.registerNewKeywordsFromSelector("NSString", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithContentsOfFile:") +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithContentsOfFile:encoding:error:" +) +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithContentsOfFile:usedEncoding:error:" +) +objc.registerNewKeywordsFromSelector("NSString", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithContentsOfURL:encoding:error:" +) +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithContentsOfURL:usedEncoding:error:" +) +objc.registerNewKeywordsFromSelector("NSString", b"initWithData:encoding:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithFormat:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithFormat:arguments:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithFormat:locale:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithFormat:locale:arguments:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithString:") +objc.registerNewKeywordsFromSelector("NSString", b"initWithUTF8String:") +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithValidatedFormat:validFormatSpecifiers:arguments:error:" +) +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithValidatedFormat:validFormatSpecifiers:error:" +) +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithValidatedFormat:validFormatSpecifiers:locale:arguments:error:" +) +objc.registerNewKeywordsFromSelector( + "NSString", b"initWithValidatedFormat:validFormatSpecifiers:locale:error:" +) +objc.registerNewKeywordsFromSelector("NSThread", b"initWithBlock:") +objc.registerNewKeywordsFromSelector("NSThread", b"initWithTarget:selector:object:") +objc.registerNewKeywordsFromSelector("NSTimeZone", b"initWithName:") +objc.registerNewKeywordsFromSelector("NSTimeZone", b"initWithName:data:") +objc.registerNewKeywordsFromSelector( + "NSTimer", b"initWithFireDate:interval:repeats:block:" +) +objc.registerNewKeywordsFromSelector( + "NSTimer", b"initWithFireDate:interval:target:selector:userInfo:repeats:" +) +objc.registerNewKeywordsFromSelector( + "NSURL", b"initAbsoluteURLWithDataRepresentation:relativeToURL:" +) +objc.registerNewKeywordsFromSelector( + "NSURL", + b"initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:", +) +objc.registerNewKeywordsFromSelector( + "NSURL", b"initFileURLWithFileSystemRepresentation:isDirectory:relativeToURL:" +) +objc.registerNewKeywordsFromSelector("NSURL", b"initFileURLWithPath:") +objc.registerNewKeywordsFromSelector("NSURL", b"initFileURLWithPath:isDirectory:") +objc.registerNewKeywordsFromSelector( + "NSURL", b"initFileURLWithPath:isDirectory:relativeToURL:" +) +objc.registerNewKeywordsFromSelector("NSURL", b"initFileURLWithPath:relativeToURL:") +objc.registerNewKeywordsFromSelector( + "NSURL", b"initWithDataRepresentation:relativeToURL:" +) +objc.registerNewKeywordsFromSelector("NSURL", b"initWithScheme:host:path:") +objc.registerNewKeywordsFromSelector("NSURL", b"initWithString:") +objc.registerNewKeywordsFromSelector( + "NSURL", b"initWithString:encodingInvalidCharacters:" +) +objc.registerNewKeywordsFromSelector("NSURL", b"initWithString:relativeToURL:") +objc.registerNewKeywordsFromSelector( + "NSURLAuthenticationChallenge", b"initWithAuthenticationChallenge:sender:" +) +objc.registerNewKeywordsFromSelector( + "NSURLAuthenticationChallenge", + b"initWithProtectionSpace:proposedCredential:previousFailureCount:failureResponse:error:sender:", +) +objc.registerNewKeywordsFromSelector( + "NSURLCache", b"initWithMemoryCapacity:diskCapacity:directoryURL:" +) +objc.registerNewKeywordsFromSelector( + "NSURLCache", b"initWithMemoryCapacity:diskCapacity:diskPath:" +) +objc.registerNewKeywordsFromSelector("NSURLComponents", b"initWithString:") +objc.registerNewKeywordsFromSelector( + "NSURLComponents", b"initWithString:encodingInvalidCharacters:" +) +objc.registerNewKeywordsFromSelector( + "NSURLComponents", b"initWithURL:resolvingAgainstBaseURL:" +) +objc.registerNewKeywordsFromSelector("NSURLConnection", b"initWithRequest:delegate:") +objc.registerNewKeywordsFromSelector( + "NSURLConnection", b"initWithRequest:delegate:startImmediately:" +) +objc.registerNewKeywordsFromSelector( + "NSURLCredential", b"initWithIdentity:certificates:persistence:" +) +objc.registerNewKeywordsFromSelector("NSURLCredential", b"initWithTrust:") +objc.registerNewKeywordsFromSelector( + "NSURLCredential", b"initWithUser:password:persistence:" +) +objc.registerNewKeywordsFromSelector("NSURLDownload", b"initWithRequest:delegate:") +objc.registerNewKeywordsFromSelector( + "NSURLDownload", b"initWithResumeData:delegate:path:" +) +objc.registerNewKeywordsFromSelector("NSURLHandle", b"initWithURL:cached:") +objc.registerNewKeywordsFromSelector( + "NSURLProtectionSpace", b"initWithHost:port:protocol:realm:authenticationMethod:" +) +objc.registerNewKeywordsFromSelector( + "NSURLProtectionSpace", b"initWithProxyHost:port:type:realm:authenticationMethod:" +) +objc.registerNewKeywordsFromSelector( + "NSURLProtocol", b"initWithRequest:cachedResponse:client:" +) +objc.registerNewKeywordsFromSelector( + "NSURLProtocol", b"initWithTask:cachedResponse:client:" +) +objc.registerNewKeywordsFromSelector("NSURLQueryItem", b"initWithName:value:") +objc.registerNewKeywordsFromSelector("NSURLRequest", b"initWithURL:") +objc.registerNewKeywordsFromSelector( + "NSURLRequest", b"initWithURL:cachePolicy:timeoutInterval:" +) +objc.registerNewKeywordsFromSelector( + "NSURLResponse", b"initWithURL:MIMEType:expectedContentLength:textEncodingName:" +) +objc.registerNewKeywordsFromSelector("NSURLSessionWebSocketMessage", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSURLSessionWebSocketMessage", b"initWithString:") +objc.registerNewKeywordsFromSelector("NSUUID", b"initWithUUIDBytes:") +objc.registerNewKeywordsFromSelector("NSUUID", b"initWithUUIDString:") +objc.registerNewKeywordsFromSelector("NSUnarchiver", b"initForReadingWithData:") +objc.registerNewKeywordsFromSelector("NSUniqueIDSpecifier", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSUniqueIDSpecifier", + b"initWithContainerClassDescription:containerSpecifier:key:uniqueID:", +) +objc.registerNewKeywordsFromSelector("NSUnit", b"initWithSymbol:") +objc.registerNewKeywordsFromSelector("NSUnitConverterLinear", b"initWithCoefficient:") +objc.registerNewKeywordsFromSelector( + "NSUnitConverterLinear", b"initWithCoefficient:constant:" +) +objc.registerNewKeywordsFromSelector("NSUserActivity", b"initWithActivityType:") +objc.registerNewKeywordsFromSelector("NSUserDefaults", b"initWithSuiteName:") +objc.registerNewKeywordsFromSelector("NSUserDefaults", b"initWithUser:") +objc.registerNewKeywordsFromSelector("NSUserScriptTask", b"initWithURL:error:") +objc.registerNewKeywordsFromSelector("NSValue", b"initWithBytes:objCType:") +objc.registerNewKeywordsFromSelector("NSValue", b"initWithCoder:") +objc.registerNewKeywordsFromSelector("NSWhoseSpecifier", b"initWithCoder:") +objc.registerNewKeywordsFromSelector( + "NSWhoseSpecifier", + b"initWithContainerClassDescription:containerSpecifier:key:test:", +) +objc.registerNewKeywordsFromSelector( + "NSXMLDTD", b"initWithContentsOfURL:options:error:" +) +objc.registerNewKeywordsFromSelector("NSXMLDTD", b"initWithData:options:error:") +objc.registerNewKeywordsFromSelector("NSXMLDTD", b"initWithKind:options:") +objc.registerNewKeywordsFromSelector("NSXMLDTDNode", b"initWithKind:options:") +objc.registerNewKeywordsFromSelector("NSXMLDTDNode", b"initWithXMLString:") +objc.registerNewKeywordsFromSelector( + "NSXMLDocument", b"initWithContentsOfURL:options:error:" +) +objc.registerNewKeywordsFromSelector("NSXMLDocument", b"initWithData:options:error:") +objc.registerNewKeywordsFromSelector("NSXMLDocument", b"initWithRootElement:") +objc.registerNewKeywordsFromSelector( + "NSXMLDocument", b"initWithXMLString:options:error:" +) +objc.registerNewKeywordsFromSelector("NSXMLElement", b"initWithKind:options:") +objc.registerNewKeywordsFromSelector("NSXMLElement", b"initWithName:") +objc.registerNewKeywordsFromSelector("NSXMLElement", b"initWithName:URI:") +objc.registerNewKeywordsFromSelector("NSXMLElement", b"initWithName:stringValue:") +objc.registerNewKeywordsFromSelector("NSXMLElement", b"initWithXMLString:error:") +objc.registerNewKeywordsFromSelector("NSXMLNode", b"initWithKind:") +objc.registerNewKeywordsFromSelector("NSXMLNode", b"initWithKind:options:") +objc.registerNewKeywordsFromSelector("NSXMLParser", b"initWithContentsOfURL:") +objc.registerNewKeywordsFromSelector("NSXMLParser", b"initWithData:") +objc.registerNewKeywordsFromSelector("NSXMLParser", b"initWithStream:") +objc.registerNewKeywordsFromSelector("NSXPCConnection", b"initWithListenerEndpoint:") +objc.registerNewKeywordsFromSelector( + "NSXPCConnection", b"initWithMachServiceName:options:" +) +objc.registerNewKeywordsFromSelector("NSXPCConnection", b"initWithServiceName:") +objc.registerNewKeywordsFromSelector("NSXPCListener", b"initWithMachServiceName:") +protocols = { + "NSKeyValueSharedObserverRegistration": objc.informal_protocol( + "NSKeyValueSharedObserverRegistration", + [objc.selector(None, b"setSharedObservers:", b"v@:@", isRequired=False)], + ), + "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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsindexset.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsindexset.py new file mode 100644 index 00000000..0d961c6a --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsindexset.py @@ -0,0 +1,21 @@ +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsobject.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsobject.py new file mode 100644 index 00000000..99649ff1 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsobject.py @@ -0,0 +1,225 @@ +""" +Define a category on NSObject with some useful methods. +""" + +import sys + +import objc + + +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 + ): + """ + Similar 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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsurl.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsurl.py new file mode 100644 index 00000000..4a1b058f --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Foundation/_nsurl.py @@ -0,0 +1,24 @@ +""" +Helpers for NSURL +""" + +import sys +import objc + + +def __fspath__(self): + if self.scheme() == "file": + # self.fileSystemRepresentation returns a byte string, + # whereas most user code expects regular strings. Decode + # in the same way as extension functions in the ``os`` module. + return self.fileSystemRepresentation().decode( + sys.getfilesystemencoding(), sys.getfilesystemencodeerrors() + ) + + raise TypeError(f"NSURL with scheme {self.scheme()!r} instead of 'file'") + + +objc.addConvenienceForClass( + "NSURL", + (("__fspath__", __fspath__),), +) diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/AppCategories.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/AppCategories.py new file mode 100644 index 00000000..fd4fdc0b --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/AppCategories.py @@ -0,0 +1,38 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/AppHelper.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/AppHelper.py new file mode 100644 index 00000000..b2a064f8 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/AppHelper.py @@ -0,0 +1,347 @@ +"""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 # noqa: A004 + + +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 = {} + + @classmethod + def currentRunLoopStopper(cls): + runLoop = NSRunLoop.currentRunLoop() + return cls.singletons.get(runLoop) + + def init(self): + self = super().init() + self.shouldStop = False + self.isConsole = False + return self + + def shouldRun(self): + return not self.shouldStop + + @classmethod + def addRunLoopStopper_toRunLoop_(cls, runLoopStopper, runLoop): + if runLoop in cls.singletons: + raise ValueError("Stopper already registered for this runLoop") + cls.singletons[runLoop] = runLoopStopper + + @classmethod + def removeRunLoopStopperFromRunLoop_(cls, runLoop): + if runLoop not in cls.singletons: + raise ValueError("Stopper not registered for this runLoop") + del cls.singletons[runLoop] + + def stop(self): + self.shouldStop = True + # this should go away when/if runEventLoop uses + # runLoop iteration + if not self.isConsole: + 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() + stopper.isConsole = True + 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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/Conversion.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/Conversion.py new file mode 100644 index 00000000..220ee321 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/Conversion.py @@ -0,0 +1,238 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/FndCategories.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/FndCategories.py new file mode 100644 index 00000000..9eb7878f --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/FndCategories.py @@ -0,0 +1,37 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/KeyValueCoding.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/KeyValueCoding.py new file mode 100644 index 00000000..b2575742 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/KeyValueCoding.py @@ -0,0 +1,392 @@ +""" +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 + + +__all__ = ("getKey", "setKey", "getKeyPath", "setKeyPath") + + +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) + + +# The import of 'objc' is at the end of the module +# to avoid problems when importing this module before +# importing objc due to the objc package importing bits +# of this module. + +import objc # noqa: E402 + +_null = objc.lookUpClass("NSNull").null() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/MachSignals.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/MachSignals.py new file mode 100644 index 00000000..a5e1b68d --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/MachSignals.py @@ -0,0 +1,42 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/Signals.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/Signals.py new file mode 100644 index 00000000..6b0d8247 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/Signals.py @@ -0,0 +1,91 @@ +"""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, + stacklevel=1, +) + + +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/TestSupport.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/TestSupport.py new file mode 100644 index 00000000..9ff58aec --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/TestSupport.py @@ -0,0 +1,1532 @@ +""" +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 +import types as _types +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") + + +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 + + # NOTE: This calls 'sw_vers' because system APIs lie + # to us during some system transitions (e.g. + # from 10.15 to 11.0 and from 15.0 to 26.0) until + # Python itself is rebuild using a newer SDK. + _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 macOS {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 macOS 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 macOS {min_release} up to {max_release}", + ) + + +_poolclass = objc.lookUpClass("NSAutoreleasePool") + +# NOTE: On at least macOS 10.8 there are multiple proxy classes for CFTypeRef... +_nscftype = tuple(cls for cls in objc.getClassList(True) if "NSCFType" in cls.__name__) + +_typealias = {} + +_typealias[objc._C_LNG_LNG] = objc._C_LNG +_typealias[objc._C_ULNG_LNG] = objc._C_ULNG + +_idlike_cache = set() + + +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 assertIsGenericAlias(self, alias, base_type, args): + self.assertIsInstance(alias, _types.GenericAlias) + self.assertIs(alias.__origin__, base_type) + self.assertEqual(alias.__args__, args) + + 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 assertArgIsIDLike(self, method, argno, message=None): + global _idlike_cache + + if isinstance(method, objc.selector): + offset = 2 + else: + offset = 0 + info = method.__metadata__() + tp = info["arguments"][argno + offset].get("type") + + if tp in {b"@", b"^@", b"n^@", b"N^@", b"o^@"}: + return + + if tp in _idlike_cache: + return + elif tp.startswith(b"^") and tp[1:] in _idlike_cache: + return + elif tp.startswith(b"o^") and tp[2:] in _idlike_cache: + return + elif tp.startswith(b"n^") and tp[2:] in _idlike_cache: + return + elif tp.startswith(b"N^") and tp[2:] in _idlike_cache: + return + + # Assume that tests are supposed to pass, + # our cache may be out of date + tmp = set(objc._idSignatures()) + _idlike_cache = set(tmp) + + if tp in _idlike_cache: + return + elif tp.startswith(b"^") and tp[1:] in _idlike_cache: + return + elif tp.startswith(b"o^") and tp[2:] in _idlike_cache: + return + elif tp.startswith(b"n^") and tp[2:] in _idlike_cache: + return + elif tp.startswith(b"N^") and tp[2:] in _idlike_cache: + return + + self.fail( + message or "argument %d of %r is not IDLike (%r)" % (argno, method, tp) + ) + + def assertResultIsIDLike(self, method, message=None): + global _idlike_cache + + info = method.__metadata__() + tp = info["retval"].get("type") + + if tp in {b"@", b"^@", b"n^@", b"N^@", b"o^@"}: + return + + if tp in _idlike_cache: + return + elif tp.startswith(b"^") and tp[1:] in _idlike_cache: + return + elif tp.startswith(b"o^") and tp[2:] in _idlike_cache: + return + elif tp.startswith(b"n^") and tp[2:] in _idlike_cache: + return + elif tp.startswith(b"N^") and tp[2:] in _idlike_cache: + return + + # Assume that tests are supposed to pass, + # our cache may be out of date + tmp = set(objc._idSignatures()) + _idlike_cache = set(tmp) + + if tp in _idlike_cache: + return + elif tp.startswith(b"^") and tp[1:] in _idlike_cache: + return + elif tp.startswith(b"o^") and tp[2:] in _idlike_cache: + return + elif tp.startswith(b"n^") and tp[2:] in _idlike_cache: + return + elif tp.startswith(b"N^") and tp[2:] in _idlike_cache: + return + + self.fail(message or f"result of {method!r} is not IDLike ({tp!r})") + + 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 assertIsInitializer(self, method, message=None): + if not isinstance(method, objc.selector): + self.fail(message or f"{method!r} is not a selector") + + info = method.__metadata__() + if not info.get("initializer", False): + self.fail(message or f"{method!r} is not an initializer") + + def assertIsNotInitializer(self, method, message=None): + if not isinstance(method, objc.selector): + self.fail(message or f"{method!r} is not a selector") + + info = method.__metadata__() + if info.get("initializer", False): + self.fail(message or f"{method!r} is an initializer") + + def assertDoesFreeResult(self, method, message=None): + if not isinstance(method, objc.selector): + self.fail(message or f"{method!r} is not a selector") + + info = method.__metadata__() + if not info.get("free_result", False): + self.fail(message or f"{method!r} does not call free(3) on the result") + + def assertDoesNotFreeResult(self, method, message=None): + if not isinstance(method, objc.selector): + self.fail(message or f"{method!r} is not a selector") + + info = method.__metadata__() + if info.get("free_result", False): + self.fail(message or f"{method!r} calls free(3) on the result") + + 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 isinstance(tp, tuple): + for item in tp: + if ( + typestr == item + or _typemap(typestr) == _typemap(item) + or _typealias.get(typestr, typestr) == _typealias.get(item, item) + ): + break + else: + self.fail( + message + or f"result of {method!r} is not of type {tp!r}, but {typestr!r}" + ) + return + 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 isinstance(tp, tuple): + for item in tp: + if ( + typestr == item + or _typemap(typestr) == _typemap(item) + or _typealias.get(typestr, typestr) == _typealias.get(item, item) + ): + break + else: + self.fail( + message + or f"arg {argno} of {method!r} is not of type {tp!r}, but {typestr!r}" + ) + return + + if ( + typestr != tp + and _typemap(typestr) != _typemap(tp) + and _typealias.get(typestr, typestr) != _typealias.get(tp, tp) + ): + self.fail( + message or f"arg {argno} of {method} is not of type {tp}, but {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: no callable specified for the block signature" + % (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: no callable specified for the block signature" + % (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 not in (objc._C_NSBOOL, objc._C_BOOL): + 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 not in (objc._C_NSBOOL, objc._C_BOOL): + 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 assertFreeThreadedIfConfigured(self): + """ + Assert that the process is running in free-threaded mode when + the interpreter was configured as such. + """ + + if not _get_config_var("Py_GIL_DISABLED"): + # Not a free threaded build + return + + if "gil" in _sys._xoptions and _sys._xoptions["gil"]: + # User runs with '-Xgil=1' + return + + # Check that the GIL is actually disabled + self.assertFalse(_sys._is_gil_enabled(), "GIL is enabled") + + def _validateCallableMetadata( + self, value, class_name=None, skip_simple_charptr_check=False + ): + if False and isinstance(value, objc.selector): + # Check if the signature might contain types that are interesting + # for this method. This avoids creating a metadata dict for 'simple' + # methods. + # XXX: Disabled this shortcut due to adding already_retained tests + signature = value.signature + if objc._C_PTR not in signature and objc._C_CHARPTR not in signature: + return + + callable_meta = value.__metadata__() + argcount = len(callable_meta["arguments"]) + + for idx, meta in [("retval", callable_meta["retval"])] + list( + enumerate(callable_meta["arguments"]) + ): + if meta.get("already_retained", False) and meta.get( + "already_cfretained", False + ): + self.fail( + f"{value}: {idx}: both already_retained and already_cfretained" + ) + + if meta["type"].endswith(objc._C_PTR + objc._C_CHR) or meta[ + "type" + ].endswith(objc._C_CHARPTR): + 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 ''}" + ) + + if not isinstance(value, objc.selector): + # This gives too many false positives for selectors (sadly) + if ( + tp.startswith(objc._C_PTR) + and tp not in (b"^v", b"^?") + and tp != b"^{AudioBufferList=I[1{AudioBuffer=II^v}]}" + and tp != b"^{_CFArrayCallBacks=q^?^?^?^?}" + ): + if tp[1:].startswith(objc._C_STRUCT_B): + name, fields = objc.splitStructSignature(tp[1:]) + if not fields: + continue + + if idx == "retval": + if any( + x in meta + for x in { + "deref_result_pointer", + "c_array_delimited_by_null", + "c_array_of_variable_length", + "c_array_length_in_arg", + "c_array_size_in_arg", + } + ): + continue + self.fail( + f"{value}: {idx}: pointer argument, but no by-ref annotation:{tp!r} {class_name or ''}" + ) + + def _validateBundleIdentifier(self, module): + if hasattr(module, "__bundle__"): + self.assertHasAttr(module, "__framework_identifier__") + self.assertEqual( + module.__bundle__.bundleIdentifier(), + module.__framework_identifier__, + ) + + 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. + + with self.subTest("validate framework identifier"): + self._validateBundleIdentifier(module) + + if exclude_cocoa: + try: + import Cocoa + + exclude_names = set(dir(Cocoa)) + + # Don't exclude NSObject' because a number + # of frameworks define categories on this class. + exclude_names -= {"NSObject"} + except ImportError: + exclude_names = set() + else: + exclude_names = set() + + exclude_method_names = { + "copyRenderedTextureForCGLContext_pixelFormat_bounds_isFlipped_", + "newTaggedNSStringWithASCIIBytes__length__", + "utf8ValueSafe", + "utf8ValueSafe_", + "isKeyExcludedFromWebScript_", + } + + exclude_attrs = set(exclude_attrs) + exclude_attrs.add("FBSMutableSceneClientSettings") + exclude_attrs.add("FBSSceneClientSettings") + exclude_attrs.add(("NSColor", "scn_C3DColorIgnoringColorSpace_success_")) + exclude_attrs.add( + ("AVKitPlatformColorClass", "scn_C3DColorIgnoringColorSpace_success_") + ) + exclude_attrs.add( + ("PDFKitPlatformColor", "scn_C3DColorIgnoringColorSpace_success_") + ) + exclude_attrs.add(("SCNColor", "scn_C3DColorIgnoringColorSpace_success_")) + exclude_attrs.add(("SKColor", "scn_C3DColorIgnoringColorSpace_success_")) + exclude_attrs.add( + ( + "NSObject", + "copyRenderedTextureForCGLContext_pixelFormat_bounds_isFlipped_", + ) + ) + exclude_attrs.add( + ( + "NSObject", + "newTaggedNSStringWithASCIIBytes__length__", + ) + ) + exclude_attrs.add( + ( + "NSObject", + "utf8ValueSafe", + ) + ) + exclude_attrs.add( + ( + "NSObject", + "utf8ValueSafe_", + ) + ) + exclude_attrs.add( + ( + "NSObject", + "isKeyExcludedFromWebScript_", + ) + ) + + # Two (private) classes that end up being found in + # test runs on macOS 10.12 and 10.13 + exclude_attrs.add("ABCDContact_ABCDContact_") + exclude_attrs.add("ABCDGroup_ABCDGroup_") + + # Some bindings in CoreAudio with false positives + exclude_attrs.add("AudioHardwareClaimAudioDeviceID") + exclude_attrs.add("AudioHardwareClaimAudioStreamID") + exclude_attrs.add("AudioHardwareDevicePropertyChanged") + exclude_attrs.add("AudioHardwareDevicesCreated") + exclude_attrs.add("AudioHardwareDevicesDied") + exclude_attrs.add("AudioHardwareStreamPropertyChanged") + exclude_attrs.add("AudioHardwareStreamsCreated") + exclude_attrs.add("AudioHardwareStreamsDied") + exclude_attrs.add("AudioObjectCreate") + exclude_attrs.add("AudioObjectPropertiesChanged") + exclude_attrs.add("AudioObjectsPublishedAndDied") + + # Calculate all (interesting) names in the module. This pokes into + # the implementation details of objc.ObjCLazyModule to avoid loading + # all attributes (which is expensive for larger bindings). + def is_pyobjc_lazy(module): + getter = getattr(module, "__getattr__", None) + if getter is None: + return False + return hasattr(getter, "_pyobjc_parents") + + if is_pyobjc_lazy(module): + getter = getattr(module, "__getattr__", None) + module_names = [] + module_names.extend( + cls.__name__ + for cls in objc.getClassList(True) + if (not cls.__name__.startswith("_")) and ("." not in cls.__name__) + ) + module_names.extend(getattr(getter, "_pyobjc_funcmap", None) or []) + todo = list(getter._pyobjc_parents) + while todo: + parent = todo.pop() + if is_pyobjc_lazy(parent): + getter = getattr(parent, "__getattr__", None) + module_names.extend(getattr(getter, "_pyobjc_funcmap", None) or []) + todo.extend(getter._pyobjc_parents or ()) + module_names.extend(parent.__dict__.keys()) + + else: + module_names.extend(dir(parent)) + + module_names = sorted(set(module_names)) + + else: + module_names = sorted(set(dir(module))) + + for _idx, nm in enumerate(module_names): + # print(f"{_idx}/{len(module_names)} {nm}") + if nm in exclude_names: + continue + if nm in exclude_attrs: + continue + + try: + value = getattr(module, nm) + except AttributeError: # pragma: no cover + continue # pragma: no cover + if isinstance(value, objc.objc_class): + with objc.autorelease_pool(): + if value.__name__ == "Object": + # Root class, does not conform to the NSObject + # protocol and useless to test. + continue + instanceMethodDict = value.pyobjc_instanceMethods.__dict__ + for attr_name, attr in instanceMethodDict.items(): + if attr_name in exclude_method_names: + continue + if (nm, attr_name) in exclude_attrs: + continue + if attr_name.startswith("_"): + # Skip private names + continue + + with self.subTest(classname=nm, instance_method=attr_name): + if isinstance(attr, objc.selector): # pragma: no branch + self._validateCallableMetadata( + attr, + nm, + skip_simple_charptr_check=not exclude_cocoa, + ) + + for attr_name, attr in value.pyobjc_classMethods.__dict__.items(): + if attr_name in exclude_method_names: # pragma: no branch + continue # pragma: no cover + if (nm, attr_name) in exclude_attrs: + continue + if attr_name.startswith("_"): + # Skip private names + continue + + with self.subTest(classname=nm, instance_method=attr_name): + attr = getattr(value.pyobjc_classMethods, attr_name, None) + if isinstance(attr, objc.selector): # pragma: no branch + self._validateCallableMetadata( + attr, + nm, + skip_simple_charptr_check=not exclude_cocoa, + ) + elif isinstance(value, objc.function): + with self.subTest(function=nm): + self._validateCallableMetadata(value) + + else: + continue + + # Quick check that the GIL is actually disabled. Testing this here isn't + # ideal, but avoids changing all framework bindings. + self.assertFreeThreadedIfConfigured() + + 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, **kwds): + """ + Run the test, same as unittest.TestCase.run, but every test is + run with a fresh autorelease pool. + """ + try: + cls = objc.lookUpClass("NSApplication") + except objc.error: # pragma: no cover + pass # pragma: no cover + else: + cls.sharedApplication() + + if _usepool and not self._skip_usepool: + p = _poolclass.alloc().init() + else: + p = 1 + + try: + _unittest.TestCase.run(self, *args, **kwds) + finally: + _gc.collect() + del p + _gc.collect() + + +main = _unittest.main +expectedFailure = _unittest.expectedFailure +skipUnless = _unittest.skipUnless +SkipTest = _unittest.SkipTest + + +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/AppCategories.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/AppCategories.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5a578048618797f00fba5fb61d2920f1178ef4bd GIT binary patch literal 1952 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 AI{*Lx literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/Conversion.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/Conversion.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..22c62480be191bbc3932dbd32a9b4e2a9de3bfe2 GIT binary patch literal 8985 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/FndCategories.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/FndCategories.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..047cd7b3be5ab5b06d8ec353e48b983b807035f7 GIT binary patch literal 2067 zcmeHI&u`pB6rSS!zFkVA!pfK#>?%8@7s_&>O?O3_9}oZ!MOuyEnToAG+LghhfQ5+nJ|o9Fqyd2jsQ z^VhmwL@+-4N^KQngnr>XWCIAo2znCD66|`#Y;vIx9fx%v|+>{X~e$a*b!+`=8@2#fw4j3 zz_lX}RL8f&kc7oU^b=>q--%GyqLKqg10qTvFp4-i2R0Rr#w zKB^X62_*MJW)MAcMy?4YH}LiFeV{l%UDV2{#Oq9SaUK>%(HPz0*fZm3w7ys97N#@J zp$Ql4$*=!0p01SdxF>hzySSx2_Hv|lrD@jP=O8-C8v7;CQ$7=*r&vd5B|i=BLeKTd z+?A)D4Av=(M^c8vD8XfE_g2vujq5amZ*N4~#BeBOt{1>E?AQ)5YBf7(`lMDfT+(C& za>HgkGsf6jtwX&as?{oE(`H#sOH6QHPTtO7miX4`Y?S9q`ovh>;sjQT@1{6O&k3^+ z4&1t&SP49bN-BrMZ={NFB~`?MsT6^Q`tDW~@;eft{Jv-23<(R(X3RR^ZDd~cqV2eD zUUMnE_zrbrpM+*asUMn+IE3W39G^P3E!$z%4sn~rtlS~N9n<&fW+#cZY4Cbw^))l} zB61P#VExnezV^aL>NLyzKwIi-OTGBv&V!vVlrPmo^;_-LAMU=*0iFInOzSNtElz%XS!An1oY*0E7OhS^xk5 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/KeyValueCoding.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/KeyValueCoding.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8e890f68b58d399e19f1a7937a76dfa4615012f7 GIT binary patch literal 16141 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 bqE literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/MachSignals.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/MachSignals.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d6030c69d8285fa69c24ed639dce76913737fe87 GIT binary patch literal 1724 zcmZuy&2Jk;6yLQscDhbV4h2;LrGr3e9JSsil{i!tqACI++7vYbq+HhHoyqPx>zUPj z*aQX0p??6k_JlZsxbQc?kxQ*2rLs66apDF9E}VEXvrb&pk^J`U?7Xkv@4fL)i;JNL z>#OgZ{T~9)`^~&eSFKV`RzZ2_5pUNcKB*P{ptf7{JyIt@THCFYxd+~EKpG(D4w~(G zd<_i4ZQYY9S6WfD#|2UuMKVtrF3^AzT~IX2C_`H2EJYaIe&@bscQ`LQVYrj!a(W1~ zlrk!CQ5+!7Kxjz`QXENLmRzVCA%gY6!M$Gp_73NT?A$8L_h?a4(aD)qV0afN*(Os| z2wkexb{O751K2{w96^BS_FRmvGXBFged8_OVGAPpjZbqJ^BTi|Ij+3gb~y z2A<7f6DS-|DRD|o*3Y^`Xa_=M5V-(D_{LCzp+E@*sf@EQ;l!GyR3Z8aO#n>-2yHUN z;j};_E{MERoxTi#9m3Y50oK|R4h|VtXoUA^C}@%69sp_aH`_upW)8cU*5(T8X$1*E zEyfx`ZgC(|Wmr`)BpT&K;V9`*R0^Izm4MqQ%Yj^AlqVdA;2RY{t3hQN2Y@j!5W0tT zp$yZs6aH>`t?f@1Vgs40Lr%^?;ZC14+%xg3rZkUw^*ebBl!u-I=~jQ*y3-AK_UC3^ zD)rF&uJX4H!9V@NHq(8ov~W4j;t6n@My|HHU8Cqhx7$I^K%#DUi!<8oT4=2+LlQN$ zGicZuZYo~}2Dja@$J=#bN}8OH-R=OFB``Co0}OzTg+LFaNg4h7dGw*ALPn_;rJz(r z@8&Agz33j{{OVmhV=_`^B%(bSGtT0q;K_cB6A_OnNomv>QZ|f=ycd%W(F%VbF^)Xke%{Cz-{4KaS;^xGKeGZ@6cPgc-&eUw^oi@Yvb11H*Y*? zZ9EP(PT;eb%(8OIT>)Q!yHj4zIQgu0=&Mtkz6tohb?DuM9c6sk)o)C-v*(#V-#e^X zo`1AxZ@TLNVZ`X@dGtJwV?!A)NOj!$na=O(GyIz#Kjj_>8s=Qf>8!&*nQLojX8L8u zHTcc&5CSlmAd%_;+#@&auvE?Ct{B%Vfn&hbE}9@Fi!PC>cc7QfncZfU-Xsu1Tu5^q zA`5ft3o{W`AW-Bw2%zx1xA5YZA3bTka`g7owe<&gj)P0%;L_KPad7#UVCgtm9tX>h zhCc@@Pg^e>y)Rl|wbgD+nsH2c633H(_xg$JW7vcHH;!GVCfc{2HL&3)^EcgJ!JFa& vd@>CnUjy++-S_=JYfFCc&+DGQ{A=r_NAr)vSC5*1HRk;5CrhEfWS#s6xzXse literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/Signals.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/Signals.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3313418d0dd57feed17f750029b9ae2ebac50eb4 GIT binary patch literal 3591 zcmbVPO>7%Q6rQ!$iL;5@(57kngECb}ic4ejD?unoZS#Xg6Nfkf5eZrA-LbvtX4je- zCpe^4k&p_aQb9trT;N)i9(t`*i4!L-DI_A=Mxqj2xP=BToOm<4>$qu31S5H7cIM4{ zGw;3coAD2cgodDeeXDuq`xbuHfjM&PwBHPGxM7GiCsBG0~ zRkpF|m>D(IQe?U*f`~e^CserAnlTbLn{GBQMg1`anGwCkjDLitHM0fkR#Stz&1{7_ zQHvzo^j{+g<*bsU+bmV7;r@PXR%a_%$CVl{yAEbtH_mga8w6WL%-mVR%a&8Z1>MAD zy;30#OKBRem%%I^%TD5{+z_68Ba_3U*}r$0wkBb~2M4!)LRDLz*^Owiupu z&8kg66~lbq#l@;)aLaWVwj6A6hAY*AZ5jCVcxFJ;{LSUWma@*U&UM@0`qN3+fm9c+ z$McqLgAUj}v`iilj5wxEC|D}%99O92a5!kg31J=-@iK8RB~-T<5g);FIA%W#Gr}7z zGiiE)Fz&)sgLH#2*B|COm+ERTW#R%U!U{QKh%Is#EDP5^dO9%N=qhlU<8o{gaVlcM zN;rx;XPE>SEr;L|Y+Q^RuEVKoV|R|w;0T)Z0E91v$6Sg*lf}VFoH(Yhr~o@6lv)M5 zhN)YqGM>U2j%W26E?IK~R~ac*ZOw9E^Rv1L6rLB}s<~Avb^*3$afv|Ost$R-LJSUi zeebiAxKIUapv@|kIi3OK8bqDw%mQnM4!R*42Gv>FSIVkJS;WT=p44hN|1;Ts7l0V^ zI(PQ4_rxP{T{t~n%NAzNPP#52Bj+PTc+4afN(_jli6LG5JOj5;G7FA2McVoc@hiV8 zU^A(Bn#?ep%n{oFwAG6Wy(s)PRS>*}xDc0RDQFeM#k?%0vWOO%5aME$EHm)6z1)l} z1r}f}5RYGGBpHQYe!HkF1@<1Y68#VQ6QRbPsEBXPwuf?CZFs^(w6))wnv5+FK!HSH z81?|OBJ-qkfqg>K7sj=kvNj^Yg?kk#uT~ICE*+Dx`g0e^`ZG8B;-AP<=yK>m0r5jct+Pf3}vWYiC-ZcE>J?b`*vRUlcc5)cd=jI1L9es60?f5MBqk4!QfN2AM^&-ea{5ID> zJNU0Y!G5!l-asx}e%gstmUbYDh86L;+InY~6+6(;E-TvVs_UIyR_yRP+GWK~H1+Q% z-&fyEy|arAfuC(r3dbeW>l|+L0%h<6Z0V&M)S!UHtswO1#hSU-X80@=++Xss8S>9I(qloyB7Vd~u&B`7z)SLilT}VkJPQ>#Swr!z zU-tKWe0IHU-__AiMz8m*bf<4c?{>eq+V;{$6m>jx|48@Uc-KZV2uimk_jt|uJfuoK zPX$V4W>A4}FFvnR2hxX8K@ma>p2qpSr;2fJ-(c|cf(z~)U(nyJK$V|lG7rSHLHk4{ z7}4j{_$mL7#_O~n#ssX{yHIUJ6-D_Y(xIrECy}DvLy3E+{T|wT4{7&XdzO1&Ue;c@ z)O;T$F2ye=K1{5sBWr5s+TQlRnpGvTu?KZ@Eu;1aO)bi?2VF7c)Pwf@O5f(mxPqnW Fe*pIUU@ZUu literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/TestSupport.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/PyObjCTools/__pycache__/TestSupport.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..42c3ccebf076015e6ad918e131552bf31830992d GIT binary patch literal 61609 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 DeW2M8 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__init__.py new file mode 100644 index 00000000..de38fa66 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__init__.py @@ -0,0 +1,80 @@ +""" +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. +""" + + +def _setup(): + import sys + + import CoreFoundation + import objc + import os + from . import ( + _metadata, + _callbacks, + _doubleindirect, + _sortandmap, + _coregraphics, + _contextmanager, + ) + from ._inlines import _inline_list_ + + if os.path.exists("/System/Library/Frameworks/CoreGraphics.framework"): + frameworkPath = "/System/Library/Frameworks/CoreGraphics.framework" + frameworkIdentifier = "com.apple.CoreGraphics" + else: + frameworkPath = "/System/Library/Frameworks/ApplicationServices.framework" + frameworkIdentifier = "com.apple.ApplicationServices" + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.CoreGraphics", + frameworkIdentifier=frameworkIdentifier, + frameworkPath=objc.pathForFramework(frameworkPath), + globals_dict=globals(), + inline_list=_inline_list_, + parents=( + _callbacks, + _doubleindirect, + _sortandmap, + _coregraphics, + _contextmanager, + CoreFoundation, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + del sys.modules["Quartz.CoreGraphics._metadata"] + + # XXX: To be verified + from . import CGPathElement + + _sortandmap.setCGPathElement(CGPathElement) + del _sortandmap.setCGPathElement + + # XXX: Move these to metadata! + + global CGFLOAT_MIN, CGFLOAT_MAX + CGFLOAT_MIN = 1.175_494_350_822_287_5e-38 + CGFLOAT_MAX = 3.402_823_466_385_288_6e38 + + global kCGAnyInputEventType + kCGAnyInputEventType = 0xFFFFFFFF + + global CGEventMaskBit + + def CGEventMaskBit(eventType): + return 1 << eventType + + global kCGColorSpaceUserGray, kCGColorSpaceUserRGB, kCGColorSpaceUserCMYK + kCGColorSpaceUserGray = "kCGColorSpaceUserGray" + kCGColorSpaceUserRGB = "kCGColorSpaceUserRGB" + kCGColorSpaceUserCMYK = "kCGColorSpaceUserCMYK" + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..613027b1af87428993cddbe9df850bbc4240da2b GIT binary patch literal 2371 zcmaJ?O>7fK6rQ!$-t}MNki_K24$F^dEx;>&TA>Q4LLhDm2^6SQP^Il=cM`9&-d)YC z368vw2qfUtNAD%R3NBu<>_5+S5s=$o~jgc7mR&b&A8XXd^6 z-kU#CsW^h~`(K3euOdRv7}Ndu4zY0#i0_b&ZXlhzhi-5o6hb)ks3R^5U4yMz4?W`A zTvv-jwQ!za`aOQR=9X+rs;G`*So6}HO(eI3r3sthB2k@^p;2j$s1>|ulZ8S&eywCs zsbcF@6HB^{sbtx%q}i6M8Wt>Q)Ft2tY&wn>!HI))P|@*WNh@J(K^k`)6Te5}pkA$D zFm(+$0<+LD_%W#jY{_1fTwAJA%nk(OT-DN;B9&AN{Fy4Hm=@yNR+tE-fC+yP|9<2*?u^y{)bJ03qKG4R{r_5JFzc>#3*S_N6CIfl0k*2T3xJpz^^j zpIu5%on~3;fh-Pqy^tlLe5fnin(MvY7?{RagLnZ=mYAg zKB#7ED4&^m&a9s^)aIjpOsN1cbk$Y;xT2}1Ijd?5)bCYvyEMBb|<*PO7;);CHm?bKy$&+2& zQ+azm6gKN&DWlny0s!2^h3y(kC*R?Uq2JH~%wNUirlA3fw>;*yJno>l)c;vkCGOH2 zyX6I+x1d7({!KSiI+T?$XJF!|HWx3eZply1oA#_~Qbjjd!nP&A7aWy<8TG{=+e|Jf zphpx1GONtP6}T=iOSv5mQP{j9me`3R+w8oFS$WU5fsj7Qi1pX6|1O%WMql4~eJ6~x zPGbsm0G_BH{*5FItbFTe2~@A5d}xNS{`V6C?=gH6yk4t0m@;GO-@EeX6cZ}XSBXO~ zcIBesma4PzCEd1}TFBY$vVqBvojHn|ErV0M0Jw>5v@t>r7lvpXnHOkcl{&-r0mqp&mJeA2F3 zP#_ST&)c(Q%@5hsMjbPQq zlieaXXOMAAFSb$Or4ZsDc5!w$0C4}YbJ!ap%vk7?0#w`^`P_^?fw(Bcl-}aDUS#M literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__pycache__/_contextmanager.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/__pycache__/_contextmanager.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5dc854eca4e10a0aeb2f2dc60c9e7ff0182a7450 GIT binary patch literal 4292 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 V@2|YSZt~2jgZJNl)ob@o_%ABNk+1*& literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_doubleindirect.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_doubleindirect.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..27edf26075c23b74d27953beca65f60899668293 GIT binary patch literal 68968 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

k+O)|KxM2o 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 MuU&TA2i`FL2j@)`8UO$Q literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_metadata.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_metadata.py new file mode 100644 index 00000000..31e18bff --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_metadata.py @@ -0,0 +1,3011 @@ +# This file is generated by objective.metadata +# +# Last update: Wed Oct 15 17:16:10 2025 +# +# 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( + { + "CGContentInfo": objc.createStructType( + "Quartz.CoreGraphics.CGContentInfo", + b"{CGContentInfo=IIBBf}", + [ + "deepestImageComponent", + "contentColorModels", + "hasWideGamut", + "hasTransparency", + "largestContentHeadroom", + ], + ), + "CGDeviceByteColor": objc.createStructType( + "Quartz.CoreGraphics.CGDeviceByteColor", + b"{CGDeviceByteColor=CCC}", + ["red", "green", "blue"], + ), + "CGEventTapInformation": objc.createStructType( + "Quartz.CoreGraphics.CGEventTapInformation", + b"{__CGEventTapInformation=IIIQiiBfff}", + [ + "eventTapID", + "tapPoint", + "options", + "eventsOfInterest", + "tappingProcess", + "processBeingTapped", + "enabled", + "minUsecLatency", + "avgUsecLatency", + "maxUsecLatency", + ], + ), + "CGBitmapParameters": objc.createStructType( + "Quartz.CoreGraphics.CGBitmapParameters", + b"{CGBitmapParameters=QQQQIII^{CGColorSpace=}Bqf}", + [ + "width", + "height", + "bytesPerPixel", + "alignedBytesPerRow", + "component", + "layout", + "format", + "colorSpace", + "hasPremultipliedAlpha", + "byteOrder", + "edrTargetHeadroom", + ], + ), + "CGColorBufferFormat": objc.createStructType( + "Quartz.CoreGraphics.CGColorBufferFormat", + b"{CGColorBufferFormat=IIQQQ}", + [ + "version", + "bitmapInfo", + "bitsPerComponent", + "bitsPerPixel", + "bytesPerRow", + ], + ), + "CGDeviceColor": objc.createStructType( + "Quartz.CoreGraphics.CGDeviceColor", + b"{CGDeviceColor=fff}", + ["red", "green", "blue"], + ), + "CGColorDataFormat": objc.createStructType( + "Quartz.CoreGraphics.CGColorDataFormat", + b"{CGColorDataFormat=I@IQQi^d}", + [ + "version", + "colorspace_info", + "bitmap_info", + "bits_per_component", + "bytes_per_row", + "intent", + "decode", + ], + ), + "CGPathElement": objc.createStructType( + "Quartz.CoreGraphics.CGPathElement", + b"{CGPathElement=i^{CGPoint=dd}}", + ["type", "points"], + ), + "CGContentToneMappingInfo": objc.createStructType( + "Quartz.CoreGraphics.CGContentToneMappingInfo", + b"{CGContentToneMappingInfo=I^{__CFDictionary=}}", + ["method", "options"], + ), + "CGScreenUpdateMoveDelta": objc.createStructType( + "Quartz.CoreGraphics.CGScreenUpdateMoveDelta", + b"{CGScreenUpdateMoveDelta=ii}", + ["dX", "dY"], + ), + } +) +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}$kCGAdaptiveMaximumBitDepth$kCGColorBlack$kCGColorClear$kCGColorConversionBlackPointCompensation$kCGColorConversionTRCSize$kCGColorSpaceACESCGLinear$kCGColorSpaceAdobeRGB1998$kCGColorSpaceCoreMedia709$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_HLG$kCGColorSpaceITUR_709_PQ$kCGColorSpaceLinearDisplayP3$kCGColorSpaceLinearGray$kCGColorSpaceLinearITUR_2020$kCGColorSpaceLinearSRGB$kCGColorSpaceROMMRGB$kCGColorSpaceSRGB$kCGColorWhite$kCGContentAverageLightLevel$kCGContentAverageLightLevelNits$kCGDefaultHDRImageContentHeadroom@f$kCGDisplayShowDuplicateLowResolutionModes$kCGDisplayStreamColorSpace$kCGDisplayStreamDestinationRect$kCGDisplayStreamMinimumFrameTime$kCGDisplayStreamPreserveAspectRatio$kCGDisplayStreamQueueDepth$kCGDisplayStreamShowCursor$kCGDisplayStreamSourceRect$kCGDisplayStreamYCbCrMatrix$kCGDisplayStreamYCbCrMatrix_ITU_R_601_4$kCGDisplayStreamYCbCrMatrix_ITU_R_709_2$kCGDisplayStreamYCbCrMatrix_SMPTE_240M_1995$kCGDynamicRangeConstrained$kCGDynamicRangeHigh$kCGDynamicRangeStandard$kCGEXRToneMappingGammaDefog$kCGEXRToneMappingGammaExposure$kCGEXRToneMappingGammaKneeHigh$kCGEXRToneMappingGammaKneeLow$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$kCGPreferredDynamicRange$kCGSkipBoostToHDR$kCGUse100nitsHLGOOTF$kCGUseBT1886ForCoreVideoGamma$kCGUseLegacyHDREcosystem$kCGWindowAlpha$kCGWindowBackingLocationVideoMemory$kCGWindowBounds$kCGWindowIsOnscreen$kCGWindowLayer$kCGWindowMemoryUsage$kCGWindowName$kCGWindowNumber$kCGWindowOwnerName$kCGWindowOwnerPID$kCGWindowSharingState$kCGWindowStoreType$kCGWindowWorkspace$kCIDynamicRangeConstrainedHigh$kCIDynamicRangeHigh$kCIImageApplyCleanAperture$kCIImageAuxiliarySemanticSegmentationGlassesMatte$kCIImageAuxiliarySemanticSegmentationSkyMatte$kCIImageContentAverageLightLevel$kCIImageRepresentationHDRGainMapAsRGB$kCIImageRepresentationSemanticSegmentationGlassesMatteImage$kCIImageRepresentationSemanticSegmentationSkyMatteImage$kCIImageToneMapHDRtoSDR$kCIInputBacksideImageKey$kCIInputBiasVectorKey$kCIInputColor0Key$kCIInputColor1Key$kCIInputColorSpaceKey$kCIInputCountKey$kCIInputExtrapolateKey$kCIInputLocalToneMapAmountKey$kCIInputPaletteImageKey$kCIInputPerceptualKey$kCIInputPoint0Key$kCIInputPoint1Key$kCIInputRadius0Key$kCIInputRadius1Key$kCIInputThresholdKey$""" +enums = """$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$CGPDFTagTypeObject@800$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$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$kCGBitmapByteOrderInfoMask@28672$kCGBitmapByteOrderMask@28672$kCGBitmapComponentInfoMask@3840$kCGBitmapFloatComponents@256$kCGBitmapFloatInfoMask@3840$kCGBitmapLayoutABGR@9$kCGBitmapLayoutARGB@4$kCGBitmapLayoutAlphaOnly@0$kCGBitmapLayoutBGRA@7$kCGBitmapLayoutBGRX@8$kCGBitmapLayoutCMYK@11$kCGBitmapLayoutGray@1$kCGBitmapLayoutGrayAlpha@2$kCGBitmapLayoutRGBA@3$kCGBitmapLayoutRGBX@5$kCGBitmapLayoutXBGR@10$kCGBitmapLayoutXRGB@6$kCGBitmapPixelFormatInfoMask@983040$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$kCGColorModelCMYK@4$kCGColorModelDeviceN@16$kCGColorModelGray@1$kCGColorModelLab@8$kCGColorModelNoColorant@0$kCGColorModelRGB@2$kCGColorSpaceModelCMYK@2$kCGColorSpaceModelDeviceN@4$kCGColorSpaceModelIndexed@5$kCGColorSpaceModelLab@3$kCGColorSpaceModelMonochrome@0$kCGColorSpaceModelPattern@6$kCGColorSpaceModelRGB@1$kCGColorSpaceModelUnknown@-1$kCGColorSpaceModelXYZ@7$kCGComponentFloat16Bit@5$kCGComponentFloat32Bit@4$kCGComponentInteger10Bit@6$kCGComponentInteger16Bit@2$kCGComponentInteger32Bit@3$kCGComponentInteger8Bit@1$kCGComponentUnknown@0$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$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$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$kCGImageByteOrder16Host@4096$kCGImageByteOrder16Little@4096$kCGImageByteOrder32Big@16384$kCGImageByteOrder32Host@8192$kCGImageByteOrder32Little@8192$kCGImageByteOrderDefault@0$kCGImageByteOrderMask@28672$kCGImageComponentFloat@256$kCGImageComponentInteger@0$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$kCGScrollWheelEventAcceleratedDeltaAxis1@176$kCGScrollWheelEventAcceleratedDeltaAxis2@175$kCGScrollWheelEventDeltaAxis1@11$kCGScrollWheelEventDeltaAxis2@12$kCGScrollWheelEventDeltaAxis3@13$kCGScrollWheelEventFixedPtDeltaAxis1@93$kCGScrollWheelEventFixedPtDeltaAxis2@94$kCGScrollWheelEventFixedPtDeltaAxis3@95$kCGScrollWheelEventInstantMouser@14$kCGScrollWheelEventIsContinuous@88$kCGScrollWheelEventMomentumOptionPhase@173$kCGScrollWheelEventMomentumPhase@123$kCGScrollWheelEventPointDeltaAxis1@96$kCGScrollWheelEventPointDeltaAxis2@97$kCGScrollWheelEventPointDeltaAxis3@98$kCGScrollWheelEventRawDeltaAxis1@178$kCGScrollWheelEventRawDeltaAxis2@177$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$kCGToneMappingDefault@0$kCGToneMappingEXRGamma@4$kCGToneMappingITURecommended@3$kCGToneMappingImageSpecificLumaScaling@1$kCGToneMappingNone@5$kCGToneMappingReferenceWhiteBased@2$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), + "CGToneMapping": NewType("CGToneMapping", int), + "CGComponent": NewType("CGComponent", 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 + ), + "CGPatternTiling": NewType("CGPatternTiling", int), + "CGBitmapInfo": NewType("CGBitmapInfo", int), + "CGImagePixelFormatInfo": NewType("CGImagePixelFormatInfo", int), + "CGPDFAccessPermissions": NewType("CGPDFAccessPermissions", int), + "CGWindowBackingType": NewType("CGWindowBackingType", int), + "CGInterpolationQuality": NewType("CGInterpolationQuality", int), + "CGScrollPhase": NewType("CGScrollPhase", int), + "CGLineCap": NewType("CGLineCap", int), + "CGColorModel": NewType("CGColorModel", 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), + "CGBitmapLayout": NewType("CGBitmapLayout", int), + "CGEventSuppressionState": NewType("CGEventSuppressionState", int), + "CGEventTapLocation": NewType("CGEventTapLocation", int), + "CGPDFTagType": NewType("CGPDFTagType", int), + "CGImageComponentInfo": NewType("CGImageComponentInfo", int), + "CGImageAlphaInfo": NewType("CGImageAlphaInfo", int), + "CGWindowLevelKey": NewType("CGWindowLevelKey", 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), + "CGPDFObjectType": NewType("CGPDFObjectType", 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), + "CIDynamicRangeOption": NewType("CIDynamicRangeOption", 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",), + "CGPathCreateCopy": ( + b"^{CGPath=}^{CGPath=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "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=}",), + "CGPaletteSetColorAtIndex": (b"v^{_CGDirectPaletteRef=}{CGDeviceColor=fff}I",), + "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}}, + ), + "CGColorConversionInfoConvertData": ( + b"B^{CGColorConversionInfo=}QQ^v{CGColorBufferFormat=IIQQQ}^v{CGColorBufferFormat=IIQQQ}^{__CFDictionary=}", + "", + {"arguments": {3: {"c_array_of_variable_length": True, "type_modifier": "n"}}}, + ), + "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",), + "CGDisplayCaptureWithOptions": (b"iII",), + "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: {"type_modifier": "n", "c_array_length_in_arg": 1}}, + }, + ), + "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=}",), + "CGPDFContextSetIDTree": (b"v^{CGContext=}^{CGPDFDictionary=}",), + "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=}^d", + "", + { + "retval": {"already_cfretained": True}, + "arguments": {1: {"c_array_of_fixed_length": 256, "type_modifier": "n"}}, + }, + ), + "CGAffineTransformMakeWithComponents": ( + b"{CGAffineTransform=dddddd}{CGAffineTransformComponents={CGSize=dd}dd{CGVector=dd}}", + ), + "CGPointApplyAffineTransform": ( + b"{CGPoint=dd}{CGPoint=dd}{CGAffineTransform=dddddd}", + ), + "CGPDFContextSetParentTree": (b"v^{CGContext=}^{CGPDFDictionary=}",), + "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=}",), + "CGShadingCreateRadialWithContentHeadroom": ( + b"^{CGShading=}f^{CGColorSpace=}{CGPoint=dd}d{CGPoint=dd}d^{CGFunction=}BB", + "", + {"retval": {"already_cfretained": True}}, + ), + "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",), + "CGImageCreateCopyWithContentHeadroom": ( + b"^{CGImage=}f^{CGImage=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "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: {"type_modifier": "n", "c_array_length_in_arg": 1}}, + }, + ), + "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"}, + } + }, + ), + "CGImageShouldToneMap": (b"B^{CGImage=}",), + "CGPathCreateCopyOfLineByIntersectingPath": ( + b"^{CGPath=}^{CGPath=}^{CGPath=}B", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGContextShowGlyphsAtPoint": ( + b"v^{CGContext=}dd^SQ", + "", + {"arguments": {3: {"c_array_length_in_arg": 4, "type_modifier": "n"}}}, + ), + "CGPathIntersectsPath": (b"B^{CGPath=}^{CGPath=}B",), + "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}}, + ), + "CGContextSynchronizeAttributes": (b"v^{CGContext=}",), + "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}, + "arguments": { + 6: {"c_array_of_variable_length": True, "type_modifier": "n"} + }, + }, + ), + "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=}",), + "CGPathCreateCopyByFlattening": ( + b"^{CGPath=}^{CGPath=}d", + "", + {"retval": {"already_cfretained": True}}, + ), + "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}}, + ), + "CGRenderingBufferLockBytePtr": ( + b"^v^{CGRenderingBufferProvider=}", + "", + {"retval": {"c_array_of_variable_length": True}}, + ), + "CGGradientCreateWithContentHeadroom": ( + b"^{CGGradient=}f^{CGColorSpace=}^d^dQ", + "", + { + "retval": {"already_cfretained": True}, + "arguments": { + 2: {"c_array_of_variable_length": True, "type_modifier": "n"}, + 3: {"c_array_length_in_arg": 4, "type_modifier": "n"}, + }, + }, + ), + "CGAffineTransformIsIdentity": (b"B{CGAffineTransform=dddddd}",), + "CGRenderingBufferProviderCreate": ( + b"^{CGRenderingBufferProvider=}^vQ@?@?@?", + "", + { + "retval": {"already_cfretained": True}, + "arguments": { + 0: {"c_array_length_in_arg": 1, "type_modifier": "n"}, + 2: { + "callable": { + "retval": {"type": b"^v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}}, + } + }, + 3: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"^v"}, + 2: {"type": b"^v"}, + }, + } + }, + 4: { + "callable": { + "retval": {"type": b"v"}, + "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}}, + } + }, + }, + }, + ), + "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=}",), + "CGContextSetContentToneMappingInfo": ( + b"v^{CGContext=}{CGContentToneMappingInfo=I^{__CFDictionary=}}", + ), + "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"}, + }, + } + } + }, + }, + ), + "CGShadingCreateAxialWithContentHeadroom": ( + b"^{CGShading=}f^{CGColorSpace=}{CGPoint=dd}{CGPoint=dd}^{CGFunction=}BB", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGReleaseDisplayFadeReservation": (b"iI",), + "CGPathCreateCopyByNormalizing": ( + b"^{CGPath=}^{CGPath=}B", + "", + {"retval": {"already_cfretained": True}}, + ), + "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"}}}, + ), + "CGImageIsMask": (b"B^{CGImage=}",), + "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}, + "arguments": { + 1: {"c_array_of_variable_length": True, "type_modifier": "n"} + }, + }, + ), + "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"}}, + }, + ), + "CGImageCalculateContentAverageLightLevel": (b"f^{CGImage=}",), + "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"}, + } + }, + ), + "CGEXRToneMappingGammaGetDefaultOptions": (b"^{__CFDictionary=}",), + "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=}",), + "CGDisplayStreamStart": (b"i^{CGDisplayStream=}",), + "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",), + "CGAffineTransformDecompose": ( + b"{CGAffineTransformComponents={CGSize=dd}dd{CGVector=dd}}{CGAffineTransform=dddddd}", + ), + "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=}",), + "CGFontCreateCopyWithVariations": ( + b"^{CGFont=}^{CGFont=}^{__CFDictionary=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "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}}", + ), + "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",), + "CGPDFContextSetPageTagStructureTree": (b"v^{CGContext=}^{__CFDictionary=}",), + "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"}}, + }, + ), + "CGRectIsNull": (b"B{CGRect={CGPoint=dd}{CGSize=dd}}",), + "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}}, + ), + "CGImageCalculateContentHeadroom": (b"f^{CGImage=}",), + "CGPDFContentStreamRetain": (b"^{CGPDFContentStream=}^{CGPDFContentStream=}",), + "CGEnableEventStateCombining": (selAorI(b"ii", b"iI"),), + "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}",), + "CGEventCreateCopy": ( + b"^{__CGEvent=}^{__CGEvent=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "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",), + "CGBitmapContextCreateAdaptive": ( + b"^{CGContext=}QQ^{__CFDictionary=}@?@?@?@?", + "", + { + "retval": {"already_cfretained": True}, + "arguments": { + 3: { + "callable": { + "retval": {"type": b"B"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"^{CGContentInfo=IIBBf}"}, + 2: { + "type": b"^{CGBitmapParameters=QQQQIII^{CGColorSpace=}Bqf}" + }, + }, + } + }, + 4: { + "callable": { + "retval": {"type": b"^{CGRenderingBufferProvider=}"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"^{CGContentInfo=IIBBf}"}, + 2: { + "type": b"^{CGBitmapParameters=QQQQIII^{CGColorSpace=}Bqf}" + }, + }, + } + }, + 5: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"^{CGRenderingBufferProvider=}"}, + 2: {"type": b"^{CGContentInfo=IIBBf}"}, + 3: { + "type": b"^{CGBitmapParameters=QQQQIII^{CGColorSpace=}Bqf}" + }, + }, + } + }, + 6: { + "callable": { + "retval": {"type": b"v"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"^{__CFError=}"}, + 2: {"type": b"^{CGContentInfo=IIBBf}"}, + 3: { + "type": b"^{CGBitmapParameters=QQQQIII^{CGColorSpace=}Bqf}" + }, + }, + } + }, + }, + }, + ), + "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=}^d^dd", + "", + { + "retval": {"already_cfretained": True}, + "arguments": { + 0: {"c_array_of_fixed_length": 3, "type_modifier": "n"}, + 1: {"c_array_of_fixed_length": 3, "type_modifier": "n"}, + }, + }, + ), + "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=}",), + "CGPreflightPostEventAccess": (b"B",), + "CGPaletteGetColorAtIndex": (b"{CGDeviceColor=fff}^{_CGDirectPaletteRef=}I",), + "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=}",), + "CGPSConverterIsConverting": (b"B^{CGPSConverter=}",), + "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",), + "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}}, + ), + "CGColorSpaceCopyBaseColorSpace": ( + b"^{CGColorSpace=}^{CGColorSpace=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGContextSetRGBStrokeColor": (b"v^{CGContext=}dddd",), + "CGLayerRelease": (b"v^{CGLayer=}",), + "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=}",), + "CGColorGetContentHeadroom": (b"f^{CGColor=}",), + "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"}}}, + ), + "CGColorConversionInfoCreateForToneMapping": ( + b"^{CGColorConversionInfo=}^{CGColorSpace=}f^{CGColorSpace=}fI^{__CFDictionary=}^^{__CFError=}", + "", + { + "retval": {"already_cfretained": True}, + "arguments": { + 6: { + "null_accepted": True, + "already_cfretained": True, + "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}}, + ), + "CGContextGetContentToneMappingInfo": ( + b"{CGContentToneMappingInfo=I^{__CFDictionary=}}^{CGContext=}", + ), + "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}}, + ), + "CGPaletteCreateFromPaletteBlendedWithColor": ( + b"^{_CGDirectPaletteRef=}^{_CGDirectPaletteRef=}f{CGDeviceColor=fff}", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGContextGetTextMatrix": (b"{CGAffineTransform=dddddd}^{CGContext=}",), + "CGRenderingBufferUnlockBytePtr": (b"v^{CGRenderingBufferProvider=}",), + "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"}}, + }, + ), + "CGPathCreateSeparateComponents": ( + b"^{__CFArray=}^{CGPath=}B", + "", + {"retval": {"already_cfretained": True}}, + ), + "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"}}}, + ), + "CGContextClip": (b"v^{CGContext=}",), + "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=}",), + "CGImageGetContentAverageLightLevel": (b"f^{CGImage=}",), + "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",), + "CGBitmapInfoMake": (b"IIIII",), + "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=}",), + "CGContextSetEDRTargetHeadroom": (b"B^{CGContext=}f",), + "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"}}}, + ), + "CGContextConvertRectToDeviceSpace": ( + b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}", + ), + "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=}",), + "CGColorCreateWithContentHeadroom": ( + b"^{CGColor=}f^{CGColorSpace=}dddd", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGEventPostToPid": (b"vi^{__CGEvent=}",), + "CGPathIsEmpty": (b"B^{CGPath=}",), + "CGDisplayScreenSize": (b"{CGSize=dd}I",), + "CGDisplayIsInMirrorSet": (selAorI(b"iI", b"II"),), + "CGGradientGetContentHeadroom": (b"f^{CGGradient=}",), + "CGFontCopyGlyphNameForGlyph": ( + b"^{__CFString=}^{CGFont=}S", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGBitmapContextGetAlphaInfo": (b"I^{CGContext=}",), + "CGColorSpaceCreateCopyWithStandardRange": ( + b"^{CGColorSpace=}^{CGColorSpace=}", + "", + {"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"}, + }, + }, + "callable_retained": True, + }, + } + }, + ), + "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}, + "arguments": { + 1: {"c_array_of_variable_length": True, "type_modifier": "n"} + }, + }, + ), + "CGContextSetTextDrawingMode": (b"v^{CGContext=}i",), + "CGContextGetUserSpaceToDeviceSpaceTransform": ( + b"{CGAffineTransform=dddddd}^{CGContext=}", + ), + "CGDataConsumerCreateWithCFData": ( + b"^{CGDataConsumer=}^{__CFData=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGPathCreateCopyByUnioningPath": ( + b"^{CGPath=}^{CGPath=}^{CGPath=}B", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGColorSpaceCreateCalibratedRGB": ( + b"^{CGColorSpace=}^d^d^d^d", + "", + { + "retval": {"already_cfretained": True}, + "arguments": { + 0: {"c_array_of_fixed_length": 3, "type_modifier": "n"}, + 1: {"c_array_of_fixed_length": 3, "type_modifier": "n"}, + 2: {"c_array_of_fixed_length": 3, "type_modifier": "n"}, + 3: {"c_array_of_fixed_length": 9, "type_modifier": "n"}, + }, + }, + ), + "CGContextSetLineJoin": (b"v^{CGContext=}i",), + "CGDataProviderCreateSequential": ( + b"^{CGDataProvider=}^v^{CGDataProviderSequentialCallbacks=I^?^?^?^?}", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGPDFArrayGetNull": (b"B^{CGPDFArray=}Q",), + "CGPDFScannerStop": (b"v^{CGPDFScanner=}",), + "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"}}}, + ), + "CGContextGetEDRTargetHeadroom": (b"f^{CGContext=}",), + "CGPDFArrayGetBoolean": ( + b"B^{CGPDFArray=}Q^C", + "", + {"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=}",), + "CGImageGetContentHeadroom": (b"f^{CGImage=}",), + "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"}}}, + ), + "CGRenderingBufferProviderCreateWithCFData": ( + b"^{CGRenderingBufferProvider=}^{__CFData=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "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}",), + "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"}, + }, + } + } + } + }, + ), + "CGReleaseScreenRefreshRects": (b"v^{CGRect={CGPoint=dd}{CGSize=dd}}",), + "CGContextSetFlatness": (b"v^{CGContext=}d",), + "CGColorSpaceUsesExtendedRange": (b"B^{CGColorSpace=}",), + "CGContextDrawShading": (b"v^{CGContext=}^{CGShading=}",), + "CGImageCreateWithContentHeadroom": ( + b"^{CGImage=}fQQQQQ^{CGColorSpace=}I^{CGDataProvider=}^dBi", + "", + { + "comment": "API documentation is unclear about this parameter", + "retval": {"already_cfretained": True}, + "arguments": { + 9: {"c_array_of_variable_length": True, "type_modifier": "n"} + }, + }, + ), + "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"),), + "CGImageCreateCopyWithContentAverageLightLevel": ( + b"^{CGImage=}^{CGImage=}f", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGShadingGetContentHeadroom": (b"f^{CGShading=}",), + "CGPSConverterConvert": ( + b"B^{CGPSConverter=}^{CGDataProvider=}^{CGDataConsumer=}^{__CFDictionary=}", + ), + "CGEventCreateSourceFromEvent": ( + b"^{__CGEventSource=}^{__CGEvent=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "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=}",), + "CGFontGetStemV": (b"d^{CGFont=}",), + "CGDisplayCopyDisplayMode": ( + b"^{CGDisplayMode=}I", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGPDFDocumentAllowsCopying": (b"B^{CGPDFDocument=}",), + "CGDisplayCreateImage": ( + b"^{CGImage=}I", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGPathCreateCopyBySubtractingPath": ( + b"^{CGPath=}^{CGPath=}^{CGPath=}B", + "", + {"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=}", + ), + "CGContextDrawImageApplyingToneMapping": ( + b"B^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}^{CGImage=}I^{__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"} + }, + }, + ), + "CGContextDrawConicGradient": (b"v^{CGContext=}^{CGGradient=}{CGPoint=dd}d",), + "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}", + ), + "CGRenderingBufferProviderGetTypeID": (b"Q",), + "CGImageCreateCopyWithCalculatedHDRStats": ( + b"^{CGImage=}^{CGImage=}", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGErrorSetCallback": ( + b"v^?", + "", + { + "arguments": { + 0: { + "callable": {"retval": {"type": b"v"}, "arguments": {}}, + "callable_retained": True, + } + } + }, + ), + "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=}",), + "CGRenderingBufferProviderGetSize": (b"Q^{CGRenderingBufferProvider=}",), + "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_of_variable_length": True, "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",), + "CGImageContainsImageSpecificToneMappingMetadata": (b"B^{CGImage=}",), + "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",), + "CGPathCreateCopyByIntersectingPath": ( + b"^{CGPath=}^{CGPath=}^{CGPath=}B", + "", + {"retval": {"already_cfretained": True}}, + ), + "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=}",), + "CGPathCreateCopyOfLineBySubtractingPath": ( + b"^{CGPath=}^{CGPath=}^{CGPath=}B", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGColorConverterRelease": (b"v^{CGColorConversionInfo=}",), + "CGColorSpaceUsesITUR_2100TF": (b"B^{CGColorSpace=}",), + "CGDisplayAvailableModes": (b"^{__CFArray=}I",), + "CGColorCreateGenericGrayGamma2_2": ( + b"^{CGColor=}dd", + "", + {"retval": {"already_cfretained": True}}, + ), + "CGContextSetTextMatrix": (b"v^{CGContext=}{CGAffineTransform=dddddd}",), + "CGPostKeyboardEvent": (selAorI(b"iSSi", b"iSSI"),), + "CGPathCreateCopyBySymmetricDifferenceOfPath": ( + b"^{CGPath=}^{CGPath=}^{CGPath=}B", + "", + {"retval": {"already_cfretained": True}}, + ), + "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=}^d^d^d", + "", + { + "retval": {"already_cfretained": True}, + "arguments": { + 0: {"c_array_of_fixed_length": 3, "type_modifier": "n"}, + 1: {"c_array_of_fixed_length": 3, "type_modifier": "n"}, + 2: {"c_array_of_fixed_length": 4, "type_modifier": "n"}, + }, + }, + ), + "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: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, + ), + "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", + "CGPointApplyAffineTransform": "__CGPointApplyAffineTransform", + "kCGWindowIDCFNumberType": "kCFNumberSInt32Type", + "CGColorConverterRef": "CGColorConversionInfoRef", + "kCGBitmapByteOrder16Host": "kCGBitmapByteOrder16Little", + "CGPointEqualToPoint": "__CGPointEqualToPoint", + "kCGEventSupressionStateSupressionInterval": "kCGEventSuppressionStateSuppressionInterval", + "CG_SKYLIGHT_EXTERN_64": "CG_EXTERN", + "CGEventSupressionState": "CGEventSuppressionState", + "kCGBitmapByteOrder32Big": "kCGImageByteOrder32Big", + "CG_PRIVATE_EXTERN": "CG_LOCAL", + "kCGBitmapByteOrderMask": "kCGImageByteOrderMask", + "kCGNumberOfEventSupressionStates": "kCGNumberOfEventSuppressionStates", + "kCGBitmapByteOrder32Host": "kCGBitmapByteOrder32Little", + "cg_nullable": "__nullable", + "kCGBitmapFloatComponents": "kCGImageComponentFloat", + "CG_EXTERN_64": "CG_EXTERN", + "CG_NONNULL_ARRAY": "__nonnull", + "kCGWindowBackingCFNumberType": "kCFNumberSInt32Type", + "CGFLOAT_MIN": "DBL_MIN", + "CG_LOCAL_64": "CG_LOCAL", + "kCGImageByteOrder32Host": "kCGImageByteOrder32Little", + "CGEventNoErr": "kCGErrorSuccess", + "CGAffineTransformMake": "__CGAffineTransformMake", + "kCGBitmapByteOrder16Little": "kCGImageByteOrder16Little", + "CGFLOAT_MAX": "DBL_MAX", + "kCGBitmapByteOrderDefault": "kCGImageByteOrderDefault", + "kCGEventSupressionStateRemoteMouseDrag": "kCGEventSuppressionStateRemoteMouseDrag", + "kCGBitmapByteOrder16Big": "kCGImageByteOrder16Big", + "CGDisplayNoErr": "kCGErrorSuccess", + "CG_OBSOLETE": "__CG_DEPRECATED", + "kCGBitmapFloatInfoMask": "kCGBitmapComponentInfoMask", + "kCGImageByteOrder16Host": "kCGImageByteOrder16Little", + "CGSetLocalEventsFilterDuringSupressionState": "CGSetLocalEventsFilterDuringSuppressionState", + "kCGWindowSharingCFNumberType": "kCFNumberSInt32Type", + "kCGGlyphMax": "kCGFontIndexMax", + "kCGBitmapByteOrder32Little": "kCGImageByteOrder32Little", +} +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_sortandmap.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreGraphics/_sortandmap.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..07bfea84669e22ba4445f4f805aaad8788b8b415 GIT binary patch literal 85888 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/_CVPixelBuffer.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/_CVPixelBuffer.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..0418f3292cc0da48f52aa8f4b4680a5539872122 GIT binary patch literal 69160 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__init__.py new file mode 100644 index 00000000..bf0f4002 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__init__.py @@ -0,0 +1,37 @@ +""" +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. +""" + + +def _setup(): + import sys + + import CoreFoundation + import objc + from . import _metadata, _CVPixelBuffer + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.CoreVideo", + frameworkIdentifier="com.apple.CoreVideo", + frameworkPath=objc.pathForFramework( + "/System/Library/Frameworks/CoreVideo.framework" + ), + globals_dict=globals(), + inline_list=None, + parents=( + _CVPixelBuffer, + CoreFoundation, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + del sys.modules["Quartz.CoreVideo._metadata"] + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..43759f6b9fc1540dcf249c56eca766473487a5e1 GIT binary patch literal 1426 zcmZuw&2Jk;6rcU@N9;IF+Q>~(JKd_4kQKU1%7sG+Dy7Ck`CAA+9JK_z(C4xL_d^YkO#hsa?fObyW#<f+`FiSD*5}bW6A5d-4!{SGd(COwuBWe zn0FrRIbRU>{jgRetiAY2Xfe^&r=4zJvZ<#-!(4Jks2iWQxFDYKp;KiRYZ*I}dEmy> zRG$t>B@?MW3`}%sD!PZE%TCQ9EGkTedzNTK^L3Y2Eti|vu|<@3eAn@b={j6QnZROT z#-nVKK#XTh&|{_<TyF*>T;tN za!ALtU25-}md(rqg6qW4pAi3v;W||#NOt>eee;&V9YJmemc4J)2{%SHoAu8yO~-d2 z4LxW@X_FHX2CM{8#Vf_XgzFH!P#0dQt1r|GFV&6H^0kxlcCWnMFI?@HHv7f3lj26N zxY3{A8Y=ST+}~+bEPwm3zr1ofzt*2$8>Ez_+#riCUO8F1-dnmpSVima4N+k|-BZ^N zKR9v+>!@_&`R=oOM@~;&>0jMQXs@T1PP6%M@?YnFTYjsT-5f$BC<*L-MNI~R+NPNZ zSP`H|325*mV&z!vN-W53jry|9t^pfw1-}8;K#?TrPdO#2e=V*`w+8PZY2|6=+1yu! Qr-h@&@96R$Xf^Tj9};kkAOHXW literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__pycache__/_metadata.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/CoreVideo/__pycache__/_metadata.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b07e43cf73aa2d83c606115fc4c1cd5095c210bd GIT binary patch literal 31615 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 p)JkY 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$kCVImageBufferDisplayMaskRectangleKey$kCVImageBufferDisplayMaskRectangleStereoLeftKey$kCVImageBufferDisplayMaskRectangleStereoRightKey$kCVImageBufferDisplayMaskRectangle_LeftEdgePointsKey$kCVImageBufferDisplayMaskRectangle_RectangleHeightKey$kCVImageBufferDisplayMaskRectangle_RectangleLeftKey$kCVImageBufferDisplayMaskRectangle_RectangleTopKey$kCVImageBufferDisplayMaskRectangle_RectangleWidthKey$kCVImageBufferDisplayMaskRectangle_ReferenceRasterHeightKey$kCVImageBufferDisplayMaskRectangle_ReferenceRasterWidthKey$kCVImageBufferDisplayMaskRectangle_RightEdgePointsKey$kCVImageBufferDisplayWidthKey$kCVImageBufferFieldCountKey$kCVImageBufferFieldDetailKey$kCVImageBufferFieldDetailSpatialFirstLineEarly$kCVImageBufferFieldDetailSpatialFirstLineLate$kCVImageBufferFieldDetailTemporalBottomFirst$kCVImageBufferFieldDetailTemporalTopFirst$kCVImageBufferGammaLevelKey$kCVImageBufferICCProfileKey$kCVImageBufferLogTransferFunctionKey$kCVImageBufferLogTransferFunction_AppleLog$kCVImageBufferLogTransferFunction_AppleLog2$kCVImageBufferMasteringDisplayColorVolumeKey$kCVImageBufferPixelAspectRatioHorizontalSpacingKey$kCVImageBufferPixelAspectRatioKey$kCVImageBufferPixelAspectRatioVerticalSpacingKey$kCVImageBufferPostDecodeProcessingFrameMetadataKey$kCVImageBufferPostDecodeProcessingSequenceMetadataKey$kCVImageBufferPreferredCleanApertureKey$kCVImageBufferRegionOfInterestKey$kCVImageBufferSceneIlluminationKey$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}$kCVMetalBufferCacheMaximumBufferAgeKey$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$kCVPixelBufferIOSurfacePurgeableKey$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$kCVPixelFormatBitsPerComponent$kCVPixelFormatBlackBlock$kCVPixelFormatBlockHeight$kCVPixelFormatBlockHorizontalAlignment$kCVPixelFormatBlockVerticalAlignment$kCVPixelFormatBlockWidth$kCVPixelFormatCGBitmapContextCompatibility$kCVPixelFormatCGBitmapInfo$kCVPixelFormatCGImageCompatibility$kCVPixelFormatCodecType$kCVPixelFormatComponentRange$kCVPixelFormatComponentRange_FullRange$kCVPixelFormatComponentRange_VideoRange$kCVPixelFormatComponentRange_WideRange$kCVPixelFormatConstant$kCVPixelFormatContainsAlpha$kCVPixelFormatContainsGrayscale$kCVPixelFormatContainsRGB$kCVPixelFormatContainsSenselArray$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_30RGBLE_8A_BiPlanar@1647534392$kCVPixelFormatType_30RGB_r210@1915892016$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_4444AYpCbCrFloat@1916036716$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_96VersatileBayerPacked12@1651798066$kCVPixelFormatType_ARGB2101010LEPacked@1815162994$kCVPixelFormatType_DepthFloat16@1751410032$kCVPixelFormatType_DepthFloat32@1717855600$kCVPixelFormatType_DisparityFloat16@1751411059$kCVPixelFormatType_DisparityFloat32@1717856627$kCVPixelFormatType_Lossless_30RGBLEPackedWideGamut@645346162$kCVPixelFormatType_Lossless_30RGBLE_8A_BiPlanar@643969848$kCVPixelFormatType_Lossless_32BGRA@641877825$kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarFullRange@645424688$kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarVideoRange@645428784$kCVPixelFormatType_Lossless_420YpCbCr8BiPlanarFullRange@641230384$kCVPixelFormatType_Lossless_420YpCbCr8BiPlanarVideoRange@641234480$kCVPixelFormatType_Lossless_422YpCbCr10PackedBiPlanarVideoRange@645428786$kCVPixelFormatType_Lossless_64RGBAHalf@642934849$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({}) +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}, + "arguments": {5: {"already_cfretained": True, "type_modifier": "o"}}, + }, + ), + "CVOpenGLBufferPoolGetTypeID": (b"Q",), + "CVPixelBufferFillExtendedPixels": (b"i^{__CVBuffer=}",), + "CVPixelBufferGetBytesPerRow": (b"Q^{__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",), + "CVPixelBufferPoolCreatePixelBufferWithAuxAttributes": ( + b"i^{__CFAllocator=}^{__CVPixelBufferPool=}^{__CFDictionary=}^^{__CVBuffer=}", + "", + { + "retval": {"already_cfretained": True}, + "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, + }, + ), + "CVBufferRetain": (b"^{__CVBuffer=}^{__CVBuffer=}",), + "CVMetalBufferCacheFlush": (b"v^{__CVMetalBufferCache=}Q",), + "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",), + "CVMetalTextureCacheCreateFromImage": ( + b"i@@@@QQQ^@", + "", + {"arguments": {7: {"already_cfretained": True, "type_modifier": "o"}}}, + ), + "CVOpenGLTextureCacheGetTypeID": (b"Q",), + "CVMetalTextureCacheCreateTextureFromImage": ( + b"i^{__CFAllocator=}^{__CVMetalTextureCache=}^{__CVBuffer=}^{__CFDictionary=}QQQQ^^{__CVBuffer=}", + "", + { + "retval": {"already_cfretained": True}, + "arguments": {8: {"already_cfretained": True, "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"}}, + }, + ), + "CVPixelBufferIsCompatibleWithAttributes": (b"Z^{__CVBuffer=}^{__CFDictionary=}",), + "CVDisplayLinkGetTypeID": (b"Q",), + "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"}, + }, + }, + "callable_retained": True, + } + } + }, + ), + "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}, + "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, + }, + ), + "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}, + "arguments": {2: {"type_modifier": "o"}}, + }, + ), + "CVMetalTextureGetTexture": (b"@^{__CVBuffer=}",), + "CVPixelBufferIsPlanar": (b"Z^{__CVBuffer=}",), + "CVBufferRemoveAllAttachments": (b"v^{__CVBuffer=}",), + "CVTransferFunctionGetIntegerCodePointForString": (b"i^{__CFString=}",), + "CVPixelFormatTypeCopyFourCharCodeString": ( + b"^{__CFString=}I", + "", + {"retval": {"already_cfretained": True}}, + ), + "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",), + "CVMetalBufferCacheCreate": ( + b"i^{__CFAllocator=}^{__CFDictionary=}@^^{__CVMetalBufferCache=}", + "", + { + "retval": {"already_cfretained": True}, + "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, + }, + ), + "CVOpenGLBufferPoolRetain": (b"^{__CVOpenGLBufferPool=}^{__CVOpenGLBufferPool=}",), + "CVPixelBufferUnlockBaseAddress": (b"i^{__CVBuffer=}Q",), + "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=}",), + "CVMetalBufferCacheGetTypeID": (b"Q",), + "CVImageBufferGetDisplaySize": (b"{CGSize=dd}^{__CVBuffer=}",), + "CVBufferHasAttachment": (b"Z^{__CVBuffer=}^{__CFString=}",), + "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=}",), + "CVMetalBufferCacheCreateBufferFromImage": ( + b"i^{__CFAllocator=}^{__CVMetalBufferCache=}^{__CVBuffer=}^^{__CVBuffer=}", + "", + { + "retval": {"already_cfretained": True}, + "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, + }, + ), + "CVMetalTextureCacheCreate": ( + b"i^{__CFAllocator=}^{__CFDictionary=}@^{__CFDictionary=}^^{__CVMetalTextureCache=}", + "", + { + "retval": {"already_cfretained": True}, + "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, + }, + ), + "CVMetalBufferGetTypeID": (b"Q",), + "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}, + "arguments": {5: {"already_cfretained": True, "type_modifier": "o"}}, + }, + ), + "CVMetalBufferGetBuffer": (b"@^{__CVBuffer=}",), + "CVPixelBufferPoolFlush": (b"v^{__CVPixelBufferPool=}Q",), + "CVOpenGLTextureGetCleanTexCoords": ( + b"v^{__CVBuffer=}^f^f^f^f", + "", + { + "arguments": { + 1: {"c_array_of_fixed_length": 2, "type_modifier": "n"}, + 2: {"c_array_of_fixed_length": 2, "type_modifier": "n"}, + 3: {"c_array_of_fixed_length": 2, "type_modifier": "n"}, + 4: {"c_array_of_fixed_length": 2, "type_modifier": "n"}, + } + }, + ), +} +aliases = { + "CVDIRECT3DSURFACE": "LPDIRECT3DSURFACE9", + "COREVIDEO_SUPPORTS_OPENGLES": "COREVIDEO_FALSE", + "CV_NONNULL": "__nonnull", + "COREVIDEO_SUPPORTS_PERMANENT_ALLOCATOR": "COREVIDEO_FALSE", + "CVImageBufferRef": "CVBufferRef", + "COREVIDEO_SUPPORTS_PREFETCH": "COREVIDEO_TRUE", + "CV_RETURNS_NOT_RETAINED": "CF_RETURNS_NOT_RETAINED", + "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", + "COREVIDEO_SUPPORTS_METAL": "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", + "CVMetalBufferRef": "CVBufferRef", + "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), + ( + "CVMetalBufferCacheRef", + b"^{__CVMetalBufferCache=}", + "CVMetalBufferCacheGetTypeID", + 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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/PyObjCOverrides.bridgesupport b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/PyObjCOverrides.bridgesupport new file mode 100644 index 00000000..44e6ec9e --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/PyObjCOverrides.bridgesupport @@ -0,0 +1,393 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/__init__.py new file mode 100644 index 00000000..d1783ede --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/__init__.py @@ -0,0 +1,34 @@ +""" +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. +""" + + +def _setup(): + import sys + + from Quartz import CoreGraphics + import objc + from . import _metadata + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.ImageIO", + frameworkIdentifier="com.apple.ApplicationServices", + frameworkPath=objc.pathForFramework( + "/System/Library/Frameworks/ApplicationServices.framework" + ), + globals_dict=globals(), + inline_list=None, + parents=(CoreGraphics,), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + del sys.modules["Quartz.ImageIO._metadata"] + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageIO/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1691b3805677dce436a390aa69bcd8237216ff42 GIT binary patch literal 1414 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 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$kCGComputeHDRStats$kCGImageAnimationDelayTime$kCGImageAnimationLoopCount$kCGImageAnimationStartIndex$kCGImageAuxiliaryDataInfoColorSpace$kCGImageAuxiliaryDataInfoData$kCGImageAuxiliaryDataInfoDataDescription$kCGImageAuxiliaryDataInfoMetadata$kCGImageAuxiliaryDataTypeDepth$kCGImageAuxiliaryDataTypeDisparity$kCGImageAuxiliaryDataTypeHDRGainMap$kCGImageAuxiliaryDataTypeISOGainMap$kCGImageAuxiliaryDataTypePortraitEffectsMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationGlassesMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationHairMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationSkinMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationSkyMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationTeethMatte$kCGImageDestinationBackgroundColor$kCGImageDestinationDateTime$kCGImageDestinationEmbedThumbnail$kCGImageDestinationEncodeAlternateColorSpace$kCGImageDestinationEncodeBaseColorSpace$kCGImageDestinationEncodeBaseIsSDR$kCGImageDestinationEncodeBasePixelFormatRequest$kCGImageDestinationEncodeGainMapPixelFormatRequest$kCGImageDestinationEncodeGainMapSubsampleFactor$kCGImageDestinationEncodeGenerateGainMapWithBaseImage$kCGImageDestinationEncodeIsBaseImage$kCGImageDestinationEncodeRequest$kCGImageDestinationEncodeRequestOptions$kCGImageDestinationEncodeToISOGainmap$kCGImageDestinationEncodeToISOHDR$kCGImageDestinationEncodeToSDR$kCGImageDestinationEncodeTonemapMode$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$kCGImagePropertyASTCBlockSize$kCGImagePropertyASTCBlockSize4x4$kCGImagePropertyASTCBlockSize8x8$kCGImagePropertyASTCEncoder$kCGImagePropertyAVISDictionary$kCGImagePropertyAuxiliaryData$kCGImagePropertyAuxiliaryDataType$kCGImagePropertyBCEncoder$kCGImagePropertyBCFormat$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$kCGImagePropertyEncoder$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$kCGImagePropertyGroupImageBaseline$kCGImagePropertyGroupImageDisparityAdjustment$kCGImagePropertyGroupImageIndexLeft$kCGImagePropertyGroupImageIndexMonoscopic$kCGImagePropertyGroupImageIndexRight$kCGImagePropertyGroupImageIsAlternateImage$kCGImagePropertyGroupImageIsLeftImage$kCGImagePropertyGroupImageIsMonoscopicImage$kCGImagePropertyGroupImageIsRightImage$kCGImagePropertyGroupImageStereoAggressors$kCGImagePropertyGroupImagesAlternate$kCGImagePropertyGroupIndex$kCGImagePropertyGroupMonoscopicImageLocation$kCGImagePropertyGroupType$kCGImagePropertyGroupTypeAlternate$kCGImagePropertyGroupTypeStereoPair$kCGImagePropertyGroups$kCGImagePropertyHEICSCanvasPixelHeight$kCGImagePropertyHEICSCanvasPixelWidth$kCGImagePropertyHEICSDelayTime$kCGImagePropertyHEICSDictionary$kCGImagePropertyHEICSFrameInfoArray$kCGImagePropertyHEICSLoopCount$kCGImagePropertyHEICSUnclampedDelayTime$kCGImagePropertyHEIFDictionary$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$kCGImagePropertyOpenEXRCompression$kCGImagePropertyOpenEXRDictionary$kCGImagePropertyOrientation$kCGImagePropertyPNGAuthor$kCGImagePropertyPNGChromaticities$kCGImagePropertyPNGComment$kCGImagePropertyPNGCompressionFilter$kCGImagePropertyPNGCopyright$kCGImagePropertyPNGCreationTime$kCGImagePropertyPNGDescription$kCGImagePropertyPNGDictionary$kCGImagePropertyPNGDisclaimer$kCGImagePropertyPNGGamma$kCGImagePropertyPNGInterlaceType$kCGImagePropertyPNGModificationTime$kCGImagePropertyPNGPixelsAspectRatio$kCGImagePropertyPNGSoftware$kCGImagePropertyPNGSource$kCGImagePropertyPNGTitle$kCGImagePropertyPNGTransparency$kCGImagePropertyPNGWarning$kCGImagePropertyPNGXPixelsPerMeter$kCGImagePropertyPNGYPixelsPerMeter$kCGImagePropertyPNGsRGBIntent$kCGImagePropertyPVREncoder$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$kCGImagePropertyTIFFXPosition$kCGImagePropertyTIFFXResolution$kCGImagePropertyTIFFYPosition$kCGImagePropertyTIFFYResolution$kCGImagePropertyThumbnailImages$kCGImagePropertyWebPCanvasPixelHeight$kCGImagePropertyWebPCanvasPixelWidth$kCGImagePropertyWebPDelayTime$kCGImagePropertyWebPDictionary$kCGImagePropertyWebPFrameInfoArray$kCGImagePropertyWebPLoopCount$kCGImagePropertyWebPUnclampedDelayTime$kCGImagePropertyWidth$kCGImageProviderPreferredTileHeight$kCGImageProviderPreferredTileWidth$kCGImageSourceCreateThumbnailFromImageAlways$kCGImageSourceCreateThumbnailFromImageIfAbsent$kCGImageSourceCreateThumbnailWithTransform$kCGImageSourceDecodeRequest$kCGImageSourceDecodeRequestOptions$kCGImageSourceDecodeToHDR$kCGImageSourceDecodeToSDR$kCGImageSourceGenerateImageSpecificLumaScaling$kCGImageSourceShouldAllowFloat$kCGImageSourceShouldCache$kCGImageSourceShouldCacheImmediately$kCGImageSourceSubsampleFactor$kCGImageSourceThumbnailMaxPixelSize$kCGImageSourceTypeIdentifierHint$kIIOCameraExtrinsics_CoordinateSystemID$kIIOCameraExtrinsics_Position$kIIOCameraExtrinsics_Rotation$kIIOCameraModelType_GenericPinhole$kIIOCameraModelType_SimplifiedPinhole$kIIOCameraModel_Intrinsics$kIIOCameraModel_ModelType$kIIOMetadata_CameraExtrinsicsKey$kIIOMetadata_CameraModelKey$kIIOMonoscopicImageLocation_Center$kIIOMonoscopicImageLocation_Left$kIIOMonoscopicImageLocation_Right$kIIOMonoscopicImageLocation_Unspecified$kIIOStereoAggressors_Severity$kIIOStereoAggressors_SubTypeURI$kIIOStereoAggressors_Type$""" +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({}) +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, + } + }, + }, + ), + "CGImageSourceSetAllowableTypes": (b"i^{__CFArray=}",), + "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 = {"_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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__init__.py new file mode 100644 index 00000000..7b5f5fec --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__init__.py @@ -0,0 +1,49 @@ +""" +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. +""" + + +def _setup(): + import sys + + import AppKit + import objc + from . import _metadata, _imagekit + + if objc.macos_available(14, 0): + identifier = "com.apple.quartzframework" + elif objc.macos_available(13, 0): + identifier = "com.apple.Quartz" + else: + identifier = "com.apple.quartzframework" + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.ImageKit", + frameworkIdentifier=identifier, + frameworkPath=objc.pathForFramework( + "/System/Library/Frameworks/Quartz.framework" + ), + globals_dict=globals(), + inline_list=None, + parents=( + _imagekit, + AppKit, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + del sys.modules["Quartz.ImageKit._metadata"] + + objc.addConvenienceForBasicMapping("IKImageBrowserGridGroup", False) + objc.addConvenienceForBasicMapping("IKImageCell", False) + objc.addConvenienceForBasicMapping("IKImageState", False) + objc.addConvenienceForBasicSequence("IKLinkedList", True) + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..89ec6dfd135c71ce222c75349a850e9c65de4a2a GIT binary patch literal 1946 zcma)6O>7%Q6rNpAy!JZIPn+K+4qMtLvO>KDPDpK_KWZBFhoTlCDx}qVXA)1c-rdfu z8`-jeGuCH0H2Lrbq-c30ScjSXjX|@Yub6wv+0~rfnF(7*y=MlK0KCC zuwx4i)RMcd`L0$GG`tLq%N558i9$0SuxFb>P*G5=o{I>jK}o=W@C*0~@sS9!QKLOe z4Jp#)hD>CVuoGq6NR;~;SVDDqHTzF9ZJA&qZOUz#CrDqT&l&#@X7XQ51(PU?B=I_+aPR>7p8#j^-rJg**M&>MRsVj#d z{Sksz$9gtniDb`(5t@wk-b@C_U>u<+iidHA{s(9H70y)ej94N^$kEa?1rMLz@=vR!r{Kx&^%#roA@Q!#{}d+F*Mw z#803$uivT)pO*D&tjJAX)i1|yLg*cC*Jxe|umdk9INDuWB2eaRnNc2OyNfqXzZCSZ z*ly9Zg+Z9*2N~wr%%O(OgdZrL$zhuaQjupNt{A}Mh7n{8V+GvxeNbwXuiUoK3&r@- z)yRhn++7!xFLFi}xm)or2bm6Xk=l09-%)OXNg8U`n6pO7HMqv@{6LTpRS_iN*+Mr6 zuv=WU0>q&=A)bUG7%ZEXD-81?y3Rf7FzQ$o_FXUqv#vuvq0t00hr_q%-AYK$r+8S=d^{W` z!l8F9e|@HZ2r(4;N`-rzQeR(WeyLK_-zTnn`g+t8 zh3>nqE%fDzfL3K#wri~!rp1kQN>->|05|UGHY@60)N|i1y!n#ZahM<1MP}nH^=SsZ2e&@KoAX zUT=+_d91e5*`0K*na({aK0UsjKG_gG%|~*%iKll{nJ+SrGg~A2R_e?yPVL~?CZ64zd+*0n z+xSW=UU=GgMz`_Vp8n~x$~Hb1>2pmy_szif_&Gjz0G^{L5I6ETdKa!`7|{aH0Td)W z*ZUUnxsY}$Tu7a5m(&8E2Q};(B3$23NRsrM+$Z7RhfYZg`!^*dO*~K@ra#X<$ZnK= LM&r-XWMt-Vy)z5> literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__pycache__/_metadata.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/__pycache__/_metadata.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6e1bd33804902c5637028756782b1791e9ddc5c1 GIT binary patch literal 20489 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/_imagekit.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/_imagekit.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..4949cf28edf01a7d888a4cb94a34cd99475fc696 GIT binary patch literal 86112 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/_metadata.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/_metadata.py new file mode 100644 index 00000000..c7be4641 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/ImageKit/_metadata.py @@ -0,0 +1,607 @@ +# This file is generated by objective.metadata +# +# Last update: Wed Oct 15 17:16:10 2025 +# +# 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( + { + "IKCameraDeviceViewDisplayMode": NewType("IKCameraDeviceViewDisplayMode", int), + "IKCameraDeviceViewTransferMode": NewType( + "IKCameraDeviceViewTransferMode", int + ), + "IKImageBrowserCellState": NewType("IKImageBrowserCellState", int), + "IKScannerDeviceViewDisplayMode": NewType( + "IKScannerDeviceViewDisplayMode", int + ), + "IKScannerDeviceViewTransferMode": NewType( + "IKScannerDeviceViewTransferMode", int + ), + "IKImageBrowserDropOperation": NewType("IKImageBrowserDropOperation", int), + "IKDeviceBrowserViewDisplayMode": NewType( + "IKDeviceBrowserViewDisplayMode", int + ), + } +) +misc.update({}) +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": b"v@:@q^v"}}}, + ) + r( + b"IKFilterBrowserPanel", + b"beginWithOptions:modelessDelegate:didEndSelector:contextInfo:", + {"arguments": {4: {"sel_of_type": 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": b"v@:@Q^v"}}}, + ) + r( + b"IKImagePicker", + b"beginImagePickerWithDelegate:didEndSelector:contextInfo:", + {"arguments": {3: {"sel_of_type": 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": b"v@:@q^v"}}}, + ) + r( + b"IKPictureTaker", + b"beginPictureTakerWithDelegate:didEndSelector:contextInfo:", + {"arguments": {3: {"sel_of_type": 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": 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:", {"arguments": {3: {"type": "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": "Z"}, "arguments": {4: {"type": "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:removeItemsAtIndexes:", + {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"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": "L"}}) + 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}"}}, + }, + ) +finally: + objc._updatingMetadata(False) + +objc.registerNewKeywordsFromSelector("IKFilterUIView", b"initWithFrame:filter:") +objc.registerNewKeywordsFromSelector("IKImageBrowserView", b"initWithFrame:") +objc.registerNewKeywordsFromSelector( + "IKSaveOptions", b"initWithImageProperties:imageUTType:" +) +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), + ], + ), + "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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/_PDFKit.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/_PDFKit.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..9f606bc1cc8cb3b5b69a494824319675836c9e8a GIT binary patch literal 68320 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 I=k(%#14rW-Q2+n{ literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/__init__.py new file mode 100644 index 00000000..53ff8b41 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/__init__.py @@ -0,0 +1,45 @@ +""" +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. +""" + + +def _setup(): + import sys + import os + + import AppKit + import objc + from . import _metadata, _PDFKit + + frameworkPath = "/System/Library/Frameworks/PDFKit.framework" + frameworkIdentifier = "com.apple.PDFKit" + if not os.path.exists(frameworkPath): + frameworkPath = "/System/Library/Frameworks/Quartz.framework" + if objc.macos_available(13, 0): + frameworkIdentifier = "com.apple.Quartz" + else: + frameworkIdentifier = "com.apple.quartzframework" + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.PDFKit", + frameworkIdentifier=frameworkIdentifier, + frameworkPath=objc.pathForFramework(frameworkPath), + globals_dict=globals(), + inline_list=None, + parents=( + _PDFKit, + AppKit, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + del sys.modules["Quartz.PDFKit._metadata"] + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/PDFKit/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2cb4bfb38abb2de214dc161ec6032d725b1db673 GIT binary patch literal 1720 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 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$PDFDocumentBurnInAnnotationsOption$PDFDocumentCreationDateAttribute$PDFDocumentCreatorAttribute$PDFDocumentDidBeginFindNotification$PDFDocumentDidBeginPageFindNotification$PDFDocumentDidBeginPageWriteNotification$PDFDocumentDidBeginWriteNotification$PDFDocumentDidEndFindNotification$PDFDocumentDidEndPageFindNotification$PDFDocumentDidEndPageWriteNotification$PDFDocumentDidEndWriteNotification$PDFDocumentDidFindMatchNotification$PDFDocumentDidUnlockNotification$PDFDocumentFoundSelectionKey$PDFDocumentKeywordsAttribute$PDFDocumentModificationDateAttribute$PDFDocumentOptimizeImagesForScreenOption$PDFDocumentOwnerPasswordOption$PDFDocumentPageIndexKey$PDFDocumentProducerAttribute$PDFDocumentSaveImagesAsJPEGOption$PDFDocumentSaveTextFromOCROption$PDFDocumentSubjectAttribute$PDFDocumentTitleAttribute$PDFDocumentUserPasswordOption$PDFPageImageInitializationOptionCompressionQuality$PDFPageImageInitializationOptionMediaBox$PDFPageImageInitializationOptionRotation$PDFPageImageInitializationOptionUpscaleIfSmaller$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$PDFSelectionGranularityCharacter@0$PDFSelectionGranularityLine@2$PDFSelectionGranularityWord@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), + "PDFSelectionGranularity": NewType("PDFSelectionGranularity", 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), + "PDFPageImageInitializationOption": NewType( + "PDFPageImageInitializationOption", 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", + "PDFKitPlatformTextContentType": "NSTextContentType", + "PDFPointZero": "NSZeroPoint", + "PDFKitPlatformTextViewDelegate": "NSTextViewDelegate", + "PDFRectZero": "NSZeroRect", + "PDFKitPlatformButtonCell": "NSButtonCell", + "PDFEdgeInsets": "NSEdgeInsets", + "PDFKitPlatformButton": "NSButton", + "PDFKitTextContentType": "NSTextContentType", + "PDFSize": "NSSize", + "PDFRect": "NSRect", + "kPDFImageArea": "FLT_MX", + "PDFKitPlatformAccessibilityElement": "NSAccessibilityElement", + "PDFKitPlatformTextView": "NSTextView", + "PDFKitPlatformChoiceWidgetListView": "NSTableView", + "PDFKitPlatformView": "NSView", + "PDFSizeZero": "NSZeroSize", + "kPDFDestinationUnspecifiedValue": "FLT_MX", + "PDFKitPlatformBezierPathElement": "NSBezierPathElement", + "PDFKitPlatformColor": "NSColor", + "PDFKitPlatformScrollView": "NSScrollView", + "PDFKitPlatformImageView": "NSImageView", + "PDFPoint": "NSPoint", + "PDFKitPlatformImage": "NSImage", + "PDFKitPlatformChoiceWidgetComboBoxView": "NSPopUpButton", + "PDFKitPlatformBezierPath": "NSBezierPath", + "PDFTrackingRunLoopMode": "NSEventTrackingRunLoopMode", + "PDFEdgeInsetsZero": "NSEdgeInsetsZero", + "PDFKitPlatformFontWeightRegular": "NSFontWeightRegular", + "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"NSObject", + b"pdfView:overlayViewForPage:", + { + "required": True, + "retval": {"type": b"@"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, + }, + ) + r( + b"NSObject", + b"pdfView:willDisplayOverlayView:forPage:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, + }, + ) + r( + b"NSObject", + b"pdfView:willEndDisplayingOverlayView:forPage:", + { + "required": False, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"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"isActivatableTextField", {"retval": {"type": b"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": "Z"}}) + r( + b"PDFAnnotationButtonWidget", + b"setAllowsToggleToOff:", + {"arguments": {2: {"type": b"Z"}}}, + ) + r( + b"PDFAnnotationButtonWidget", + b"setHighlighted:", + {"arguments": {2: {"type": "Z"}}}, + ) + r(b"PDFAnnotationChoiceWidget", b"isListChoice", {"retval": {"type": b"Z"}}) + r( + b"PDFAnnotationChoiceWidget", + b"setIsListChoice:", + {"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"isInMarkupMode", {"retval": {"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"setInMarkupMode:", {"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) + +objc.registerNewKeywordsFromSelector("PDFActionGoTo", b"initWithDestination:") +objc.registerNewKeywordsFromSelector("PDFActionNamed", b"initWithName:") +objc.registerNewKeywordsFromSelector( + "PDFActionRemoteGoTo", b"initWithPageIndex:atPoint:fileURL:" +) +objc.registerNewKeywordsFromSelector("PDFActionURL", b"initWithURL:") +objc.registerNewKeywordsFromSelector("PDFAnnotation", b"initWithBounds:") +objc.registerNewKeywordsFromSelector( + "PDFAnnotation", b"initWithBounds:forType:withProperties:" +) +objc.registerNewKeywordsFromSelector("PDFAnnotation", b"initWithDictionary:forPage:") +objc.registerNewKeywordsFromSelector("PDFDestination", b"initWithPage:atPoint:") +objc.registerNewKeywordsFromSelector("PDFDocument", b"initWithData:") +objc.registerNewKeywordsFromSelector("PDFDocument", b"initWithURL:") +objc.registerNewKeywordsFromSelector("PDFPage", b"initWithImage:") +objc.registerNewKeywordsFromSelector("PDFPage", b"initWithImage:options:") +objc.registerNewKeywordsFromSelector("PDFSelection", b"initWithDocument:") +expressions = {} + +# END OF FILE diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/__init__.py new file mode 100644 index 00000000..bb9c89c5 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/__init__.py @@ -0,0 +1,45 @@ +""" +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. +""" + + +def _setup(): + import sys + + import Foundation + from Quartz import CoreGraphics + import objc + from . import _metadata + + if objc.macos_available(14, 0): + identifier = "com.apple.quartzframework" + elif objc.macos_available(13, 0): + identifier = "com.apple.Quartz" + else: + identifier = "com.apple.quartzframework" + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.QuartzComposer", + frameworkIdentifier=identifier, + frameworkPath=objc.pathForFramework( + "/System/Library/Frameworks/Quartz.framework" + ), + globals_dict=globals(), + inline_list=None, + parents=( + CoreGraphics, + Foundation, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + del sys.modules["Quartz.QuartzComposer._metadata"] + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0aa7e4674971f753e3ca0521493c1b022d1e462c GIT binary patch literal 1658 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 RqF28Na{nG|`Qotu{{Uo#JdFSV literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/_metadata.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/_metadata.py new file mode 100644 index 00000000..5795341a --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzComposer/_metadata.py @@ -0,0 +1,440 @@ +# This file is generated by objective.metadata +# +# Last update: Wed Oct 15 17:16:10 2025 +# +# 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( + { + "QCPlugInExecutionMode": NewType("QCPlugInExecutionMode", int), + "QCPlugInTimeMode": NewType("QCPlugInTimeMode", int), + } +) +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"}}) +finally: + objc._updatingMetadata(False) + +objc.registerNewKeywordsFromSelector("QCCompositionLayer", b"initWithComposition:") +objc.registerNewKeywordsFromSelector("QCCompositionLayer", b"initWithFile:") +objc.registerNewKeywordsFromSelector( + "QCPlugInViewController", b"initWithPlugIn:viewNibName:" +) +objc.registerNewKeywordsFromSelector( + "QCRenderer", b"initOffScreenWithSize:colorSpace:composition:" +) +objc.registerNewKeywordsFromSelector( + "QCRenderer", b"initWithCGLContext:pixelFormat:colorSpace:composition:" +) +objc.registerNewKeywordsFromSelector("QCRenderer", b"initWithComposition:colorSpace:") +objc.registerNewKeywordsFromSelector( + "QCRenderer", b"initWithOpenGLContext:pixelFormat:file:" +) +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__init__.py new file mode 100644 index 00000000..82e05a5d --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__init__.py @@ -0,0 +1,81 @@ +""" +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. +""" + + +def _setup(): + import sys + + import Foundation + import objc + from . import _metadata, _quartzcore + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.QuartzCore", + frameworkIdentifier="com.apple.QuartzCore", + frameworkPath=objc.pathForFramework( + "/System/Library/Frameworks/QuartzCore.framework" + ), + globals_dict=globals(), + inline_list=None, + parents=( + _quartzcore, + Foundation, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + for cls, sel in (("CAEDRMetadata", b"init"),): + objc.registerUnavailableMethod(cls, sel) + + del sys.modules["Quartz.QuartzCore._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) + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3a61a3c2dc9cbeb0bc813b9ad93de8d1b7381c45 GIT binary patch literal 3520 zcmb_eOKcn06@ByLpVo&G^|54+s$VJFWUVGGis}cijyM+Ymc3Pyt?L$6DUBtKK&xMKzI|2FL^E zeeb>R-uuqIcm5WQh7hzrJn%37E`ZQ8wx~6+Iyszz$$g}wcaYBAMelGt;t}Tes>jRz z8bf{5`8}?(s!?%hO-P9A4@1}1oF&_m(`qJTSc~$4O=M>Y%h$6ian>hog5?FGrtzvx zR+6F6jU|K1XYiW#-%BltOOqEhhlOe5cBtk)0 z2=E;~2W!DYoQ_PCuZ&!t^VWQx*Lhtqg|wI#(o$aJP>x@Y9v4%Y>!L2fNy7;zzM40k zrrK%EuR6+!Ic|Z^3Cqp3v-OL<>TIzdKY1Xyyu6HbEcL=R1&_u3Hh zWcc#|(6Y6DM{Sn#=K_0h3u_$uxI;uav>dOjkN0|b6zP$>C?5nl9mh{9b3Lk`(i`rg z1zvB=1sC`QzAp7898G$o-t2M2^cFV$A3UwV6R+~LoxpSY1kKv@j=C;uDA9T4D@OGd z!+L^ugGw3zrK^tWhL!g{Kx+W#^`;8AlXZ-*w`g`c2~aih@!eEvZjCxPoqE%lCn{M> z&D27Hrs~YeqX0?xUD1MIabrhYvpOK$STHbgqeq+9RA2Fw> zJo1ND#Rc;glHiNMci87ejZ@7OfI!YUqO19tOysy_#__cV*g7Ha)S{vmFYiKh=J~vk z7abO>UdutObt$=2v|9{__ zc2buNXDK_Mx~kjug}1x}O;e6- zn>4kMrI0rj&9t=@Mb(J1iuFaDO5VcOt(0lZr!rm%_;K>$aEclZzK~J16?GBUFn$c` zDMew}Qj}z7&5cdYzKu1<1|R|=fibNp>%9uaPBxPqf!hGwW62YU2Eh*cTj(~>({SsS z_WM^KhkHtL?-$|E!#h)deq;BIy*D4pKPyJMH>bB=`K;w>|Ip5>5BmNhKJFiV6dNn{ zk8X2YQ=c{6yHw~OEyl(Qk+FmDsja4uep+gd-yiyP=-&D5Sh2ZpbF$RXymkGf)u(ZJ zJ9f`5H1?O8TQ?^U8e;nmJ;jEe?cPTX1BJlAzn(XtmT~F>mHsM3UXO}ypr$qpJQG`r zq8)_=P_eM^LgoiBxz7^o@l)7itp@%%w98#daD?S(7#Nx$)MtTH#j*v36&V%cK$288B#0Z4U?DYdK~Da z9|(6jH)_u>!~4$I8S6IPol-Vy=^d|!_f4S}`aH;68RWktWBgC?pr!?g*HiSdWhL;5&zxne~0$nUf1jQKtIo}7cr z$OY)WgQI5{Pl|QSv)_v|$uJZ53UuGaU9*gdA-4L&*C*#3lGU6n!8a18T!F4pH#7sO z5ehTpC07KPX)YqHs1O!{ZkI-|>fobdJ7tgwOTSd9dTwI|swaT*=-BmFE2$e`MN)(G zY4{wjb?wUP~EFV+FJ>lNx^b#k{)32Lb;O1S?^)c^;LqO zTm}MG8|et-hz<0mcVQdBN=4VU7b`|)$d__Sx5Jk`Uiel%+FE-8c8PwHx z_tFQmn?_M=FP%N-&C^A(>siai4+ERR=3FTd*$)g90|VQ1XYxtlM`Z!E4wro>82Kdp zVYtw8u@D%3E{3JSawn34`{LQ6c(xR1E`?&n)?^`=dT^mIaiehYW+CwQ3rUcC<?j*fm{<%p5d!|Gn`tC>%XimVCj`3n>V+EyrlvzJ)gK(GC{H!JX&>=ZQGt!OwH& zm4xX1KiQh1cpGE_9PA1iJF{CsY2^t5BNb?jk*jddQZ!}hrz~(B_fKBp#OICE95-6N a#v`u%j{k$;Z=!din@f*S+Y{8`UH2cQXI*3f literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__pycache__/_metadata.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/__pycache__/_metadata.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d296d780b73c42c3607d4c2dd5ab8b1ffaafb358 GIT binary patch literal 56547 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 TbEKhbedxsL2)9W464 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 = """$CADynamicRangeAutomatic$CADynamicRangeConstrainedHigh$CADynamicRangeHigh$CADynamicRangeStandard$CAFrameRateRangeDefault@{CAFrameRateRange=fff}$CAToneMapModeAutomatic$CAToneMapModeIfSupported$CAToneMapModeNever$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$kCAContentsFormatAutomatic$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$kCIContextCVMetalTextureCache$kCIContextCacheIntermediates$kCIContextHighQualityDownsample$kCIContextMemoryLimit$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$kCIFormatRGB10@i$kCIFormatRGBA16@i$kCIFormatRGBA8@i$kCIFormatRGBAf@i$kCIFormatRGBAh@i$kCIFormatRGBX16@i$kCIFormatRGBX8@i$kCIFormatRGBXf@i$kCIFormatRGBXh@i$kCIFormatRGf@i$kCIFormatRGh@i$kCIFormatRf@i$kCIFormatRh@i$kCIImageApplyOrientationProperty$kCIImageAutoAdjustCrop$kCIImageAutoAdjustEnhance$kCIImageAutoAdjustFeatures$kCIImageAutoAdjustLevel$kCIImageAutoAdjustRedEye$kCIImageAuxiliaryDepth$kCIImageAuxiliaryDisparity$kCIImageAuxiliaryHDRGainMap$kCIImageAuxiliaryPortraitEffectsMatte$kCIImageAuxiliarySemanticSegmentationHairMatte$kCIImageAuxiliarySemanticSegmentationSkinMatte$kCIImageAuxiliarySemanticSegmentationTeethMatte$kCIImageCacheImmediately$kCIImageColorSpace$kCIImageContentHeadroom$kCIImageExpandToHDR$kCIImageNearestSampling$kCIImageProperties$kCIImageProviderTileSize$kCIImageProviderUserInfo$kCIImageRepresentationAVDepthData$kCIImageRepresentationAVPortraitEffectsMatte$kCIImageRepresentationAVSemanticSegmentationMattes$kCIImageRepresentationDepthImage$kCIImageRepresentationDisparityImage$kCIImageRepresentationHDRGainMapImage$kCIImageRepresentationHDRImage$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_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), + "CAMediaTimingFillMode": NewType("CAMediaTimingFillMode", str), + "CAShapeLayerFillRule": NewType("CAShapeLayerFillRule", str), + "CALayerContentsGravity": NewType("CALayerContentsGravity", str), + "CATextLayerAlignmentMode": NewType("CATextLayerAlignmentMode", str), + "CAMediaTimingFunctionName": NewType("CAMediaTimingFunctionName", str), + "CALayerCornerCurve": NewType("CALayerCornerCurve", str), + "CAAnimationCalculationMode": NewType("CAAnimationCalculationMode", str), + "CAToneMapMode": NewType("CAToneMapMode", str), + "CAScrollLayerScrollMode": NewType("CAScrollLayerScrollMode", str), + "CAEmitterLayerEmitterShape": NewType("CAEmitterLayerEmitterShape", str), + "CAGradientLayerType": NewType("CAGradientLayerType", str), + "CADynamicRange": NewType("CADynamicRange", str), + "CATransitionSubtype": NewType("CATransitionSubtype", str), + "CATransitionType": NewType("CATransitionType", str), + "CALayerContentsFilter": NewType("CALayerContentsFilter", str), + "CAEmitterLayerEmitterMode": NewType("CAEmitterLayerEmitterMode", str), + "CAValueFunctionName": NewType("CAValueFunctionName", str), + "CAShapeLayerLineCap": NewType("CAShapeLayerLineCap", str), + "CATextLayerTruncationMode": NewType("CATextLayerTruncationMode", str), + "CAAnimationRotationMode": NewType("CAAnimationRotationMode", str), + "CALayerContentsFormat": NewType("CALayerContentsFormat", str), + "CAShapeLayerLineJoin": NewType("CAShapeLayerLineJoin", 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}", + ), +} +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"CAEDRMetadata", b"isAvailable", {"retval": {"type": b"Z"}}) + r(b"CAEmitterBehavior", b"isEnabled", {"retval": {"type": "Z"}}) + r(b"CAEmitterBehavior", b"setEnabled:", {"arguments": {2: {"type": "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"setWantsDynamicContentScaling:", {"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"wantsDynamicContentScaling", {"retval": {"type": b"Z"}}) + r(b"CALayer", b"wantsExtendedDynamicRangeContent", {"retval": {"type": "Z"}}) + r(b"CAMetalDisplayLink", b"isPaused", {"retval": {"type": b"Z"}}) + r(b"CAMetalDisplayLink", b"setPaused:", {"arguments": {2: {"type": b"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": "^{CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", + "type_modifier": b"n", + } + }, + }, + ) + r( + b"CAOpenGLLayer", + b"drawInCGLContext:pixelFormat:forLayerTime:displayTime:", + { + "arguments": { + 5: { + "type": "^{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": "^{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"CASpringAnimation", b"allowsOverdamping", {"retval": {"type": b"Z"}}) + r( + b"CASpringAnimation", + b"setAllowsOverdamping:", + {"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"OpenEXRRepresentationOfImage:options:error:", + {"arguments": {4: {"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"createCGImage:fromRect:format:colorSpace:deferred:calculateHDRStats:", + {"arguments": {6: {"type": "Z"}, 7: {"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"writeOpenEXRRepresentationOfImage:toURL:options:error:", + {"retval": {"type": "Z"}, "arguments": {5: {"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": "Z"}}) + r(b"CIFaceFeature", b"hasLeftEyePosition", {"retval": {"type": "Z"}}) + r(b"CIFaceFeature", b"hasMouthPosition", {"retval": {"type": "Z"}}) + r(b"CIFaceFeature", b"hasRightEyePosition", {"retval": {"type": "Z"}}) + r(b"CIFaceFeature", b"hasSmile", {"retval": {"type": "Z"}}) + r(b"CIFaceFeature", b"hasTrackingFrameCount", {"retval": {"type": "Z"}}) + r(b"CIFaceFeature", b"hasTrackingID", {"retval": {"type": "Z"}}) + r(b"CIFaceFeature", b"leftEyeClosed", {"retval": {"type": "Z"}}) + r(b"CIFaceFeature", b"rightEyeClosed", {"retval": {"type": "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": "Z"}}) + r(b"CIFilter", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) + r( + b"CIFilterGenerator", + b"writeToURL:atomically:", + {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, + ) + r(b"CIFilterShape", b"transformBy:interior:", {"arguments": {3: {"type": "Z"}}}) + r( + b"CIImage", + b"imageByApplyingTransform:highQualityDownsample:", + {"arguments": {3: {"type": "Z"}}}, + ) + r( + b"CIImage", + b"imageWithTexture:size:flipped:colorSpace:", + {"arguments": {4: {"type": "Z"}}}, + ) + r( + b"CIImage", + b"imageWithTexture:size:flipped:options:", + {"arguments": {4: {"type": "Z"}}}, + ) + r( + b"CIImage", + b"initWithTexture:size:flipped:colorSpace:", + {"arguments": {4: {"type": "Z"}}}, + ) + r( + b"CIImage", + b"initWithTexture:size:flipped:options:", + {"arguments": {4: {"type": "Z"}}}, + ) + r(b"CIImage", b"isOpaque", {"retval": {"type": "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": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"i"}, + 2: {"type": 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": 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": "Z"}}}, + ) + r(b"CIPlugIn", b"loadPlugIn:allowNonExecutable:", {"arguments": {3: {"type": "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": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, + "arguments": { + 0: {"type": b"^v"}, + 1: {"type": b"i"}, + 2: {"type": 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": "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"centerSpaceSize", {"retval": {"type": "f"}}) + 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"displayHeadroom", {"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"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": "q"}}) + r(b"NSObject", b"gaussianSigma", {"retval": {"type": "f"}}) + 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"hysteresisPasses", {"retval": {"type": "q"}}) + 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"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"metalDisplayLink:needsUpdate:", + { + "required": True, + "retval": {"type": b"v"}, + "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, + }, + ) + 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:", + { + "arguments": { + 2: { + "type": "^v", + "type_modifier": b"o", + "c_array_of_variable_length": True, + }, + 3: {"type": "Q"}, + 4: {"type": "Q"}, + 5: {"type": "Q"}, + 6: {"type": "Q"}, + 7: {"type": "Q"}, + 8: {"type": "@"}, + } + }, + ) + 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": "{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"roundedData", {"retval": {"type": "Z"}}) + r(b"NSObject", b"roundedMarkers", {"retval": {"type": "q"}}) + 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": "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"setCenterSpaceSize:", {"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"setDisplayHeadroom:", {"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"setGaussianSigma:", {"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"setHysteresisPasses:", {"arguments": {2: {"type": "q"}}}) + 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"setRoundedData:", {"arguments": {2: {"type": "Z"}}}) + r(b"NSObject", b"setRoundedMarkers:", {"arguments": {2: {"type": "q"}}}) + 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"setSigma:", {"arguments": {2: {"type": "f"}}}) + r(b"NSObject", b"setSmoothness:", {"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"setSourceHeadroom:", {"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"setTargetHeadroom:", {"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"setThresholdHigh:", {"arguments": {2: {"type": "f"}}}) + r(b"NSObject", b"setThresholdLow:", {"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"sigma", {"retval": {"type": "f"}}) + r(b"NSObject", b"smoothness", {"retval": {"type": "f"}}) + r(b"NSObject", b"softmaxNormalization", {"retval": {"type": "B"}}) + r(b"NSObject", b"softness", {"retval": {"type": "f"}}) + r(b"NSObject", b"sourceHeadroom", {"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"targetHeadroom", {"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"thresholdHigh", {"retval": {"type": "f"}}) + r(b"NSObject", b"thresholdLow", {"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) + +objc.registerNewKeywordsFromSelector( + "CAConstraint", b"initWithAttribute:relativeTo:attribute:scale:offset:" +) +objc.registerNewKeywordsFromSelector("CALayer", b"initWithLayer:") +objc.registerNewKeywordsFromSelector( + "CAMediaTimingFunction", b"initWithControlPoints::::" +) +objc.registerNewKeywordsFromSelector("CAMetalDisplayLink", b"initWithMetalLayer:") +objc.registerNewKeywordsFromSelector("CARemoteLayerClient", b"initWithServerPort:") +objc.registerNewKeywordsFromSelector( + "CASpringAnimation", b"initWithPerceptualDuration:bounce:" +) +expressions = {} + +# END OF FILE diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/_quartzcore.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzCore/_quartzcore.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..58a65d60e4e6b3b2a84f2e69965120d0cf16a548 GIT binary patch literal 455872 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__init__.py new file mode 100644 index 00000000..7591f67e --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__init__.py @@ -0,0 +1,41 @@ +""" +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. +""" + + +def _setup(): + import sys + + import Foundation + import objc + from . import _metadata + + if objc.macos_available(14, 0): + identifier = "com.apple.quartzframework" + elif objc.macos_available(13, 0): + identifier = "com.apple.Quartz" + else: + identifier = "com.apple.quartzframework" + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.QuartzFilters", + frameworkIdentifier=identifier, + frameworkPath=objc.pathForFramework( + "/System/Library/Frameworks/Quartz.framework" + ), + globals_dict=globals(), + inline_list=None, + parents=(Foundation,), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + del sys.modules["Quartz.QuartzFilters._metadata"] + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..06c3ccd376f32655a309e6f4d9f26dadcfb6be07 GIT binary patch literal 1591 zcmZ`(&2Jk;6rcTw*Ivi@AfHX*bV~x273vM25>g2is-%^m6afb+q}6(NY_GH4S!TwG zY}rz)Mj|8a zsR-70KPk0!8KGy9GFYI;t9KK`x5!5KkS*+?dxD5WgvG-?TvPgobHWx6g+v{A38*O* z!xP^^`yS;xDCZWmScld8kCI`; zHJ!*}A~qeDW6D}<`o~Siab17kDN&O)_00kAnBKoIj9gGc*#lOFQ$y2j8>r-z9ZbXA z(0JG6)o`@pl9K5%!*(nlW*yIUJZ!iQ}gvB~kU#+wek z;n`cs2g3;;65k|r2!~3)h%g=HXK_eSN!}qVC^VuBjo3k_qAmWU>YQ~X9hDTlAZSLv zrbuHEb+lytv!{Q`U=DhvL4Arb*S8#AZItv6Z9=Yn5I=dQb3$CEmm3T!G%S}`+lFaT zV;9>MtQU8%x1+mGN%!MFl~;=|zoIjT<7>WYZJQN57-WB*{mJWw;dl;IRP>u+%3zo` ze0mu&i=H$45w`p2sXX>fo_Q*d{~<3PE7>Duv8yaTdiSyLM0q}#SwB#NOztR??`HCk zN{_ER$*cx5R}a+Vne~13IDh3RztPQa1i6)9>BV4n;b?ZPJG&N)zS)z+IrZ-pn$3Un zSui~xOfG(%3nmwiCRe(XE2mRv`RyK3ms4GN;r^|C_jDdDt?q3-yuI&q<@w<9T70f| z<)!0v_N(kc_Sfmxy6M+@kT8n#zf+K7IuXk-VgsEAD3pBSe~+jZxh+SA^z~$t8*~-a v=$Ww>U^|rrLHJV~5#+xn^1>UZ?+8ekf1o_fe3^TY+pqqH=6*+);xPXLlykNI literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__pycache__/_metadata.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuartzFilters/__pycache__/_metadata.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..75db1b7e74cc1e63cfd652c5bd531b9659ecf7b6 GIT binary patch literal 2843 zcmc&#O>7fK6rSCkwbxEeViKIhNg-)msa8u&A*IArC}~}n7A5>7fa*)M@l4D*>s>Rm zc4CAoN1}qBnj0KY)nie5$T3IMLsh942c?R;Ql&^eadT^=R-8Jswy{CP1gTQ@@aE@z z@6DTU-h2Ct&*uf~`*y>f_ORI>e9`!P^-1-V1i)Q@01|YNsEtBGU~5qqGg3kl02b0p z!>lK-Pb@j zM-8kCwH1rvzd(R=f75$omhg#y#XZzmH%HXbJl_Kt%7;3U4;?^Vn!sfDGwHuCqJ#Iv zb;c$Cga)?fHL$&}fjzWuYykD4euf^<1WkA$z91UhL-%qvhMH`kHyq9m*Y4XY>zd)# zz1kcJ=ny)LhJHA*4r@D(kC!8T`$qQc8`=9jG6mPgS{#~?@Uv_@SP(|}%f0gU%V0(N z0xS#R;m6#;OjxkpGkAHfki~jE1poxex_9Rcp2u8Obun=l+!SWP17YR?cp%z>Y6}aL zgNKKoeigY)F`G^GV%IF3qb+ zGQW&b3P;BB*vLn8Z6T5^Sl3MB#MpbsBUH2S(X5(WQd7+SVooL2jrtJRbc>%jpTU-j zR7)Mp7Hkj2`ibKvIXO-`SYW)St8ONWpxo7cN2#)D`}=`eKx76Y{Jw;n)^A97PjZ|( z!p~RSJ>eb6mQ|8DIo_7J_MUAwi+su?pAqhv_mrmhwr<&jva+a}&&!3x2gqCUy*QlM!W_2y8TI{i6W=7SF=hf4y!5)RgG&F@!&0@y1w8gr~ zUSO6B+G1h<_)9or=JEdVvslMT>s9y*vG`S!EG_Eh^2_dafoO)M8L7JNh8POXQT{WT znLWRdX8!32TU>Y2v369QjVNlNBWgp7l~$G4P~MS~Vev69n8&=N!lLaW*vhNA?NLc8 zm%)ZbX=rc9t<*)^0b4n13v4ATN_jfBCIIbX8!F3!!kqcBX;^s0iW2@Ka_*9#Jul$v z98g{nESsM_Lo{v=w)$;k4uhmv=22d6`N`NsR=P*aETr^A3<5!~wjk*nZ7eG)YF)=d;AL%%rK?O6_*c#M9WLb_ZTz zosaU~Mr+-J^Wd}%Tlp~Kw7@guDBI)tK##CIs7Qh!{Cxlj{@+1xS90Axy?T1>&?6~O zg@Ww=%gaPX0Z_R;u{yElekAohx374Mup$EAO<44lmF}Wk2Jm*rYR8?AZguT3g~|>L zZNX4cD1$%|?ts7+2&`G#V5lPY3vd1g<+9RKR^Bc52Jgkz&TL%SoZFcB*;TqQ_wdWD zV^_A6t54iecKzuEvdck6{x4+FEcJ!IKf96Nv^I>=JD+UBIE%jI8Y&$g+vwknKa6dj zDINQK8=l*R!D4I&2Df1F-uv5dWEYN 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({}) +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/_QuickLookUI.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/_QuickLookUI.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..2319843e0ed5ecd5a2373a1ee64a50ee805c7b24 GIT binary patch literal 67936 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 L-+%t@z3P7eyHW%O literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/__init__.py new file mode 100644 index 00000000..035cdd47 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/__init__.py @@ -0,0 +1,46 @@ +""" +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. +""" + + +def _setup(): + import sys + import os + + import AppKit + import objc + from . import _metadata, _QuickLookUI + + frameworkPath = "/System/Library/Frameworks/QuickLookUI.framework" + frameworkIdentifier = "com.apple.QuickLookUIFramework" + if not os.path.exists(frameworkPath): + frameworkPath = "/System/Library/Frameworks/Quartz.framework" + if objc.macos_available(13, 0): + frameworkIdentifier = "com.apple.Quartz" + else: + frameworkIdentifier = "com.apple.quartzframework" + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz.QuickLookUI", + frameworkIdentifier=frameworkIdentifier, + frameworkPath=objc.pathForFramework(frameworkPath), + globals_dict=globals(), + inline_list=None, + parents=( + _QuickLookUI, + AppKit, + ), + metadict=_metadata.__dict__, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + # XXX: + del sys.modules["Quartz.QuickLookUI._metadata"] + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77dfc7c002b7f93c7c2db3daec95c3e8d3057993 GIT binary patch literal 1766 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 NRKxwbrflez@E_9>5KjOA literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/_metadata.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/_metadata.py new file mode 100644 index 00000000..3c1d653f --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/QuickLookUI/_metadata.py @@ -0,0 +1,275 @@ +# This file is generated by objective.metadata +# +# Last update: Wed Oct 15 17:16:10 2025 +# +# 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({}) +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"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) + +objc.registerNewKeywordsFromSelector( + "QLPreviewReply", b"initForPDFWithPageSize:documentCreationBlock:" +) +objc.registerNewKeywordsFromSelector( + "QLPreviewReply", b"initWithContextSize:isBitmap:drawingBlock:" +) +objc.registerNewKeywordsFromSelector( + "QLPreviewReply", b"initWithDataOfContentType:contentSize:dataCreationBlock:" +) +objc.registerNewKeywordsFromSelector("QLPreviewReply", b"initWithFileURL:") +objc.registerNewKeywordsFromSelector( + "QLPreviewReplyAttachment", b"initWithData:contentType:" +) +objc.registerNewKeywordsFromSelector("QLPreviewView", b"initWithFrame:") +objc.registerNewKeywordsFromSelector("QLPreviewView", b"initWithFrame:style:") +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/__init__.py new file mode 100644 index 00000000..fa576e96 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/__init__.py @@ -0,0 +1,47 @@ +""" +Helper module that makes it easier to import all of Quartz +""" + + +def _setup(): + import AppKit + import objc + + from . import ( + CoreGraphics, + ImageIO, + ImageKit, + CoreVideo, + QuartzCore, + PDFKit, + QuartzFilters, + QuickLookUI, + QuartzComposer, + ) + + dir_func, getattr_func = objc.createFrameworkDirAndGetattr( + name="Quartz", + frameworkIdentifier=None, + frameworkPath=None, + globals_dict=globals(), + inline_list=None, + parents=( + CoreGraphics, + ImageIO, + ImageKit, + CoreVideo, + QuartzCore, + PDFKit, + QuartzFilters, + QuickLookUI, + QuartzComposer, + AppKit, + ), + metadict={}, + ) + + globals()["__dir__"] = dir_func + globals()["__getattr__"] = getattr_func + + +globals().pop("_setup")() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/Quartz/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3da957373c70899b3c7f3ccd7cb8f2dbbb349a2 GIT binary patch literal 1241 zcmb7EO>5jn7#?Z0l2$7vIJT3uyK&T#6t-F<8Zk5L z;2=RlLgIT4x#gBaaS#0;fq+{|#iWNqPq}StN}#9Atah6ma>*Q?dB5kG_Z{h(<5)nf zCqElIPip}DC6(FIroz#N5FUdF+ys$wAKX+_paQ5KOx-)iEaA-_sRv4>&7u^rSLKBId$?BH?4$MM;JUbAvc`anHRr3JAMxg>Mc3U`{B4 zF*tfIK(JFH5QC!Hl|qTss1~b9txyxKs3rA6OZ1|i7=@mgg^@H0GqH+B(kv_met(nD*ia6@a2y*m?6E`TCkD zncMI17}B!`I_Bk<^3<2Ihn)tuFJc0>NRSOsNV(BXfP3JKRMy<>1K4HC%bdqixvFd23u zm@?E81LDsA#;XAvaJwJl?I5OpghIxfD2-7H{TNZkjVvG{jdC-AESUHWU&ImL=S|=5 z3nODf=^W$wg)Eb7HN3qOazN_h@> zTUB{(ObK=z(vm51+V5B2l$3j;G!&Pea+VsEhr4gD|8~9WqL0+;k4Q!!WZo8HgVDBk zCBpdpx06>-J%({iz21l-ocdvm!=WF9#J>fjKJ-?1VY=(ZXxq#7*Z`+ru73W7M-hYP zvmhLb*;B6?lIQy-K0$71`@jdG#&r`;;;`O;n}?ZwhQS=uK`d#SWfmG-ib$BWH5 zOQfGz7@q?xUmbz@75z|KzH@0m9)AMbXYX&_>+YjNtyP}+bRs9eXze4x1Wbrs?r2=j zABVm_F_5-!@mhwn9|8GLhMkcHbFKP6tdny>m7f8X!nmd=%HOK0X#ZFrE1!+OQ-IRC VYusx*bnZI)gI~d^-@wwO%xfupM#BIA literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/INSTALLER b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/METADATA b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/METADATA new file mode 100644 index 00000000..a51584c3 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/METADATA @@ -0,0 +1,84 @@ +Metadata-Version: 2.4 +Name: MouseInfo +Version: 0.1.3 +Summary: An application to display XY position and RGB color information for the pixel currently under the mouse. Works on Python 2 and 3. +Home-page: https://github.com/asweigart/mouseinfo +Author: Al Sweigart +Author-email: al@inventwithpython.com +License: GPLv3+ +Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+) +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.2 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Description-Content-Type: text/markdown +Requires-Dist: rubicon-objc; platform_system == "Darwin" +Requires-Dist: python3-Xlib; platform_system == "Linux" and python_version >= "3.0" +Requires-Dist: Xlib; platform_system == "Linux" and python_version < "3.0" +Requires-Dist: pyperclip +Requires-Dist: Pillow>=5.2.0; python_version == "3.7" +Requires-Dist: Pillow>=4.0.0; python_version == "3.6" +Requires-Dist: Pillow>=3.2.0; python_version == "3.5" +Requires-Dist: Pillow<=5.4.1,>=2.5.0; python_version == "3.4" +Requires-Dist: Pillow<=4.3.0,>=2.0.0; python_version == "3.3" +Requires-Dist: Pillow<=3.4.2,>=2.0.0; python_version == "3.2" +Requires-Dist: Pillow>=2.0.0; python_version == "2.7" +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: description-content-type +Dynamic: home-page +Dynamic: keywords +Dynamic: license +Dynamic: requires-dist +Dynamic: summary + +MouseInfo +====== + +An application to display XY position and RGB color information for the pixel currently under the mouse. Works on Python 2 and 3. This is useful for GUI automation planning. + +The full documentation is at https://mouseinfo.readthedocs.io/en/latest/ + +Installation +------------ + +To install with pip, run: + + pip install mouseinfo + +Quickstart Guide +---------------- + +To run this application, enter the following into the terminal: + + python3 -m mouseinfo + +Or for Python 2, run: + + python -m mouseinfo + +Alternatively, to run it from the interactive shell or a Python program: + + >>> import mouseinfo + >>> mouseinfo.mouseInfo() + +The Mouse Info application displays the current XY coordinates of the mouse cursor, as well as the RGB color information of the pixel directly under the cursor. This can be useful for planning out GUI automation tests where the mouse is controlled by a script (such as a Python script with PyAutoGUI) to click on the screen at specific coordinates. + +The "Copy" buttons will copy this mouse information to the clipboard, while the "Log" buttons will add this mouse information to the text field in the application. The RGB color information is given as a comman-delimited, three-integer red, green, and blue values as decimals from 0 to 255. The hex values of the RGB value is also given. + +For practical use, you should set the keyboard focus on these buttons by tabbing over them. This leaves you free to move the mouse into position and then press space or Enter to log the current mouse coordinates/RGB value. + +The contents of the log text field can be saved by clicking "Save Log". This will automatically overwrite any file with the provided name. A screenshot can also be saved by clicking "Save Screenshot" + +Contribute +---------- + +If you'd like to contribute to MouseInfo, check out https://github.com/asweigart/mouseinfo diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/RECORD b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/RECORD new file mode 100644 index 00000000..a6758b5d --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/RECORD @@ -0,0 +1,9 @@ +mouseinfo-0.1.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +mouseinfo-0.1.3.dist-info/METADATA,sha256=5vh511JJ4K9dBothZqznCtTD-obm-cqZBDsCj2ZhllE,3663 +mouseinfo-0.1.3.dist-info/RECORD,, +mouseinfo-0.1.3.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91 +mouseinfo-0.1.3.dist-info/top_level.txt,sha256=OzKM4RMItUSZcDQKYRg00PHK3qPsWsG-9RQxsReBf5k,10 +mouseinfo/__init__.py,sha256=LmQ_b7eBPbnxfM4pu9nFykcEgMcmLspkvQfp11Qg-P8,42960 +mouseinfo/__main__.py,sha256=1OvUG2YiESIfQGuhhq-iEWtNXBa8-VGxGBhY4stfkw0,81 +mouseinfo/__pycache__/__init__.cpython-312.pyc,, +mouseinfo/__pycache__/__main__.cpython-312.pyc,, diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/WHEEL b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/WHEEL new file mode 100644 index 00000000..14a883f2 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (82.0.1) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/top_level.txt b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/top_level.txt new file mode 100644 index 00000000..a04104b7 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo-0.1.3.dist-info/top_level.txt @@ -0,0 +1 @@ +mouseinfo diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__init__.py new file mode 100644 index 00000000..5bd78f68 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__init__.py @@ -0,0 +1,901 @@ +# MouseInfo by Al Sweigart al@inventwithpython.com + +# Note: how to specify where a tkintr window opens: +# https://stackoverflow.com/questions/14910858/how-to-specify-where-a-tkinter-window-opens + +""" +Features we should consider adding: +* Register a global hotkey for copying/logging info. (Should this hotkey be configurable?) + +Features that have been considered and rejected: + +* The Save Log/Save Screenshot buttons should open a file dialog box. +* The Save Log button should append text, instead of overwrite it. +* The log text area should prepopulate itself with the contents of the given filename. +* The button delay should be configurable instead of just set to 3 seconds. +""" + +__version__ = '0.1.3' +import pyperclip, sys, os, platform, webbrowser + +#from enum import Enum +from ctypes import ( + c_bool, c_int32, c_int64, c_size_t, c_uint16, c_uint32, c_void_p, + cdll, util, +) + +# ========================================================================= +# Originally, these functions were pulled in from PyAutoGUI. However, to +# make this module independent of PyAutoGUI, the code for these functions +# has been copy/pasted into the following section: +# NOTE: Any bug fixes for these functions in PyAutoGUI will have to be +# manually merged into MouseInfo. +#from pyautogui import position, screenshot, size +# ========================================================================= +# Alternatively, this code makes this application not dependent on PyAutoGUI +# by copying the code for the position() and screenshot() functions into this +# source code file. +import datetime, subprocess + +try: + from PIL import Image + _PILLOW_INSTALLED = True +except ImportError: + _PILLOW_INSTALLED = False + +if sys.platform == 'win32': + import ctypes + + if _PILLOW_INSTALLED: + from PIL import ImageGrab + + # Makes this process aware of monitor scaling so the screenshots are correctly sized: + try: + ctypes.windll.user32.SetProcessDPIAware() + except AttributeError: + pass # Windows XP doesn't support this, so just do nothing. + + dc = ctypes.windll.user32.GetDC(0) + + class POINT(ctypes.Structure): + _fields_ = [('x', ctypes.c_long), + ('y', ctypes.c_long)] + + def _winPosition(): + cursor = POINT() + ctypes.windll.user32.GetCursorPos(ctypes.byref(cursor)) + return (cursor.x, cursor.y) + position = _winPosition + + + def _winScreenshot(filename=None): + # TODO - Use the winapi to get a screenshot, and compare performance with ImageGrab.grab() + # https://stackoverflow.com/a/3586280/1893164 + try: + im = ImageGrab.grab() + if filename is not None: + im.save(filename) + except NameError: + raise ImportError('Pillow module must be installed to use screenshot functions on Windows.') + return im + screenshot = _winScreenshot + + def _winSize(): + return (ctypes.windll.user32.GetSystemMetrics(0), ctypes.windll.user32.GetSystemMetrics(1)) + size = _winSize + + def _winGetPixel(x, y): + colorRef = ctypes.windll.gdi32.GetPixel(dc, x, y) # A COLORREF value as 0x00bbggrr. See https://docs.microsoft.com/en-us/windows/win32/gdi/colorref + red = colorRef % 256 + colorRef //= 256 + green = colorRef % 256 + colorRef //= 256 + blue = colorRef + + return (red, green, blue) + getPixel = _winGetPixel + + +elif sys.platform == 'darwin': + from rubicon.objc import ObjCClass, CGPoint + from rubicon.objc.types import register_preferred_encoding + + ##################################################################### + + appkit = cdll.LoadLibrary(util.find_library('AppKit')) + + NSEvent = ObjCClass('NSEvent') + NSEvent.declare_class_property('mouseLocation') + # NSSystemDefined = ObjCClass('NSSystemDefined') + + ##################################################################### + + core_graphics = cdll.LoadLibrary(util.find_library('CoreGraphics')) + + CGDirectDisplayID = c_uint32 + + CGEventRef = c_void_p + register_preferred_encoding(b'^{__CGEvent=}', CGEventRef) + + CGEventSourceRef = c_void_p + register_preferred_encoding(b'^{__CGEventSource=}', CGEventSourceRef) + + CGEventTapLocation = c_uint32 + + CGEventType = c_uint32 + + CGEventField = c_uint32 + + CGKeyCode = c_uint16 + + CGMouseButton = c_uint32 + + CGScrollEventUnit = c_uint32 + + # size_t CGDisplayPixelsWide(CGDirectDisplayID display); + core_graphics.CGDisplayPixelsWide.argtypes = [CGDirectDisplayID] + core_graphics.CGDisplayPixelsWide.restype = c_size_t + + # CGEventRef CGEventCreateKeyboardEvent(CGEventSourceRef source, CGKeyCode virtualKey, bool keyDown); + core_graphics.CGEventCreateKeyboardEvent.argtypes = [CGEventSourceRef, CGKeyCode, c_bool] + core_graphics.CGEventCreateKeyboardEvent.restype = CGEventRef + + # CGEventRef CGEventCreateMouseEvent( + # CGEventSourceRef source, CGEventType mouseType, CGPoint mouseCursorPosition, CGMouseButton mouseButton); + core_graphics.CGEventCreateMouseEvent.argtypes = [CGEventSourceRef, CGEventType, CGPoint, CGMouseButton] + core_graphics.CGEventCreateMouseEvent.restype = CGEventRef + + # CGEventRef CGEventCreateScrollWheelEvent( + # CGEventSourceRef source, CGScrollEventUnit units, uint32_t wheelCount, int32_t wheel1, ...); + core_graphics.CGEventCreateScrollWheelEvent.argtypes = [CGEventSourceRef, CGScrollEventUnit, c_uint32, c_int32] + core_graphics.CGEventCreateScrollWheelEvent.restype = CGEventRef + + # void CGEventSetIntegerValueField(CGEventRef event, CGEventField field, int64_t value); + core_graphics.CGEventSetIntegerValueField.argtypes = [CGEventRef, CGEventField, c_int64] + core_graphics.CGEventSetIntegerValueField.restype = None + + # void CGEventSetType(CGEventRef event, CGEventType type); + core_graphics.CGEventSetType.argtype = [CGEventRef, CGEventType] + core_graphics.CGEventSetType.restype = None + + # void CGEventPost(CGEventTapLocation tap, CGEventRef event); + core_graphics.CGEventPost.argtypes = [CGEventTapLocation, CGEventRef] + core_graphics.CGEventPost.restype = None + + # CGDirectDisplayID CGMainDisplayID(void); + core_graphics.CGMainDisplayID.argtypes = [] + core_graphics.CGMainDisplayID.restype = CGDirectDisplayID + + + + def _macPosition(): + loc = NSEvent.mouseLocation + return int(loc.x), int(core_graphics.CGDisplayPixelsHigh(0) - loc.y) + position = _macPosition + + + def _macScreenshot(filename=None): + if filename is not None: + tmpFilename = filename + else: + tmpFilename = 'screenshot%s.png' % (datetime.datetime.now().strftime('%Y-%m%d_%H-%M-%S-%f')) + subprocess.call(['screencapture', '-x', tmpFilename]) + im = Image.open(tmpFilename) + + # force loading before unlinking, Image.open() is lazy + im.load() + + if filename is None: + os.unlink(tmpFilename) + return im + screenshot = _macScreenshot + + def _macSize(): + return ( + core_graphics.CGDisplayPixelsWide(core_graphics.CGMainDisplayID()), + core_graphics.CGDisplayPixelsHigh(core_graphics.CGMainDisplayID()) + ) + size = _macSize + + def _macGetPixel(x, y): + rgbValue = screenshot().getpixel((x, y)) + return rgbValue[0], rgbValue[1], rgbValue[2] + getPixel = _macGetPixel + + +elif platform.system() == 'Linux': + from Xlib.display import Display + import errno + + scrotExists = False + try: + whichProc = subprocess.Popen( + ['which', 'scrot'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + scrotExists = whichProc.wait() == 0 + except OSError as ex: + if ex.errno == errno.ENOENT: + # if there is no "which" program to find scrot, then assume there + # is no scrot. + pass + else: + raise + + _display = Display(os.environ['DISPLAY']) + + def _linuxPosition(): + coord = _display.screen().root.query_pointer()._data + return coord["root_x"], coord["root_y"] + position = _linuxPosition + + def _linuxScreenshot(filename=None): + if not scrotExists: + raise NotImplementedError('"scrot" must be installed to use screenshot functions in Linux. Run: sudo apt-get install scrot') + + if filename is not None: + tmpFilename = filename + else: + tmpFilename = '.screenshot%s.png' % (datetime.datetime.now().strftime('%Y-%m%d_%H-%M-%S-%f')) + + if scrotExists: + subprocess.call(['scrot', '-z', tmpFilename]) + im = Image.open(tmpFilename) + + # force loading before unlinking, Image.open() is lazy + im.load() + + if filename is None: + os.unlink(tmpFilename) + return im + else: + raise Exception('The scrot program must be installed to take a screenshot with PyScreeze on Linux. Run: sudo apt-get install scrot') + screenshot = _linuxScreenshot + + def _linuxSize(): + return _display.screen().width_in_pixels, _display.screen().height_in_pixels + size = _linuxSize + + def _linuxGetPixel(x, y): + rgbValue = screenshot().getpixel((x, y)) + return rgbValue[0], rgbValue[1], rgbValue[2] + getPixel = _linuxGetPixel +# ========================================================================= + +RUNNING_PYTHON_2 = sys.version_info[0] == 2 + +if platform.system() == 'Linux': + if RUNNING_PYTHON_2: + try: + import Tkinter as tkinter + ttk = tkinter + from Tkinter import Event + except ImportError: + sys.exit('NOTE: You must install tkinter on Linux to use MouseInfo. Run the following: sudo apt-get install python-tk python-dev') + else: + # Running Python 3+: + try: + import tkinter + from tkinter import ttk + from tkinter import Event + except ImportError: + sys.exit('NOTE: You must install tkinter on Linux to use MouseInfo. Run the following: sudo apt-get install python3-tk python3-dev') +else: + # Running Windows or macOS: + if RUNNING_PYTHON_2: + import Tkinter as tkinter + ttk = tkinter + from Tkinter import Event + else: + # Running Python 3+: + import tkinter + from tkinter import ttk + from tkinter import Event + +MOUSE_INFO_BUTTON_WIDTH = 16 # A standard width for the buttons in the MouseInfo window. + +class MouseInfoWindow: + def _updateMouseInfoTextFields(self): + # Update the XY and RGB text fields in the MouseInfo window. + + # Get the XY coordinates of the current mouse position: + x, y = position() + self.xyTextboxSV.set('%s,%s' % (x - self.xOrigin, y - self.yOrigin)) + + # MouseInfo currently only works on the primary monitor, and doesn't + # support multi-monitor setups. The color information isn't reliable + # when the mouse is not on the primary monitor, so display an error instead. + width, height = size() + if not _PILLOW_INSTALLED: + self.rgbSV.set('NA_Pillow_unsupported') + elif sys.platform == 'darwin': + # TODO - Until I can get screenshots without the mouse cursor, this feature doesn't work on mac. + self.rgbSV.set('NA_on_macOS') + elif not (0 <= x < width and 0 <= y < height): + self.rgbSV.set('NA_on_multimonitor_setups') + else: + # Get the RGB color value of the pixel currently under the mouse: + # NOTE: On Windows & Linux, Pillow's getpixel() returns a 3-integer tuple, but on macOS it returns a 4-integer tuple. + r, g, b = getPixel(x, y) + self.rgbSV.set('%s,%s,%s' % (r, g, b)) + + if not _PILLOW_INSTALLED: + self.rgbHexSV.set('NA_Pillow_unsupported') + elif sys.platform == 'darwin': + # TODO - Until I can get screenshots without the mouse cursor, this feature doesn't work on mac. + self.rgbHexSV.set('NA_on_macOS') + elif not (0 <= x < width and 0 <= y < height): + self.rgbHexSV.set('NA_on_multimonitor_setups') + else: + # Convert this RGB value into a hex RGB value: + rHex = hex(r)[2:].upper().rjust(2, '0') + gHex = hex(g)[2:].upper().rjust(2, '0') + bHex = hex(b)[2:].upper().rjust(2, '0') + hexColor = '#%s%s%s' % (rHex, gHex, bHex) + self.rgbHexSV.set(hexColor) + + if (not _PILLOW_INSTALLED) or (sys.platform == 'darwin') or (not (0 <= x < width and 0 <= y < height)): + self.colorFrame.configure(background='black') + else: + # Update the color panel: + self.colorFrame.configure(background=hexColor) + + # As long as the self.isRunning variable is True, + # schedule this function to be called again in 100 milliseconds. + # NOTE: Previously this if-else code was at the top of the function + # so that I could avoid the "invalid command name" message that + # was popping up (this didn't work though), but it was also causing + # a weird bug where the text fields weren't populated until I moved + # the tkinter window. I have no idea why that behavior was happening. + # You can reproduce it by moving this if-else code to the top of this + # function. + if self.isRunning: + self._updateMouseInfoJob = self.root.after(100, self._updateMouseInfoTextFields) + else: + return # MouseInfo window has been closed, so return immediately. + + + def _copyText(self, textToCopy): + try: + pyperclip.copy(textToCopy) + self.statusbarSV.set('Copied ' + textToCopy) + except pyperclip.PyperclipException as e: + if platform.system() == 'Linux': + self.statusbarSV.set('Copy failed. Run "sudo apt-get install xsel".') + else: + self.statusbarSV.set('Clipboard error: ' + str(e)) + + + def _copyXyMouseInfo(self, *args): + # Copy the contents of the XY coordinate text field in the MouseInfo + # window to the clipboard. + + if len(args) > 0 and isinstance(args[0], Event): + args = () # When the hotkey is pressed, an Event object is in args. Let's just get rid of it and let the rest of the code run as normal. + + if self.delayEnabledSV.get() == 'on' and len(args) == 0: + # Start countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyXyMouseInfo, 2) + self.xyCopyButtonSV.set('Copy in 3') + elif len(args) == 1 and args[0] == 2: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyXyMouseInfo, 1) + self.xyCopyButtonSV.set('Copy in 2') + elif len(args) == 1 and args[0] == 1: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyXyMouseInfo, 0) + self.xyCopyButtonSV.set('Copy in 1') + else: + # Delay disabled or countdown has finished: + self._copyText(self.xyTextboxSV.get()) + self.xyCopyButtonSV.set('Copy XY') + + + def _copyRgbMouseInfo(self, *args): + # Copy the contents of the RGB color text field in the MouseInfo + # window to the clipboard. + + if len(args) > 0 and isinstance(args[0], Event): + args = () # When the hotkey is pressed, an Event object is in args. Let's just get rid of it and let the rest of the code run as normal. + + if self.delayEnabledSV.get() == 'on' and len(args) == 0: + # Start countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyRgbMouseInfo, 2) + self.rgbCopyButtonSV.set('Copy in 3') + elif len(args) == 1 and args[0] == 2: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyRgbMouseInfo, 1) + self.rgbCopyButtonSV.set('Copy in 2') + elif len(args) == 1 and args[0] == 1: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyRgbMouseInfo, 0) + self.rgbCopyButtonSV.set('Copy in 1') + else: + # Delay disabled or countdown has finished: + self._copyText(self.rgbSV.get()) + self.rgbCopyButtonSV.set('Copy RGB') + + + def _copyRgbHexMouseInfo(self, *args): + # Copy the contents of the RGB hex color text field in the MouseInfo + # window to the clipboard. + + if len(args) > 0 and isinstance(args[0], Event): + args = () # When the hotkey is pressed, an Event object is in args. Let's just get rid of it and let the rest of the code run as normal. + + if self.delayEnabledSV.get() == 'on' and len(args) == 0: + # Start countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyRgbHexMouseInfo, 2) + self.rgbHexCopyButtonSV.set('Copy in 3') + elif len(args) == 1 and args[0] == 2: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyRgbHexMouseInfo, 1) + self.rgbHexCopyButtonSV.set('Copy in 2') + elif len(args) == 1 and args[0] == 1: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyRgbHexMouseInfo, 0) + self.rgbHexCopyButtonSV.set('Copy in 1') + else: + # Delay disabled or countdown has finished: + self._copyText(self.rgbHexSV.get()) + self.rgbHexCopyButtonSV.set('Copy RGB Hex') + + + def _copyAllMouseInfo(self, *args): + # Copy the contents of the XY coordinate and RGB color text fields in the + # MouseInfo window to the log text field. + textFieldContents = '%s %s %s' % (self.xyTextboxSV.get(), + self.rgbSV.get(), + self.rgbHexSV.get()) + #self._copyText(textFieldContents) + + if len(args) > 0 and isinstance(args[0], Event): + args = () # When the hotkey is pressed, an Event object is in args. Let's just get rid of it and let the rest of the code run as normal. + + if self.delayEnabledSV.get() == 'on' and len(args) == 0: + # Start countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyAllMouseInfo, 2) + self.allCopyButtonSV.set('Copy in 3') + elif len(args) == 1 and args[0] == 2: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyAllMouseInfo, 1) + self.allCopyButtonSV.set('Copy in 2') + elif len(args) == 1 and args[0] == 1: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._copyAllMouseInfo, 0) + self.allCopyButtonSV.set('Copy in 1') + else: + # Delay disabled or countdown has finished: + textFieldContents = '%s %s %s' % (self.xyTextboxSV.get(), + self.rgbSV.get(), + self.rgbHexSV.get()) + self._copyText(textFieldContents) + self.allCopyButtonSV.set('Copy All') + + + def _logXyMouseInfo(self, *args): + # Log the contents of the XY coordinate text field in the MouseInfo + # window to the log text field. + + if len(args) > 0 and isinstance(args[0], Event): + args = () # When the hotkey is pressed, an Event object is in args. Let's just get rid of it and let the rest of the code run as normal. + + if self.delayEnabledSV.get() == 'on' and len(args) == 0: + # Start countdown by having after() call this function in 1 second: + self.root.after(1000, self._logXyMouseInfo, 2) + self.xyLogButtonSV.set('Log in 3') + elif len(args) == 1 and args[0] == 2: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._logXyMouseInfo, 1) + self.xyLogButtonSV.set('Log in 2') + elif len(args) == 1 and args[0] == 1: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._logXyMouseInfo, 0) + self.xyLogButtonSV.set('Log in 1') + else: + # Delay disabled or countdown has finished: + logContents = self.logTextarea.get('1.0', 'end-1c') + '%s\n' % (self.xyTextboxSV.get()) # 'end-1c' doesn't include the final newline + self.logTextboxSV.set(logContents) + self._setLogTextAreaContents(logContents) + self.statusbarSV.set('Logged ' + self.xyTextboxSV.get()) + self.xyLogButtonSV.set('Log XY') + + + def _logRgbMouseInfo(self, *args): + # Log the contents of the RGB color text field in the MouseInfo + # window to the log text field. + + if len(args) > 0 and isinstance(args[0], Event): + args = () # When the hotkey is pressed, an Event object is in args. Let's just get rid of it and let the rest of the code run as normal. + + if self.delayEnabledSV.get() == 'on' and len(args) == 0: + # Start countdown by having after() call this function in 1 second: + self.root.after(1000, self._logRgbMouseInfo, 2) + self.rgbLogButtonSV.set('Log in 3') + elif len(args) == 1 and args[0] == 2: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._logRgbMouseInfo, 1) + self.rgbLogButtonSV.set('Log in 2') + elif len(args) == 1 and args[0] == 1: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._logRgbMouseInfo, 0) + self.rgbLogButtonSV.set('Log in 1') + else: + # Delay disabled or countdown has finished: + logContents = self.logTextarea.get('1.0', 'end-1c') + '%s\n' % (self.rgbSV.get()) # 'end-1c' doesn't include the final newline + self.logTextboxSV.set(logContents) + self._setLogTextAreaContents(logContents) + self.statusbarSV.set('Logged ' + self.rgbSV.get()) + self.rgbLogButtonSV.set('Log RGB') + + + def _logRgbHexMouseInfo(self, *args): + # Log the contents of the RGB hex color text field in the MouseInfo + # window to the log text field. + + if len(args) > 0 and isinstance(args[0], Event): + args = () # When the hotkey is pressed, an Event object is in args. Let's just get rid of it and let the rest of the code run as normal. + + if self.delayEnabledSV.get() == 'on' and len(args) == 0: + # Start countdown by having after() call this function in 1 second: + self.root.after(1000, self._logRgbHexMouseInfo, 2) + self.rgbHexLogButtonSV.set('Log in 3') + elif len(args) == 1 and args[0] == 2: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._logRgbHexMouseInfo, 1) + self.rgbHexLogButtonSV.set('Log in 2') + elif len(args) == 1 and args[0] == 1: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._logRgbHexMouseInfo, 0) + self.rgbHexLogButtonSV.set('Log in 1') + else: + # Delay disabled or countdown has finished: + logContents = self.logTextarea.get('1.0', 'end-1c') + '%s\n' % (self.rgbHexSV.get()) # 'end-1c' doesn't include the final newline + self.logTextboxSV.set(logContents) + self._setLogTextAreaContents(logContents) + self.statusbarSV.set('Logged ' + self.rgbHexSV.get()) + self.rgbHexLogButtonSV.set('Log RGB Hex') + + + def _logAllMouseInfo(self, *args): + # Log the contents of the XY coordinate and RGB color text fields in the + # MouseInfo window to the log text field. + + if len(args) > 0 and isinstance(args[0], Event): + args = () # When the hotkey is pressed, an Event object is in args. Let's just get rid of it and let the rest of the code run as normal. + + if self.delayEnabledSV.get() == 'on' and len(args) == 0: + # Start countdown by having after() call this function in 1 second: + self.root.after(1000, self._logAllMouseInfo, 2) + self.allLogButtonSV.set('Log in 3') + elif len(args) == 1 and args[0] == 2: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._logAllMouseInfo, 1) + self.allLogButtonSV.set('Log in 2') + elif len(args) == 1 and args[0] == 1: + # Continue countdown by having after() call this function in 1 second: + self.root.after(1000, self._logAllMouseInfo, 0) + self.allLogButtonSV.set('Log in 1') + else: + # Delay disabled or countdown has finished: + textFieldContents = '%s %s %s' % (self.xyTextboxSV.get(), + self.rgbSV.get(), + self.rgbHexSV.get()) + logContents = self.logTextarea.get('1.0', 'end-1c') + '%s\n' % (textFieldContents) # 'end-1c' doesn't include the final newline + self.logTextboxSV.set(logContents) + self._setLogTextAreaContents(logContents) + self.statusbarSV.set('Logged ' + textFieldContents) + self.allLogButtonSV.set('Log All') + + def _xyOriginChanged(self, sv): + contents = sv.get() + if len(contents.split(',')) != 2: + return # Do nothing if the text is invalid + x, y = contents.split(',') + x = x.strip() + y = y.strip() + if not x.isdecimal() or not y.isdecimal(): + return # Do nothing. + self.xOrigin = int(x) + self.yOrigin = int(y) + self.statusbarSV.set('Set XY Origin to ' + str(self.xOrigin) + ', ' + str(self.yOrigin)) + + def _setLogTextAreaContents(self, logContents): + if RUNNING_PYTHON_2: + self.logTextarea.delete('1.0', tkinter.END) + self.logTextarea.insert(tkinter.END, logContents) + else: + self.logTextarea.replace('1.0', tkinter.END, logContents) + + # Scroll to the bottom of the text area: + topOfTextArea, bottomOfTextArea = self.logTextarea.yview() + self.logTextarea.yview_moveto(bottomOfTextArea) + + + def _saveLogFile(self, *args): + # Save the current contents of the log file text field. Automatically + # overwrites the file if it exists. Displays an error message in the + # status bar if there is a problem. + try: + with open(self.logFilenameSV.get(), 'w') as fo: + fo.write(self.logTextboxSV.get()) + except Exception as e: + self.statusbarSV.set('ERROR: ' + str(e)) + else: + self.statusbarSV.set('Log file saved to ' + self.logFilenameSV.get()) + + + def _saveScreenshotFile(self, *args): + # Saves a screenshot. Automatically overwrites the file if it exists. + # Displays an error message in the status bar if there is a problem. + + if not _PILLOW_INSTALLED: + self.statusbarSV.set('ERROR: NA_Pillow_unsupported') + return + + try: + screenshot(self.screenshotFilenameSV.get()) + except Exception as e: + self.statusbarSV.set('ERROR: ' + str(e)) + else: + self.statusbarSV.set('Screenshot file saved to ' + self.screenshotFilenameSV.get()) + + + def __init__(self): + """Launches the MouseInfo window, which displays XY coordinate and RGB + color information for the mouse's current position.""" + + self.isRunning = True # While True, the text fields will update. + + # Create the MouseInfo window: + self.root = tkinter.Tk() + self.root.title('MouseInfo ' + __version__) + self.root.minsize(400, 100) + + # Create the main frame in the MouseInfo window: + if RUNNING_PYTHON_2: + mainframe = tkinter.Frame(self.root) + else: + mainframe = ttk.Frame(self.root, padding='3 3 12 12') + + # Set up the grid for the MouseInfo window's widgets: + mainframe.grid(column=0, row=0, sticky=(tkinter.N, tkinter.W, tkinter.E, tkinter.S)) + mainframe.columnconfigure(0, weight=1) + mainframe.rowconfigure(0, weight=1) + + # WIDGETS ON ROW 1: + CUR_ROW = 1 # I'm using a variable because it's easier to make changes to the source code this way. + + # Set up the instructional text label: + #ttk.Label(mainframe, text='Tab over the buttons and press Enter to\n"click" them as you move the mouse around.').grid(column=1, row=1, columnspan=2, sticky=tkinter.W) + self.delayEnabledSV = tkinter.StringVar() + self.delayEnabledSV.set('on') + delayCheckbox = ttk.Checkbutton(mainframe, text='3 Sec. Button Delay', variable=self.delayEnabledSV, onvalue='on', offvalue='off') + delayCheckbox.grid(column=1, row=CUR_ROW, columnspan=2, sticky=tkinter.W) + + # Set up the button to copy the XY coordinates to the clipboard: + self.allCopyButtonSV = tkinter.StringVar() + self.allCopyButtonSV.set('Copy All (F1)') + self.allCopyButton = ttk.Button(mainframe, textvariable=self.allCopyButtonSV, width=MOUSE_INFO_BUTTON_WIDTH, command=self._copyAllMouseInfo) + self.allCopyButton.grid(column=3, row=CUR_ROW, sticky=tkinter.W) + self.allCopyButton.bind('', self._copyAllMouseInfo) + + # Set up the button to copy the XY coordinates to the clipboard: + self.allLogButtonSV = tkinter.StringVar() + self.allLogButtonSV.set('Log All (F5)') + self.allLogButton = ttk.Button(mainframe, textvariable=self.allLogButtonSV, width=MOUSE_INFO_BUTTON_WIDTH, command=self._logAllMouseInfo) + self.allLogButton.grid(column=4, row=CUR_ROW, sticky=tkinter.W) + self.allLogButton.bind('', self._logAllMouseInfo) + + # Set up the variables for the content of the MouseInfo window's text fields: + self.xyTextboxSV = tkinter.StringVar() # The str contents of the xy text field. + self.rgbSV = tkinter.StringVar() # The str contents of the rgb text field. + self.rgbHexSV = tkinter.StringVar() # The str contents of the rgb hex text field. + self.xyOriginSV = tkinter.StringVar() # The str contents of the xy origin field. + self.logTextboxSV = tkinter.StringVar() # The str contents of the log text area. + self.logFilenameSV = tkinter.StringVar() # The str contents of the log filename text field. + self.screenshotFilenameSV = tkinter.StringVar() # The str contents of the screenshot filename text field. + self.statusbarSV = tkinter.StringVar() # The str contents of the status bar at the bottom of the window. + + # WIDGETS ON ROW 3: + CUR_ROW += 1 + + # Set up the XY coordinate text field and label: + self.xyInfoTextbox = ttk.Entry(mainframe, width=16, textvariable=self.xyTextboxSV) + self.xyInfoTextbox.grid(column=2, row=CUR_ROW, sticky=(tkinter.W, tkinter.E)) + ttk.Label(mainframe, text='XY Position').grid(column=1, row=CUR_ROW, sticky=tkinter.W) + + # Set up the button to copy the XY coordinates to the clipboard: + self.xyCopyButtonSV = tkinter.StringVar() + self.xyCopyButtonSV.set('Copy XY (F2)') + self.xyCopyButton = ttk.Button(mainframe, textvariable=self.xyCopyButtonSV, width=MOUSE_INFO_BUTTON_WIDTH, command=self._copyXyMouseInfo) + self.xyCopyButton.grid(column=3, row=CUR_ROW, sticky=tkinter.W) + self.xyCopyButton.bind('', self._copyXyMouseInfo) + + # Set up the button to log the XY coordinates: + self.xyLogButtonSV = tkinter.StringVar() + self.xyLogButtonSV.set('Log XY (F6)') + self.xyLogButton = ttk.Button(mainframe, textvariable=self.xyLogButtonSV, width=MOUSE_INFO_BUTTON_WIDTH, command=self._logXyMouseInfo) + self.xyLogButton.grid(column=4, row=CUR_ROW, sticky=tkinter.W) + self.xyLogButton.bind('', self._logXyMouseInfo) + + # WIDGETS ON ROW 4: + CUR_ROW += 1 + + # Set up the RGB color text field and label: + self.rgbSV_entry = ttk.Entry(mainframe, width=16, textvariable=self.rgbSV) + self.rgbSV_entry.grid(column=2, row=CUR_ROW, sticky=(tkinter.W, tkinter.E)) + ttk.Label(mainframe, text='RGB Color').grid(column=1, row=CUR_ROW, sticky=tkinter.W) + + # Set up the button to copy the RGB color to the clipboard: + self.rgbCopyButtonSV = tkinter.StringVar() + self.rgbCopyButtonSV.set('Copy RGB (F3)') + self.rgbCopyButton = ttk.Button(mainframe, textvariable=self.rgbCopyButtonSV, width=MOUSE_INFO_BUTTON_WIDTH, command=self._copyRgbMouseInfo) + self.rgbCopyButton.grid(column=3, row=CUR_ROW, sticky=tkinter.W) + self.rgbCopyButton.bind('', self._copyRgbMouseInfo) + + # Set up the button to log the XY coordinates: + self.rgbLogButtonSV = tkinter.StringVar() + self.rgbLogButtonSV.set('Log RGB (F7)') + self.rgbLogButton = ttk.Button(mainframe, textvariable=self.rgbLogButtonSV, width=MOUSE_INFO_BUTTON_WIDTH, command=self._logRgbMouseInfo) + self.rgbLogButton.grid(column=4, row=CUR_ROW, sticky=tkinter.W) + self.rgbLogButton.bind('', self._logRgbMouseInfo) + + # WIDGETS ON ROW 5: + CUR_ROW += 1 + + # Set up the RGB hex color text field and label: + self.rgbHexSV_entry = ttk.Entry(mainframe, width=16, textvariable=self.rgbHexSV) + self.rgbHexSV_entry.grid(column=2, row=CUR_ROW, sticky=(tkinter.W, tkinter.E)) + ttk.Label(mainframe, text='RGB as Hex').grid(column=1, row=CUR_ROW, sticky=tkinter.W) + + # Set up the button to copy the RGB hex color to the clipboard: + self.rgbHexCopyButtonSV = tkinter.StringVar() + self.rgbHexCopyButtonSV.set('Copy RGB Hex (F4)') + self.rgbHexCopyButton = ttk.Button(mainframe, textvariable=self.rgbHexCopyButtonSV, width=MOUSE_INFO_BUTTON_WIDTH, command=self._copyRgbHexMouseInfo) + self.rgbHexCopyButton.grid(column=3, row=CUR_ROW, sticky=tkinter.W) + self.rgbHexCopyButton.bind('', self._copyRgbHexMouseInfo) + + # Set up the button to log the XY coordinates: + self.rgbHexLogButtonSV = tkinter.StringVar() + self.rgbHexLogButtonSV.set('Log RGB Hex (F8)') + self.rgbHexLogButton = ttk.Button(mainframe, textvariable=self.rgbHexLogButtonSV, width=MOUSE_INFO_BUTTON_WIDTH, command=self._logRgbHexMouseInfo) + self.rgbHexLogButton.grid(column=4, row=CUR_ROW, sticky=tkinter.W) + self.rgbHexLogButton.bind('', self._logRgbHexMouseInfo) + + # WIDGETS ON ROW 6: + CUR_ROW += 1 + + # Set up the frame that displays the color of the pixel currently under the mouse cursor: + self.colorFrame = tkinter.Frame(mainframe, width=50, height=50) + self.colorFrame.grid(column=2, row=CUR_ROW, sticky=(tkinter.W, tkinter.E)) + ttk.Label(mainframe, text='Color').grid(column=1, row=CUR_ROW, sticky=tkinter.W) + + # WIDGETS ON ROW 7: + CUR_ROW += 1 + + # Set up the XY origin text field and label: + self.xOrigin = 0 + self.yOrigin = 0 + self.xyOriginSV.set('0, 0') + ttk.Label(mainframe, text='XY Origin').grid(column=1, row=CUR_ROW, sticky=tkinter.W) + self.xyOriginSV.trace("w", lambda name, index, mode, sv=self.xyOriginSV: self._xyOriginChanged(sv)) + self.xyOriginSV_entry = ttk.Entry(mainframe, width=16, textvariable=self.xyOriginSV) + self.xyOriginSV_entry.grid(column=2, row=CUR_ROW, sticky=(tkinter.W, tkinter.E)) + + # WIDGETS ON ROW 8: + CUR_ROW += 1 + + # Set up the multiline text widget where the log info appears: + self.logTextarea = tkinter.Text(mainframe, width=20, height=6) + self.logTextarea.grid(column=1, row=CUR_ROW, columnspan=4, sticky=(tkinter.W, tkinter.E, tkinter.N, tkinter.S)) + self.logTextareaScrollbar = ttk.Scrollbar(mainframe, orient=tkinter.VERTICAL, command=self.logTextarea.yview) + self.logTextareaScrollbar.grid(column=5, row=CUR_ROW, sticky=(tkinter.N, tkinter.S)) + self.logTextarea['yscrollcommand'] = self.logTextareaScrollbar.set + + # WIDGETS ON ROW 9: + CUR_ROW += 1 + + self.logFilenameTextbox = ttk.Entry(mainframe, width=16, textvariable=self.logFilenameSV) + self.logFilenameTextbox.grid(column=1, row=CUR_ROW, columnspan=3, sticky=(tkinter.W, tkinter.E)) + self.saveLogButton = ttk.Button(mainframe, text='Save Log', width=MOUSE_INFO_BUTTON_WIDTH, command=self._saveLogFile) + self.saveLogButton.grid(column=4, row=CUR_ROW, sticky=tkinter.W) + self.saveLogButton.bind('', self._saveLogFile) + self.logFilenameSV.set(os.path.join(os.getcwd(), 'mouseInfoLog.txt')) + + # WIDGETS ON ROW 10: + CUR_ROW += 1 + + G_MOUSE_INFO_SCREENSHOT_FILENAME_entry = ttk.Entry(mainframe, width=16, textvariable=self.screenshotFilenameSV) + G_MOUSE_INFO_SCREENSHOT_FILENAME_entry.grid(column=1, row=CUR_ROW, columnspan=3, sticky=(tkinter.W, tkinter.E)) + self.saveScreenshotButton = ttk.Button(mainframe, text='Save Screenshot', width=MOUSE_INFO_BUTTON_WIDTH, command=self._saveScreenshotFile) + self.saveScreenshotButton.grid(column=4, row=CUR_ROW, sticky=tkinter.W) + self.saveScreenshotButton.bind('', self._saveScreenshotFile) + self.screenshotFilenameSV.set(os.path.join(os.getcwd(), 'mouseInfoScreenshot.png')) + + # WIDGETS ON ROW 11: + CUR_ROW += 1 + + statusbar = ttk.Label(mainframe, relief=tkinter.SUNKEN, textvariable=self.statusbarSV) + statusbar.grid(column=1, row=CUR_ROW, columnspan=5, sticky=(tkinter.W, tkinter.E)) + + # Add padding to all of the widgets: + for child in mainframe.winfo_children(): + # Ensure the scrollbar and text area don't have padding in between them: + if child == self.logTextareaScrollbar: + child.grid_configure(padx=0, pady=3) + elif child == self.logTextarea: + child.grid_configure(padx=(3, 0), pady=3) + elif child == statusbar: + child.grid_configure(padx=0, pady=(3, 0)) + else: + # All other widgets have a standard padding of 3: + child.grid_configure(padx=3, pady=3) + + # Add keyboard hotkeys for the Copy/Log buttons: + self.root.option_add('*tearOff', tkinter.FALSE) # Disable tkinter's ugly tear-off menus which are enabled by default. + + menu = tkinter.Menu(self.root) + self.root.config(menu=menu) + + copyMenu = tkinter.Menu(menu) + copyMenu.add_command(label='Copy All', command=self._copyAllMouseInfo, accelerator='F1', underline=5) + copyMenu.add_command(label='Copy XY', command=self._copyXyMouseInfo, accelerator='F2', underline=5) + copyMenu.add_command(label='Copy RGB', command=self._copyRgbMouseInfo, accelerator='F3', underline=5) + copyMenu.add_command(label='Copy RGB as Hex', command=self._copyRgbHexMouseInfo, accelerator='F4', underline=12) + menu.add_cascade(label='Copy', menu=copyMenu, underline=0) + + logMenu = tkinter.Menu(menu) + logMenu.add_command(label='Log All', command=self._logAllMouseInfo, accelerator='F5', underline=4) + logMenu.add_command(label='Log XY', command=self._logXyMouseInfo, accelerator='F6', underline=4) + logMenu.add_command(label='Log RGB', command=self._logRgbMouseInfo, accelerator='F7', underline=4) + logMenu.add_command(label='Log RGB as Hex', command=self._logRgbHexMouseInfo, accelerator='F8', underline=11) + menu.add_cascade(label='Log', menu=logMenu, underline=0) + + helpMenu = tkinter.Menu(menu) + helpMenu.add_command(label='Online Documentation', command=lambda: webbrowser.open('https://mouseinfo.readthedocs.io'), underline=6) + menu.add_cascade(label='Help', menu=helpMenu, underline=0) + + self.root.bind_all('', self._copyAllMouseInfo) + self.root.bind_all('', self._copyXyMouseInfo) + self.root.bind_all('', self._copyRgbMouseInfo) + self.root.bind_all('', self._copyRgbHexMouseInfo) + self.root.bind_all('', self._logAllMouseInfo) + self.root.bind_all('', self._logXyMouseInfo) + self.root.bind_all('', self._logRgbMouseInfo) + self.root.bind_all('', self._logRgbHexMouseInfo) + + + self.root.resizable(False, False) # Prevent the window from being resized. + + self.xyInfoTextbox.focus() # Put the focus on the XY coordinate text field to start. + + self._updateMouseInfoJob = self.root.after(100, self._updateMouseInfoTextFields) # Begin updating the text fields. + + # Make the mouse info window "always on top". + self.root.attributes('-topmost', True) + self.root.update() + + # Start the application: + self.root.mainloop() + + # Application has closed, set isRunning to False and cancel any "after" commands already queued: + self.root.after_cancel(self._updateMouseInfoJob) + self.isRunning = False + + # Destroy the tkinter root widget: + try: + self.root.destroy() + except tkinter.TclError: + pass + +def mouseInfo(): + """ + Launch the MouseInfo application in a new window. + + This exists as a shortcut instead of running MouseInfoWindow() because + PyAutoGUI (which imports mouseinfo) is set up with a simple mouseInfo() + function and I'd like to keep this consistent with that. + """ + MouseInfoWindow() + +if __name__ == '__main__': + MouseInfoWindow() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__main__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__main__.py new file mode 100644 index 00000000..5acc4375 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__main__.py @@ -0,0 +1,4 @@ +import mouseinfo + +if __name__ == '__main__': + mouseinfo.MouseInfoWindow() diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b71f8bb088d4eb8edb3674853b67766c8d3b0a16 GIT binary patch literal 47908 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__pycache__/__main__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/mouseinfo/__pycache__/__main__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b0a085b09bbdb77a2441ed39e76ca776aefb36c9 GIT binary patch literal 352 zcmX@j%ge<81oJkqX9WW3#~=<2FhLogt$>W_3@HpLj5!QZ45^GMOxYR?3`Igr45x zk$!PzNvdu^Vsdt3I#55{LHaOf>J?Pp;;_jDn{QVH3MWP&E>;E-AD9^#8E-QPJYeST gsJg@~d4ol^!Sgzc>_ryYt1R*#m>F24ia3Dk00jVHR{#J2 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__init__.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__init__.py new file mode 100644 index 00000000..d7d86f38 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__init__.py @@ -0,0 +1,92 @@ +""" +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 ._transform import * # noqa: F401, F403, E402 +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 ._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 ._bridgesupport import * # noqa: F401, F403, E402 +from . import _structtype # noqa: F401, F403, E402 +from . import _callable_docstr # noqa: F401, F403, E402 +from . import _pycoder # noqa: F401, F403, E402 +from ._informal_protocol import * # noqa: F401, F403, E402 +from . import _new # noqa: F401, E402 +from ._types import * # 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 + +# Subclassing a number of classes won't work +# without major changes to the bridge: +for _cls in ("NSString", "NSMutableString"): + _objc.lookUpClass(_cls).__objc_final__ = True + + +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/__init__.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..624fa99f2784667411e78db366160fd51150df73 GIT binary patch literal 3237 zcmZuz%WvDr8K0pjiKZmmk*)X{mwx1-B({(?O%JWYyXqfCslG0MfLJ4QV*>W$H<80BNs z7o+|d6=HNcMguV#jL}exhGR6+K}m?oXn8d7GX?le`AmS*fXB*X9sj@A*{y(9D{CF? zc%bcqSWcL#K544uDKk?(Yi7&m%-jw1>mh{7=gkbnSX#al#`dVB=c9;|Vx)gEA|nZX zgv{t@DWCEcLypEQm@;tJzuQqcclRVlea zI({&7<@+Vi;&j^8jr;l{^-3aAB|@y41;?6k8-AM9T~mj+XWRukJGx2qN@CzNR`-o;u1^} zrQ;q%bpvl89;Xyi*0HrAt>fi5sfR|)c!w#OXjl|RH&{vVu4vD?w4R8bupvF^mC>;^ z6s^spVq(t6Gfd>RnDo`3>vo;qWXxfHig~VWabJZrR9%OO`bY*UCd#%b`*KaMQa=^8 ziI1yH@Tn(*(BNVsOMZ?p>N)l*C1Nuh1>IG#YXL+P?WNVNsV{!p?jGFfZ*`CDDr0}| z8`ysDtM_)iuV-6*=f3!)`QhUmZ6&{Tt)&b%XZLb_Pw#Es+nH?T#&%YASSvU27`L;1 zTeDj$U*6ipuOZ))|4t#$T-h>PnUP(2gyrB-b9X<4I#%Z9=Q*=#i+<1C{H;0{c@Gr^ z?1`@^l?M}`+C~(WF$@67#N~u30a?ib{U=QsaH^3kru<&L&Vda~zgDvsHRIHV%FM0)_ur0LoML~SWBam2DFEYE0nfroU1 z*L7R#JTh3&fU#;0hb15;&jQzG0t3gYS5%|;9$W}qJ0yx`mJ5Aw9oCl)MA1M+Y0f`2 zH$Qvm;~h8%#4}Ic()tfBzQ~S2jjneixBO zYwL)_|7;*8`V$Cq5`O$7aE4>}vTy`wU8IExIy&lS7a>&42}0I}-{ELy?U&+TBOrju z3g=%Ire74MTZPig!qpdrtF6Md$MWyh&{xq`(Ivte_$nH48?B??K$gN2Vs;61aL{w` z<16%`K?K$L$yL$WzQo-V4GQ_74+YDeOb*f3Vsa1? z@&Mp0AuCXwos~397snukod*N#vJh85JVSw%fF+nFv_jm1uQveV5qcvflFGiCNd5%x zt2p_igA`5U{>;PF=|-$sRfr3;U~9z>^ycTxUz3Z*m6#9m4TkyM+~fr4_En>Y5Ruk6Z&=FOLK d;e}j)K_!oTCtn0&%U%Aj(t`)~5s1Lg{{vTbL&pFB literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_bridges.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_bridges.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..654fc9eb4625e4f05b27e4fde4db7aab480442b8 GIT binary patch literal 2653 zcmcgt&2QsW5Ff{O(>BdV=@(0zt=qC}Lup*LTvkFzNR>FSX%Ss6L0~!dYwFaE&9k$+ zsW@~cq`kJM+)&_xDlYsVoKiwV-Q$V_x25H@C*Hio4gJVU?4g$On|YI&@q53SH~uvq z9|ZP%|4X!__W?Y|Mfivv!BWb-s#4N+NHSB3+p%;yR;s^w7!17*)V%oUWiLv&-xXg zYdF5(lO$qksr!yl>-toM%)no0Ud;%BtT}~}k&%NGB}L2g34OruVbvwUNNCCFu4|Qx z+?WiF>!j^<9=D?Vgu9$uKGXe8v>2VT@U385;_vJMgBtkUh)`l}dii-GT-Q?H!iKOD z2QVVqc?>&LWQPnY?D@QN5aq7VUVc~6Jw;b+cB)0&+9C=X6@OFrmB*HCD+Qvs)OlhN zlLw=7Sy^4rReZf*laDFYtBO}C7`EQTVnVgo?m(Ct6zA8dTOykT}p_req#BXm4dovI?iIwF)KFlRNrxIPu-|^EU{+T zj4MtyInLo#Ek7yQJj8M4gpEK%A9g2DfKVws}1Sik)+ThbGk9+3cZ>0 z$m{euyUnlUYLIof--9Ri;Q@*;cP&p-htgDivYu#2*&}J{26;M&?0nUmCzFk<|I=GI z-d;&jOv98tIEo@i2n+0YcI6hP52bW{p?a!?A5P>u?@s^@0(^{$mLGks9CHCP5Ulvk4YRIH@{wRMT|Z*0exE zxArzhIGY&Kr8StiXypImoNW&|eqVVra<*}sfrwk_U++xkK&E=R$TrdWqOljUQ4xr& zw}XKV>gFY}hn731eX{VuX-XEB5mbaF4u7XW z7~Y$#P47>)hBJ-fOcUNchSc6z6DE#fWbf13+WuN=bfGc2(1iEUveJZG$B^6;n=p!U zpb2lGjMb9+$yREvk(z75+nD3cT6#a-glVp~hG!eYvrU-8)kJM-f9iL*&5QakwbLt6 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_bridgesupport.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_bridgesupport.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a477e99d4fb762822ea2b32cbf3a38f34540d759 GIT binary patch literal 27618 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_category.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_category.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..398b0a6e32f2cf03ac3316aa2436d0979bd856ff GIT binary patch literal 3771 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_compat.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_compat.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..026c036960bc630a72cc9c2c612752b618358fa2 GIT binary patch literal 1937 zcmd5-&2Jk;6rZuzUdP)6NE!kpNE=!X7OGc#6`=+s5QQR0D^cp8T&(r(*x7jPvEGaw z+2l}AC9aV;lmkMDTa_OACvZgKV$?)POKyZiZ>YZY)c4lAP80$cE`8FzeV(0ppTGI} z*XijZL;2yJx%qRJu|MfYDw)I>T}0zH^O?^>wodO%$Xl89EN6c97F#!b19i^Nq0akx z)TVEuF7$b+@PM3LE%C^d9UaKF@_6EwUO9X)EF1Z#ZZkdkwwVUU^;CSWjftJPo86_8 zD4c0?Y%#XYb`u}EkgioJN-TX=GOiBn>q6VIw&|6Vl*&B;HK~Lhw3QaF|A2zu;Zad( z*K3BNC&E%bDr~vX4%!VB8DvGXABYYJ&!wu?#-AdiCS@2Es)^&sOgy8rT+a==LQ!`1 zBjwys0+iF}0{Rfz`6$pE-I{aFm-51@^t+)@jz(X~sdp6ysCuFFnpM|>>Xz^u!oi%| zJtqumPN%OoWc&5>GO*uMBTg_KmfJg~jhKfBWUFEBnUT5pH50sZ=I|TgR3EF*wR0md(ky z(iO(8$KzW53`g>x^8(5S$W2OVKGu``$(~TPabqGgIR!JgG{)w* zL34-|gy<)gYadF$`{HU1@B(h4_Q5PE>gE%KiGQ#EbWA)?HO!}lBvm6U{!#T3?uqv; zq?=D4{|jS+t3b1WQk7$Tb-XOr9j literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_context.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_context.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e71c7a36f7549e5489dceab3b33f2e8b6c89b08c GIT binary patch literal 2237 zcmb7F&2Q9J5P$yIFDGP^20;m^eI*IWqTp@eQbkY+p%$U45VfTed+~bhx4RCz_VS*c zV7j2R;t*6-&{L>dRUCRjT>5|XQq)Uo(Nj;oEu>N_PMvx7<_q;uOFM7ud2i-7znOXa z^ML~ff#-*x3d<*Qg#3Xo!$;4Qtwm5ah)Zh3RceZ>x>`r=YBfzED!E8p{Vs8HPt&anM+1PDowW^nB*hHsj2&JDp%v&^U-_7|<3AAzI{nH>9J~Z3bJSaUfiS(MZ5~ zTL3~vGu*~D>}J3LRh*%qY19-fXCe0(^s&}CO-`ex7&jIXfIkgN{^{vnH( z?67SG&D3r=ZQE}#EAwd0%kvoadT#-PEzr+zFHne`dPXn?76N#ebO56b+qpgj3v9!w z{})oQPIKYaxGAzUc18u_+D>&p8BopnZJfAMV!bLDt=IRk7WqTo>UC@b&bomt5(5

E0-TD zNy*Ca$ADDFS_ z3oYx`>-$nOhnC|2Pn1BckPQnpU0kK8~s#coV96z`*_RZM${L$=p@ze3jKhMgC zUl64<@!RP5K!f$AKrX*LbcB3cn$><(X0<&$AOy(+1!dzuSm-N9z?v11WA6;pm;`-K z8XDX~w; zSROfBxC{(EH}Oc@BCrfbmE6q3Gk+0SQg`U&awVS>EXxfXfCLI${GjB+xCeKb1e69u zJ~=kz4w9sJHcjR|ejE%qFk&7Alt)pXt5b?Tc$bVEUMu`g4*i`US7x3Q6eq~Y)UU?T IFACDrzoAu4KL7v# literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..772796a8332948fd1effc29d25d94b5c0b9bc540 GIT binary patch literal 8323 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 Lyam68o&Ek7E0joc literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsarray.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsarray.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e8e3e99a8e857c64ecdb17583534196288487a70 GIT binary patch literal 13561 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsdata.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsdata.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..863fac51d9af8eed1d350731b9061f50583c628a GIT binary patch literal 18399 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 osVRd?eaK6Niz`)m>Nm5ucgLRt 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsstring.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_nsstring.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f97bc21b810ead131895f1464adf97b676c5cf8 GIT binary patch literal 1475 zcmb_b&1)M+6rWkGw7ZJzO&rH=;-*qQNKitw*d@KhF|=-*UaSU02?)xv+L@JCS?`LO zT{}t)Q6ZN$f%Z^HPsM>kVtiOjOo!6B#I97HZX_03Ac!nE|#2Q%|#-tX=E z?fdwBVj_z`etxbrzLOAoEiNNbhDv`6l*fpmDk7Lj9$u5G5=JCNWG}TQS7p%C)wG0Y zW@qS9RjA@%l6iouDp5W~U%!V?Rii3k+SCCdKKbMjjZo^y1OG=d;U!zfOIZ`Zg`Nen^>Pf#w9PP_9%$=KA&Q8xf+2 z;~9&PG5F^JTlOr@-{65+DSvj$T>1FsHnNAbgda)`SN{u2(};^1 zMBEL0(}obYP0MEH1|@ZBlpy=-hUeCdW-D9`{0~d>3kG*XdZlUEx2-z(2epQ6nD#-T zOrP_lG^J)M&W$dnPdC_6;57k@e*{|_^_1L?T30#Q)2F^~ecO6?@1>sa>iJ#$Oh-Ml zckp@itLD)`GT0O#V#PE)>YJuL%&2gK{u@-h ze-;#|HfoGp1p?%tf=q=gv{nYbR1a4{lR5PqE}RNXhdovoJ!`E-tR)5mflk5VV*c7_ zYx?Qjleu3`vttR2`h;&l_W!y0&I9J(=!`eTh){Ob;+4p8+&kvB#AZc=RMWXLtb4*N z;gf80VCEw0Kq`EC|H=L5{Kds<172AkS}gpZncZYmFk|nFz=KviL@BWhC_S70HNTzz z?f8r0^@LKnctq5W1h#3$$3%0L#+!?Yag61po5b`9EDQ!C>+{S%$s%jVk3tK8JXFWTCE z2A#gpM>1aMPomuA_HysSLPwry-*_p{bmf^J_)nkg%K0tn5Bc1F3IK022+#K9$vthV lJ6-CiMo&B5J#nq0F7~t&-P!9Mb!lIb)0uZ^1xpFJzX8vrOS1p~ literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_sequence.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_convenience_sequence.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..912821206f0835f40c245d6db53f15f3db9f448a GIT binary patch literal 2128 zcmb_d-D@316rZ_!KQ_Bf(tKE3Nzx@L#jE6Qv=pVSf{j{gZK|ZT8jxl0&Lr7n@9uSG zZqi$Cp@u%BreMHg@+5r_X^Dc5KKLK#!wvBxEO`ispl?l5L4ESf+>fOCAVLTB?3|f1 zvuA$4-<+Zf=f8eS{L$D6n2@R zgRmlSIj7v3^~EH7h?jif=H=%@LD{(L(VX#{JYN>a2VmFXD4e08PeYHs8nI!y7-stZ zHFMhKzBfwWE6GR?*AbGh6g&g)?7R-<9KwK@XwC}_234z|mHKGo{W5yD1)*!Wf-3kB z#C(F6Fh;k`Br2mXwOM=*k7N^Zin-wgjkSP=;3YW?#$(MVSGZ)!vi|zOzQifx_C$#l z8KuHL0|zhV?F%G|2G1+#xha(EqzT(KPM;5ZP^*gnX~gopQo`4#usHj$8P!y?OPh!Z~e(Zd1$Wx2!04qc`ymvj@)DkRnSxuP8g`SmHK-W zu{3mnvy>N=LXpJ`Kt)_Gv6##y&dBrtKGqK2emU6&<~mw8+dn#S^TfibYVz?N7(t%= za-+%AR2H8>XD_7{EShmE^&T^Yl!0mlHwd1?6}UFj5W}nrzLtQMnMTyE9Im!15i}xA zA@f(QlGw8onv#e4N2@fyHHz+OBUige1K$Jjhmio~7mE=SlrWiOHXR#2_d_mR5OAF0 zGB7sYa)T0mg|Ub!bYkOdNaz(c5VryAaIIbvYRt)M3Rx!WMyyB7pKzoMB}SH2huV}- zPf!73C@`t%Zg}`5Frb7?$Kt^4()XF(jkbf;L-tzRP*oq=%oy`;&dsiO9hleGb@SHj zqFA`Ls`t!mn`YZ$$A`~tboMO2z1DfOy6@tpoE5UK);=kYBtTf;Kd|f>@jJiSlIzEaVMvuR^c4C!9{Wp7pWOZ zB0C7N>OuhuZ(M7@g`rmR?%n!YK_n^kJ&{ddF;vkq%BDu*j3aNq zzIWK&FLTSH$8Sd}y;v4iT{qJA!+TcEMds7s<{{D_ca(+n2u!e#cYc_3W+?(xkFau+}?_;@|FScXLX!f+Db#} z6!HKnv3p4ESF4QrsoKB!MV5tmSu%MJ%zX`Gyp_;!@^=H_sV> RBilVDwjcCl@HwpZ`x`KA>}LP~ literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_descriptors.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_descriptors.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..196a434644f198ad9668157da1d4a09f796d9458 GIT binary patch literal 14144 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 Y=7ohPZXH>5KgI7~y~=Om&FkC$0X&jvL;wH) literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_dyld.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_dyld.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5ef4397324d744ecf2167a088f82cc18abbf5f4e GIT binary patch literal 5857 zcmds5Yj6|S6~6n>1Ic>$B^y8RLcm7Fmc}*-khm1%2gVSSLcqk6R><15Ek%~x-4(Vq zGNYu-V3BkTGfgc|Xzg}7tvj?c{N!hTcBX&iEDg%monfZwOxs@u(@w&l^xV7Jl`u{p zA^p>x*|T@=p1phaoO8eL-1|F+!-nAa$sJ2%#*NUQ@Qr?$3yn=Dh0r46(FhtxJoPhb zgyLzQiP9r9T-hiy$&RoTg0?AYnlz7?p>2-1^kIrufsVj8wjPnntvv|wmfP@6eDGF& z2X7l^_4^UqbB}G;$KuO)2k$Hy+s?bLqLDJ*4bs6^^W|5m5hq^(cP_pXq?@k-Sw72n zJxRBXpN;aIFqw!3<#0S^^O{sA?h1^F!AW5{F21Ffk^5+PR1Au<>JIH`IL52)sh~X3 z9~b)#Rd+Zx7BB7jEB^Z-FD2qIcqx?&kk_S&peXQxP%tzh1VZtc91O>#03J@IUQSkB z@t@Yd<~N3xl9k(a*87J98C$vC!#e-DSxFWqw|i!~;)g#L`e?DcnR9!P@ESy>>Y`_EQqt*v;f+(f}AuZ5~2_&{Dp|8&K@`=4n!J#YAL_5`-kW6S?cpH_rgqO zCTme#T+Yhn?PckKP0&G4#Q>)fiNR%Pl*XVKfe4P%mLp=>(gC+T#UnjhdQ9f16qTlN zTv8}SjR7)TrRHcFrRdv*0U%<`kXqjR#_8U`$yd8i^aakH@9#f(F=S)_C}Imb;oOXY zIE5&%G=+N6cUlpeqf>Om$Q*cFIEr~8I#VJQ{xT#TQ>d_^kq@(KJLF^27?E5`%JFRLxRiY%DyZvLvst zPdSbgG2W?`KsXi=LUNMRt^rL|kbGTarbtJ91q~mlOWh#;f<8;5KU6i$_vT%d3v-#d z?8SSo=Depa+nGInBfQeQ=Gnh`c+JzPxH}&}?}eL_AGu%1S9snXd}v42jh{={XYX{r zNO@V3BPt!2R0||qSd7P1W?YcHjOYO!u?CBsAf%^^c5Sg$Yy=fAR(lyl8m&9(ZyjGA zTpC;+S{lk7IQk*0H1sKs{&aud;z(b~yK3fL4|eWeZQev?Q_Vv+Dyw|=NRF)%%i;A9 z{*->;Sxs^f=mK3s*QjfBX(ncno=w+FFd}2j`|DH@IWn}NOV6WuYMvfrcp!DJq_RFJd^N*q@>@49}3M z%4XOMbGr}}eQG|>h%j0q5elQ7XHljw>7UD2CfTX~!80HTKKp<2R{B_HlLBXs`UbJB#@t^HfZ|Yr%xa6?l~2B`bDpm0F_t=?~Cm~2^7lwpt3-p25HGS(?I4Z=T?oyqGIRSES z0p2Gz;oRc5bULj=wIl?^&_uFHE6emstOThwg>S)ok^=ziGXmA??p?RU<>XRw`O4Cj zoUiA@*OjJ0#eHhtl()Nc_J(|IX57E zx)TgpFLN#oW(F6AGDErgBlli8uasQ?<#OA+X~T@F>lRPlJhj4nT(x(;_Y;?A-BY_b zesg>=dNZ1@s?AsJS$T7O)cVI|O1sGCZ0fyA<)KymwuI{?qy5{ZwtyA#~ zEAHWk)u?*k=MqN9@AtO$`l+PNs5QAKm0T#E0OX26Wi~2sV{s_RycR9qm{&v$URvZy zpv}TeSdt~xesXduF3NqP7#F=JaX;3=93*}Nivu83YD~g0ymaYOfo?@yIS_FK8d3tp z6DW*ajoAss)sh}quYO@=NU82j53M^JvcrmVU;4y9*j=WJ)Z=3mayBjvfAGe~j+S|9 z-F{%T`<~sGudKR0@TuLga42(V;b`V)cK7cgpty6xj-2}+JCWU!wXGb@?diyM^yNJL zitR*>J)sd@X&Hm<#OSm6HxQWU{yUn(ga#!PrZf5}Ix~tXok9w9#+1;RK`%gO%vYu} zV-!MXg>kmf8QO-wYQqXHeUdKG{AJzZlpFt`n$8HWEw+1-$Tn2GQ}_Lb?TFTSV{v@SxH(ptw(N zkLV>R3eZ@ic-j?r`vwEJ{J`mX7L^a(JMwL%?Ch7I@_I$pV$02z#nzjxS$Snxsc2Km z+8#1RfbDVilv7EwHk(9P1)+ZdreYiRi|s-%nh-P~Wi=pu5&DT^L_f5M!-^n^aZ1D@ zjGs+_`1~mlHK6nFtj*+mT>GWKxxOuM?!drlL-y($m$MVukzC8mx$0LGTUUzHv@op)ga;#kgl>{C~LcHrluza0PR`2FUW)|y|sGov&gQ(WCSYxlDuH>h$3K3qzZ zMdB-lPp3T+KGB^d5_D9#6Iuv_nj_o8)@=`Q6;?l(jR@;IlW4UjwTeH^X>f04- zN8Z|)x9-bZ_ipSknarDvWfz@8bsH6^p=tT>(&4FkhB4mYaiKI%JInQpsF{yHfn%+bcym%-+a_zrH)gZ9-2Bxtp6vD+Qx1G literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_framework.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_framework.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0b405c63d5175c5a03065622d474c28f6f650560 GIT binary patch literal 809 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 Dpl_L* literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_locking.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_locking.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..144de73fa99bac0d0e714280ed5d127975fdf4a3 GIT binary patch literal 1929 zcmcIkJ8#@Z5MJ`gJBpV47J>wlu*eHJSR#?6GlC$G!c8I_sg%n zgP%Ht{DqU{=PU;E_hE2CI2jObaXYmJwoUF3-Z>`Rd1g0WgHC1l-RUF$yRs;9sp(!W z=@+WX;<3!LWGXlvrFnc``TqA~L5oU{^Nhx6q!i6Z2O`!Cw`rniMB_Zu;z&=TEZP^+ zq5K%^HS_S^!2x~WPz%|xdOy&U$PKY1_ z3pm-_8g#gQOa=}z8o1m6+vP6U9`Azns$So#FSSrcKR_;@!uRD8D;{mYA~2dviu4?) zpemXOx+fxCN}#VpC_T_Z?xD0aRM=rJRAC}Y|I^_;C8P@XO9||R4(~u~m80-3&-0yc zb6%!Gg*wku74CtmdB$Q?kVUa%4+P&AVQ?t2!!S)oVbjK+1|NSCszi&OB8u+=brqsW zp^*p55)@VKF_vVBW^8)1g)~^Mz603Q3YdrFkGD1+IX|z?VM5|%&*B6{FhYCR+6UNvkc+GEuc}V{B)_(W4o_kx5_0!pt*$Z!5uEIv#hITQu67$@cdOxf zULtV42%hpXB$n5}v@7IbzfP~Vi-Rlgq3;berUn;|ZT(Hyy3Knuz1~LGtbK_7co7V~ z-Tn$*nhc&!#%iCjiMg6EUS;e@c;y#6J;rz*GbS%#B)$>yZ8RHbw!oY=`AkVA7T6f{ zRus%Jd1C>{ak(k gYpAk9K>u_s%X(?MmNUOhto47p8`kz20b>sMAJ7xQu>b%7 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_new.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_new.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..41fed86f22aff0867f683b456d24e0c394b35ce6 GIT binary patch literal 6764 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_protocols.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_protocols.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..029970fffa8f916076af12329e9f05c0ffd79fa8 GIT binary patch literal 1588 zcmcH(O>g5=a9->*&WD?(-z-9M)$I~%X)NG^#OH2Wc4Ry9AE=g(XtTOI=?qU=U$iN=llSxhN|eW69WQD!AhDYh8|t7B0Yp?j67V3 zgC%(h40PDZnnv;gjfA@(-+f7#l2z`4yz>7=9z_3Wnr4s+;xK52U(;#$hO0u5_d_J} z>)*#D3U{$vatcJ!q@brI+5}j4r3KrO+$AirHZ-K5Co2> zw*K6D^xyaOUH0_o14pJb2Do8M)vlkCrsmtZ{K0v>GcK5p?HVMK4_RF;2G#;i)xNT}Pyd!zlk? z6#0Q3o6t&dVX>KfY0s!9M~{Tjznk&CzW{~BpM^w=qxbXQ#oiO~T3x($ET*?nqbF61 z?Z&plO=0jv7^w>*`(p>GXTtSHyyx-6&fAT?{x5E~qR=g$#h_>4Bso$~j_hAOPQJX& zHB*BpsdPP+KIl76jc?y*^bgdgcBi%{n~5tYiLrWOY#$$d^emw?lKp%9&PHQs_)Fo> zDD-Ap9Q35m5)dEWllLd~-#B>pX!yHX9FxIP64+xUbLuMUrICem&S|`YXh*kte*>UVra6FVY7#Uxbbd&{81u3k?1mzp|G* jioLQKIqO1b`0-?IdUyH^DB2RBw|}$yv}*umk#F!H4ghjm literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_pycoder.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_pycoder.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a8cf2c8c4c29a35a39b61e35fd5108dc9100e529 GIT binary patch literal 19335 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

`yTJQ^?3kNU=T#<-$=fv4IQ0 zgntI0*MYx?{}B}3RW>lXNHm)loFgmhKVd*~0WHj}*}bG+tKIXJC)qE(<;kukcU8Ln z+IJV+oAaK^EAGo~h|7ERy5+8?ZOL1c?z;BQg14h|&)EfUtJ-6l3twmNdVAbM~KqAI0y*X6S}%nOdz$7PhqpX#|d0~Z0xHl&&Kt3R`R(2-=4uU@cx z0X_C0Wny&vxj%6QJw&AOaZ>uH4!945z z(pwFqaCqPEztErd{=-4gpUY}U&uUFOzo9bOo2viGi^VGTS_h1F2=F!RfRzWQs-%Zl zEwlhhDs}c( zbRB~}LC4L1ME{BTrxZB~hx?#TFtJH+HMo(Xh;D$H+Ga6udJ1mz3cNHWL<3*}!+BN! z+yzQ#`Yr_8F^rMz1rYGCAD<4WkDY{&?SOPP7La0rQMf!D;FZ&A5uENQ4rI3yCk{5a z2vg?|G$9YD|G|AYb@uCtEh@I_mq z>oJ6DS1z(7G`lOu)+W007B(^a1#3+(dDivVfx+qFYyOFeCl2Q=&Wxq%3nv7yU;OR`1AxJOQh)jfx0sxF zSJI3fT^HX>8t%jWtV2IM_u-Cre^9_XSGK@50cN#lDr?zDBH;JmK9k+pn{yq`u!rwE zJ*l#b-+}iyoT-Wh$Hw$F$S@Sg(R1fa*734#SU+YdlP6`$Fg0nz0#mb=h2YF1!9V(2 z$ewCQujlbZEF@`U{(s>-OgDi`Dr5R42ga3f>1Htc=D^>k^}k00Q!v6s?Bb{zI9n<| z7CjY>orOF3$_;kBY_=~Dv?@y1W%wQ?+&6(G?G#CND`!nB$zDKK3}?k72>V0GWP>y* z{3R5$8`6sMqS0m#iFpuy10c^LZH_@d)C=LKm5sCAH8+E zDd#+xG%T?j3M70e$JQw%JiX-FlnLy*b^O+FrgmS>^<0L1?zeVF@>uG{oPAS<*+l3d z$P7SIjwxP~E#Rw*Mc|$;6yTN$6yOdWTuy9(aVgF~cah_-1N?r%FQH2|EAfgXu#n7x zGF2XY3^-dsS42mx42Ku7Q^zLBH9JK=CF&|_vBFl&P(Kw=T_sAXFbE|j1ixcHSYuhMa7aIjytU?d{kToFPDVbvnGWjhv+4fN?Ti4eoxH*iFO89w$31SBdU{%~XFd471ai9l`9+F+&zdZU6}H zU}+SypJGPXC1I^bZcM;CparHL68;eT&tW!$*;&lun4Q7wGtAComc;B5X76M6GtBUq zh&Vq5RF(-hBxEOBVv~v&*Bgq8aH0z0A*AqhK`v@i=v|OaAwm$S7!dkV2%6om+&w)Y z+=C93m*VrlP#`RlroS?`;w~oPt-Q3J}k4+?uV5gy5eDr znJ#}=#?YG}z|vlmgj31ttgSk|H)m^3Sn}Tblz-7%pY_&f8n)-WI})zEyDlj$y6dv; zx;YmdXeAtZcx>mQy(Vj~Nxzh{wtX}OZB+YAl1ELHQ+ycZzO z(ZyIJG&J=ai-Cgl#)ogvR=O69GQiIK*zvAofvU~dck1Qxsw;0^ep9L6rOLiuK4k-Y v0RA5dn3?+a#Ng$gwC{ty98-(iW~=i51bnv3)7MG;+fL6*2IIe@X~_RK%;?uw literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_pythonify.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_pythonify.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..36e5ed366f0506149b4ec82c82de65ea2e143cfc GIT binary patch literal 3848 zcmcInO>7&-6`uVgSNstrQ9qXBB(y10rX7ii<)7LW;>L0<1aO%j)pf%fT~OSWOlifX zXO~i>P_a@NsFWVewgx1?O`)KNRB#VD=2*0c2Iz${Q;68QK!E0w8!PHiDFl3sf zSeA?vnY~YBPT?MNwrq;GxIAzLMR2(umMF|jyR-2ASN1$+8k*w2mGQbVZL)ZuqAPpbvR|`QuxnN}Ym9q&wYbZncbY?a^ z4f^Pa1ULjel$}}}&M#67wWZ#Jej9Gs-Uf5}i$GS$(@^(=<+bIFiOrLh(5Y3vdVFA& z|3ZAB8Vaxa>mWihjiA9k!9IGhJ`7}?6v+&HTicB5z5SU9LLubI7Hj#q_cm!|9Yik965||zV2a!L0cbHGw^eplkxQnz-k5{fENzHhesH4 z{FkzzD0LWug081-Xu0YCAJ|xF0&v4+bB5(GE9$5pY|lzfEw8A=4Ui6yJ{~FhUOwJGpEHKp$%T&vTddDYcM%Ivd&Wd_r@r9Fc8yvP9M zKN6e({0URU6)^5wn#_y>XOYB(qz$6X;L>x05&Qj%+)3+^oEAY;%1#yxB{I0g4#wlW z+5Vct`Yxp!wX^Oxtc2MsXYuKba~7u2W5A_|tvVhOUN0Mu0oZgK0S_QX!*A}?04k0H zSs_(_s2q+x@yDKaMXFul(zW&E&yzddXSTb~l*2ETUmE|M|NZ>uZvAh*jt6W?}y zf-q8VXN0J&k6NafoJbbtCKYOik`vdIOm;4<+KdBlHinYrwO>GT!~20LZnYvY+!xS! z^(X}21Zl&U-6=^Oari!N^p_b3ePN!^Tk!SFf;IH0fzPcH#2RjaEOWo(o${Ok-(=W#z{d;ZUG5#Sz{JHQ#cNm^cCIs$&FMxumr)|Jrs%mr zBa)rVtIC{`Gceo7zQ34Pu0*~@C8&gbAe)(0m3c+g@yhPLbz@4d<0apdvAR>u^(a7NQAjxR9o~Y;IaNdF+|(Zx?b#c22ovv#lsKgDT)QX8jMWLbs=o)3eh# zMMjp(wq9-1FKdNKRj~!zP|xZD&;)Ti*2vRuL+2pQ1anq2-=gU}6bN(-1V&KkPe7mw z@phJ?5AS{99ju1BR(&5KvKijY z?8Gi^$1YZ4mnz}Q<-p}?FjP9f_9J)l%69BZCH7h+e6<|7`c?S&W^_~kH9W;U z#lIM7RfT%VD&O!6)m0I>56W5Mau){D_s{>Lc5+L%t-A5iN3rd{51GM@Gs;= H3%vdXQo|Xv literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_structtype.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_structtype.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e85855c683a39e77933791d0a8ed17071602bfcb GIT binary patch literal 3570 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_types.cpython-312.pyc b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/__pycache__/_types.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..08a233b729309d6555313e9da561624a84f2e017 GIT binary patch literal 339 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 literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_bridges.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_bridges.py new file mode 100644 index 00000000..e5500564 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_bridges.py @@ -0,0 +1,68 @@ +import collections.abc +import datetime +import pathlib + +from objc import _objc + +__all__ = [ + "registerListType", + "registerMappingType", + "registerSetType", + "registerDateType", + "registerPathType", +] + +_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. + """ + _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. + """ + _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. + """ + _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. + """ + _objc.options._date_types += (type_object,) + + +def registerPathType(type_object): + """ + Register 'type' as a date-like type that will be proxied + as an NSDate subclass. + """ + _objc.options._path_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) +registerPathType(pathlib.Path) diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_bridgesupport.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_bridgesupport.py new file mode 100644 index 00000000..4c0eda16 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_bridgesupport.py @@ -0,0 +1,823 @@ +""" +Backward compatibility with bridgesupport files + +This functionality is deprecated and will be removed in PyObjC 10. +""" + +__all__ = ("initFrameworkWrapper", "parseBridgeSupport") + +import os +import re +import sys +import warnings +import xml.etree.ElementTree as ET +from importlib import 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: # pragma: no branch + typestr = typestr.split(b",", 1)[0] # pragma: no cover + + 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: # pragma: no branch + result.append(_as_bytes(name)) + result.append(b"=") + for nm, tp in fields: + if nm is not None: # pragma: no branch + result.append(b'"') # pragma: no cover + result.append(_as_bytes(nm)) # pragma: no cover + result.append(b'"') # pragma: no cover + + result.append(self.typestr2typestr(tp)) + result.append(stop) + + elif item.startswith(objc._C_ARY_B): # pragma: no branch + m = re.match(rb"^.(\d*)(.*).$", item) # pragma: no cover + result.append(objc._C_ARY_B) # pragma: no cover + result.append(m.group(1)) # pragma: no cover + result.append(self.typestr2typestr(m.group(2))) # pragma: no cover + result.append(objc._C_ARY_E) # pragma: no cover + + 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: # pragma: no branch + if tp == b"?": + return True + elif tp == b"^?": # pragma: no branch + return True # pragma: no cover + elif tp.startswith(objc._C_STRUCT_B): + return has_embedded_function(tp) + + return False # pragma: no cover + + if has_embedded_function(typestr): # pragma: no branch + 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, + stacklevel=2, + ) + 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 10, 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, + stacklevel=2, + ) + + +if sys.version_info[:2] >= (3, 9): # pragma: no branch + + def resource_exists(package, resource): + try: + return resources.files(package).joinpath(resource).is_file() + + except ImportError: + return False + + def resource_string(package, resource): + return resources.files(package).joinpath(resource).read_text() + +else: # pragma: no cover + + def resource_exists(package, resource): + try: + return resources.is_resource(package, resource) + + except ImportError: + return False + + def resource_string(package, resource): + return resources.read_text(package, resource) + + +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 resource_exists(frameworkResourceName, "PyObjC.bridgesupport"): + data = 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 resource_exists(frameworkResourceName, "PyObjCOverrides.bridgesupport"): + data = 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 resource_exists(frameworkResourceName, "PyObjCOverrides.bridgesupport"): + data = resource_string( + frameworkResourceName, "PyObjCOverrides.bridgesupport" + ) + _parseBridgeSupport(data, globals, frameworkName, inlineTab=inlineTab) + + return bundle + + return bundle diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_callable_docstr.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_callable_docstr.py new file mode 100644 index 00000000..b317a98a --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_callable_docstr.py @@ -0,0 +1,324 @@ +__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: + return "struct " + nm = nm.decode("utf-8").lstrip("_") + if "." in nm: + return nm.rsplit(".", 1)[-1] + return nm + + if typestr.startswith(objc._C_VECTOR_B): + base_type = basic_types[typestr[-2:-1]] + if base_type.startswith("unsigned "): + base_type = "u" + base_type.split()[-1] + + count = typestr[1:-2] + return f"simd_{base_type}{count.decode()}" + + 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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_category.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_category.py new file mode 100644 index 00000000..1620d69b --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_category.py @@ -0,0 +1,93 @@ +__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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_compat.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_compat.py new file mode 100644 index 00000000..f0355169 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_compat.py @@ -0,0 +1,33 @@ +import warnings + +from objc import options as _options + + +def setVerbose(value): + warnings.warn("Set objc.options.verbose instead", DeprecationWarning, stacklevel=2) + _options.verbose = bool(value) + + +def getVerbose(): + warnings.warn("Read objc.options.verbose instead", DeprecationWarning, stacklevel=2) + return _options.verbose + + +def setUseKVOForSetattr(value): + warnings.warn("Set objc.options.use_kvo instead", DeprecationWarning, stacklevel=2) + _options.use_kvo = bool(value) + + +def getUseKVOForSetattr(): + warnings.warn("Read objc.options.use_kvo instead", DeprecationWarning, stacklevel=2) + return _options.use_kvo + + +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, stacklevel=2) + + return bytearray(length) diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_context.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_context.py new file mode 100644 index 00000000..7c7dcaa7 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_context.py @@ -0,0 +1,52 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience.py new file mode 100644 index 00000000..c1d43941 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience.py @@ -0,0 +1,237 @@ +""" +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, + registerMetaDataForSelector, + selector, +) +import PyObjCTools.KeyValueCoding as kvc +from objc._new import make_generic_new, NEW_MAP +from objc._transform import _selectorToKeywords +import array +import copy +import ctypes +import socket + +__all__ = ( + "addConvenienceForClass", + "registerABCForClass", + "registerUnavailableMethod", + "registerNewKeywords", + "registerNewKeywordsFromSelector", +) + +CLASS_METHODS = {} +CLASS_ABC = {} + + +options._getKey = kvc.getKey +options._setKey = kvc.setKey +options._getKeyPath = kvc.getKeyPath +options._setKeyPath = kvc.setKeyPath +options._ArrayType = array.ArrayType +options._deepcopy = copy.deepcopy +options._c_void_p = ctypes.c_void_p +options._socket_error = socket.error +options._socket_gaierror = socket.gaierror + +del kvc + +for method in ( + b"alloc", + b"copy", + b"copyWithZone:", + b"mutableCopy", + b"mutableCopyWithZone:", +): + registerMetaDataForSelector( + b"NSObject", method, {"retval": {"already_retained": True}} + ) + + +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'. + """ + + # Only add the generic __new__ to pure ObjC classes, + # __new__ will be added to Python subclasses by + # ._transform. + if not cls.__has_python_implementation__ and type( # noqa: E721 + cls.__mro__[1].__new__ + ) != type(lambda: None): + type_dict["__new__"] = make_generic_new(cls) + + 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 registerUnavailableMethod(classname, selector): + """ + Mark *selector* as unavailable for *classname*. + """ + if not isinstance(selector, bytes): + raise TypeError("selector should by a bytes object") + selname = selector.decode() + + # This adds None as a replacement value instead of + # registering metadata because NS_UNAVAILABLE is + # used to mark abstract base classes with concrete + # public subclasses. + # addConvenienceForClass(classname, ((selname.replace(":", "_"), None),)) + registerMetaDataForSelector( + classname.encode(), + selector, + {"suggestion": f"{selector.decode()!r} is NS_UNAVAILABLE"}, + ) + + if selname.startswith("init"): + kw = _selectorToKeywords(selname) + NEW_MAP.setdefault(classname, {})[kw] = None + + +def registerNewKeywordsFromSelector(classname, selector): + """ + Register keywords calculated from 'selector' as passible + keyword arguments for __new__ for the given class. The + selector should be an 'init' method. + """ + if not isinstance(selector, bytes): + raise TypeError("selector should by a bytes object") + selname = selector.decode() + kw = _selectorToKeywords(selname) + NEW_MAP.setdefault(classname, {})[kw] = selname.replace(":", "_") + + +def registerNewKeywords(classname, keywords, methodname): + """ + Register the keyword tuple 'keywords' as a set of keyword + arguments for __new__ for the given class that will result + in the invocation of the given method. + + Method should be either an init method or a class method. + """ + if not isinstance(keywords, tuple) or not all(isinstance(x, str) for x in keywords): + raise TypeError("keywords must be tuple of strings") + NEW_MAP.setdefault(classname, {})[keywords] = methodname + + +def registerABCForClass(classname, *abc_class): + """ + Register *classname* with the *abc_class*-es when + the class becomes available. + """ + 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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_mapping.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_mapping.py new file mode 100644 index 00000000..5d8751c2 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_mapping.py @@ -0,0 +1,132 @@ +""" +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 similar 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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsarray.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsarray.py new file mode 100644 index 00000000..7d3e7373 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsarray.py @@ -0,0 +1,434 @@ +""" +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 +from ._new import NEW_MAP + +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 branch + ln = sys.maxsize # pragma: no cover + + 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("list indices must be integers or slices") + + 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) + + +for cls in ("NSArray", "__NSArrayI", "__NSArrayM", "__NSArray0"): + NEW_MAP.setdefault(cls, {})[()] = nsarray_new + + +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) + + +for cls in ("NSMutableArray",): + d = NEW_MAP.setdefault(cls, {}) + d[()] = nsmutablearray_new + + +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 all 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", + ( + ("__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), + ), +) + +# 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", + ( + ("__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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdata.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdata.py new file mode 100644 index 00000000..5943928e --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdata.py @@ -0,0 +1,449 @@ +""" +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 +from ._new import NEW_MAP +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)) + + +for cls in ("NSData", "NSMutableData"): + NEW_MAP.setdefault(cls, {})[()] = nsdata__new__ + + +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] + + +# The method implementations below are a bit simplistic, +# but should be "good enough" for most usages of these +# APIs. Cocoa does not have equivalent methods. +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) + + +def nsdata_isascii(self, *args, **kwds): + return bytes(self.bytes()).isascii(*args, **kwds) + + +addConvenienceForClass( + "NSData", + ( + ("__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), + ("isascii", nsdata_isascii), + ("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, 9): # pragma: no branch + + 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: + 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): + value = operator.index(value) + value = value.to_bytes(1, "little") + rng = self.rangeOfData_options_range_(value, 0, (0, len(self))) + if rng[1] == 0: + return + self.replaceBytesInRange_withBytes_length_(rng, b"", 0) + + +def nsmutabledata_insert(self, index, value): + value = operator.index(value) + value = value.to_bytes(1, "little") + self.replaceBytesInRange_withBytes_length_((index, 0), value, len(value)) + + +def nsmutabledata_append(self, value): + value = operator.index(value) + self += bytes([value]) + + +def nsmutabledata_clear(self): + self.setData_(b"") + + +def nsmutabledata_resize(self, size): + cursize = self.length() + if cursize < size: + self.increaseLengthBy_(size - cursize) + elif cursize > size: + self.replaceBytesInRange_withBytes_length_((size, cursize - size), b"", 0) + + +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), + ("resize", nsmutabledata_resize), + ), +) diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdecimal.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdecimal.py new file mode 100644 index 00000000..63e2b18f --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdecimal.py @@ -0,0 +1,119 @@ +""" +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 +from ._new import NEW_MAP + +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") + + +NEW_MAP.setdefault("NSDecimalNumber", {})[()] = decimal_new + +addConvenienceForClass( + "NSDecimalNumber", + ( + ( + "__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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdictionary.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdictionary.py new file mode 100644 index 00000000..6f9294be --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsdictionary.py @@ -0,0 +1,347 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsobject.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsobject.py new file mode 100644 index 00000000..b483d84e --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsobject.py @@ -0,0 +1,123 @@ +""" +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.__pyobjc_magic_coookie__(): + return self is other + return bool(self.isEqualTo_(other)) + + +def nsobject__ne__(self, other): + if self.__pyobjc_magic_coookie__(): + return self is not other + return bool(self.isNotEqualTo_(other)) + + +def nsobject__gt__(self, other): + if self.__pyobjc_magic_coookie__(): + return NotImplemented + return bool(self.isGreaterThan_(other)) + + +def nsobject__ge__(self, other): + if self.__pyobjc_magic_coookie__(): + return NotImplemented + return bool(self.isGreaterThanOrEqualTo_(other)) + + +def nsobject__lt__(self, other): + if self.__pyobjc_magic_coookie__(): + return NotImplemented + return bool(self.isLessThan_(other)) + + +def nsobject__le__(self, other): + if self.__pyobjc_magic_coookie__(): + 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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsset.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsset.py new file mode 100644 index 00000000..7b0ed1b3 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsset.py @@ -0,0 +1,347 @@ +""" +Convenience interface for NSSet/NSMutableSet +""" + +__all__ = () + +import collections.abc + +from objc._convenience import addConvenienceForClass, container_unwrap, container_wrap +from objc._objc import lookUpClass +from ._new import NEW_MAP + +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 + + +NEW_MAP.setdefault("NSSet", {})[()] = nsset_new +NEW_MAP.setdefault("NSMutableSet", {})[()] = nsmutableset_new diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsstring.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsstring.py new file mode 100644 index 00000000..6384d256 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_nsstring.py @@ -0,0 +1,30 @@ +""" +Convenience interface for NSString +""" + +from objc._convenience import addConvenienceForClass +from ._new import NEW_MAP + +__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) + + +for cls in ("NSString", "NSMutableString"): + NEW_MAP.setdefault(cls, {})[()] = nsstring_new + +addConvenienceForClass( + "NSString", + ( + ("__len__", lambda self: self.length()), + ("endswith", lambda self, pfx: self.hasSuffix_(pfx)), + ("startswith", lambda self, pfx: self.hasPrefix_(pfx)), + ), +) diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_sequence.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_sequence.py new file mode 100644 index 00000000..008b8c4f --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_convenience_sequence.py @@ -0,0 +1,55 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_descriptors.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_descriptors.py new file mode 100644 index 00000000..7dc55400 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_descriptors.py @@ -0,0 +1,421 @@ +""" +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, stacklevel=2 + ) + 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, + stacklevel=2, + ) + kw["signature"] = signature + + def makeSignature(func): + return selector(func, **kw) + + return makeSignature diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_dyld.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_dyld.py new file mode 100644 index 00000000..42a50e62 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_dyld.py @@ -0,0 +1,143 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_framework.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_framework.py new file mode 100644 index 00000000..03b805c0 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_framework.py @@ -0,0 +1,26 @@ +""" +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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_informal_protocol.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_informal_protocol.py new file mode 100644 index 00000000..b97b2141 --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_informal_protocol.py @@ -0,0 +1,73 @@ +__all__ = ("informal_protocol",) +import objc +import collections + + +# A mapping from a selector on a list of informal protocols +# implementing that selector. +# +# The current implementation only uses the last informal +# protocol that claims a selector. +_selToProtocolMapping = collections.defaultdict(list) + + +def _informal_protocol_for_selector(sel): + if sel in _selToProtocolMapping: + return _selToProtocolMapping[sel][-1] + else: + return None + + +class informal_protocol: + __slots__ = ("__name__", "selectors") + __module__ = "objc" + + def __init__(self, name, selectors): + if not isinstance(name, str): + raise TypeError( + f"informal_protocol() argument 1 must be str, not {type(name).__name__}" + ) + + self.__name__ = name + self.selectors = tuple(selectors) + for idx, item in enumerate(self.selectors): + if not isinstance(item, objc.selector): + raise TypeError(f"Item {idx} is not a selector") + if isinstance(item, objc.native_selector): + raise TypeError(f"Item {idx} is a native selector") + if item.callable is not None: + raise TypeError(f"Item {idx} has a callable") + + for item in self.selectors: + _selToProtocolMapping[item.selector].append(self) + + def __repr__(self): + return f"" + + def classMethods(self): + """ + Return a list of all class methods that are part of this protocol + """ + return [ + { + "selector": sel.selector, + "typestr": sel.signature, + "required": sel.isRequired, + } + for sel in self.selectors + if sel.isClassMethod + ] + + def instanceMethods(self): + """ + Return a list of all instance methods that are part of this protocol + """ + return [ + { + "selector": sel.selector, + "typestr": sel.signature, + "required": sel.isRequired, + } + for sel in self.selectors + if not sel.isClassMethod + ] diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_lazyimport.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_lazyimport.py new file mode 100644 index 00000000..e770de7b --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_lazyimport.py @@ -0,0 +1,501 @@ +""" +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", "createFrameworkDirAndGetattr") + +import re +import struct +import sys +import warnings + +import objc +import types +from collections import ChainMap +from objc import getClassList, loadBundle, lookUpClass, nosuchclass_error + +ModuleType = types.ModuleType + +_name_re = re.compile("^[A-Za-z_][A-Za-z_0-9]*$") + +_DEFAULT_ALIASES = { + "ULONG_MAX": (sys.maxsize * 2) + 1, + "LONG_MAX": sys.maxsize, + "LONG_MIN": -sys.maxsize - 1, + "DBL_MAX": sys.float_info.max, + "DBL_MIN": sys.float_info.min, + "DBL_EPSILON": sys.float_info.epsilon, + "FLT_MAX": objc._FLT_MAX, + "FLT_MIN": objc._FLT_MIN, + "objc.NULL": objc.NULL, + "UINT32_MAX": 0xFFFFFFFF, +} + + +def _deprecation_level(value): + major, _, minor = value.partition(".") + return int(major) * 100 + int(minor) + + +def _check_deprecated(name, deprecation_version): + if ( + objc.options.deprecation_warnings != "0.0" + and _deprecation_level(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 _prs_enum(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 _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__ = ("_getattr",) + + def __init__(self, getattr_func): + self._getattr = getattr_func + + def __getitem__(self, key): + if key == "CFSTR": + return lambda v: v.decode() + try: + return self._getattr(key) + except AttributeError: + raise KeyError(key) + + +def createFrameworkDirAndGetattr( + *, + name, + frameworkIdentifier, + frameworkPath, + globals_dict, + metadict, + inline_list, + parents, +): + """ + Load the specified framework and return ``__dir__`` and ``__getattr__`` for the + framework bindings. + + The result should be assigned to module constants, e.g. in SomeFramework.py use: + + __dir__, __getattr__ = objc.createFrameworkDirAndGetattr("SomeFramework", "...", "...", globals(), ...) + """ + + # XXX: Implementation can be cleaned up, I've basically moved the old implementation + # from ObjCLazyModule into this function with minor touch ups. + + if frameworkIdentifier is not None or frameworkPath is not None: + bundle = globals_dict["__bundle__"] = _loadBundle( + name, frameworkIdentifier, frameworkPath + ) + else: + bundle = None + + if metadict is None: + metadict = {} + + globals_dict["__framework_identifier__"] = frameworkIdentifier + globals_dict.update(metadict.get("misc", {})) + + varmap = metadict.get("constants") + varmap_deprecated = metadict.get("deprecated_constants", {}) + varmap_dct = metadict.get("constants_dict", {}) + enummap = metadict.get("enums") + enum_deprecated = metadict.get("deprecated_enums", {}) + funcmap = metadict.get("functions") + aliases = metadict.get("aliases") + aliases_deprecated = metadict.get("deprecated_aliases", {}) + + # XXX: informal protocols are not exposed, but added here + # for completeness sake. + # informal_protocols = metadict.get("protocols") + + expressions = metadict.get("expressions") + + def __dir__(): + if "__all__" in globals_dict: + return globals_dict["__all__"] + + globals_dict["__all__"] = calc_all() + return globals_dict["__all__"] + + def __getattr__(name): + if name == "__all__": + # Load everything immediately + value = calc_all() + globals_dict[name] = value + return value + + # First try parent module, as if we had done + # 'from parents import *' (andh hence don't + # look for private names in parent modules) + if not name.startswith("_"): + for p in parents: + try: + value = getattr(p, name) + globals_dict[name] = value + return value + except AttributeError: + pass + + 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 = get_constant(name) + except AttributeError: + pass + + else: + globals_dict[name] = value + return value + + # Then check if the name is class + try: + value = lookUpClass(name) + except nosuchclass_error: + pass + + else: + globals_dict[name] = value + return value + + # Finally give up and raise AttributeError + raise AttributeError(name) + + def calc_all(): + # Ensure that all dynamic entries get loaded + # + # The code tries to resolve through 'expressions_mapping' + # to avoid code duplication, and to get some edge cases correct + nonlocal varmap, enummap, inline_list, expressions, aliases + + if varmap_dct: + for nm in list(varmap_dct): + try: + expressions_mapping[nm] + except KeyError: + pass + + varmap_dct.clear() + + if varmap: + for nm, _tp in re.findall(r"\$([A-Z0-9a-z_]*)(@[^$]*)?(?=\$)", varmap): + # An empty name can happen if the 'constants' definition + # is effectively happened (e.g. "$$"). + if not nm: + continue + + try: + expressions_mapping[nm] + except KeyError: + continue + + varmap = "" + + if enummap: + for nm, _val in re.findall(r"\$([A-Z0-9a-z_]*)@([^$]*)(?=\$)", enummap): + try: + expressions_mapping[nm] + except KeyError: # pragma: no cover + pass # pragma: no cover + + enummap = "" + + if funcmap: + for nm in list(funcmap): + try: + expressions_mapping[nm] + except KeyError: + pass + + funcmap.clear() + + inline_list = None + + if expressions: + for nm in list(expressions): + try: + expressions_mapping[nm] + except KeyError: + pass + expressions = [] + + if aliases: + for nm in list(aliases): + try: + expressions_mapping[nm] + except KeyError: + pass + aliases = [] + + all_names = set() + + # Add all names that are already globals_dict__ + all_names.update(globals_dict) + + # Merge __all__of parents ('from parent import *') + for p in parents: + try: + all_names.update(p.__all__) + except AttributeError: + all_names.update(dir(p)) + + # Add all class names, ignoring names that aren't valid identifiers + all_names.update( + cls.__name__ for cls in getClassList(True) if cls.__name__.isidentifier() + ) + + return sorted({v for v in all_names if not v.startswith("_")}) + + def get_constant(name): + if varmap_dct: + if name in varmap_dct: + tp = 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) + varmap_dct.pop(name) + if name in varmap_deprecated: + _check_deprecated(name, varmap_deprecated[name]) + + return result + + if varmap: + m = re.search(rf"\${name}(@[^$]*)?\$", 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 varmap_deprecated: + _check_deprecated(name, varmap_deprecated[name]) + + return result + + if enummap: + m = re.search(rf"\${name}@([^$]*)\$", enummap) + if m is not None: + result = _prs_enum(m.group(1)) + if name in enum_deprecated: + _check_deprecated(name, enum_deprecated[name]) + return result + + if funcmap: + if name in funcmap: + info = funcmap[name] + + func_list = [(name,) + info] + + d = {} + objc.loadBundleFunctions(bundle, d, func_list) + if name in d: + funcmap.pop(name) + return d[name] + + if inline_list is not None: + objc.loadFunctionList( + inline_list, d, func_list, skip_undefined=True + ) + if name in d: + return d[name] + + if expressions: + if name in expressions: + info = expressions[name] + try: + result = eval(info, {}, expressions_mapping) + expressions.pop(name) + return result + except: # noqa: E722, B001. Ignore all errors in evaluation the expression. + pass + + if aliases: + if name in aliases: + alias = aliases[name] + aliases.pop(name) + + if alias in _DEFAULT_ALIASES: + result = _DEFAULT_ALIASES[alias] + else: + try: + result = expressions_mapping[alias] + except KeyError: + raise AttributeError(name) + + if name in aliases_deprecated: + _check_deprecated(name, aliases_deprecated[name]) + return result + + raise AttributeError(name) + + def load_cftypes(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) + globals_dict[name] = v + continue + except objc.nosuchclass_error: + pass + + if gettypeid_func is None: + func = None + + else: + try: + func = expressions_mapping[gettypeid_func] + except KeyError: + 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") + globals_dict[name] = v + + continue + + v = objc.registerCFSignature(name, typestr, func()) + globals_dict[name] = v + + expressions_mapping = ChainMap(globals_dict, _GetAttrMap(__getattr__)) + load_cftypes(metadict.get("cftypes")) + + __getattr__._pyobjc_parents = parents + __getattr__._pyobjc_funcmap = funcmap + + return __dir__, __getattr__ + + +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. + """ + + def __init__( + self, + name, + frameworkIdentifier, + frameworkPath, + metadict=None, + inline_list=None, + initialdict=None, + parents=(), + ): + # warnings.warn( + # "'ObjCLazyModule' is deprecated, use 'createFrameworkDirAndGetattr' instead", + # DeprecationWarning, + # stacklevel=2, + # ) + super().__init__(name) + self.__dir__, self.__getattr__ = createFrameworkDirAndGetattr( + name=name, + frameworkIdentifier=frameworkIdentifier, + frameworkPath=frameworkPath, + globals_dict=self.__dict__, + inline_list=inline_list, + parents=parents, + metadict=metadict, + ) + + 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 initialdict: + self.__dict__.update(initialdict) diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_locking.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_locking.py new file mode 100644 index 00000000..160e5cfd --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_locking.py @@ -0,0 +1,39 @@ +""" +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)``. + + Usage: + + with 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/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_machsignals.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_machsignals.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..7bb41170d22e739d5432cd85235b42ccc819f179 GIT binary patch literal 68912 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 Oe@Il9t$K0MMe+Y8!MuF{ literal 0 HcmV?d00001 diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_new.py b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_new.py new file mode 100644 index 00000000..119258fb --- /dev/null +++ b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_new.py @@ -0,0 +1,171 @@ +""" +Implementation of `__new__` for arbitrary Cocoa classes + +The __new__ method just translates invocations into the +corresponding invocation of the Cocoa pattern ( +`cls.alloc().init()` or `cls.new()`), based on a mapping +maintaind in this file. + +The mapping is updated in two ways: + 1. From framework bindings for native classes + 2. Based on `init` methods in Python subclasses + +""" + +import objc + +__all__ = () + +# Mapping: class name -> { kwds: selector_name } +# +# That is, keys are names of Objective-C classes, values +# are mappings from keyword argument names to +# the name of a selector. +# +# The selector_name can be `None` to disable a +# mapping in a subclass. +# +# The complete mapping for a class is a chain map +# for the submaps of all classes on the MRO. +NEW_MAP = { + "NSObject": {(): "init"}, +} + +# Sentinel value +UNSET = object() + +# Added to the docstring for __new__ +DOC_SUFFIX = "The order of keyword arguments is significant\n" + + +def calculate_new_doc(cls): + """ + Calculate the docstring for the __new__ + for *cls* + """ + result = {} + for c in reversed(cls.__mro__): + new_map = NEW_MAP.get(c.__name__, UNSET) + if new_map is UNSET: + continue + + for kwds, selector in new_map.items(): + if selector is None: + result.pop(kwds, None) + continue + + if not kwds: + result[kwds] = f"{cls.__name__}():" + else: + result[kwds] = f"{cls.__name__}(*, " + ", ".join(kwds) + "):" + if selector.startswith("init"): + result[ + kwds + ] += f"\n returns cls.alloc().{selector}({', '.join(kwds)})\n\n" + else: + result[kwds] += f"\n returns cls.{selector}({', '.join(kwds)})\n\n" + return "".join(sorted(result.values())) + DOC_SUFFIX + + +class function_wrapper: + """ + Wrapper for the __new__ function to generate the + docstring dynamically. + """ + + __slots__ = ("_function", "_cls") + + def __init__(self, function, cls): + self._function = function + self._cls = cls + + @property + def __class__(self): + return self._function.__class__ + + @property + def __doc__(self): + return calculate_new_doc(self._cls) + + @property + def __module__(self): + return self._cls.__module__ + + def __getattr__(self, name): + if name == "__qualname__": + return ( + (self._cls.__module__ or "objc") + "." + self._cls.__name__ + ".__new__" + ) + elif name == "__name__": + return "__new__" + return getattr(self._function, name) + + def __setattr__(self, name, value): + if name in ("_function", "_cls"): + return object.__setattr__(self, name, value) + return setattr(self._function, name, value) + + def __call__(self, *args, **kwds): + return self._function(*args, **kwds) + + +def new_func(cls, *args, **kwds): + """ + Generic implementation for Objective-C `__new__`. + """ + key = tuple(kwds.keys()) + + for c in cls.__mro__: + new_map = NEW_MAP.get(c.__name__, UNSET) + if new_map is UNSET: + continue + + name = new_map.get(key, UNSET) + if name is UNSET: + continue + + if name is None: + if key: + raise TypeError( + f"{cls.__name__}() does not support keyword arguments {', '.join(repr(k) for k in key)}" + ) + else: + raise TypeError(f"{cls.__name__}() requires keyword arguments") + + if not isinstance(name, str): + # Assume that 'name' is actually a callable. + # + # This is used to implement custom signatures for a number + # of classes in the various ._convenience sibling modules. + return name(cls, *args, **kwds) + + if args: + raise TypeError(f"{cls.__name__}() does not accept positional arguments") + + args = [kwds[n] for n in key] + if name.startswith("init") and len(name) == 4 or name[4].isupper(): + return getattr(cls.alloc(), name)(*args) + + else: + return getattr(cls, name)(*args) + + if key in (("cobject",), ("c_void_p",)): + # Support for creating instances from raw pointers in the default + # __new__ implementation. + return objc.objc_object.__new__(cls, **kwds) + + if key: # pragma: no branch + raise TypeError( + f"{cls.__name__}() does not support keyword arguments {', '.join(repr(k) for k in key)}" + ) + else: # pragma: no cover + # Should never be reached due to a similar test earlier + # in this function. + raise TypeError(f"{cls.__name__}() requires keyword arguments") + + +def make_generic_new(cls): + return function_wrapper(new_func, cls) + + +objc.options._genericNewClass = function_wrapper diff --git a/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_objc.cpython-312-darwin.so b/tools/fusion_clock_acr_wedge/.venv/lib/python3.12/site-packages/objc/_objc.cpython-312-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..ab5798505232801afb00e0b0c18a6c1e6929cac1 GIT binary patch literal 1899224 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%0AP% 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