diff --git a/BOOT/BOOTx64.efi b/BOOT/BOOTx64.efi index 5e2e88b..95df8a3 100644 Binary files a/BOOT/BOOTx64.efi and b/BOOT/BOOTx64.efi differ diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 0000000..8d6d221 --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,41 @@ +# T480-OpenCore-Hackintosh + +### CREDITS: + +- [taina0407](https://github.com/taina0407) For orginal T480 OpenCore repo + +- The guys from [Acidanthera](https://github.com/acidanthera) that make this possible + +- [1Revenger1](https://github.com/1Revenger1) and [leo-labs](https://github.com/leo-labs) for [VoodooRMI](https://github.com/VoodooSMBus/VoodooRMI) and [VoodooSMBus](https://github.com/VoodooSMBus/VoodooSMBus) + +- [al3xtjames](https://github.com/al3xtjames) for [NoTouchID](https://github.com/al3xtjames/NoTouchID) + +- [Apple](http://apple.com) for macOS and HfsPlus.efi + +- [corpnewt](https://github.com/corpnewt) for [USBMap](https://github.com/corpnewt/USBMap) and [CPUFriendDataProvider](https://github.com/corpnewt/CPUFriendFriend) + +- [headkaze](https://github.com/headkaze) for [Hackintool](https://github.com/headkaze/Hackintool) + +- [hieplpvip](https://github.com/hieplpvip) for [AppleBacklightSmoother](https://github.com/hieplpvip/AppleBacklightSmoother) + +- [jwise](https://github.com/jwise) for [HoRNDIS](https://github.com/jwise/HoRNDIS) + +- [Mieze](https://github.com/Mieze) for [IntelMausiEthernet](https://github.com/Mieze/IntelMausiEthernet) + +- [MSzturc](https://github.com/MSzturc) for [ThinkPad Assistant](https://github.com/MSzturc/ThinkpadAssistant) + +- [OpenIntelWireless](https://github.com/OpenIntelWireless/IntelBluetoothFirmware/releases) for [IntelBluetoothFirmware](https://github.com/OpenIntelWireless/IntelBluetoothFirmware), [itlwm](https://github.com/OpenIntelWireless/itlwm) and [HeliPort](hhttps://github.com/OpenIntelWireless/HeliPort) + +- [sicreative](https://github.com/sicreative) for [VoltageShift](https://github.com/sicreative/VoltageShift) + +- [zhen-zen](https://github.com/zhen-zen) for [YogaSMC](https://github.com/zhen-zen/YogaSMC) + +- And every other contributor + +- To all people who help with testing and improving this repo - [afreuden](https://github.com/afreuden), [benbender](https://github.com/benbender), [danny7g](https://github.com/danny7g), [khokho](https://github.com/khokho), [knee41](https://github.com/knee41), [swatchie-1](https://github.com/swatchie-1) , [tienhuynh5312](https://github.com/tienhuynh5312), [UA3](https://github.com/UA3), [villeheikkila](https://github.com/villeheikkila), [zombillano](https://github.com/zombillano) + +- Lots of SSDT patches from [benbender](https://github.com/benbender) + +- People at [r/hackintosh](https://www.reddit.com/r/hackintosh/) for their advices + +- [benbender](https://github.com/benbender), [MSzturc](https://github.com/MSzturc), [simprecicchiani](https://github.com/simprecicchiani) and [xma](https://github.com/xma) for inspirational ThinkPad configurations diff --git a/Checklist/1.png b/Checklist/1.png deleted file mode 100644 index 0d21406..0000000 Binary files a/Checklist/1.png and /dev/null differ diff --git a/Checklist/2.png b/Checklist/2.png deleted file mode 100644 index 80ec0b7..0000000 Binary files a/Checklist/2.png and /dev/null differ diff --git a/OC/ACPI/SSDT-AC.aml b/OC/ACPI/SSDT-AC.aml new file mode 100644 index 0000000..f362fa1 Binary files /dev/null and b/OC/ACPI/SSDT-AC.aml differ diff --git a/OC/ACPI/SSDT-ALS0.aml b/OC/ACPI/SSDT-ALS0.aml deleted file mode 100644 index 987f2b5..0000000 Binary files a/OC/ACPI/SSDT-ALS0.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-ARPT.aml b/OC/ACPI/SSDT-ARPT.aml new file mode 100644 index 0000000..b0b4f8b Binary files /dev/null and b/OC/ACPI/SSDT-ARPT.aml differ diff --git a/OC/ACPI/SSDT-AUDIO-HPET_RTC_TIMR-fix.aml b/OC/ACPI/SSDT-AUDIO-HPET_RTC_TIMR-fix.aml deleted file mode 100644 index fac62dd..0000000 Binary files a/OC/ACPI/SSDT-AUDIO-HPET_RTC_TIMR-fix.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-BATX.aml b/OC/ACPI/SSDT-BATX.aml new file mode 100644 index 0000000..51f9a39 Binary files /dev/null and b/OC/ACPI/SSDT-BATX.aml differ diff --git a/OC/ACPI/SSDT-BKeyQ14Q15-TP-LPCB.aml b/OC/ACPI/SSDT-BKeyQ14Q15-TP-LPCB.aml deleted file mode 100644 index 5528a60..0000000 Binary files a/OC/ACPI/SSDT-BKeyQ14Q15-TP-LPCB.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-CPUFriend-PM.aml b/OC/ACPI/SSDT-CPUFriend-PM.aml deleted file mode 100644 index 81c4ee0..0000000 Binary files a/OC/ACPI/SSDT-CPUFriend-PM.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-DEVICE.aml b/OC/ACPI/SSDT-DEVICE.aml new file mode 100644 index 0000000..2eb37b2 Binary files /dev/null and b/OC/ACPI/SSDT-DEVICE.aml differ diff --git a/OC/ACPI/SSDT-EC.aml b/OC/ACPI/SSDT-EC.aml new file mode 100644 index 0000000..427e15a Binary files /dev/null and b/OC/ACPI/SSDT-EC.aml differ diff --git a/OC/ACPI/SSDT-GPI0.aml b/OC/ACPI/SSDT-GPI0.aml deleted file mode 100644 index 37c32b5..0000000 Binary files a/OC/ACPI/SSDT-GPI0.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-HWAC.aml b/OC/ACPI/SSDT-HWAC.aml new file mode 100644 index 0000000..41c2e8e Binary files /dev/null and b/OC/ACPI/SSDT-HWAC.aml differ diff --git a/OC/ACPI/SSDT-INIT.aml b/OC/ACPI/SSDT-INIT.aml new file mode 100644 index 0000000..84d1cc6 Binary files /dev/null and b/OC/ACPI/SSDT-INIT.aml differ diff --git a/OC/ACPI/SSDT-KBRD.aml b/OC/ACPI/SSDT-KBRD.aml new file mode 100644 index 0000000..43d057a Binary files /dev/null and b/OC/ACPI/SSDT-KBRD.aml differ diff --git a/OC/ACPI/SSDT-OCBAT0-TP.aml b/OC/ACPI/SSDT-OCBAT0-TP.aml deleted file mode 100644 index 2e4fbf6..0000000 Binary files a/OC/ACPI/SSDT-OCBAT0-TP.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-OCBATC-TP-LPCB.aml b/OC/ACPI/SSDT-OCBATC-TP-LPCB.aml deleted file mode 100644 index 8c7062b..0000000 Binary files a/OC/ACPI/SSDT-OCBATC-TP-LPCB.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-OCBATC-TP-NTFY.aml b/OC/ACPI/SSDT-OCBATC-TP-NTFY.aml deleted file mode 100644 index bcfd99f..0000000 Binary files a/OC/ACPI/SSDT-OCBATC-TP-NTFY.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-OFFDGPU.aml b/OC/ACPI/SSDT-OFFDGPU.aml new file mode 100644 index 0000000..89ef804 Binary files /dev/null and b/OC/ACPI/SSDT-OFFDGPU.aml differ diff --git a/OC/ACPI/SSDT-OFFTB.aml b/OC/ACPI/SSDT-OFFTB.aml new file mode 100644 index 0000000..e985fb9 Binary files /dev/null and b/OC/ACPI/SSDT-OFFTB.aml differ diff --git a/OC/ACPI/SSDT-PLUG-_PR.PR00.aml b/OC/ACPI/SSDT-PLUG-_PR.PR00.aml deleted file mode 100644 index 0c2c73e..0000000 Binary files a/OC/ACPI/SSDT-PLUG-_PR.PR00.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-PM.aml b/OC/ACPI/SSDT-PM.aml new file mode 100644 index 0000000..4b2a902 Binary files /dev/null and b/OC/ACPI/SSDT-PM.aml differ diff --git a/OC/ACPI/SSDT-PNLF-SKL_KBL.aml b/OC/ACPI/SSDT-PNLF-SKL_KBL.aml deleted file mode 100644 index 4b8b364..0000000 Binary files a/OC/ACPI/SSDT-PNLF-SKL_KBL.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-PNLF.aml b/OC/ACPI/SSDT-PNLF.aml new file mode 100644 index 0000000..3770206 Binary files /dev/null and b/OC/ACPI/SSDT-PNLF.aml differ diff --git a/OC/ACPI/SSDT-SBUS.aml b/OC/ACPI/SSDT-SBUS.aml deleted file mode 100644 index 2a590ff..0000000 Binary files a/OC/ACPI/SSDT-SBUS.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-SLEEP-EXT3-LedReset-TP.aml b/OC/ACPI/SSDT-SLEEP-EXT3-LedReset-TP.aml deleted file mode 100644 index f9c80e5..0000000 Binary files a/OC/ACPI/SSDT-SLEEP-EXT3-LedReset-TP.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-SLEEP-EXT4-WakeScreen.aml b/OC/ACPI/SSDT-SLEEP-EXT4-WakeScreen.aml deleted file mode 100644 index 89617b2..0000000 Binary files a/OC/ACPI/SSDT-SLEEP-EXT4-WakeScreen.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-SLEEP-PTSWAK.aml b/OC/ACPI/SSDT-SLEEP-PTSWAK.aml deleted file mode 100644 index b4c1a76..0000000 Binary files a/OC/ACPI/SSDT-SLEEP-PTSWAK.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-SLEEP-TP-BUTTON.aml b/OC/ACPI/SSDT-SLEEP-TP-BUTTON.aml deleted file mode 100644 index c6aa7f2..0000000 Binary files a/OC/ACPI/SSDT-SLEEP-TP-BUTTON.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-SLEEP-TP-LID.aml b/OC/ACPI/SSDT-SLEEP-TP-LID.aml deleted file mode 100644 index b295462..0000000 Binary files a/OC/ACPI/SSDT-SLEEP-TP-LID.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-SLEEP-WAKE-GPRW.aml b/OC/ACPI/SSDT-SLEEP-WAKE-GPRW.aml deleted file mode 100644 index ea979c7..0000000 Binary files a/OC/ACPI/SSDT-SLEEP-WAKE-GPRW.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-SLEEP.aml b/OC/ACPI/SSDT-SLEEP.aml new file mode 100644 index 0000000..62b73f5 Binary files /dev/null and b/OC/ACPI/SSDT-SLEEP.aml differ diff --git a/OC/ACPI/SSDT-Thinkpad_Trackpad.aml b/OC/ACPI/SSDT-Thinkpad_Trackpad.aml deleted file mode 100644 index b04e23f..0000000 Binary files a/OC/ACPI/SSDT-Thinkpad_Trackpad.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-UIAC.aml b/OC/ACPI/SSDT-UIAC.aml deleted file mode 100644 index 8ef2206..0000000 Binary files a/OC/ACPI/SSDT-UIAC.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-USBX.aml b/OC/ACPI/SSDT-USBX.aml deleted file mode 100644 index d4a3aae..0000000 Binary files a/OC/ACPI/SSDT-USBX.aml and /dev/null differ diff --git a/OC/ACPI/SSDT-UTILS.aml b/OC/ACPI/SSDT-UTILS.aml new file mode 100644 index 0000000..d6dad3b Binary files /dev/null and b/OC/ACPI/SSDT-UTILS.aml differ diff --git a/OC/ACPI/SSDT-XHC.aml b/OC/ACPI/SSDT-XHC.aml new file mode 100644 index 0000000..8fdcaef Binary files /dev/null and b/OC/ACPI/SSDT-XHC.aml differ diff --git a/OC/ACPI/SSDT-YOGASMC.aml b/OC/ACPI/SSDT-YOGASMC.aml new file mode 100644 index 0000000..70c0282 Binary files /dev/null and b/OC/ACPI/SSDT-YOGASMC.aml differ diff --git a/OC/Drivers/ApfsDriverLoader.efi b/OC/Drivers/ApfsDriverLoader.efi deleted file mode 100644 index 9d0ac17..0000000 Binary files a/OC/Drivers/ApfsDriverLoader.efi and /dev/null differ diff --git a/OC/Drivers/AudioDxe.efi b/OC/Drivers/AudioDxe.efi new file mode 100644 index 0000000..a741e20 Binary files /dev/null and b/OC/Drivers/AudioDxe.efi differ diff --git a/OC/Drivers/CrScreenshotDxe.efi b/OC/Drivers/CrScreenshotDxe.efi new file mode 100644 index 0000000..640d7f7 Binary files /dev/null and b/OC/Drivers/CrScreenshotDxe.efi differ diff --git a/OC/Drivers/FwRuntimeServices.efi b/OC/Drivers/FwRuntimeServices.efi deleted file mode 100644 index 7f337e6..0000000 Binary files a/OC/Drivers/FwRuntimeServices.efi and /dev/null differ diff --git a/OC/Drivers/HfsPlus.efi b/OC/Drivers/HfsPlus.efi new file mode 100644 index 0000000..154665a Binary files /dev/null and b/OC/Drivers/HfsPlus.efi differ diff --git a/OC/Drivers/OpenCanopy.efi b/OC/Drivers/OpenCanopy.efi new file mode 100644 index 0000000..fcf6904 Binary files /dev/null and b/OC/Drivers/OpenCanopy.efi differ diff --git a/OC/Drivers/OpenRuntime.efi b/OC/Drivers/OpenRuntime.efi new file mode 100644 index 0000000..9d5d4e8 Binary files /dev/null and b/OC/Drivers/OpenRuntime.efi differ diff --git a/OC/Drivers/VBoxHfs.efi b/OC/Drivers/VBoxHfs.efi deleted file mode 100644 index 06a74a9..0000000 Binary files a/OC/Drivers/VBoxHfs.efi and /dev/null differ diff --git a/OC/Kexts/AirportBrcmFixup.kext/Contents/Info.plist b/OC/Kexts/AirportBrcmFixup.kext/Contents/Info.plist deleted file mode 100644 index b508392..0000000 --- a/OC/Kexts/AirportBrcmFixup.kext/Contents/Info.plist +++ /dev/null @@ -1,173 +0,0 @@ - - - - - BuildMachineOSBuild - 18E226 - CFBundleDevelopmentRegion - en - CFBundleExecutable - AirportBrcmFixup - CFBundleIdentifier - as.lvs1974.AirportBrcmFixup - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - AirportBrcmFixup - CFBundlePackageType - KEXT - CFBundleShortVersionString - 2.0.6 - CFBundleSignature - ???? - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 2.0.6 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 10E1001 - DTPlatformVersion - GM - DTSDKBuild - 18E219 - DTSDKName - macosx10.14 - DTXcode - 1020 - DTXcodeBuild - 10E1001 - IOKitPersonalities - - Airport_Brcm4360 - - CFBundleIdentifier - com.apple.driver.AirPort.Brcm4360 - IOClass - AirPort_Brcm4360 - IOMatchCategory - IODefaultMatchCategory - IONameMatch - - pci14e4,4331 - pci14e4,4353 - pci14e4,4357 - pci14e4,43a3 - pci14e4,43b1 - pci14e4,43b2 - - IOProbeScore - 1110 - IOProviderClass - IOPCIDevice - TruePowerOff - - - Airport_BrcmNIC - - CFBundleIdentifier - com.apple.driver.AirPort.BrcmNIC - IOClass - AirPort_BrcmNIC - IOMatchCategory - IODefaultMatchCategory - IONameMatch - - pci14e4,43ba - pci14e4,43a3 - pci14e4,43a0 - pci14e4,43b1 - pci14e4,43b2 - - IOProbeScore - 2048 - IOProviderClass - IOPCIDevice - TruePowerOff - - - Broadcom 802.11 PCI - - CFBundleIdentifier - as.lvs1974.AirportBrcmFixup - IOClass - FakeBrcm - IOMatchCategory - IODefaultMatchCategory - IONameMatch - - pci14e4,43ba - pci14e4,43a3 - pci14e4,43a0 - pci14e4,4331 - pci14e4,4353 - pci14e4,43b1 - pci14e4,43b2 - pci14e4,4357 - pci14e4,432b - pci14e4,4311 - pci14e4,4312 - pci14e4,4313 - pci14e4,4318 - pci14e4,4319 - pci14e4,431a - pci14e4,4320 - pci14e4,4324 - pci14e4,4325 - pci14e4,4328 - pci14e4,432c - pci14e4,432d - - IOProbeScore - 6000 - IOProviderClass - IOPCIDevice - TruePowerOff - - - as.lvs1974.AirportBrcmFixup - - CFBundleIdentifier - as.lvs1974.AirportBrcmFixup - IOClass - AirportBrcmFixup - IOMatchCategory - AirportBrcmFixup - IOProviderClass - IOResources - IOResourceMatch - IOKit - - - NSHumanReadableCopyright - Copyright © 2017 lvs1974. All rights reserved. - OSBundleCompatibleVersion - 1.0 - OSBundleLibraries - - as.vit9696.Lilu - 1.2.6 - com.apple.iokit.IONetworkingFamily - 1.5 - com.apple.iokit.IOPCIFamily - 2.7 - com.apple.kpi.bsd - 12.0.0 - com.apple.kpi.dsep - 12.0.0 - com.apple.kpi.iokit - 12.0.0 - com.apple.kpi.libkern - 12.0.0 - com.apple.kpi.mach - 12.0.0 - com.apple.kpi.unsupported - 12.0.0 - - OSBundleRequired - Network-Root - - diff --git a/OC/Kexts/AirportBrcmFixup.kext/Contents/MacOS/AirportBrcmFixup b/OC/Kexts/AirportBrcmFixup.kext/Contents/MacOS/AirportBrcmFixup deleted file mode 100755 index 98e26fc..0000000 Binary files a/OC/Kexts/AirportBrcmFixup.kext/Contents/MacOS/AirportBrcmFixup and /dev/null differ diff --git a/OC/Kexts/AirportItlwmBigSur.kext/Contents/Info.plist b/OC/Kexts/AirportItlwmBigSur.kext/Contents/Info.plist new file mode 100644 index 0000000..96b3570 --- /dev/null +++ b/OC/Kexts/AirportItlwmBigSur.kext/Contents/Info.plist @@ -0,0 +1,85 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleExecutable + AirportItlwm + CFBundleIdentifier + com.zxystd.AirportItlwm + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + AirportItlwm + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.3.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.3.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12D4e + DTPlatformName + macosx + DTPlatformVersion + 11.1 + DTSDKBuild + 20C63 + DTSDKName + macosx11.1 + DTXcode + 1240 + DTXcodeBuild + 12D4e + IOKitPersonalities + + itlwm + + CFBundleIdentifier + com.zxystd.AirportItlwm + IOClass + AirportItlwm + IOMatchCategory + IODefaultMatchCategory + IOPCIMatch + 0x27238086 0x43F08086 0xA0F08086 0x34F08086 0x4DF08086 0x02F08086 0x3DF08086 0x06F08086 0x27208086 0x08b18086 0x08b28086 0x08b38086 0x08b48086 0x095a8086 0x095b8086 0x31658086 0x31668086 0x24f38086 0x24f48086 0x24f58086 0x24f68086 0x24fb8086 0x24fd8086 0x25268086 0x9df08086 0xa3708086 0x31DC8086 0x30DC8086 0x271C8086 0x271B8086 0x42a48086 0x00a08086 0x00a48086 0x02a08086 0x40a48086 0x00608086 0x00648086 0x02608086 0x02648086 0x42298086 0x422b8086 0x422c8086 0x42308086 0x42328086 0x42358086 0x42368086 0x42378086 0x42388086 0x42398086 0x423a8086 0x423b8086 0x423c8086 0x423d8086 0x00828086 0x00838086 0x00848086 0x00858086 0x00878086 0x00898086 0x008a8086 0x008b8086 0x00908086 0x00918086 0x08928086 0x08938086 0x08948086 0x08958086 0x08968086 0x08978086 0x08ae8086 0x08af8086 0x088e8086 0x088f8086 0x08908086 0x08918086 0x08878086 0x08888086 + IOProbeScore + 2000 + IOProviderClass + IOPCIDevice + + + LSMinimumSystemVersion + 10.15 + NSHumanReadableCopyright + Copyright © 2020 钟先耀. All rights reserved. + OSBundleLibraries + + com.apple.iokit.IO80211Family + 1200.12.2b1 + com.apple.iokit.IONetworkingFamily + 3.2 + com.apple.iokit.IOPCIFamily + 2.9 + com.apple.kpi.bsd + 16.7 + com.apple.kpi.iokit + 16.7 + com.apple.kpi.libkern + 16.7 + com.apple.kpi.mach + 16.7 + + OSBundleRequired + Network-Root + + diff --git a/OC/Kexts/AirportItlwmBigSur.kext/Contents/MacOS/AirportItlwm b/OC/Kexts/AirportItlwmBigSur.kext/Contents/MacOS/AirportItlwm new file mode 100755 index 0000000..4aeec95 Binary files /dev/null and b/OC/Kexts/AirportItlwmBigSur.kext/Contents/MacOS/AirportItlwm differ diff --git a/OC/Kexts/AirportItlwmCatalina.kext/Contents/Info.plist b/OC/Kexts/AirportItlwmCatalina.kext/Contents/Info.plist new file mode 100644 index 0000000..96b3570 --- /dev/null +++ b/OC/Kexts/AirportItlwmCatalina.kext/Contents/Info.plist @@ -0,0 +1,85 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleExecutable + AirportItlwm + CFBundleIdentifier + com.zxystd.AirportItlwm + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + AirportItlwm + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.3.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.3.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12D4e + DTPlatformName + macosx + DTPlatformVersion + 11.1 + DTSDKBuild + 20C63 + DTSDKName + macosx11.1 + DTXcode + 1240 + DTXcodeBuild + 12D4e + IOKitPersonalities + + itlwm + + CFBundleIdentifier + com.zxystd.AirportItlwm + IOClass + AirportItlwm + IOMatchCategory + IODefaultMatchCategory + IOPCIMatch + 0x27238086 0x43F08086 0xA0F08086 0x34F08086 0x4DF08086 0x02F08086 0x3DF08086 0x06F08086 0x27208086 0x08b18086 0x08b28086 0x08b38086 0x08b48086 0x095a8086 0x095b8086 0x31658086 0x31668086 0x24f38086 0x24f48086 0x24f58086 0x24f68086 0x24fb8086 0x24fd8086 0x25268086 0x9df08086 0xa3708086 0x31DC8086 0x30DC8086 0x271C8086 0x271B8086 0x42a48086 0x00a08086 0x00a48086 0x02a08086 0x40a48086 0x00608086 0x00648086 0x02608086 0x02648086 0x42298086 0x422b8086 0x422c8086 0x42308086 0x42328086 0x42358086 0x42368086 0x42378086 0x42388086 0x42398086 0x423a8086 0x423b8086 0x423c8086 0x423d8086 0x00828086 0x00838086 0x00848086 0x00858086 0x00878086 0x00898086 0x008a8086 0x008b8086 0x00908086 0x00918086 0x08928086 0x08938086 0x08948086 0x08958086 0x08968086 0x08978086 0x08ae8086 0x08af8086 0x088e8086 0x088f8086 0x08908086 0x08918086 0x08878086 0x08888086 + IOProbeScore + 2000 + IOProviderClass + IOPCIDevice + + + LSMinimumSystemVersion + 10.15 + NSHumanReadableCopyright + Copyright © 2020 钟先耀. All rights reserved. + OSBundleLibraries + + com.apple.iokit.IO80211Family + 1200.12.2b1 + com.apple.iokit.IONetworkingFamily + 3.2 + com.apple.iokit.IOPCIFamily + 2.9 + com.apple.kpi.bsd + 16.7 + com.apple.kpi.iokit + 16.7 + com.apple.kpi.libkern + 16.7 + com.apple.kpi.mach + 16.7 + + OSBundleRequired + Network-Root + + diff --git a/OC/Kexts/AirportItlwmCatalina.kext/Contents/MacOS/AirportItlwm b/OC/Kexts/AirportItlwmCatalina.kext/Contents/MacOS/AirportItlwm new file mode 100755 index 0000000..49b29d7 Binary files /dev/null and b/OC/Kexts/AirportItlwmCatalina.kext/Contents/MacOS/AirportItlwm differ diff --git a/OC/Kexts/AppleALC.kext/Contents/Info.plist b/OC/Kexts/AppleALC.kext/Contents/Info.plist index 0b3e8e3..ca3069a 100644 --- a/OC/Kexts/AppleALC.kext/Contents/Info.plist +++ b/OC/Kexts/AppleALC.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.4.7 + 1.6.0 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,29 +25,128 @@ MacOSX CFBundleVersion - 1.4.7 + 1.6.0 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities + ALCUserClientProvider + + CFBundleIdentifier + as.vit9696.AppleALC + IOClass + ALCUserClientProvider + IOMatchCategory + ALCUserClientProvider + IOProbeScore + 1000 + IOProviderClass + IOHDACodecDevice + IOUserClientClass + ALCUserClient + HDA Hardware Config Resource CFBundleIdentifier com.apple.driver.AppleHDAHardwareConfigDriver HDAConfigDefault + + AFGLowPowerState + + AwAAAA== + + Codec + agasecond - Realtek ALC256 (3246) for Xiaomi Pro Enhanced 2019 + CodecID + 283902550 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxzwAUcdAAFHHgABRx9AAYcc8AGH + HQABhx4AAYcfQAGXHEABlx0QAZceqwGXHwQB + pxzwAacdAAGnHgABpx9AAbccEAG3HQEBtx4X + AbcfkAG3DAIB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHDACFx0QAhceKwIX + HwQCFwwCAgUAEAIEACACBQBGAgQwpA== + + FuncGroup + 1 + LayoutID + 69 + WakeConfigData + + AbcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902569 + Comment + Custom ALC269VD for ThinkPad T430 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHEABRx0BAUce + FwFHH5ABVxxQAVcdEAFXHiEBVx8CAXcc8AF3 + HQABdx4AAXcfQAGHHCABhx0QAYcegQGHHwIB + lxxwAZcdEAGXHqEBlx8CAacccAGnHRABpx6h + AacfAgG3HHABtx0QAbceoQG3HwIB1xxwAdcd + EAHXHqEB1x8CAecccAHnHRAB5x6hAecfAgFH + DAI= + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 287143573 + Comment + Toshiba Satellite Pro C50 + ConfigData + + AKccQACnHRAApx4hAKcfAQC3HCAAtx0QALce + gQC3HwEAxxzwAMcdAADHHgAAxx9AANccMADX + HQEA1x4QANcfkADnHBAA5x0BAOceoADnH5AA + 9xzwAPcdAAD3HgAA9x9AAYcc8AGHHQABhx4A + AYcfQA== + + FuncGroup + 1 + LayoutID + 11 + AFGLowPowerState @@ -75,6 +174,33 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359128 + Comment + phucnguyen2411 - CX20632 HP Elitedesk 800 G5 mini + ConfigData + + AXcMAAG3DAAB1xwRAdcdEQHXHoEB1x8CAdcM + AgHHHCABxx0RAcceAQHHHwIBpwckAaccMAGn + HRABpx6BAacfAgGXHEABlx0QAZceIQGXHwIB + 9xxRAfcdAQH3Hh8B9x+Q + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AXcMAAGnByQBtwwAAdcMAA== + + WakeVerbReinit + + AFGLowPowerState @@ -131,14 +257,16 @@ AwAAAA== Codec - Creative CA0132, Alienware 15 R2 + Creative CA0132: Alienware 15 R2 CodecID 285343761 ConfigData - AVcKAQFnAwAAtxwQALcdQQC3HhAAtx+QANcc - 8ADXHQAA1x4AANcfQAD3HCABFxxAARcegQEn - HDABJx+Q + AVcKAQFXDwEAFxceABcWHwAXFRABVxcNAVcY + IAC3HhAAtx+QANcc8ADXHQAA1x4AANcfQADn + HPAA5x0AAOceAADnH0AA9xwgAPcfAQEHHPAB + Bx0AAQceAAEHH0ABFxxAARcegQEXHwEBJxwA + AScfkAE3HPABNx0AATceAAE3H0A= FuncGroup 1 @@ -151,14 +279,16 @@ AwAAAA== Codec - Creative CA0132, 2.0 + front HP + Creative CA0132: Alienware 17, Desktop 2xIn 3xOut CodecID 285343761 ConfigData - ABcXHgAXFRABVwoBAScIgQFnCIABVxcNAVcY - JADXHPAA1x0AANceAADXH0ABBx4hAScfkAE3 - HPABNx0AATceAAE3H0A= + AVcKAQFXDwEAFxceABcWHwAXFRABVxcNAVcY + JAC3HhAAtx+QANcc8ADXHQAA1x4AANcfQADn + HPAA5x0AAOceAADnH0AA9xwgAPcfAQEHHDAB + Bx4hAQcfAQEXHEABFx6BARcfAQEnHAABJx+Q + ATcc8AE3HQABNx4AATcfQA== FuncGroup 1 @@ -191,15 +321,17 @@ AwAAAA== Codec - Creative CA0132, 5.1 with C/Sub + Creative CA0132: R3Di default CodecID 285343761 ConfigData - ABcWHwAXFx4AFxUUAVcKAQEnCIEBZwiAAVcX - DQFXGCQA1xzwANcdAADXHgAA1x9AAOcc8ADn - HQAA5x4AAOcfQAEHHgEBJx+QATcc8AE3HQAB - Nx4AATcfQAGHHPABhx0AAYceAAGHH0A= + AVcKAQFXDwEAFxceABcWHwAXFRQBVxcNAVcY + JAC3HUEA1xzwANcdAADXHgAA1x9AAOcc8ADn + HQAA5x4AAOcfQAD3HCAA9x8BAQccMAEHHgEB + Bx8BARccQAEXHgEBFx8BASccAAEnH5ABNxzw + ATcdAAE3HgABNx9AAYcc8AGHHQABhx4AAYcf + QA== FuncGroup 1 @@ -245,6 +377,30 @@ LayoutID 6 + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132: ZxRi + CodecID + 285343761 + ConfigData + + AVcKAQFXDwEAF5AzABcXDwAXFg8AFxUNAVcX + GAFXGBQBVxcaAVcYkQFQoCABUQAYAV8BAAFT + AIMBVAAAAVcXDQFXGCQAtx1BANcc8ADXHQAA + 1x4AANcfQADnHPAA5x0AAOceAADnH0AA9xwg + APcfAQEHHDABBx4BAQcfAQEXHEABFx4BARcf + AQEnH5ABNxzwATcdAAE3HgABNx9AAYcc8AGH + HQABhx4AAYcfQA== + + FuncGroup + 1 + LayoutID + 7 + AFGLowPowerState @@ -329,6 +485,29 @@ LayoutID 12 + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132 5.1 channel for Alienware-M17X-R4 by DalianSky + CodecID + 285343761 + ConfigData + + ALccEAC3HUEAtx4QALcfkADHHCAAxx0gAMce + RQDHHwEA1xzwANcdAADXHgAA1x9AAOcc8ADn + HQAA5x4AAOcfQAD3HFAA9x1AAPceIQD3HwEB + BxzwAQcdAAEHHgABBx9AARcccAEXHRABFx4B + ARcfAQEnHIABJx2RASceoAEnH5ABNxzwATcd + AAE3HgABNx9AAYcc8AGHHQABhx4AAYcfQA== + + FuncGroup + 1 + LayoutID + 99 + AFGLowPowerState @@ -622,15 +801,15 @@ AwAAAA== Codec - Goldfish64 - ALC221 for HP Compaq Pro 4300/Pro 6300/Elite 8300 + Goldfish64 - ALC221 for HP Compaq Pro 4300/Pro 6300/Elite 8300 (All Form Factors) CodecID 283902497 ConfigData AUccIAFHHUABRx4BAUcfAQFHDAIBdxwQAXcd AQF3HhcBdx+QAXcMAgGnHEABpx0QAacegQGn - HwIBtxwwAbcdMAG3HoEBtx8BAhccUAIXHRAC - Fx4hAhcfAgIXDAI= + HwIBpwckAbccMAG3HTABtx6BAbcfAQIXHFAC + Fx0QAhceIQIXHwICFwwC FuncGroup 1 @@ -638,7 +817,7 @@ 11 WakeConfigData - AUcMAg== + AUcMAgF3DAIBpwckAhcMAg== WakeVerbReinit @@ -670,6 +849,57 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + ALC221 for HP ProDesk 400 G2 Desktop Mini PC by dragonbbc + CodecID + 283902497 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAF3DAICFxwgAhcd + EAIXHiECFx8CAaccMAGnHRABpx6BAacfAg== + + FuncGroup + 1 + LayoutID + 88 + WakeConfigData + + AXcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC222 aka ALC3205-CG for HP EliteDesk 800 G6 Mini + CodecID + 283902498 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAF3DAIBhxxAAYcd + AAGHHqABhx+QAhccUAIXHRACFx4hAhcfAgIX + DAI= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AXcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -753,6 +983,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC225/ALC3253 for Dell Inspiron 15-5379 by fast900 + CodecID + 283902501 + ConfigData + + ASccUAEnHQABJx6gAScfkAFHHEABRx0AAUce + FwFHH5ABlxxwAZcdEAGXHoEBlx8AAhccIAIX + HRACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 90 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + AFGLowPowerState @@ -765,14 +1021,20 @@ ConfigData ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce - FwFHH5ABlxwwAZcdEAGXHosBlx8EAhccQAIX - HRACFx4rAhcfBAE3HFABNx0AATceAAE3H0AB - 1xxgAdcdsAHXHmYB1x9AAUcMAgGXDAI= + FwFHH5ABRwwCAZccMAGXHRABlx6BAZcfBAIX + HEACFx0QAhceKwIXHwQCFwwCATccUAE3HQAB + Nx4AATcfQAHXHGAB1x2wAdceZgHXH0A= FuncGroup 1 LayoutID 13 + WakeConfigData + + AUcMAgIXDAIBlwcl + + WakeVerbReinit + AFGLowPowerState @@ -785,14 +1047,20 @@ 283902512 ConfigData - AhccEAIXHRACFx4rAhcfBAFHHCABRx0BAUce - FwFHH5ABJxwwAScdAQEnHqABJx+QAZccQAGX - HRABlx6LAZcfBAFHDAI= + AUccEAFHHQEBRx4XAUcfkAFHDAICFxwgAhcd + EAIXHiECFx8TAhcMAgEnHDABJx0BASceoAEn + H5ABlxxAAZcdEQGXHoEBlx+T FuncGroup 1 LayoutID 20 + WakeConfigData + + AUcMAgIXDAIBlwcl + + WakeVerbReinit + AFGLowPowerState @@ -1239,6 +1507,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + ALC235 for Asrock_bb_310 by_vio + CodecID + 283902517 + ConfigData + + AZccUAGXHQABlx6gAZcfkAGnHEABpx0QAace + gAGnHwIBtxyAAbcdEAG3HhEBtx8BAbcMAgIX + HFACFx0QAhceIQIXHwICFwwC + + FuncGroup + 1 + LayoutID + 18 + WakeConfigData + + AZcHJQGnByUBtwwCAhcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -1301,19 +1595,19 @@ AwAAAA== Codec - vusun123 - Realtek ALC235 for Lenovo Legion Y520 + ALC235 for Asus TUF FX705GM by TheRealGudv1n CodecID 283902517 ConfigData - ASccQAEnHQABJx6gAScfsAFHHBABRx0AAUce - FwFHH5ABRwwCAZccMAGXHRABlx6BAZcfAAIX - HGACFx0QAhceIQIXHwA= + AhccIAIXHRACFx4rAhcfAAEnHDABJx0AASce + pwEnH5ABlxwwAZcdEAGXHosBlx8BAUccQAFH + HQABRx4XAUcfkAFHDAI= FuncGroup 1 LayoutID - 28 + 24 WakeConfigData AUcMAg== @@ -1327,19 +1621,19 @@ AwAAAA== Codec - Mirone - Realtek ALC236 + vusun123 - Realtek ALC235 for Lenovo Legion Y520 CodecID - 283902518 + 283902517 ConfigData - ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce - FwFHH5ABlxwwAZcdEAGXHoEBlx8EAhccQAIX - HRACFx4hAhcfBAFHDAI= + ASccQAEnHQABJx6gAScfsAFHHBABRx0AAUce + FwFHH5ABRwwCAZccMAGXHRABlx6BAZcfAAIX + HGACFx0QAhceIQIXHwA= FuncGroup 1 LayoutID - 3 + 28 WakeConfigData AUcMAg== @@ -1353,19 +1647,131 @@ AwAAAA== Codec - Jake Lo - Realtek ALC236 + Realtek ALC235 for Lenovo Qitian M420 by Cryse Hillmes CodecID - 283902518 + 283902517 ConfigData - ASccEAEnHQEBJx6gAScfkAE3HPABNx0AATce - AAE3H0ABRxwwAUcdAQFHHhABRx+QAUcMAgGH - HPABhx0AAYceAAGHH0ABlxwgAZcdMAGXHosB - lx8BAacc8AGnHQABpx4AAacfQAG3HPABtx0A - AbceAAG3H0AB1xzwAdcdAAHXHgAB1x9AAecc - 8AHnHQAB5x4AAecfQAIXHEACFx1AAhceKwIX - HwECFwwCABcgAAAXIXIAFyJrABcjEA== - + AScc8AEnHQABJx4AAScfQAFHHBABRx0BAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHHABlx0QAZceoQGXHwIB + pxwgAacdEAGnHoEBpx8CAbccgAG3HRABtx4B + AbcfAQHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccUAIXHRACFx4hAhcfAgFH + DAIBtwwCAhcMAgIXB8ACFwiCAZcHJA== + + FuncGroup + 1 + LayoutID + 35 + WakeConfigData + + AUcMAgG3DAICFwwCAhcHwAIXCIIBlwck + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC235 for Lenovo Ideacentre Mini 5 + CodecID + 283902517 + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHPABRx0AAUce + AAFHH0ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHDABlx0RAZcegQGXHwIB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccEAIXHRACFx4hAhcfAgGX + ByQBlwiBAhcMAgIXB8ACFwiC + + FuncGroup + 1 + LayoutID + 37 + WakeConfigData + + AZcHJAGXCIECFwwCAhcHwAIXCII= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC235 for Lenovo TianYi 510s Mini by DalianSky + CodecID + 283902517 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAICFxwfAhcd + EAIXHiECFx8CAhcMAgGXHCABlx0QAZceoAGX + H5IBpxwwAacdEAGnHoABpx8C + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAgIXDAIBlwwAAacMAA== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC236 + CodecID + 283902518 + ConfigData + + ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce + FwFHH5ABlxwwAZcdEAGXHoEBlx8EAhccQAIX + HRACFx4hAhcfBAFHDAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Jake Lo - Realtek ALC236 + CodecID + 283902518 + ConfigData + + ASccEAEnHQEBJx6gAScfkAE3HPABNx0AATce + AAE3H0ABRxwwAUcdAQFHHhABRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxwgAZcdMAGXHosB + lx8BAacc8AGnHQABpx4AAacfQAG3HPABtx0A + AbceAAG3H0AB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHEACFx1AAhceKwIX + HwECFwwCABcgAAAXIXIAFyJrABcjEA== + FuncGroup 1 LayoutID @@ -1429,6 +1835,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + erinviegas - ALC236 for Lenovo Ideapad 330S + CodecID + 283902518 + ConfigData + + ASccAAEnHQEBJx6gAScfkAFHHBABRx0BAUce + EAFHH5ABRwwCAZccIAGXHRABlx6LAZcfAAIX + HDACFx0QAhceKwIXHwACFwwC + + FuncGroup + 1 + LayoutID + 14 + WakeConfigData + + AUcMAgIXDAIBlwcl + + WakeVerbReinit + + AFGLowPowerState @@ -1570,6 +2002,83 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC245 for Ienovo by soto2080 + CodecID + 283902533 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAICFxwgAhcd + EAIXHiECFx8EAhcMAgGXHEABlx0QAZcegQGX + HwQ= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC245 for Ienovo by soto2080 + CodecID + 283902533 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAF3DAICFxwgAhcd + EAIXHiECFx8EAhcMAgGXHEABlx0QAZcegQGX + HwQ= + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AXcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + lunjielee - Realtek ALC245 for HP Omen 2020 + CodecID + 283902533 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAGXHDABlx0QAZce + gQGXHwMCFxwgAhcdEAIXHiECFx8DAhcMAg== + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AhcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -1596,11 +2105,55 @@ WakeVerbReinit + + Codec + ALC255 for Dell Optiplex7060/7070MT(Separate LineOut) + CodecID + 283902549 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAGXHEABlx0QAZce + iwGXHwIBtxwgAbcdEAG3HgEBtx8BAhccMAIX + HRACFx4rAhcfAgFHDAIBtwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + AFGLowPowerState AwAAAA== + Codec + Armênio - Realtek ALC255/ALC3234 - Dell 7348 + CodecID + 283902549 + ConfigData + + ASccEAEnHQEBJx6gAScfkAGXHCABlx0wAZce + gQGXHwEBRxwwAUcdYQFHHhABRx+QAUcMAgIX + HEACFx1wAhceIQIXHwECFwwC + + FuncGroup + 1 + LayoutID + 86 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + Codec Realtek ALC255(3234) for Dell Optiplex series by Heporis CodecID @@ -1732,6 +2285,33 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC255 for Dell 7447 by was3912734 + CodecID + 283902549 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHEABRx0BAUce + FwFHH5ABRwwCAXccQQF3HQEBdx4XAXcfkAGX + HCABlx0RAZceiwGXHwIB5xxgAecdEQHnHkUB + 5x8CAhccUAIXHRACFx4rAhcfAgIXDAI= + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -1815,14 +2395,40 @@ AwAAAA== Codec - HongyuS - Realtek ALC255 for XiaoMiAir 13.3 + dhinakg - Realtek ALC255 for Acer Predator G3-571 CodecID 283902549 ConfigData - ASccMAEnHQEBJx6mAScfkAFHHBABRx0BAUce - FwFHH5ABRwwCAXccAAF3HQABdx4AAXcfQAGH - HPABhx0AAYceAAGHH0ABlxwgAZcdEAGXHoEB + AUccEAFHHQEBRx4XAUcfkAGXHCABlx0QAZce + gQGXHwQCFxwgAhcdEAIXHiECFx8EAbccMAG3 + HQEBtx6gAbcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + HongyuS - Realtek ALC255 for XiaoMiAir 13.3 + CodecID + 283902549 + ConfigData + + ASccMAEnHQEBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABRwwCAXccAAF3HQABdx4AAXcfQAGH + HPABhx0AAYceAAGHH0ABlxwgAZcdEAGXHoEB lx8EAacc8AGnHQABpx4AAacfQAG3HPABtx0A AbceAAG3H0AB1xwtAdcdmgHXHvcB1x9AAecc 8AHnHQAB5x4AAecfQAIXHCACFx0QAhceIQIX @@ -2096,6 +2702,36 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + hjmmc - Realtek ALC256 (3246) for Magicbook 2018 with 4CH + CodecID + 283902550 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAIBtxwSAbcd + AQG3HhcBtx+QAbcMAgIXHCACFx0QAhceIQIX + HwQCFwwCASccMAEnHQEBJx6mAScfkAGXHEAB + lx0QAZcegQGXHwQBNxzwATcdAAE3HgABNx9A + AYcc8AGHHQABhx4AAYcfQAGnHPABpx0AAace + AAGnH0AB1xzwAdcdAAHXHgAB1x9AAecc8AHn + HQAB5x4AAecfQA== + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + AFGLowPowerState @@ -2288,6 +2924,92 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC256 for Dell OptiPlex 7080 + CodecID + 283902550 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAGXHEABlx0QAZce + iwGXHwIBtxwgAbcdEAG3HgEBtx8BAhccMAIX + HRACFx4rAhcfAgFHDAIBtwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 67 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Durian - Realtek ALC256 (3246) for MateBook X Pro 2019(4CH) + CodecID + 283902550 + ConfigData + + AbccEAG3HQEBtx4XAbcfkAG3DAIBRxwRAUcd + AQFHHhcBRx+QAUcMAgIXHCACFx0QAhceIQIX + HwICFwwCASccMAEnHQEBJx6mAScfkAGXHPAB + lx0AAZceAAGXH0AB1xzwAdcdAAHXHgAB1x9A + AYcc8AGHHQABhx4AAYcfQAE3HPABNx0AATce + AAE3H0ABpxzwAacdAAGnHgABpx9AAecc8AHn + HQAB5x4AAecfQA== + + FuncGroup + 1 + LayoutID + 76 + WakeConfigData + + AbcMAgFHDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Wanwu - Realtek ALC256 (3246) for MateBook X Pro 2019 + CodecID + 283902550 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxzwAUcdAAFHHgABRx9AAYcc8AGH + HQABhx4AAYcfQAGXHEABlx0QAZceqwGXHwQB + pxzwAacdAAGnHgABpx9AAbccEAG3HQEBtx4X + AbcfkAG3DAIB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHDACFx0QAhceKwIX + HwQCFwwC + + FuncGroup + 1 + LayoutID + 19 + WakeConfigData + + AbcMAgIXDAI= + + WakeVerbReinit + + AFGLowPowerState @@ -2344,6 +3066,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Armênio - Realtek ALC257 - Lenovo T480 + CodecID + 283902551 + ConfigData + + ASccEAEnHQEBJx6gAScfkAGXHCABlx0wAZce + gQGXHwEBRxwwAUcdYQFHHhABRx+QAUcMAgIX + HEACFx1wAhceIQIXHwECFwwC + + FuncGroup + 1 + LayoutID + 86 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -2374,6 +3122,58 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC257 for Lenovo XiaoXin Pro 2019(81XB/81XD) by DalianSky + CodecID + 283902551 + ConfigData + + ASccMAEnHQEBJx6mAScfkAIXHCACFx0QAhce + IQIXHwQBlxxAAZcdEAGXHoEBlx8EAUccEAFH + HQEBRx4XAUcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC257 for Lenovo XiaoXin Pro 2019(81XB/81XD) by DalianSky + CodecID + 283902551 + ConfigData + + ASccMAEnHQEBJx6mAScfkAIXHCACFx0QAhce + IQIXHwQBlxxAAZcdEAGXHoEBlx8EAUccEAFH + HQEBRx4XAUcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 100 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -3080,6 +3880,54 @@ LayoutID 21 + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + Andres ZeroCross - ALC269VC for Acer Veriton Z4640G + ConfigData + + AaccEAGnHQABpx4XAacfkAGXHDABlx0QAZce + gQGXHwABJxxAAScdAAEnHqABJx+QAbccUAG3 + HRABtx4hAbcfAA== + + FuncGroup + 1 + LayoutID + 22 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + ALC269VC for Hasee U45S1 by zero816 + ConfigData + + AXccAAF3HQABdx4AAXcfQAHXHAUB1x2GAdce + 9AHXH0ABRxwQAUcdAQFHHhcBRx+QAUcMAgFX + HCABVx0QAVceIQFXHwEBVwwCAYccMAGHHRAB + hx6hAYcfAQEnHEABJx0BAScepgEnH5ABlxzw + AZcdEQGXHhEBlx9BAbcc8AG3HREBtx4RAbcf + QQHnHPAB5x0RAeceEQHnH0EBpxzxAacdEQGn + HhEBpx9B + + FuncGroup + 1 + LayoutID + 24 + AFGLowPowerState @@ -3467,6 +4315,29 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + Custom ALC269 for Chuwi CoreBox by Luca91 + ConfigData + + AVccHwFXHRABVx4hAVcfBAFXDAIBhxwgAYcd + EAGHHoEBhx8E + + FuncGroup + 1 + LayoutID + 91 + WakeVerbReinit + + AFGLowPowerState @@ -3628,18 +4499,21 @@ AwAAAA== Codec - Mirone - Realtek ALC270 v1 + ALC269 CodecID - 283902576 + 283902569 + Comment + Custom ALC269 by ryahpalma for Laptop NS4SL01 ConfigData - AUccEAFHHQABRx4TAUcfkAGXHCABlx0AAZce - oAGXH5ACFxwwAhcdEAIXHiECFx8AAUcMAg== + AUccEAFHHQEBRx4XAUcfkAFHDAIBhxwgAYcd + EAGHHoEBhx8DAVccQAFXHRABVx4hAVcfAwFX + DAIBJxwwAScdAQEnHqYBJx+Q FuncGroup 1 LayoutID - 3 + 128 WakeConfigData AUcMAg== @@ -3653,18 +4527,18 @@ AwAAAA== Codec - Mirone - Realtek ALC270 v2 + Mirone - Realtek ALC270 v1 CodecID 283902576 ConfigData - ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce - EwFHH5ACFxwwAhcdEAIXHiECFx8BAUcMAg== + AUccEAFHHQABRx4TAUcfkAGXHCABlx0AAZce + oAGXH5ACFxwwAhcdEAIXHiECFx8AAUcMAg== FuncGroup 1 LayoutID - 4 + 3 WakeConfigData AUcMAg== @@ -3678,7 +4552,32 @@ AwAAAA== Codec - ALC270 + Mirone - Realtek ALC270 v2 + CodecID + 283902576 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + EwFHH5ACFxwwAhcdEAIXHiECFx8BAUcMAg== + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC270 CodecID 283902576 Comment @@ -3847,6 +4746,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC 272 for Lenovo Y470 by amu_1680c + CodecID + 283902578 + ConfigData + + ASccEAEnHQEBJx6gAScfkAGHHCABhx0AAYce + gQGHHwEBRxwwAUcdAQFHHhABRx+QAhccQAIX + HRACFx4hAhcfAQFHDAI= + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -3913,6 +4838,57 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross - Realtek ALC274 for Dell Inspiron 27-7777 AIO Series + CodecID + 283902580 + ConfigData + + ASccEAEnHQEBJx6gAScfkAF3HCABdx0BAXce + FwF3H5ABdwwCAaccMAGnHRABpx6BAacfAgIX + HEACFx0QAhceIQIXHwICFwwC + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + jackjack1-su Realtek ALC274 for Microsoft Surface Pro 7 + CodecID + 283902580 + ConfigData + + ASccMAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxzwAUcdAAFHHgABRx9AAVcc8AFX + HQABVx4AAVcfQAFnHPABZx0AAWceAAFnH0AB + dxzwAXcdAAF3HgABdx9AAYcc8AGHHQABhx4A + AYcfQAGXHCABlx0QAZcegQGXHwIBpxzwAacd + AAGnHgABpx9AAbccQAG3HQEBtx4QAbcfkAG3 + DAIB5xzwAecdAAHnHgAB5x9AAfcc8AH3HQAB + 9x4AAfcfQAIXHFACFx0QAhceIQIXHwICFwwC + + FuncGroup + 1 + LayoutID + 35 + WakeConfigData + + AWcMAgIXDAI= + + WakeVerbReinit + + AFGLowPowerState @@ -4126,6 +5102,33 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC280 - Optiplex 9020SFF - ManualMode + CodecID + 283902592 + ConfigData + + AUccMAFHHQABRx4XAUcfkAFHDAIBtxwgAbcd + QAG3HgEBtx8BAVccEAFXHUABVx4hAVcfAgFX + DAIBhxxAAYcdMAGHHoEBhx8BAaccUAGnHZAB + px6BAacfAg== + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AUcMAgFXDAI= + + WakeVerbReinit + + AFGLowPowerState @@ -4581,6 +5584,26 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + ALC283 for AlldoCube/Cube Mix Plus by Aldo97 + CodecID + 283902595 + ConfigData + + ASccEAEnHQEBJx6gAScfkAFHHCABRx0BAUce + FwFHH5ABlxwwAZcdAAGXHosBlx8AAhccQAIX + HRACFx4rAhcfAQFHDAICFwwC + + FuncGroup + 1 + LayoutID + 13 + AFGLowPowerState @@ -4634,6 +5657,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC283 for NUC7 by mikes + CodecID + 283902595 + ConfigData + + AUccAAFHHQABRx4AAUcfQAEnHCABJx0AASce + pgEnH5AB1xwwAdcdEAHXHoEB1x8AAhccQAIX + HRACFx4hAhcfAg== + + FuncGroup + 1 + LayoutID + 45 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -4661,6 +5710,36 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC283 for DELL R14 3437 by xiaoleGun(zoran) + CodecID + 283902595 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAIBdxzwAXcd + AAF3HgABdx9AAYcc8AGHHQABhx4AAYcfQAGX + HEABlx0gAZceiwGXHwIBpxzwAacdAAGnHgAB + px9AAbcc8AG3HQABtx4AAbcfQAHXHPAB1x0A + AdceAAHXH0AB5xzwAecdAAHnHgAB5x9AAScc + MAEnHQEBJx6mAScfkAIXHCACFx0QAhceIQIX + HwICFwwC + + FuncGroup + 1 + LayoutID + 88 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -4728,7 +5807,7 @@ ASccEAEnHQEBJx6mAScfkAFHHDABRx0BAUce FwFHH5ABlxwAAZcdEAGXHosBlx8EAhccIAIX - HRACFx4rAhcfBAFHDAI= + HRACFx4rAhcfBAFHDAICFwwC FuncGroup 1 @@ -4736,7 +5815,7 @@ 21 WakeConfigData - AUcMAg== + AUcMAgIXDAIBlwcl WakeVerbReinit @@ -4771,6 +5850,59 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC285 for Yoga C740 by fewtarius + CodecID + 283902597 + ConfigData + + AUccEAFHHQEBRx4TAUcfmQFHDAICFxwgAhcd + EAIXHiECFx8TAhcMAgGXHEABlx0RAZceoQGX + H5M= + + FuncGroup + 1 + LayoutID + 61 + WakeConfigData + + AUcMAgIXDAIBlwcl + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + jpuxdev - Realtek ALC285 for Spectre x360 13-ap0xxx + CodecID + 283902597 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHDABRx0BAUce + FwFHH5ABRwwCAXccQAF3HQEBdx4XAXcfkAGX + HAABlx0QAZceiwGXHwEB1xxQAdcdgAHXHmYB + 1x9AAhccIAIXHRACFx4rAhcfAQIXDAI= + + FuncGroup + 1 + LayoutID + 71 + WakeConfigData + + AUcMAgIXDAIBlwcl + + WakeVerbReinit + + AFGLowPowerState @@ -4827,6 +5959,31 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC287 + CodecID + 283902599 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAIXHCACFx0QAhce + IQIXHwMCFwwCAZccMAGXHRABlx6BAZcfAw== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AhcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -4891,18 +6048,179 @@ 283902600 ConfigData - ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce - AAE3H0ABRxwQAUcdAQFHHhcBRx+QAUcMAgF3 - HPABdx0AAXceAAF3H0ABhxzwAYcdAAGHHgAB - hx9AAZcc8AGXHQABlx4AAZcfQAGnHHABpx0g - AacYqwGnHwIBpwwCAdcc8AHXHQAB1x4AAdcf - QAHnHPAB5x0AAeceAAHnH0ACFxw/AhcdEAIX - HisCFx8D + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwQAUcdAQFHHhcBRx+QAUcMAgF3 + HPABdx0AAXceAAF3H0ABhxzwAYcdAAGHHgAB + hx9AAZcc8AGXHQABlx4AAZcfQAGnHHABpx0g + AacYqwGnHwIBpwwCAdcc8AHXHQAB1x4AAdcf + QAHnHPAB5x0AAeceAAHnH0ACFxw/AhcdEAIX + HisCFx8D + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + leeoem - Realtek ALC289 for alienware m17r2 + CodecID + 283902601 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxxAAUcdAQFHHhcBRx+QAUcMAgFn + HPABZx0AAWceAAFnH0ABdxzwAXcdAAF3HgAB + dx9AAYcc8AGHHQABhx4AAYcfQAGXHHABlx0Q + AZceiwGXHwIBpxzwAacdAAGnHgABpx9AAbcc + 8AG3HQABtx4AAbcfQAHXHPAB1x0AAdceAAHX + H0AB5xzwAecdAAHnHgAB5x9AAhccMAIXHRAC + Fx4rAhcfAgIXDAI= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC289 for Dell 7730 Precision CM240 + CodecID + 283902601 + ConfigData + + ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce + FwFHH5ABRwwCAZccMAGXHRABlx6BAZcfAAIX + HEACFx0QAhceIQIXHwACFwwC + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC289 for Acer PT515-51 By Bugprogrammer and Rover + CodecID + 283902601 + ConfigData + + ATccMAE3HQEBNx6mATcftwFHHBABRx0BAUce + FwFHH5ABRwwCAbccQAG3HRABtx6BAbcfAwG3 + DAICFxwgAhcdEAIXHiECFx8DAhcMAg== + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC289 for Dell XPS 13 9300 by DalianSky + CodecID + 283902601 + ConfigData + + ASccEAEnHQEBJx6mAScfmQF3HDABdx0BAXce + FwF3H5kBlxwAAZcdEAGXHosBlx4CAhccIAIX + HRACFx4rAhcfAQIXDAI= + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + naufalkharits - Realtek ALC289 for Alienware m15 + CodecID + 283902601 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAICFxwwAhcd + EAIXHiECFx8EAhcMAgEnHEABJx0BAScepgEn + H7cBlxxQAZcdEQGXHoEBlx+R + + FuncGroup + 1 + LayoutID + 87 + WakeConfigData + + AUcMAgIXDAIBlwck + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC290 + CodecID + 283902608 + ConfigData + + AUccEAFHHQABRx4XAUcfkAFXHCABVx0QAVce + KwFXHwIBlxwwAZcdAAGXHqABlx+QAaccQAGn + HRABpx6LAacfAAFHDAI= FuncGroup 1 LayoutID - 23 + 3 WakeConfigData AUcMAg== @@ -4915,23 +6233,23 @@ AwAAAA== - Codec - Realtek ALC289 for Acer PT515-51 By Bugprogrammer and Rover CodecID - 283902601 + 283902608 + Comment + macpeetALC ALC290 aka ALC3241 ConfigData - ATccMAE3HQEBNx6mATcftwFHHBABRx0BAUce - FwFHH5ABRwwCAbccQAG3HRABtx6BAbcfAwG3 - DAICFxwgAhcdEAIXHiECFx8DAhcMAg== + AaccIAGnHRABpx6BAacfAAEnHDABJx0AASce + owEnH5ABRxxAAUcdAAFHHhcBRx+QAVccUAFX + HRABVx4hAVcfAAFHDAI= FuncGroup 1 LayoutID - 23 + 4 WakeConfigData - AUcMAgG3DAICFwwC + AUcMAg== WakeVerbReinit @@ -4941,20 +6259,21 @@ AwAAAA== - Codec - Mirone - Realtek ALC290 CodecID 283902608 + Comment + ALC3241 - HP Envy 15t-k200 Beats Audio 2.1 ConfigData - AUccEAFHHQABRx4XAUcfkAFXHCABVx0QAVce - KwFXHwIBlxwwAZcdAAGXHqABlx+QAaccQAGn - HRABpx6LAacfAAFHDAI= + AaccEAGnHRABpx6BAacfAAEnHCABJx0AASce + owEnH5ABRxwwAUcdAQFHHhABRx+QAXccMQF3 + HQEBdx4QAXcfkAFXHFABVx0QAVceIQFXHwAB + RwwC FuncGroup 1 LayoutID - 3 + 10 WakeConfigData AUcMAg== @@ -4970,20 +6289,20 @@ CodecID 283902608 Comment - macpeetALC ALC290 aka ALC3241 + MacPeet - ALC290 for HP m6 n015dx ConfigData AaccIAGnHRABpx6BAacfAAEnHDABJx0AASce - owEnH5ABRxxAAUcdAAFHHhcBRx+QAVccUAFX - HRABVx4hAVcfAAFHDAI= + owEnH5ABVxxAAVcdEAFXHiEBVx8AAYccUAGH + HQEBhx4XAYcfkAGHDAI= FuncGroup 1 LayoutID - 4 + 15 WakeConfigData - AUcMAg== + AYcMAg== WakeVerbReinit @@ -5341,6 +6660,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + cowpod - Realtek ALC294 for ASUS ROG GL504GW + CodecID + 283902612 + ConfigData + + ASccIAEnHQEBJx6gAScfkAF3HBABdx0BAXce + FwF3H5ABlxxAAZcdEAGXHoEBlx8EAhccMAIX + HRACFx4hAhcfBAF3DAICFwwC + + FuncGroup + 1 + LayoutID + 22 + WakeConfigData + + AXcMAgIXDAI= + + WakeVerbReinit + + AFGLowPowerState @@ -5495,12 +6840,19 @@ AXccEAF3HQABdx4XAXcfkAEnHCABJx0AASce oAEnH5ACFxwwAhcdEAIXHiECFx8AAZccQAGX - HRABlx6BAZcfAAIXDAI= + HRABlx6BAZcfAAIXDAIBJwcgAXcHQAGXByAB + 1wcgAecHQAIXB8A= FuncGroup 1 LayoutID 14 + WakeConfigData + + AScHIAF3B0ABlwcgAdcHIAHnB0ACFwfA + + WakeVerbReinit + AFGLowPowerState @@ -5547,6 +6899,38 @@ LayoutID 21 + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC295 by aleix + CodecID + 283902613 + ConfigData + + ATccAAE3HQABNx4AATcfQAHXHAEB1x0AAdce + YAHXH0ABRxwQAUcdAQFHHhcBRx+RAUcMAgIX + HCACFx0QAhceIQIXHwMCFwwCASccMAEnHQEB + Jx6mAScftwGXHEABlx0QAZcegQGXHwMBZxzw + AWcdEQFnHhEBZx9BAXcc8AF3HREBdx4RAXcf + QQGHHPABhx0RAYceEQGHH0EBpxzwAacdEQGn + HhEBpx9BAbcc8AG3HREBtx4RAbcfQQG3DAIB + 5xzwAecdEQHnHhEB5x9B + + FuncGroup + 1 + LayoutID + 22 + WakeConfigData + + ATcMAAHXDAABRwwCAhcMAgEnDAABlwwAAWcM + AAF3DAABhwwAAacMAAG3DAIB5wwA + + WakeVerbReinit + + AFGLowPowerState @@ -5676,6 +7060,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + Ping - Realtek ALC298 for Dell Precision 5520 + CodecID + 283902616 + ConfigData + + ASccMAEnHQEBJx6gAScfkAF3HBABdx0BAXce + FwF3H5ABhxxwAYcdIAGHHosBhx8CAhccIAIX + HRACFx4rAhcfAwF3DAICFwwC + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AXcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -6196,6 +7606,25 @@ LayoutID 17 + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC662 by ryahpalma for MP67-DI/Esprimo Q900 + CodecID + 283903586 + ConfigData + + AUccEAFHHUEBRx4hAUcfAQGHHCABhx2RAYce + gQGHHwEBpxw/AacdMQGnHoEBpx8B + + FuncGroup + 1 + LayoutID + 18 + AFGLowPowerState @@ -6583,6 +8012,59 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903601 + Comment + Sisumara - ALC671 for Fujitsu Q558 + ConfigData + + AXccEAF3HQEBdx4TAXcfmQF3DAIBRxwgAUcd + EAFHHiEBRx8CAUcMAgIXHDACFx0QAhceAQIX + HwECFwwCAZccUAGXHRABlx6BAZcfAg== + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + IhcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903601 + Comment + alc671 for HP 280 Pro G4 by Lcp + ConfigData + + AXccEAF3HQEBdx4XAXcfmQF3DAIBRxwgAUcd + QQFHHgEBRx8BAUcMAgIXHDACFx0QAhceIQIX + HwICFwwCAbccQAG3HTABtx6BAbcfAQGHHFAB + hx2QAYceoQGHHwE= + + FuncGroup + 1 + LayoutID + 88 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -6923,6 +8405,33 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + VictorXu - ALC887-VD for ASUS H81M-D + ConfigData + + AUccEAFHHUABRx4RAUcfkQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgGHHEABhx2QAYceoQGH + H5EBpxxPAacdMAGnHoEBpx8BAZccUAGXHZAB + lx6BAZcfAg== + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -7829,15 +9338,73 @@ MacPeet - alc892 for MSI GL73-8RD ConfigData - AUccIAFHHXABRx4hAUcfAAFHDAIBVxwwAVcd - AAFXHhcBVx+QAeccQAHnHXAB5x5FAecfAAEn - HFABJx0AAScepgEnH5ABhxxgAYcdcAGHHoEB - hx8AAXcccAF3HQABdx4XAXcfkA== + AUccIAFHHXABRx4hAUcfAAFHDAIBVxwwAVcd + AAFXHhcBVx+QAeccQAHnHXAB5x5FAecfAAEn + HFABJx0AAScepgEnH5ABhxxgAYcdcAGHHoEB + hx8AAXcccAF3HQABdx4XAXcfkA== + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + MacPeet - alc892 for MSI B150M MORTAR - SwitchMode + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgFXHDABVx0QAVceAQFX + HwEBlxxQAZcdkAGXHoEBlx8CAWcccAFnHWAB + Zx4BAWcfAQGHHIABhx2QAYceoAGHH5ABpxyQ + AacdMAGnHoEBpx8BAeccsAHnHRAB5x5FAecf + AQ== + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + MacPeet - alc892 for MSI B150M MORTAR - ManualMode + ConfigData + + AUccEAFHHUABRx4BAUcfAQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgFXHDABVx0QAVceAQFX + HwEBlxxQAZcdkAGXHoEBlx8CAWcccAFnHWAB + Zx4BAWcfAQGHHIABhx2QAYceoAGHH5ABpxyQ + AacdMAGnHoEBpx8BAeccsAHnHRAB5x5FAecf + AQ== FuncGroup 1 LayoutID - 16 + 18 WakeConfigData AUcMAg== @@ -7853,20 +9420,21 @@ CodecID 283904146 Comment - MacPeet - alc892 for MSI B150M MORTAR - SwitchMode + Custom ALC892 for GIGABYTE Z390M GAMING - Manual - by Bokey ConfigData - AUccEAFHHUABRx4RAUcfkAFHDAIBtxwgAbcd - QAG3HiEBtx8CAbcMAgFXHDABVx0QAVceAQFX - HwEBlxxQAZcdkAGXHoEBlx8CAWcccAFnHWAB - Zx4BAWcfAQGHHIABhx2QAYceoAGHH5ABpxyQ - AacdMAGnHoEBpx8BAeccsAHnHRAB5x5FAecf - AQ== + AUccEAFHHUABRx4RAUcfAQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgFnHDABZx1gAWceAQFn + HwEBVxxAAVcdEAFXHgEBVx8BAXccUAF3HSAB + dx4BAXcfAQGHHHABhx2QAYceoQGHH5ABlxyA + AZcdkAGXHoEBlx8CARcckAEXHQABFx5DARcf + kAGnHGABpx0wAacegQGnHwEB1xzwAdcdAAHX + HgAB1x9AAScc8AEnHQABJx4AAScfQA== FuncGroup 1 LayoutID - 17 + 20 WakeConfigData AUcMAg== @@ -7882,20 +9450,23 @@ CodecID 283904146 Comment - MacPeet - alc892 for MSI B150M MORTAR - ManualMode + ASRock Z390m-ITX/ac by imEgo ConfigData - AUccEAFHHUABRx4BAUcfAQFHDAIBtxwgAbcd - QAG3HiEBtx8CAbcMAgFXHDABVx0QAVceAQFX - HwEBlxxQAZcdkAGXHoEBlx8CAWcccAFnHWAB - Zx4BAWcfAQGHHIABhx2QAYceoAGHH5ABpxyQ - AacdMAGnHoEBpx8BAeccsAHnHRAB5x5FAecf - AQ== + ARcc8AEXHQABFx4AARcfQAEnHPABJx0AASce + AAEnH0ABRxwQAUcdQAFHHhABRx+QAUcMAgFX + HPABVx0AAVceAAFXH0ABZxzwAWcdAAFnHgAB + Zx9AAXcc8AF3HQABdx4AAXcfQAGHHDABhx2Q + AYceoAGHH5ABlxxAAZcdkAGXHoEBlx8CAacc + UAGnHTABpx6BAacfAQG3HCABtx1AAbceIQG3 + HwIBtwwCAccc8AHHHQABxx4AAccfQAHXHPAB + 1x0AAdceAAHXH0AB5xzwAecdAAHnHgAB5x9A + Afcc8AH3HQAB9x4AAfcfQA== FuncGroup 1 LayoutID - 18 + 22 WakeConfigData AUcMAg== @@ -8088,6 +9659,65 @@ LayoutID 99 + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + Custom ALC892 for MSI Z370-A PRO by GeorgeWan + ConfigData + + ARcc8AEXHQABFx4AARcfQAEnHPABJx0AASce + AAEnH0ABRxwQAUcdQAFHHhEBRx+QAUcMAgFX + HCABVx0QAVceAQFXHwEBZxwwAWcdYAFnHgEB + Zx8BAXccQAF3HSABdx4BAXcfAQGHHFABhx2Q + AYceoAGHH5ABlxxwAZcdkAGXHoEBlx8CAacc + YAGnHTABpx6BAacfAQG3HIABtx1AAbceIQG3 + HwIBtwwCAccc8AHHHQABxx4AAccfQAHXHPAB + 1x0AAdceAAHXH0AB5xzwAecdAAHnHgAB5x9A + Afcc8AH3HQAB9x4AAfcfQA== + + FuncGroup + 1 + LayoutID + 100 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Asus_PRIME_B460M-K_ALC897 + CodecID + 283904151 + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + twwCARcckAEXHeABFx5FARcfAQFHDAI= + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + AFGLowPowerState @@ -8607,6 +10237,36 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904256 + Comment + ALC1150 for Gigabyte GA-Z97X-UD5H by DalianSky + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcd + EAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + AFGLowPowerState @@ -9021,27 +10681,181 @@ - AFGLowPowerState - - AwAAAA== - + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Custom ALC1220 for Mi Gaming Notebook Creator by Xsixu + ConfigData + + AaccEAGnHQEBpx4XAacfkAFHHCABRx0QAUce + IQFHHwABRwwCASccMAEnHREBJx6mAScfkAGX + HGABlx0AAZcegQGXHwABlwwC + + FuncGroup + 1 + LayoutID + 98 + WakeConfigData + + AUcMAgGXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + MiBook 2019 by Dynamix1997 + ConfigData + + AaccEAGnHQEBpx4QAacfkAFHHCABRx0QAUce + IQFHHwMBRwwCASccMAEnHQEBJx6mAScfkAGH + HEABhx0QAYcegQGHHwM= + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Hasee_G8-CU7PK + ConfigData + + AbccEAG3HQEBtx4XAbcfkAG3DAIBRxwfAUcd + EAFHHiEBRx8EAUcMAgEnHDABJx0BAScepgEn + H5ABhxxAAYcdEAGHHoEBhx8EAeccUAHnHREB + 5x5FAecfBA== + + FuncGroup + 1 + LayoutID + 100 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + toleda - Realtek ALCS1200A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXcc8AF3 + HQABdx4AAXcfQAGHHEABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAaccUAGnHTABpx6B + AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd + YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + toleda - Realtek ALCS1200A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFXHPABVx0AAVce + AAFXH0ABZxzwAWcdAAFnHgABZx9AAXcc8AF3 + HQABdx4AAXcfQAGHHEABhx1gAYceAQGHHwEB + lxxgAZcdkAGXHqABlx+QAaccUAGnHRABpx4B + AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd + YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 2 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + toleda - Realtek ALCS1200A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFXHPABVx0AAVce + AAFXH0ABZxzwAWcdAAFnHgABZx9AAXcc8AF3 + HQABdx4AAXcfQAGHHEABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAaccUAGnHTABpx6B + AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd + YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + CodecID - 283906592 + 283904768 CodecName - MiBook 2019 by Dynamix1997 + owen0o0 - Realtek ALCS1200A ConfigData - AaccEAGnHQEBpx4QAacfkAFHHCABRx0QAUce - IQFHHwMBRwwCASccMAEnHQEBJx6mAScfkAGH - HEABhx0QAYcegQGHHwM= + AUccQAFHHVABRx4RAUcfkAFHDAIBZxxhAWcd + EAFnHgEBZx8BAVccYgFXHRABVx4BAVcfAQG3 + HFABtx1AAbceIQG3HwIBtwwCAecccAHnHREB + 5x5FAecfAQGHHBABhx0QAYceoQGHH5ABpxwg + AacdEAGnHoEBpx8BAZccgAGXHZABlx6hAZcf + AgF3HPABdx0AAXceAAF3H0ABFxzwARcdAAEX + HgABFx9A FuncGroup 1 LayoutID - 99 + 11 WakeConfigData - AUcMAg== + AUcMAgG3DAI= WakeVerbReinit @@ -9050,20 +10864,18 @@ CodecID 283904768 CodecName - toleda - Realtek ALCS1200A + VictorXu - Realtek ALCS1200A for Asrock Z490M-ITX ConfigData - AUccEAFHHUABRx4RAUcfkAFXHCABVx0QAVce - AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXcc8AF3 - HQABdx4AAXcfQAGHHEABhx2QAYceoAGHH5AB - lxxgAZcdkAGXHoEBlx8CAaccUAGnHTABpx6B - AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd - YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + AUccEAFHHUABRx4RAUcfkQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgGHHDABhx2QAYceoQGH + H5EBpxw/AacdMAGnHoEBpx8BAZccQAGXHZAB + lx6BAZcfAg== FuncGroup 1 LayoutID - 1 + 49 WakeConfigData AUcMAgG3DAI= @@ -9075,20 +10887,20 @@ CodecID 283904768 CodecName - toleda - Realtek ALCS1200A + VictorXu - Realtek ALCS1200A for Gigabyte B460M Aorus Pro ConfigData - AUccEAFHHUABRx4RAUcfkAFXHPABVx0AAVce - AAFXH0ABZxzwAWcdAAFnHgABZx9AAXcc8AF3 - HQABdx4AAXcfQAGHHEABhx1gAYceAQGHHwEB - lxxgAZcdkAGXHqABlx+QAaccUAGnHRABpx4B - AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd - YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + AUccEAFHHUABRx4RAUcfkQFHDAIBZxwRAWcd + YAFnHgEBZx8BAVccEgFXHRABVx4BAVcfAQF3 + HBQBdx0gAXceAQF3HwEBtxwgAbcdQAG3HiEB + tx8CAbcMAgGHHEABhx2QAYceoQGHH5EBpxxP + AacdMAGnHoEBpx8BAZccUAGXHZABlx6BAZcf + Ag== FuncGroup 1 LayoutID - 2 + 50 WakeConfigData AUcMAgG3DAI= @@ -9097,23 +10909,28 @@ + AFGLowPowerState + + AwAAAA== + CodecID 283904768 CodecName - toleda - Realtek ALCS1200A + GeorgeWan - ALCS1200A for ASROCK Z490 Steel Legend ConfigData - AUccEAFHHUABRx4RAUcfkAFXHPABVx0AAVce - AAFXH0ABZxzwAWcdAAFnHgABZx9AAXcc8AF3 - HQABdx4AAXcfQAGHHEABhx2QAYceoAGHH5AB - lxxgAZcdkAGXHoEBlx8CAaccUAGnHTABpx6B - AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd - YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + ARcc8AEXHQABFx4AARcfQAFHHBABRx1AAUce + EQFHH5ABRwwCAVccIAFXHRABVx4BAVcfAQFn + HDABZx1gAWceAQFnHwEBdxzwAXcdAAF3HgAB + dx9AAYccQAGHHZABhx6gAYcfkAGXHGABlx2Q + AZcegQGXHwIBpxxQAacdMAGnHoEBpx8BAbcc + cAG3HUABtx4hAbcfAgG3DAIB5xyAAecdYQHn + HksB5x8B FuncGroup 1 LayoutID - 3 + 51 WakeConfigData AUcMAgG3DAI= @@ -9355,7 +11172,7 @@ AXccEAF3HQABdx4XAXcfkAGnHCABpx0AAace oAGnH5ABlxwwAZcdEAGXHosBlx8BAWccQAFn - HRABZx4rAWcfAQF3DAIBZwwC + HRABZx4rAWcfAQF3DAIBZwwCAZcHJA== FuncGroup 1 @@ -9552,6 +11369,32 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + rdmitry0911 - Conexant CX8200 for LG Gram 17 17z990 + CodecID + 351346696 + ConfigData + + AXccEAF3HQEBdx4XAXcfkQF3DAIBpxwgAacd + AQGnHqcBpx+VAZccMAGXHRABlx6BAZcfBAFn + HEABZx0QAWceIQFnHwQBZwwC + + FuncGroup + 1 + LayoutID + 80 + WakeConfigData + + AWcMAgF3DAI= + + WakeVerbReinit + + AFGLowPowerState @@ -9998,13 +11841,19 @@ ConfigData AWccQAFnHRABZx4hAWcfBAF3HBABdx0BAXce - FwF3H5ABlxwwAZcdEAGXHoEBlx8EAaccIAGn - HQEBpx6gAacfkA== + FwF3H5ABlxwwAZcdEAGXHoEBlx8EAZcHJAGn + HCABpx0BAaceoAGnH5ABpwck FuncGroup 1 LayoutID 28 + WakeConfigData + + AZcHJAGnByQ= + + WakeVerbReinit + AFGLowPowerState @@ -10220,7 +12069,7 @@ FuncGroup 1 LayoutID - 12 + 13 AFGLowPowerState @@ -10327,6 +12176,29 @@ LayoutID 21 + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - IDT92HD73E1X5 for HP Envy h8 1425eg + CodecID + 287143542 + ConfigData + + AMccEADHHUAAxx4RAMcfkQCnHCAApx1AAKce + IQCnHwIA5xwwAOcdkADnHqEA5x+RALccQAC3 + HZAAtx6BALcfAgDXHFAA1x0wANcegQDXHwEA + 9xxgAPcdEAD3HgEA9x8BAQcccAEHHWABBx4B + AQcfAQEXHIABFx0gARceAQEXHwECJxygAicd + EAInHkUCJx8B + + FuncGroup + 1 + LayoutID + 15 + AFGLowPowerState @@ -10977,6 +12849,29 @@ LayoutID 9 + + AFGLowPowerState + + AwAAAA== + + Codec + Enrico - GA-Z77X-D3Hrev1.0 - VIA VT2020/2021 + CodecID + 285606977 + ConfigData + + IkccECJHHUAiRx4RIkcfASJXHCAiVx0QIlce + ASJXHwEiZxwwImcdYCJnHgEiZx8BInccQCJ3 + HSAidx4BIncfASKHHFAihx1AIoceISKHHwEi + lxxgIpcdkCKXHqEilx8CIqcccCKnHTAipx6B + IqcfASK3HIAitx2QIrcegSK3HwEi5xygIucd + ECLnHkUi5x8A + + FuncGroup + 1 + LayoutID + 13 + AFGLowPowerState @@ -11049,6 +12944,187 @@ WakeVerbReinit + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + ALC269 for Thunderobot-G7000S-9300H by Phoenix-L + ConfigData + + AUccEAFHHUEBRx4XAUcfmQFHDAIBVxwgAVcd + QAFXHiEBVx8CAVcMAgGHHDABhx2QAYcegQGH + HwIBlxw/AZcdkAGXHoEBlx8CASccQAEnHZEB + Jx6mAScfmQ== + + FuncGroup + 1 + LayoutID + 77 + + + AFGLowPowerState + + AwAAAA== + + Codec + zty199 - ALC295 for HP Pavilion / OMEN-2 + CodecID + 283902613 + ConfigData + + ASccAAEnHQEBJx6mAScfmQFHHEABRx0BAUce + FwFHH5kBRwwCAZccgAGXHRABlx6LAZcfAAIX + HMACFx0QAhceKwIXHwACFwwC + + FuncGroup + 1 + LayoutID + 24 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC662v3 for Lenovo M415-D339 by Eric + CodecID + 283903586 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFHDAIBtxwgAbcd + EAG3HiEBtx8CAbcMAgGHHDABhx2QAYceoAGH + H5EBlxxAAZcdEAGXHoABlx8CAaccXwGnHTAB + px6BAacfAQ== + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Asus x430_s4300FN by fangf2018 + CodecID + 283902550 + ConfigData + + ASccMAEnHQEBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABRwwCAZccQAGXHRABlx6BAZcfAgIX + HCACFx0QAhceIQIXHwICFwwC + + FuncGroup + 1 + LayoutID + 77 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Asus x430_s4300FN by fangf2018 (mic in and line in mic in separated) + CodecID + 283902550 + ConfigData + + ASccQAEnHQEBJx6mAScfkAFHHDABRx0BAUce + FwFHH5ABRwwCAZccIAGXHRABlx6BAZcfAgIX + HBACFx0QAhceIQIXHwICFwwC + + FuncGroup + 1 + LayoutID + 88 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom IDT92HD95 - LenovoG710 by Svilen Ivanov layout14 + CodecID + 287143573 + ConfigData + + AKccEACnHRAApx4hAKcfAQCnDAIAtxwgALcd + EAC3HoEAtx8BALcMAgDHHDAAxx0BAMceoADH + H5AAxwwCANccQADXHQEA1x4QANcfkADXDAIA + 5xzwAOcdAADnHgAA5x9AAPcc8AD3HQAA9x4A + APcfQAGHHPABhx0AAYceAAGHH0A= + + FuncGroup + 1 + LayoutID + 14 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC297 for MSI Z490-A Pro by MathCampbell + CodecID + 283904151 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFHDAIBZxwRAWcd + YAFnHhEBZx8BAVccEgFXHRABVx4RAVcfAQF3 + HBQBdx0gAXceEQF3HwEBtxwgAbcdQAG3HiEB + tx8CAbcMAgGHHDABhx2QAYceoAGHH5EBpxw/ + AacdMAGnHoEBpx8BARccQAEXHdUBFx43ARcf + QAGXHEABlx2QAZcegAGXHwIB1xxrAdcd9gHX + HioB1x9A + + FuncGroup + 1 + LayoutID + 69 + WakeConfigData + + AUcMAgFnDAABVwwAAXcMAAG3DAIBhwwAAacM + AAEXDAABlwwAAdcMAA== + + WakeVerbReinit + + IOClass AppleHDAHardwareConfigDriver @@ -11071,6 +13147,8 @@ IOKit + LSMinimumSystemVersion + 10.8 NSHumanReadableCopyright Copyright © 2017 vit9696. All rights reserved. OSBundleCompatibleVersion diff --git a/OC/Kexts/AppleALC.kext/Contents/MacOS/AppleALC b/OC/Kexts/AppleALC.kext/Contents/MacOS/AppleALC old mode 100644 new mode 100755 index ee856ff..84539e7 Binary files a/OC/Kexts/AppleALC.kext/Contents/MacOS/AppleALC and b/OC/Kexts/AppleALC.kext/Contents/MacOS/AppleALC differ diff --git a/OC/Kexts/BrcmBluetoothInjector.kext/Contents/Info.plist b/OC/Kexts/BrcmBluetoothInjector.kext/Contents/Info.plist deleted file mode 100644 index 47800c0..0000000 --- a/OC/Kexts/BrcmBluetoothInjector.kext/Contents/Info.plist +++ /dev/null @@ -1,1410 +0,0 @@ - - - - - BuildMachineOSBuild - 18E226 - CFBundleIdentifier - as.acidanthera.injector.BrcmBluetoothInjector - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - BrcmBluetoothInjector - CFBundlePackageType - KEXT - CFBundleShortVersionString - 2.5.1 - CFBundleSignature - ???? - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 2.5.1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 10E1001 - DTPlatformVersion - GM - DTSDKBuild - 18E219 - DTSDKName - macosx10.14 - DTXcode - 1020 - DTXcodeBuild - 10E1001 - IOKitPersonalities - - 03f0_231d no firmware - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8989 - idVendor - 1008 - - 0489_e032 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57394 - idVendor - 1161 - - 0489_e042 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57410 - idVendor - 1161 - - 0489_e046 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57414 - idVendor - 1161 - - 0489_e04f - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57423 - idVendor - 1161 - - 0489_e052 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57426 - idVendor - 1161 - - 0489_e055 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57429 - idVendor - 1161 - - 0489_e059 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57433 - idVendor - 1161 - - 0489_e079 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57465 - idVendor - 1161 - - 0489_e07a - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57466 - idVendor - 1161 - - 0489_e087 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57479 - idVendor - 1161 - - 0489_e096 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57494 - idVendor - 1161 - - 0489_e0a1 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57505 - idVendor - 1161 - - 04ca_2003 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8195 - idVendor - 1226 - - 04ca_2004 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8196 - idVendor - 1226 - - 04ca_2005 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8197 - idVendor - 1226 - - 04ca_2006 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8198 - idVendor - 1226 - - 04ca_2009 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8201 - idVendor - 1226 - - 04ca_200a - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8202 - idVendor - 1226 - - 04ca_200b - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8203 - idVendor - 1226 - - 04ca_200c - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8204 - idVendor - 1226 - - 04ca_200e - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8206 - idVendor - 1226 - - 04ca_200f - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8207 - idVendor - 1226 - - 04ca_2012 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8210 - idVendor - 1226 - - 04ca_2016 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8214 - idVendor - 1226 - - 04f2_b4a1 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 46241 - idVendor - 1266 - - 050d_065a - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 1626 - idVendor - 1293 - - 0930_021e - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 542 - idVendor - 2352 - - 0930_021f - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 543 - idVendor - 2352 - - 0930_0221 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 545 - idVendor - 2352 - - 0930_0223 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 547 - idVendor - 2352 - - 0930_0225 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 549 - idVendor - 2352 - - 0930_0226 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 550 - idVendor - 2352 - - 0930_0229 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 553 - idVendor - 2352 - - 0a5c_2168 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8552 - idVendor - 2652 - - 0a5c_2169 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8553 - idVendor - 2652 - - 0a5c_216a - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8554 - idVendor - 2652 - - 0a5c_216b - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8555 - idVendor - 2652 - - 0a5c_216c - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8556 - idVendor - 2652 - - 0a5c_216d - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8557 - idVendor - 2652 - - 0a5c_216e - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8558 - idVendor - 2652 - - 0a5c_216f - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8559 - idVendor - 2652 - - 0a5c_21d7 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8663 - idVendor - 2652 - - 0a5c_21de - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8670 - idVendor - 2652 - - 0a5c_21e1 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8673 - idVendor - 2652 - - 0a5c_21e3 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8675 - idVendor - 2652 - - 0a5c_21e6 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8678 - idVendor - 2652 - - 0a5c_21e8 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8680 - idVendor - 2652 - - 0a5c_21ec - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8684 - idVendor - 2652 - - 0a5c_21f1 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8689 - idVendor - 2652 - - 0a5c_21f3 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8691 - idVendor - 2652 - - 0a5c_21f4 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8692 - idVendor - 2652 - - 0a5c_21fb - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8699 - idVendor - 2652 - - 0a5c_21fd - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8701 - idVendor - 2652 - - 0a5c_22be - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 8894 - idVendor - 2652 - - 0a5c_640b - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 25611 - idVendor - 2652 - - 0a5c_6410 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 25616 - idVendor - 2652 - - 0a5c_6412 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 25618 - idVendor - 2652 - - 0a5c_6413 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 25619 - idVendor - 2652 - - 0a5c_6414 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 25620 - idVendor - 2652 - - 0a5c_6417 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 25623 - idVendor - 2652 - - 0a5c_6418 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 25624 - idVendor - 2652 - - 0a5c_7460 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 29792 - idVendor - 2652 - - 0b05_17b5 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 6069 - idVendor - 2821 - - 0b05_17cb - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 6091 - idVendor - 2821 - - 0b05_17cf - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 6095 - idVendor - 2821 - - 0b05_180a - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 6154 - idVendor - 2821 - - 0bb4_0306 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 774 - idVendor - 2996 - - 105b_e065 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57445 - idVendor - 4187 - - 105b_e066 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 57446 - idVendor - 4187 - - 13d3_3295 no firmware - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 12949 - idVendor - 5075 - - 13d3_3384 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13188 - idVendor - 5075 - - 13d3_3388 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13192 - idVendor - 5075 - - 13d3_3389 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13193 - idVendor - 5075 - - 13d3_3392 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13202 - idVendor - 5075 - - 13d3_3404 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13316 - idVendor - 5075 - - 13d3_3411 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13329 - idVendor - 5075 - - 13d3_3413 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13331 - idVendor - 5075 - - 13d3_3418 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13336 - idVendor - 5075 - - 13d3_3427 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13351 - idVendor - 5075 - - 13d3_3435 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13365 - idVendor - 5075 - - 13d3_3456 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13398 - idVendor - 5075 - - 13d3_3482 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13442 - idVendor - 5075 - - 13d3_3484 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13444 - idVendor - 5075 - - 13d3_3504 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13572 - idVendor - 5075 - - 13d3_3508 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13576 - idVendor - 5075 - - 13d3_3517 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 13591 - idVendor - 5075 - - 145f_01a3 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 419 - idVendor - 5215 - - 19ff_0239 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 569 - idVendor - 6655 - - 413c_8143 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 33091 - idVendor - 16700 - - 413c_8197 - - CFBundleIdentifier - com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - IOClass - BroadcomBluetoothHostControllerUSBTransport - IOProbeScore - 3000 - IOProviderClass - IOUSBHostDevice - idProduct - 33175 - idVendor - 16700 - - - OSBundleRequired - Root - - diff --git a/OC/Kexts/BrightnessKeys.kext/Contents/Info.plist b/OC/Kexts/BrightnessKeys.kext/Contents/Info.plist new file mode 100644 index 0000000..0c17e03 --- /dev/null +++ b/OC/Kexts/BrightnessKeys.kext/Contents/Info.plist @@ -0,0 +1,81 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleExecutable + BrightnessKeys + CFBundleIdentifier + as.acidanthera.BrightnessKeys + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + BrightnessKeys + CFBundlePackageType + KEXT + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.0.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A7300 + DTPlatformName + macosx + DTPlatformVersion + 10.15.6 + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1201 + DTXcodeBuild + 12A7300 + IOKitPersonalities + + BrightnessKeys + + CFBundleIdentifier + as.acidanthera.BrightnessKeys + IOClass + BrightnessKeys + IOMatchCategory + BrightnessKeys + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + LSMinimumSystemVersion + 10.11 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.iokit.IOACPIFamily + 1.0.0d1 + com.apple.iokit.IOHIDFamily + 1.0.0b1 + com.apple.kpi.bsd + 8.0.0 + com.apple.kpi.iokit + 8.0.0 + com.apple.kpi.libkern + 8.0.0 + com.apple.kpi.mach + 8.0.0 + com.apple.kpi.unsupported + 8.0.0 + + OSBundleRequired + Console + + diff --git a/OC/Kexts/BrightnessKeys.kext/Contents/MacOS/BrightnessKeys b/OC/Kexts/BrightnessKeys.kext/Contents/MacOS/BrightnessKeys new file mode 100755 index 0000000..05f1033 Binary files /dev/null and b/OC/Kexts/BrightnessKeys.kext/Contents/MacOS/BrightnessKeys differ diff --git a/OC/Kexts/NoTouchID.kext/Contents/_CodeSignature/CodeResources b/OC/Kexts/BrightnessKeys.kext/Contents/_CodeSignature/CodeResources similarity index 100% rename from OC/Kexts/NoTouchID.kext/Contents/_CodeSignature/CodeResources rename to OC/Kexts/BrightnessKeys.kext/Contents/_CodeSignature/CodeResources diff --git a/OC/Kexts/CPUFriend.kext/Contents/Info.plist b/OC/Kexts/CPUFriend.kext/Contents/Info.plist new file mode 100644 index 0000000..5e34410 --- /dev/null +++ b/OC/Kexts/CPUFriend.kext/Contents/Info.plist @@ -0,0 +1,105 @@ + + + + + BuildMachineOSBuild + 19G2021 + CFBundleDevelopmentRegion + en + CFBundleExecutable + CPUFriend + CFBundleIdentifier + org.vanilla.driver.CPUFriend + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + CPUFriend + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.2.3 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.2.3 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 11E801a + DTPlatformVersion + GM + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1170 + DTXcodeBuild + 11E801a + IOKitPersonalities + + CPUFriend + + CFBundleIdentifier + org.vanilla.driver.CPUFriend + IOClass + CPUFriend + IOMatchCategory + CPUFriend + IOProviderClass + IOResources + IOResourceMatch + IOKit + + CPUFriendPlatform + + CFBundleIdentifier + org.vanilla.driver.CPUFriend + IOClass + CPUFriendData + IOProbeScore + 6000 + IOPropertyMatch + + IOCPUNumber + 0 + + IOProviderClass + AppleACPICPU + IOResourceMatch + ACPI + + + LSMinimumSystemVersion + 10.8 + NSHumanReadableCopyright + Copyright © 2017 - 2019 PMheart. All rights reserved. + OSBundleCompatibleVersion + 1.0 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.iokit.IOACPIFamily + 1.0.0d1 + com.apple.kpi.bsd + 12.0.0 + com.apple.kpi.dsep + 12.0.0 + com.apple.kpi.iokit + 12.0.0 + com.apple.kpi.libkern + 12.0.0 + com.apple.kpi.mach + 12.0.0 + com.apple.kpi.unsupported + 12.0.0 + + OSBundleRequired + Root + + diff --git a/OC/Kexts/CPUFriend.kext/Contents/MacOS/CPUFriend b/OC/Kexts/CPUFriend.kext/Contents/MacOS/CPUFriend new file mode 100755 index 0000000..e4deaf3 Binary files /dev/null and b/OC/Kexts/CPUFriend.kext/Contents/MacOS/CPUFriend differ diff --git a/OC/Kexts/CPUFriendDataProvider.kext/Contents/Info.plist b/OC/Kexts/CPUFriendDataProvider.kext/Contents/Info.plist new file mode 100644 index 0000000..3532ac9 --- /dev/null +++ b/OC/Kexts/CPUFriendDataProvider.kext/Contents/Info.plist @@ -0,0 +1,40 @@ + + + + + CFBundleIdentifier + org.vanilla.driver.CPUFriendDataProvider + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + CPUFriendDataProvider + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + IOKitPersonalities + + CPUFriendDataProvider + + CFBundleIdentifier + com.apple.driver.AppleACPIPlatform + IOClass + AppleACPICPU + IONameMatch + processor + IOProbeScore + 1100 + IOProviderClass + IOACPIPlatformDevice + cf-frequency-data + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+SU9QbGF0Zm9ybVBvd2VyUHJvZmlsZTwva2V5PgoJPGRpY3Q+CgkJPGtleT5Cb29zdExpbWl0PC9rZXk+CgkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQk8a2V5PkNQVUZsb29yPC9rZXk+CgkJPGludGVnZXI+MTAwMDwvaW50ZWdlcj4KCQk8a2V5PkRORFdoaWxlRGlzcGxheVNsZWVwczwva2V5PgoJCTxmYWxzZS8+CgkJPGtleT5EYXJrV2FrZVNlcnZpY2VzPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+RGFya1dha2VCYWNrZ3JvdW5kVGFza3M8L2tleT4KCQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJPGtleT5TbGVlcFNlcnZpY2VzPC9rZXk+CgkJCTxpbnRlZ2VyPjc8L2ludGVnZXI+CgkJCTxrZXk+U2xlZXBTZXJ2aWNlc01vZGVzPC9rZXk+CgkJCTxkaWN0PgoJCQkJPGtleT5Nb2RlQTwva2V5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5CYXNlSW50ZXJ2YWxzPC9rZXk+CgkJCQkJPGRpY3Q+CgkJCQkJCTxrZXk+QUM8L2tleT4KCQkJCQkJPGRpY3Q+CgkJCQkJCQk8a2V5PkJhc2VTbGVlcEludGVydmFsPC9rZXk+CgkJCQkJCQk8aW50ZWdlcj4zNjAwPC9pbnRlZ2VyPgoJCQkJCQkJPGtleT5CYXNlV2FrZUNhcEludGVydmFsPC9rZXk+CgkJCQkJCQk8aW50ZWdlcj44NjQwMDwvaW50ZWdlcj4KCQkJCQkJPC9kaWN0PgoJCQkJCQk8a2V5PkJhdHRlcnk8L2tleT4KCQkJCQkJPGRpY3Q+CgkJCQkJCQk8a2V5PkJhc2VTbGVlcEludGVydmFsPC9rZXk+CgkJCQkJCQk8aW50ZWdlcj4zNjAwPC9pbnRlZ2VyPgoJCQkJCQkJPGtleT5CYXNlV2FrZUNhcEludGVydmFsPC9rZXk+CgkJCQkJCQk8aW50ZWdlcj4xODA8L2ludGVnZXI+CgkJCQkJCTwvZGljdD4KCQkJCQk8L2RpY3Q+CgkJCQkJPGtleT5CYXR0ZXJ5Rmxvb3I8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQkJCTxrZXk+RXhwaXJhdGlvbjwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvZGljdD4KCQk8L2RpY3Q+CgkJPGtleT5GcmVxdWVuY2llczwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PjM4MDA8L2tleT4KCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPGtleT40MTAwPC9rZXk+CgkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCTxrZXk+NDIwMDwva2V5PgoJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQk8a2V5PjQ1MDA8L2tleT4KCQkJPGludGVnZXI+MjwvaW50ZWdlcj4KCQkJPGtleT40NzAwPC9rZXk+CgkJCTxpbnRlZ2VyPjI8L2ludGVnZXI+CgkJPC9kaWN0PgoJCTxrZXk+RnJlcXVlbmN5VmVjdG9yczwva2V5PgoJCTxhcnJheT4KCQkJPGRhdGE+CgkJCUFnQUFBQWdBQUFBQkFBQUFBQUFBQUxnTEFBQUFBQUFBeUFBQUFBQUFBQUFBWk9nREFBQUEKCQkJQUFBQUFFdlFCd0FBQUFBQUFBQXkvLy8vLy8vL0R3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUJBQUFBQUFBQQoJCQlBTGdMQUFBQUFBQUF5QUFBQUFBQUFBQUJaT2dEQUFBQUFBQUFBVXZRQndBQUFBQUFBQUV5CgkJCXVBc0FBQUFBQUFBQUdhQVBBQUFBQUFBQUFBRC8vLy8vLy84UEFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQlFBQUFBQkFBQUFBQUFBQUt3TkFBQUFBQUFBeUFBQUFBQUEKCQkJQUFBQ1pQUUJBQUFBQUFBQUFqTG9Bd0FBQUFBQUFBSVozQVVBQUFBQUFBQUJNdEFIQUFBQQoJCQlBQUFBQVJtNEN3QUFBQUFBQUFBeW9BOEFBQUFBQUFBQUdmLy8vLy8vL3c4QUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJnQQoJCQlBQUFCQUFBQUFBQUFBSlFSQUFBQUFBQUF5QUFBQUFBQUFBQURaUFFCQUFBQUFBQUFBekxvCgkJCUF3QUFBQUFBQUFNWjBBY0FBQUFBQUFBQ01yZ0xBQUFBQUFBQUFobWdEd0FBQUFBQUFBRXkKCQkJLy8vLy8vLy9Ed0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQndBQUFBQkFBQUFBQUFBQUlnVEFBQUEKCQkJQUFBQXlBQUFBQUFBQUFBRVpQUUJBQUFBQUFBQUJETG9Bd0FBQUFBQUFBUVozQVVBQUFBQQoJCQlBQUFEUzlBSEFBQUFBQUFBQXpLNEN3QUFBQUFBQUFJeW9BOEFBQUFBQUFBQ0dmLy8vLy8vCgkJCS93OEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFDQUFBQUFCQUFBQUFBQUFBSEFYQUFBQUFBQUF5QUFBQUFBQUFBQUZaUFFCCgkJCUFBQUFBQUFBQlRMb0F3QUFBQUFBQUFVWjNBVUFBQUFBQUFBRVM5QUhBQUFBQUFBQUJESzQKCQkJQ3dBQUFBQUFBQU15b0E4QUFBQUFBQUFER1pRUkFBQUFBQUFBQWpMLy8vLy8vLzhQQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR1FBQUFBREFBQUEKCQkJQUFBQUFLQ0dBUUFBQUFBQXlBQUFBQUFBQUFBR012UUJBQUFBQUFBQUJobm9Bd0FBQUFBQQoJCQlBQVV5M0FVQUFBQUFBQUFGR2RBSEFBQUFBQUFBQkRLNEN3QUFBQUFBQUFRWm9BOEFBQUFBCgkJCUFBQUVBSlFSQUFBQUFBQUFBd0QvLy8vLy8vOFBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vCgkJCS8vLy9Ed0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUpCUTB0SFVrOVYKCQkJVGtRQUFBQUFBQUFBQUdRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1FVa1ZCCgkJCVRGUkpUVVZmVTBoUFVsUUFBQVFHQUFBQUFBQUFBQUFaQUJrQVpBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUJMUlZKT1JVd0FBQUFBQUFBQUFBQUFBQVprQUdRQVpBQjlBSllBcndESUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFrRlJJVWxWZlZFbEZVaklBQUFBQUFBQUFCR1FBeUFESUFNZ0F5QUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQ1FWRWhTVlY5VVNVVlNNd0FBQUFBQUFBQUVaQURJQU1nQXlBREkKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFKQlVTRkpWWDFSSlJWSTBBQUFBQUFBQUFBSElBTWdBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWtGUklVbFZmVkVsRlVqVUFBQUFBQUFBQQoJCQlBV1FBWkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFkWFJwYkdsMAoJCQllUzEwYkhac0FBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBYm05dUxXWnZZMkZzCgkJCUxYUnNkbXdBQUFBQUFBRDdBQUFBQUFBQUFBQUFBQUFBQUFBQWRXSndZd0FBQUFBQUFBQUEKCQkJQUFBQUFBRUFBQUJ2Wm1ZQUFBQUFBQUFBQUFBQUFBQUFhSGR3QUFBQUFBQUFBQUFBQUFBQQoJCQlBQUVBQUFCdmJnQUFBQUFBQUFBQUFBQUFBQUFBWlhCd0FBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQ1FBQUFBQUFBQUFBQUFBQUFBQUFBQWNHVnlaaTFpYVdGekFBQUFBQUFBQUFBQUFBQUYKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFjbUYwYVc5eVlYUmxiR2x0YVhRQUFBQUFBQURBeGkwQQoJCQlBQUFBQUFBQUFBQUFBQUFBYVc5amMxOWxibWRoWjJVQUFBQUFBQUFBQUFDQWhCNEFBQUFBCgkJCUFBQUFBQUFBQUFBQWFXOWpjMTlrYVhObGJtZGhaMlVBQUFBQUFBQUFDVDBBQUFBQUFBQUEKCQkJQUFBQUFBQUFhVzlqYzE5amMzUm1iSElBQUFBQUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBYVc5amMxOXlkSEpwWjJkbGNnQUFBQUFBQUFCa0FBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCWFXOWZaWEJ3WDJKdmIzTjBBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQWFXOWYKCQkJYUdsdWRITUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFhVzlmWTI5eQoJCQlaVjlqYzNSZmJHbHRBQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJPC9kYXRhPgoJCQk8ZGF0YT4KCQkJQWdBQUFBZ0FBQUFCQUFBQUFBQUFBTGdMQUFBQUFBQUF5QUFBQUFBQUFBQUFaT2dEQUFBQQoJCQlBQUFBQUV2UUJ3QUFBQUFBQUFBeS8vLy8vLy8vRHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQkFBQUFBQUFBCgkJCUFMZ0xBQUFBQUFBQXlBQUFBQUFBQUFBQlpPZ0RBQUFBQUFBQUFVdlFCd0FBQUFBQUFBRXkKCQkJdUFzQUFBQUFBQUFBR2FBUEFBQUFBQUFBQUFELy8vLy8vLzhQQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFCWUFBQUFCQUFBQUFBQUFBS3dOQUFBQUFBQUF5QUFBQUFBQQoJCQlBQUFDWlBRQkFBQUFBQUFBQWpMb0F3QUFBQUFBQUFJWjNBVUFBQUFBQUFBQk10QUhBQUFBCgkJCUFBQUFBUm00Q3dBQUFBQUFBQUF5b0E4QUFBQUFBQUFBR2YvLy8vLy8vdzhBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQnNBCgkJCUFBQUJBQUFBQUFBQUFKUVJBQUFBQUFBQXlBQUFBQUFBQUFBRFpQUUJBQUFBQUFBQUF6TG8KCQkJQXdBQUFBQUFBQU1aMEFjQUFBQUFBQUFDTXJnTEFBQUFBQUFBQWhtZ0R3QUFBQUFBQUFFeQoJCQkvLy8vLy8vL0R3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFCQUFBQUFBQUFBSWdUQUFBQQoJCQlBQUFBeUFBQUFBQUFBQUFFWlBRQkFBQUFBQUFBQkRMb0F3QUFBQUFBQUFRWjNBVUFBQUFBCgkJCUFBQURTOUFIQUFBQUFBQUFBeks0Q3dBQUFBQUFBQUl5b0E4QUFBQUFBQUFDR2YvLy8vLy8KCQkJL3c4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUNVQUFBQUJBQUFBQUFBQUFIQVhBQUFBQUFBQXlBQUFBQUFBQUFBRlpQUUIKCQkJQUFBQUFBQUFCVExvQXdBQUFBQUFBQVVaM0FVQUFBQUFBQUFFUzlBSEFBQUFBQUFBQkRLNAoJCQlDd0FBQUFBQUFBTXlvQThBQUFBQUFBQURHWlFSQUFBQUFBQUFBakwvLy8vLy8vOFBBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHUUFBQUFEQUFBQQoJCQlBQUFBQUtDR0FRQUFBQUFBeUFBQUFBQUFBQUFHTXZRQkFBQUFBQUFBQmhub0F3QUFBQUFBCgkJCUFBVXkzQVVBQUFBQUFBQUZHZEFIQUFBQUFBQUFCREs0Q3dBQUFBQUFBQVFab0E4QUFBQUEKCQkJQUFBRUFKUVJBQUFBQUFBQUF3RC8vLy8vLy84UEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8KCQkJLy8vL0R3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFSkJRMHRIVWs5VgoJCQlUa1FBQUFBQUFBQUFBR1FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUVVrVkIKCQkJVEZSSlRVVmZVMGhQVWxRQUFBUUdBQUFBQUFBQUFBQVpBQmtBWkFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQkxSVkpPUlV3QUFBQUFBQUFBQUFBQUFBWmtBR1FBWkFCOUFKWUFyd0RJQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQWtGUklVbFZmVkVsRlVqSUFBQUFBQUFBQUJHUUF5QURJQU1nQXlBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFDUVZFaFNWVjlVU1VWU013QUFBQUFBQUFBRVpBRElBTWdBeUFESQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUpCVVNGSlZYMVJKUlZJMEFBQUFBQUFBQUFISUFNZ0EKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBa0ZSSVVsVmZWRWxGVWpVQUFBQUFBQUFBCgkJCUFXUUFaQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWRYUnBiR2wwCgkJCWVTMTBiSFpzQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFibTl1TFdadlkyRnMKCQkJTFhSc2Rtd0FBQUFBQUFEN0FBQUFBQUFBQUFBQUFBQUFBQUFBZFdKd1l3QUFBQUFBQUFBQQoJCQlBQUFBQUFFQUFBQnZabVlBQUFBQUFBQUFBQUFBQUFBQWFIZHdBQUFBQUFBQUFBQUFBQUFBCgkJCUFBRUFBQUJ2YmdBQUFBQUFBQUFBQUFBQUFBQUFaWEJ3QUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFDUUFBQUFBQUFBQUFBQUFBQUFBQUFBY0dWeVppMWlhV0Z6QUFBQUFBQUFBQUFBQUFBRgoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQWNtRjBhVzl5WVhSbGJHbHRhWFFBQUFBQUFBREF4aTBBCgkJCUFBQUFBQUFBQUFBQUFBQUFhVzlqYzE5bGJtZGhaMlVBQUFBQUFBQUFBQUNBaEI0QUFBQUEKCQkJQUFBQUFBQUFBQUFBYVc5amMxOWthWE5sYm1kaFoyVUFBQUFBQUFBQUNUMEFBQUFBQUFBQQoJCQlBQUFBQUFBQWFXOWpjMTlqYzNSbWJISUFBQUFBQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFhVzlqYzE5eWRISnBaMmRsY2dBQUFBQUFBQUJrQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJYVc5ZlpYQndYMkp2YjNOMEFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBYVc5ZgoJCQlhR2x1ZEhNQUFBQUFBQUFBQUFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQWFXOWZZMjl5CgkJCVpWOWpjM1JmYkdsdEFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQk8L2RhdGE+CgkJCTxkYXRhPgoJCQlBZ0FBQUFnQUFBQUJBQUFBQUFBQUFMZ0xBQUFBQUFBQXlBQUFBQUFBQUFBQVpPZ0RBQUFBCgkJCUFBQUFBRXZRQndBQUFBQUFBQUF5Ly8vLy8vLy9Ed0FBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCSUFBQUFCQUFBQUFBQUEKCQkJQUxnTEFBQUFBQUFBeUFBQUFBQUFBQUFCWk9nREFBQUFBQUFBQVV2UUJ3QUFBQUFBQUFFeQoJCQl1QXNBQUFBQUFBQUFHYUFQQUFBQUFBQUFBQUQvLy8vLy8vOFBBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUJnQUFBQUJBQUFBQUFBQUFLd05BQUFBQUFBQXlBQUFBQUFBCgkJCUFBQUNaUFFCQUFBQUFBQUFBakxvQXdBQUFBQUFBQUlaM0FVQUFBQUFBQUFCTXRBSEFBQUEKCQkJQUFBQUFSbTRDd0FBQUFBQUFBQXlvQThBQUFBQUFBQUFHZi8vLy8vLy93OEFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCMEEKCQkJQUFBQkFBQUFBQUFBQUpRUkFBQUFBQUFBeUFBQUFBQUFBQUFEWlBRQkFBQUFBQUFBQXpMbwoJCQlBd0FBQUFBQUFBTVowQWNBQUFBQUFBQUNNcmdMQUFBQUFBQUFBaG1nRHdBQUFBQUFBQUV5CgkJCS8vLy8vLy8vRHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNJQUFBQUJBQUFBQUFBQUFJZ1RBQUFBCgkJCUFBQUF5QUFBQUFBQUFBQUVaUFFCQUFBQUFBQUFCRExvQXdBQUFBQUFBQVFaM0FVQUFBQUEKCQkJQUFBRFM5QUhBQUFBQUFBQUF6SzRDd0FBQUFBQUFBSXlvQThBQUFBQUFBQUNHZi8vLy8vLwoJCQkvdzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQ2NBQUFBQkFBQUFBQUFBQUhBWEFBQUFBQUFBeUFBQUFBQUFBQUFGWlBRQgoJCQlBQUFBQUFBQUJUTG9Bd0FBQUFBQUFBVVozQVVBQUFBQUFBQUVTOUFIQUFBQUFBQUFCREs0CgkJCUN3QUFBQUFBQUFNeW9BOEFBQUFBQUFBREdaUVJBQUFBQUFBQUFqTC8vLy8vLy84UEFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdRQUFBQURBQUFBCgkJCUFBQUFBS0NHQVFBQUFBQUF5QUFBQUFBQUFBQUdNdlFCQUFBQUFBQUFCaG5vQXdBQUFBQUEKCQkJQUFVeTNBVUFBQUFBQUFBRkdkQUhBQUFBQUFBQUJESzRDd0FBQUFBQUFBUVpvQThBQUFBQQoJCQlBQUFFQUpRUkFBQUFBQUFBQXdELy8vLy8vLzhQQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLwoJCQkvLy8vRHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVKQlEwdEhVazlWCgkJCVRrUUFBQUFBQUFBQUFHUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRVWtWQgoJCQlURlJKVFVWZlUwaFBVbFFBQUFRR0FBQUFBQUFBQUFBWkFCa0FaQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFCTFJWSk9SVXdBQUFBQUFBQUFBQUFBQUFaa0FHUUFaQUI5QUpZQXJ3RElBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBa0ZSSVVsVmZWRWxGVWpJQUFBQUFBQUFBQkdRQXlBRElBTWdBeUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUNRVkVoU1ZWOVVTVVZTTXdBQUFBQUFBQUFFWkFESUFNZ0F5QURJCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBSkJVU0ZKVlgxUkpSVkkwQUFBQUFBQUFBQUhJQU1nQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFrRlJJVWxWZlZFbEZValVBQUFBQUFBQUEKCQkJQVdRQVpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1FBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZFhScGJHbDAKCQkJZVMxMGJIWnNBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQWJtOXVMV1p2WTJGcwoJCQlMWFJzZG13QUFBQUFBQUQ3QUFBQUFBQUFBQUFBQUFBQUFBQUFkV0p3WXdBQUFBQUFBQUFBCgkJCUFBQUFBQUVBQUFCdlptWUFBQUFBQUFBQUFBQUFBQUFBYUhkd0FBQUFBQUFBQUFBQUFBQUEKCQkJQUFFQUFBQnZiZ0FBQUFBQUFBQUFBQUFBQUFBQVpYQndBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUNRQUFBQUFBQUFBQUFBQUFBQUFBQUFjR1Z5WmkxaWFXRnpBQUFBQUFBQUFBQUFBQUFGCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBY21GMGFXOXlZWFJsYkdsdGFYUUFBQUFBQUFEQXhpMEEKCQkJQUFBQUFBQUFBQUFBQUFBQWFXOWpjMTlsYm1kaFoyVUFBQUFBQUFBQUFBQ0FoQjRBQUFBQQoJCQlBQUFBQUFBQUFBQUFhVzlqYzE5a2FYTmxibWRoWjJVQUFBQUFBQUFBQ1QwQUFBQUFBQUFBCgkJCUFBQUFBQUFBYVc5amMxOWpjM1JtYkhJQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUEKCQkJQUFBQWFXOWpjMTl5ZEhKcFoyZGxjZ0FBQUFBQUFBQmtBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlhVzlmWlhCd1gySnZiM04wQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFhVzlmCgkJCWFHbHVkSE1BQUFBQUFBQUFBQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBYVc5ZlkyOXkKCQkJWlY5amMzUmZiR2x0QUFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQoJCQlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCgkJCTwvZGF0YT4KCQk8L2FycmF5PgoJCTxrZXk+SU9QbGF0Zm9ybVN5c3RlbVNsZWVwUG9saWN5PC9rZXk+CgkJPGRhdGE+CgkJVTB4UVZBSUFDZ0FJQUFBQUNBQUFBQUFBQUFBQUFBQUFCUUFBQUFBQUFBQUZBUUFBQVFBQUFBQUFRQUFBCgkJQUVBQUFBQVFBQUFBRUFBSEFBQUFBQUFBQUEvZGh3RUFBQUFBSUFBQUFDQUFBQUFBQUFBQUFBQUFBQVVBCgkJQUFBQUFBQUFEOTJIQVFBQUFBREVGZ0FBQUFBQUFBZ0FBQUFJQUFBQUJRQUFBQUFBQUFBUDNZY0JBQUFBCgkJQU1RV0VBQUFBQkFBSUVBQUFDQkFBQUFIQUFBQUNBQUFBQS9kaHdFQUFBQUF4QllBQUFBQUFBQWdBQUFBCgkJSUFBQUFBVUFBQUFBQUFBQUQ5MkhBUUFBQUFERUZnQUFBQUFBQUFpQUFBQUlnQUFBQlFBQUFBQUFBQUFQCgkJM1ljQkFBQUFBTVFXQUFBQUFBQUFBTUFBQUFEQUFBQUhBQUFBQ0FBQUFBL2Rod0VBQUFBQXhCWUFBQUFBCgkJQUFBQUFBQUFBQUFBQUFjQUFBQUJBQUFBRDkySEFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCd0FBCgkJQUFBQUFBQVAzWWNCQUFBQUFBPT0KCQk8L2RhdGE+CgkJPGtleT5OZXR3b3JrVGltZXJEZWxheTwva2V5PgoJCTxpbnRlZ2VyPjkwMDwvaW50ZWdlcj4KCQk8a2V5Pk5vdGlmaWNhdGlvbldha2U8L2tleT4KCQk8dHJ1ZS8+CgkJPGtleT5QdWJsaXNoQmF0dGVyeUZhY3RvcnM8L2tleT4KCQk8dHJ1ZS8+CgkJPGtleT5TdGFuZGJ5QmF0dGVyeVRocmVzaG9sZDwva2V5PgoJCTxpbnRlZ2VyPjUwPC9pbnRlZ2VyPgoJCTxrZXk+U3RhbmRieURlbGF5PC9rZXk+CgkJPGludGVnZXI+MTA4MDA8L2ludGVnZXI+CgkJPGtleT5TdGFuZGJ5RGVsYXlIaWdoPC9rZXk+CgkJPGludGVnZXI+ODY0MDA8L2ludGVnZXI+CgkJPGtleT5UQ1BLZWVwQWxpdmVEdXJpbmdTbGVlcDwva2V5PgoJCTx0cnVlLz4KCQk8a2V5PlRDUEtlZXBBbGl2ZUV4cGlyYXRpb25UaW1lb3V0PC9rZXk+CgkJPGludGVnZXI+NDMyMDA8L2ludGVnZXI+CgkJPGtleT5UaGVybWFsQ29uZmlndXJhdGlvbjwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PkRvbWFpbjwva2V5PgoJCQk8ZGljdD4KCQkJCTxrZXk+Q1BVPC9rZXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PlFPU1RoZXJtYWxUaHJlc2hvbGRzPC9rZXk+CgkJCQkJPGRpY3Q+CgkJCQkJCTxrZXk+Tm9uRm9jYWw8L2tleT4KCQkJCQkJPGludGVnZXI+MjUxPC9pbnRlZ2VyPgoJCQkJCQk8a2V5PlV0aWxpdHk8L2tleT4KCQkJCQkJPGludGVnZXI+NjQ8L2ludGVnZXI+CgkJCQkJPC9kaWN0PgoJCQkJCTxrZXk+U0ZJQXBwTmFwPC9rZXk+CgkJCQkJPGRpY3Q+CgkJCQkJCTxrZXk+RWZmb3J0Q3VydmU8L2tleT4KCQkJCQkJPHN0cmluZz40MD0wJSw3Mj02NyU8L3N0cmluZz4KCQkJCQk8L2RpY3Q+CgkJCQkJPGtleT5TRklEYXJ3aW5CRzwva2V5PgoJCQkJCTxkaWN0PgoJCQkJCQk8a2V5PkVmZm9ydEN1cnZlPC9rZXk+CgkJCQkJCTxzdHJpbmc+NDA9MCUsNjQ9NTAlLDcyPTY3JTwvc3RyaW5nPgoJCQkJCTwvZGljdD4KCQkJCQk8a2V5PlNGSU1haW50ZW5hbmNlPC9rZXk+CgkJCQkJPGRpY3Q+CgkJCQkJCTxrZXk+RWZmb3J0Q3VydmU8L2tleT4KCQkJCQkJPHN0cmluZz40MD0wJSw2ND01MCUsNzI9NjclPC9zdHJpbmc+CgkJCQkJPC9kaWN0PgoJCQkJCTxrZXk+U0ZJV2luZG93PC9rZXk+CgkJCQkJPGludGVnZXI+NTAwMDA8L2ludGVnZXI+CgkJCQkJPGtleT5UaGVybWFsUHJlc3N1cmU8L2tleT4KCQkJCQk8ZGljdD4KCQkJCQkJPGtleT5IZWF2eTwva2V5PgoJCQkJCQk8ZGljdD4KCQkJCQkJCTxrZXk+SGlnaFRocmVzaG9sZDwva2V5PgoJCQkJCQkJPGludGVnZXI+MjAwPC9pbnRlZ2VyPgoJCQkJCQkJPGtleT5Mb3dUaHJlc2hvbGQ8L2tleT4KCQkJCQkJCTxpbnRlZ2VyPjkwPC9pbnRlZ2VyPgoJCQkJCQk8L2RpY3Q+CgkJCQkJCTxrZXk+TW9kZXJhdGU8L2tleT4KCQkJCQkJPGRpY3Q+CgkJCQkJCQk8a2V5PkhpZ2hUaHJlc2hvbGQ8L2tleT4KCQkJCQkJCTxpbnRlZ2VyPjEwMDwvaW50ZWdlcj4KCQkJCQkJCTxrZXk+TG93VGhyZXNob2xkPC9rZXk+CgkJCQkJCQk8aW50ZWdlcj41MDwvaW50ZWdlcj4KCQkJCQkJPC9kaWN0PgoJCQkJCQk8a2V5Pk5vbWluYWw8L2tleT4KCQkJCQkJPGRpY3Q+CgkJCQkJCQk8a2V5PkhpZ2hUaHJlc2hvbGQ8L2tleT4KCQkJCQkJCTxpbnRlZ2VyPjYyPC9pbnRlZ2VyPgoJCQkJCQkJPGtleT5Mb3dUaHJlc2hvbGQ8L2tleT4KCQkJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQkJCTwvZGljdD4KCQkJCQkJPGtleT5TbGVlcGluZzwva2V5PgoJCQkJCQk8ZGljdD4KCQkJCQkJCTxrZXk+SGlnaFRocmVzaG9sZDwva2V5PgoJCQkJCQkJPGludGVnZXI+MjUyPC9pbnRlZ2VyPgoJCQkJCQkJPGtleT5Mb3dUaHJlc2hvbGQ8L2tleT4KCQkJCQkJCTxpbnRlZ2VyPjI1MTwvaW50ZWdlcj4KCQkJCQkJPC9kaWN0PgoJCQkJCQk8a2V5PlRyYXBwaW5nPC9rZXk+CgkJCQkJCTxkaWN0PgoJCQkJCQkJPGtleT5IaWdoVGhyZXNob2xkPC9rZXk+CgkJCQkJCQk8aW50ZWdlcj4yNTA8L2ludGVnZXI+CgkJCQkJCQk8a2V5Pkxvd1RocmVzaG9sZDwva2V5PgoJCQkJCQkJPGludGVnZXI+MTcwPC9pbnRlZ2VyPgoJCQkJCQk8L2RpY3Q+CgkJCQkJPC9kaWN0PgoJCQkJPC9kaWN0PgoJCQkJPGtleT5HUFU8L2tleT4KCQkJCTxkaWN0Lz4KCQkJCTxrZXk+SU88L2tleT4KCQkJCTxkaWN0Lz4KCQkJPC9kaWN0PgoJCTwvZGljdD4KCQk8a2V5PlVuaWZpZWRTbGVlcFNsaWRlclByZWY8L2tleT4KCQk8dHJ1ZS8+Cgk8L2RpY3Q+Cgk8a2V5PnBtc3BGaWxlPC9rZXk+Cgk8aW50ZWdlcj4xMzwvaW50ZWdlcj4KPC9kaWN0Pgo8L3BsaXN0Pgo= + + + NSHumanReadableCopyright + Copyright © 2017 - 2019 PMheart. All rights reserved. + OSBundleRequired + Root + + diff --git a/OC/Kexts/HibernationFixup.kext/Contents/Info.plist b/OC/Kexts/HibernationFixup.kext/Contents/Info.plist new file mode 100644 index 0000000..196cc55 --- /dev/null +++ b/OC/Kexts/HibernationFixup.kext/Contents/Info.plist @@ -0,0 +1,87 @@ + + + + + BuildMachineOSBuild + 19H524 + CFBundleDevelopmentRegion + en + CFBundleExecutable + HibernationFixup + CFBundleIdentifier + as.lvs1974.HibernationFixup + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + HibernationFixup + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.4.0 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.4.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12B45b + DTPlatformName + macosx + DTPlatformVersion + 11.0 + DTSDKBuild + 20A2408 + DTSDKName + macosx11.0 + DTXcode + 1220 + DTXcodeBuild + 12B45b + IOKitPersonalities + + as.lvs1974.HibernationFixup + + CFBundleIdentifier + as.lvs1974.HibernationFixup + IOClass + HibernationFixup + IOMatchCategory + HibernationFixup + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + LSMinimumSystemVersion + 10.8 + NSHumanReadableCopyright + Copyright © 2017 lvs1974. All rights reserved. + OSBundleCompatibleVersion + 1.0 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.4 + com.apple.kpi.bsd + 12.0.0 + com.apple.kpi.dsep + 12.0.0 + com.apple.kpi.iokit + 12.0.0 + com.apple.kpi.libkern + 12.0.0 + com.apple.kpi.mach + 12.0.0 + com.apple.kpi.unsupported + 12.0.0 + + OSBundleRequired + Root + + diff --git a/OC/Kexts/HibernationFixup.kext/Contents/MacOS/HibernationFixup b/OC/Kexts/HibernationFixup.kext/Contents/MacOS/HibernationFixup new file mode 100755 index 0000000..077f0f2 Binary files /dev/null and b/OC/Kexts/HibernationFixup.kext/Contents/MacOS/HibernationFixup differ diff --git a/OC/Kexts/HoRNDIS.kext/Contents/Info.plist b/OC/Kexts/HoRNDIS.kext/Contents/Info.plist new file mode 100644 index 0000000..95c460e --- /dev/null +++ b/OC/Kexts/HoRNDIS.kext/Contents/Info.plist @@ -0,0 +1,126 @@ + + + + + BuildMachineOSBuild + 19G2021 + CFBundleDevelopmentRegion + English + CFBundleExecutable + HoRNDIS + CFBundleGetInfoString + Android/RNDIS tethering driver + CFBundleIdentifier + com.joshuawise.kexts.HoRNDIS + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + HoRNDIS + CFBundlePackageType + KEXT + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 9.2 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 11E708 + DTPlatformVersion + GM + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1160 + DTXcodeBuild + 11E708 + IOKitPersonalities + + RNDISControlLinuxGadget + + CFBundleIdentifier + com.joshuawise.kexts.HoRNDIS + IOClass + HoRNDIS + IOProviderClass + IOUSBHostInterface + bInterfaceClass + 2 + bInterfaceProtocol + 255 + bInterfaceSubClass + 2 + + RNDISControlMiscDeviceRoE + + CFBundleIdentifier + com.joshuawise.kexts.HoRNDIS + IOClass + HoRNDIS + IOProviderClass + IOUSBHostInterface + bInterfaceClass + 239 + bInterfaceProtocol + 1 + bInterfaceSubClass + 4 + + RNDISControlStockAndroid + + CFBundleIdentifier + com.joshuawise.kexts.HoRNDIS + IOClass + HoRNDIS + IOProviderClass + IOUSBHostInterface + bInterfaceClass + 224 + bInterfaceProtocol + 3 + bInterfaceSubClass + 1 + + WirelessControllerDevice + + CFBundleIdentifier + com.joshuawise.kexts.HoRNDIS + IOClass + HoRNDIS + IOProviderClass + IOUSBHostDevice + bDeviceClass + 224 + bDeviceProtocol + 0 + bDeviceSubClass + 0 + + + LSMinimumSystemVersion + 10.15 + OSBundleLibraries + + com.apple.iokit.IONetworkingFamily + 3.2 + com.apple.iokit.IOUSBHostFamily + 1.0.1 + com.apple.kpi.bsd + 15.0 + com.apple.kpi.iokit + 15.0 + com.apple.kpi.libkern + 15.0 + com.apple.kpi.mach + 15.0 + com.apple.kpi.unsupported + 15.0 + + + diff --git a/OC/Kexts/HoRNDIS.kext/Contents/MacOS/HoRNDIS b/OC/Kexts/HoRNDIS.kext/Contents/MacOS/HoRNDIS new file mode 100755 index 0000000..27f7aad Binary files /dev/null and b/OC/Kexts/HoRNDIS.kext/Contents/MacOS/HoRNDIS differ diff --git a/OC/Kexts/HoRNDIS.kext/Contents/Resources/en.lproj/InfoPlist.strings b/OC/Kexts/HoRNDIS.kext/Contents/Resources/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..5e45963 Binary files /dev/null and b/OC/Kexts/HoRNDIS.kext/Contents/Resources/en.lproj/InfoPlist.strings differ diff --git a/OC/Kexts/HoRNDIS.kext/Contents/_CodeSignature/CodeResources b/OC/Kexts/HoRNDIS.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..b155906 --- /dev/null +++ b/OC/Kexts/HoRNDIS.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,139 @@ + + + + + files + + Resources/en.lproj/InfoPlist.strings + + hash + + MiLKDDnrUKr4EmuvhS5VQwxHGK8= + + optional + + + + files2 + + Resources/en.lproj/InfoPlist.strings + + hash + + MiLKDDnrUKr4EmuvhS5VQwxHGK8= + + hash2 + + Oc8u4Ht7Mz58F50L9NeYpbcq9qTlhPUeZCcDu/pPyCg= + + optional + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OC/Kexts/IntelBluetoothFirmware.kext/Contents/Info.plist b/OC/Kexts/IntelBluetoothFirmware.kext/Contents/Info.plist new file mode 100644 index 0000000..853ef1d --- /dev/null +++ b/OC/Kexts/IntelBluetoothFirmware.kext/Contents/Info.plist @@ -0,0 +1,215 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleExecutable + IntelBluetoothFirmware + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + IntelBluetoothFirmware + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.1.2 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.1.2 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A7300 + DTPlatformName + macosx + DTPlatformVersion + 10.15.6 + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1201 + DTXcodeBuild + 12A7300 + IOKitPersonalities + + IntelBluetoothFirmware_0026 + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 38 + idVendor + 32903 + + IntelBluetoothFirmware_0032 + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 50 + idVendor + 32903 + + IntelBluetoothFirmware_3165 + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 2602 + idVendor + 32903 + + IntelBluetoothFirmware_3168 + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 2727 + idVendor + 32903 + + IntelBluetoothFirmware_726x + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 2012 + idVendor + 32903 + + IntelBluetoothFirmware_8265 + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 2603 + idVendor + 32903 + + IntelBluetoothFirmware_926x + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 37 + idVendor + 32903 + + IntelBluetoothFirmware_9560 + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 2730 + idVendor + 32903 + + IntelBluetoothFirmware_ax200 + + CFBundleIdentifier + com.zxystd.IntelBluetoothFirmware + IOClass + IntelBluetoothFirmware + IOMatchCategory + IntelBluetoothFirmware + IOProbeScore + 4000 + IOProviderClass + IOUSBHostDevice + idProduct + 41 + idVendor + 32903 + + + LSMinimumSystemVersion + 10.12 + NSHumanReadableCopyright + Copyright © 2019 钟先耀. All rights reserved. + OSBundleLibraries + + com.apple.iokit.IOUSBHostFamily + 1.2 + com.apple.kpi.iokit + 16.7 + com.apple.kpi.libkern + 16.7 + com.apple.kpi.mach + 16.7 + + + diff --git a/OC/Kexts/IntelBluetoothFirmware.kext/Contents/MacOS/IntelBluetoothFirmware b/OC/Kexts/IntelBluetoothFirmware.kext/Contents/MacOS/IntelBluetoothFirmware new file mode 100755 index 0000000..a983e56 Binary files /dev/null and b/OC/Kexts/IntelBluetoothFirmware.kext/Contents/MacOS/IntelBluetoothFirmware differ diff --git a/OC/Kexts/IntelBluetoothInjector.kext/Contents/Info.plist b/OC/Kexts/IntelBluetoothInjector.kext/Contents/Info.plist new file mode 100644 index 0000000..79def8b --- /dev/null +++ b/OC/Kexts/IntelBluetoothInjector.kext/Contents/Info.plist @@ -0,0 +1,186 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleIdentifier + com.zxystd.IntelBluetoothInjector + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + IntelBluetoothInjector + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.1.2 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.1.2 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A7300 + DTPlatformName + macosx + DTPlatformVersion + 10.15.6 + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1201 + DTXcodeBuild + 12A7300 + IOKitPersonalities + + 0026 + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 38 + idVendor + 32903 + + 0032 + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 50 + idVendor + 32903 + + 3165ac + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 2602 + idVendor + 32903 + + 3168 + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 2727 + idVendor + 32903 + + 726x + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 2012 + idVendor + 32903 + + 8265 + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 2603 + idVendor + 32903 + + 926x + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 37 + idVendor + 32903 + + 9560 + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 2730 + idVendor + 32903 + + ax200 + + CFBundleIdentifier + com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport + IOClass + BroadcomBluetoothHostControllerUSBTransport + IOProbeScore + 3000 + IOProviderClass + IOUSBHostDevice + idProduct + 41 + idVendor + 32903 + + + LSMinimumSystemVersion + 10.12 + NSHumanReadableCopyright + Copyright © 2020 钟先耀. All rights reserved. + OSBundleRequired + Root + + diff --git a/OC/Kexts/IntelMausi.kext/Contents/Info.plist b/OC/Kexts/IntelMausi.kext/Contents/Info.plist index ac40cdd..6b72445 100644 --- a/OC/Kexts/IntelMausi.kext/Contents/Info.plist +++ b/OC/Kexts/IntelMausi.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion English CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.0.2 + 1.0.6 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,23 @@ MacOSX CFBundleVersion - 1.0.2 + 1.0.6 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities IntelMausi @@ -50,9 +52,7 @@ enableCSO6 - enableTSO4 - - enableTSO6 + enableWakeOnAddrMatch maxIntrRate10 3000 @@ -74,17 +74,19 @@ 0 Driver_Version - 1.0.2 + 1.0.6 IOClass IntelMausi IOPCIMatch - 0x10EA8086 0x10EB8086 0x10EF8086 0x10F08086 0x15028086 0x15038086 0x153A8086 0x153B8086 0x155A8086 0x15598086 0x15A08086 0x15A18086 0x15A28086 0x15A38086 0x156F8086 0x15708086 0x15B78086 0x15B88086 0x15D78086 0x15D88086 0x15E38086 0x15D68086 0x15BD8086 0x15BE8086 0x15BB8086 0x15BC8086 0x15DF8086 0x15E08086 0x15E18086 0x15E28086 + 0x10EA8086 0x10EB8086 0x10EF8086 0x10F08086 0x15028086 0x15038086 0x153A8086 0x153B8086 0x155A8086 0x15598086 0x15A08086 0x15A18086 0x15A28086 0x15A38086 0x156F8086 0x15708086 0x15B78086 0x15B88086 0x15D78086 0x15D88086 0x15E38086 0x15D68086 0x15BD8086 0x15BE8086 0x15BB8086 0x15BC8086 0x15DF8086 0x15E08086 0x15E18086 0x15E28086 0x15B98086 0x0D4E8086 0x0D4F8086 0x0D4C8086 0x0D4D8086 0x0D538086 0x0D558086 0x15FB8086 0x15FC8086 0x15F98086 0x15FA8086 0x15F48086 0x15F58086 0x1A1E8086 0x1A1F8086 0x1A1C8086 0x1A1D8086 0x550A8086 0x550B8086 0x550C8086 0x550D8086 IOProbeScore 1000 IOProviderClass IOPCIDevice + LSMinimumSystemVersion + 10.9 NSHumanReadableCopyright Copyright © 2014 Laura Müller. All rights reserved. OSBundleLibraries diff --git a/OC/Kexts/IntelMausi.kext/Contents/MacOS/IntelMausi b/OC/Kexts/IntelMausi.kext/Contents/MacOS/IntelMausi old mode 100644 new mode 100755 index 224a668..2abec3a Binary files a/OC/Kexts/IntelMausi.kext/Contents/MacOS/IntelMausi and b/OC/Kexts/IntelMausi.kext/Contents/MacOS/IntelMausi differ diff --git a/OC/Kexts/Lilu.kext/Contents/Info.plist b/OC/Kexts/Lilu.kext/Contents/Info.plist index cfbca1f..c51a509 100644 --- a/OC/Kexts/Lilu.kext/Contents/Info.plist +++ b/OC/Kexts/Lilu.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.4.2 + 1.5.3 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,23 @@ MacOSX CFBundleVersion - 1.4.2 + 1.5.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities as.vit9696.Lilu @@ -56,24 +58,26 @@ IOKit + LSMinimumSystemVersion + 10.6 NSHumanReadableCopyright - Copyright © 2016-2018 vit9696. All rights reserved. + Copyright © 2016-2020 vit9696. All rights reserved. OSBundleCompatibleVersion 1.2.0 OSBundleLibraries com.apple.kpi.bsd - 12.0.0 + 10.0.0 com.apple.kpi.dsep - 12.0.0 + 10.0.0 com.apple.kpi.iokit - 12.0.0 + 10.0.0 com.apple.kpi.libkern - 12.0.0 + 10.0.0 com.apple.kpi.mach - 12.0.0 + 10.0.0 com.apple.kpi.unsupported - 12.0.0 + 10.0.0 OSBundleRequired Root diff --git a/OC/Kexts/Lilu.kext/Contents/MacOS/Lilu b/OC/Kexts/Lilu.kext/Contents/MacOS/Lilu old mode 100644 new mode 100755 index 9a62e79..4eca581 Binary files a/OC/Kexts/Lilu.kext/Contents/MacOS/Lilu and b/OC/Kexts/Lilu.kext/Contents/MacOS/Lilu differ diff --git a/OC/Kexts/NVMeFix.kext/Contents/Info.plist b/OC/Kexts/NVMeFix.kext/Contents/Info.plist index ae67044..ce8f01a 100644 --- a/OC/Kexts/NVMeFix.kext/Contents/Info.plist +++ b/OC/Kexts/NVMeFix.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,27 +17,29 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.0.1 + 1.0.7 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 1.0.1 + 1.0.7 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities org.acidanthera.NVMeFix @@ -54,6 +56,8 @@ IOKit + LSMinimumSystemVersion + 10.14 NSHumanReadableCopyright Copyright © 2019 acidanthera. All rights reserved. OSBundleCompatibleVersion diff --git a/OC/Kexts/NVMeFix.kext/Contents/MacOS/NVMeFix b/OC/Kexts/NVMeFix.kext/Contents/MacOS/NVMeFix old mode 100644 new mode 100755 index 0fa0909..06235e5 Binary files a/OC/Kexts/NVMeFix.kext/Contents/MacOS/NVMeFix and b/OC/Kexts/NVMeFix.kext/Contents/MacOS/NVMeFix differ diff --git a/OC/Kexts/NoTouchID.kext/Contents/Info.plist b/OC/Kexts/NoTouchID.kext/Contents/Info.plist index c212b7e..845f3a2 100644 --- a/OC/Kexts/NoTouchID.kext/Contents/Info.plist +++ b/OC/Kexts/NoTouchID.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18G1012 + 19G73 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,27 +17,27 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.0.3 + 1.0.4 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 1.0.3 + 1.0.4 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 11B500 + 11E708 DTPlatformVersion GM DTSDKBuild - 19B89 + 19G68 DTSDKName macosx10.15 DTXcode - 1120 + 1160 DTXcodeBuild - 11B500 + 11E708 IOKitPersonalities NoTouchID diff --git a/OC/Kexts/NoTouchID.kext/Contents/MacOS/NoTouchID b/OC/Kexts/NoTouchID.kext/Contents/MacOS/NoTouchID old mode 100644 new mode 100755 index d8fddf0..f2719c8 Binary files a/OC/Kexts/NoTouchID.kext/Contents/MacOS/NoTouchID and b/OC/Kexts/NoTouchID.kext/Contents/MacOS/NoTouchID differ diff --git a/OC/Kexts/SMCLightSensor.kext/Contents/Info.plist b/OC/Kexts/RTCMemoryFixup.kext/Contents/Info.plist similarity index 67% rename from OC/Kexts/SMCLightSensor.kext/Contents/Info.plist rename to OC/Kexts/RTCMemoryFixup.kext/Contents/Info.plist index 443ea95..ffd4eb9 100644 --- a/OC/Kexts/SMCLightSensor.kext/Contents/Info.plist +++ b/OC/Kexts/RTCMemoryFixup.kext/Contents/Info.plist @@ -3,69 +3,67 @@ BuildMachineOSBuild - 18E226 + 19G2021 CFBundleDevelopmentRegion en CFBundleExecutable - SMCLightSensor + RTCMemoryFixup CFBundleIdentifier - ru.usrsse2.SMCLightSensor + as.lvs1974.RTCMemoryFixup CFBundleInfoDictionaryVersion 6.0 CFBundleName - SMCLightSensor + RTCMemoryFixup CFBundlePackageType KEXT CFBundleShortVersionString - 1.0 + 1.0.8 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 1 + 1.0.8 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 11E801a DTPlatformVersion GM DTSDKBuild - 18E219 + 19G68 DTSDKName - macosx10.14 + macosx10.15 DTXcode - 1020 + 1170 DTXcodeBuild - 10E1001 + 11E801a IOKitPersonalities - SMCLightSensor + as.lvs1974.RTCMemoryFixup CFBundleIdentifier - ru.usrsse2.SMCLightSensor + as.lvs1974.RTCMemoryFixup IOClass - SMCLightSensor - IOMatchCategory - SMCLightSensor + RTCMemoryFixup + IONameMatch + PNP0B00 + IOProbeScore + 100 IOProviderClass - IOResources - IOResourceMatch - IOKit + IOACPIPlatformDevice + LSMinimumSystemVersion + 10.8 NSHumanReadableCopyright - Copyright © 2018 vit9696. All rights reserved. + Copyright © 2018 lvs1974. All rights reserved. OSBundleCompatibleVersion - 1.0.0 + 1.0 OSBundleLibraries as.vit9696.Lilu 1.2.0 - as.vit9696.VirtualSMC - 1.0.0 - com.apple.iokit.IOACPIFamily - 1.0.0d1 com.apple.kpi.bsd 12.0.0 com.apple.kpi.dsep @@ -79,5 +77,7 @@ com.apple.kpi.unsupported 12.0.0 + OSBundleRequired + Root diff --git a/OC/Kexts/RTCMemoryFixup.kext/Contents/MacOS/RTCMemoryFixup b/OC/Kexts/RTCMemoryFixup.kext/Contents/MacOS/RTCMemoryFixup new file mode 100755 index 0000000..a5d952d Binary files /dev/null and b/OC/Kexts/RTCMemoryFixup.kext/Contents/MacOS/RTCMemoryFixup differ diff --git a/OC/Kexts/SMCBatteryManager.kext/Contents/Info.plist b/OC/Kexts/SMCBatteryManager.kext/Contents/Info.plist index 83980e2..af8f34a 100644 --- a/OC/Kexts/SMCBatteryManager.kext/Contents/Info.plist +++ b/OC/Kexts/SMCBatteryManager.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,27 +17,29 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.0 + 1.2.3 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 1 + 1.2.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities IOSMBusController @@ -67,6 +69,8 @@ IOKit + LSMinimumSystemVersion + 10.6 NSHumanReadableCopyright Copyright © 2018 usrsse2. All rights reserved. OSBundleCompatibleVersion @@ -82,17 +86,17 @@ com.apple.iokit.IOSMBusFamily 1.0.0 com.apple.kpi.bsd - 12.0.0 + 10.0.0 com.apple.kpi.dsep - 12.0.0 + 10.0.0 com.apple.kpi.iokit - 12.0.0 + 10.0.0 com.apple.kpi.libkern - 12.0.0 + 10.0.0 com.apple.kpi.mach - 12.0.0 + 10.0.0 com.apple.kpi.unsupported - 12.0.0 + 10.0.0 OSBundleRequired Root diff --git a/OC/Kexts/SMCBatteryManager.kext/Contents/MacOS/SMCBatteryManager b/OC/Kexts/SMCBatteryManager.kext/Contents/MacOS/SMCBatteryManager old mode 100644 new mode 100755 index 5b32c15..bee9f3e Binary files a/OC/Kexts/SMCBatteryManager.kext/Contents/MacOS/SMCBatteryManager and b/OC/Kexts/SMCBatteryManager.kext/Contents/MacOS/SMCBatteryManager differ diff --git a/OC/Kexts/SMCBatteryManager.kext/Contents/Resources/SSDT-BATC.dsl b/OC/Kexts/SMCBatteryManager.kext/Contents/Resources/SSDT-BATC.dsl new file mode 100644 index 0000000..b323aa5 --- /dev/null +++ b/OC/Kexts/SMCBatteryManager.kext/Contents/Resources/SSDT-BATC.dsl @@ -0,0 +1,400 @@ +// SSDT-BATC.dsl +// +// Based on https://github.com/RehabMan/OS-X-ACPI-Battery-Driver/blob/master/SSDT-BATC.dsl +// +// An SSDT to combine two batteries into one +// initial work/testing by ag6952563 (with assistance by RehabMan) +// finalize into generic SSDT by RehabMan +// some code cleanup/optimization/and bug fixing by RehabMan +// modifications to work VirtualSMC SMCBatteryManager by armenio +// add _BIX (easy, following the original code from RehabMan) by armenio +// +// OS X support for multiple batteries is a bit buggy. +// This SSDT can be used to combine two batteries into one, +// avoiding the bugs. +// +// It may need modification depending on the ACPI path of your +// existing battery objects. +// + +// IMPORTANT: +// +// To use this SSDT, you must also patch any Notify for either BAT0 or BAT1 +// objects. +// +// The Notify is used to tell the system when a battery is removed or added. +// +// Any code: +// Notify (...BAT0, ...) +// -or +// Notify (...BAT1, ...) +// +// Must be changed to: +// Notify (...BATC, ...) +// +// Refer to Dual Battery Support.md for patching details +// + +DefinitionBlock ("", "SSDT", 2, "ACDT", "BATC", 0x00000000) +{ + External (_SB_.PCI0.LPCB.EC, DeviceObj) + External (_SB_.PCI0.LPCB.EC.BAT0, DeviceObj) + External (_SB_.PCI0.LPCB.EC.BAT0._BIF, MethodObj) + External (_SB_.PCI0.LPCB.EC.BAT0._BIX, MethodObj) + External (_SB_.PCI0.LPCB.EC.BAT0._BST, MethodObj) + External (_SB_.PCI0.LPCB.EC.BAT0._HID, IntObj) + External (_SB_.PCI0.LPCB.EC.BAT0._STA, MethodObj) + External (_SB_.PCI0.LPCB.EC.BAT1, DeviceObj) + External (_SB_.PCI0.LPCB.EC.BAT1._BIF, MethodObj) + External (_SB_.PCI0.LPCB.EC.BAT1._BIX, MethodObj) + External (_SB_.PCI0.LPCB.EC.BAT1._BST, MethodObj) + External (_SB_.PCI0.LPCB.EC.BAT1._HID, IntObj) + External (_SB_.PCI0.LPCB.EC.BAT1._STA, MethodObj) + + Scope (\_SB.PCI0.LPCB.EC) + { + Device (BATC) + { + Name (_HID, EisaId ("PNP0C0A")) + Name (_UID, 0x02) + + Method (_INI) + { + If (_OSI ("Darwin")) + { + // disable original battery objects by setting invalid _HID + ^^BAT0._HID = 0 + ^^BAT1._HID = 0 + } + } + + Method (_STA) + { + If (_OSI ("Darwin")) + { + // call original _STA for BAT0 and BAT1 + // result is bitwise OR between them + Return (^^BAT0._STA () | ^^BAT1._STA ()) + } + Else + { + Return (Zero) + } + } + + Method (_BIF) + { + // Local0 BAT0._BIF + // Local1 BAT1._BIF + // Local2 BAT0._STA + // Local3 BAT1._STA + // Local4/Local5 scratch + + // gather and validate data from BAT0 + Local0 = ^^BAT0._BIF () + Local2 = ^^BAT0._STA () + If (0x1f == Local2) + { + // check for invalid design capacity + Local4 = DerefOf (Local0 [1]) + If (!Local4 || Ones == Local4) { Local2 = 0; } + // check for invalid last full charge capacity + Local4 = DerefOf (Local0 [2]) + If (!Local4 || Ones == Local4) { Local2 = 0; } + // check for invalid design voltage + Local4 = DerefOf (Local0 [4]) + If (!Local4 || Ones == Local4) { Local2 = 0; } + } + // gather and validate data from BAT1 + Local1 = ^^BAT1._BIF () + Local3 = ^^BAT1._STA () + If (0x1f == Local3) + { + // check for invalid design capacity + Local4 = DerefOf (Local1 [1]) + If (!Local4 || Ones == Local4) { Local3 = 0; } + // check for invalid last full charge capacity + Local4 = DerefOf (Local1 [2]) + If (!Local4 || Ones == Local4) { Local3 = 0; } + // check for invalid design voltage + Local4 = DerefOf (Local1 [4]) + If (!Local4 || Ones == Local4) { Local3 = 0; } + } + // find primary and secondary battery + If (0x1f != Local2 && 0x1f == Local3) + { + // make primary use BAT1 data + Local0 = Local1 // BAT1._BIF result + Local2 = Local3 // BAT1._STA result + Local3 = 0 // no secondary battery + } + // combine batteries into Local0 result if possible + If (0x1f == Local2 && 0x1f == Local3) + { + // _BIF 0 Power Unit - leave BAT0 value + // _BIF 1 Design Capacity - add BAT0 and BAT1 values + Local4 = DerefOf (Local0 [1]) + Local5 = DerefOf (Local1 [1]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [1] = Local4 + Local5 + } + // _BIF 2 Last Full Charge Capacity - add BAT0 and BAT1 values + Local4 = DerefOf (Local0 [2]) + Local5 = DerefOf (Local1 [2]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [2] = Local4 + Local5 + } + // _BIF 3 Battery Technology - leave BAT0 value + // _BIF 4 Design Voltage - average between BAT0 and BAT1 values + Local4 = DerefOf (Local0 [4]) + Local5 = DerefOf (Local1 [4]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [4] = (Local4 + Local5) / 2 + } + // _BIF 5 Design Capacity of Warning - add BAT0 and BAT1 values + Local0 [5] = DerefOf (Local0 [5]) + DerefOf (Local1 [5]) + // _BIF 6 Design Capacity of Low - add BAT0 and BAT1 values + Local0 [6] = DerefOf (Local0 [6]) + DerefOf (Local1 [6]) + // _BIF 7 Battery Capacity Granularity 1 - add BAT0 and BAT1 values + Local4 = DerefOf (Local0 [7]) + Local5 = DerefOf (Local1 [7]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [7] = Local4 + Local5 + } + // _BIF 8 Battery Capacity Granularity 2 - add BAT0 and BAT1 values + Local4 = DerefOf (Local0 [8]) + Local5 = DerefOf (Local1 [8]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [8] = Local4 + Local5 + } + // _BIF 9 Model Number - concatenate BAT0 and BAT1 values + Local0 [0x09] = Concatenate (Concatenate (DerefOf (Local0 [0x09]), " / "), DerefOf (Local1 [0x09])) + // _BIF a Serial Number - concatenate BAT0 and BAT1 values + Local0 [0x0a] = Concatenate (Concatenate (DerefOf (Local0 [0x0a]), " / "), DerefOf (Local1 [0x0a])) + // _BIF b Battery Type - concatenate BAT0 and BAT1 values + Local0 [0x0b] = Concatenate (Concatenate (DerefOf (Local0 [0x0b]), " / "), DerefOf (Local1 [0x0b])) + // _BIF c OEM Information - concatenate BAT0 and BAT1 values + Local0 [0x0c] = Concatenate (Concatenate (DerefOf (Local0 [0x0c]), " / "), DerefOf (Local1 [0x0c])) + } + + Return (Local0) + } // _BIF + + Method (_BIX) + { + // Local0 BAT0._BIX + // Local1 BAT1._BIX + // Local2 BAT0._STA + // Local3 BAT1._STA + // Local4/Local5 scratch + + // gather and validate data from BAT0 + Local0 = ^^BAT0._BIX () + Local2 = ^^BAT0._STA () + If (0x1f == Local2) + { + // check for invalid design capacity + Local4 = DerefOf (Local0 [2]) + If (!Local4 || Ones == Local4) { Local2 = 0; } + // check for invalid last full charge capacity + Local4 = DerefOf (Local0 [3]) + If (!Local4 || Ones == Local4) { Local2 = 0; } + // check for invalid design voltage + Local4 = DerefOf (Local0 [5]) + If (!Local4 || Ones == Local4) { Local2 = 0; } + } + // gather and validate data from BAT1 + Local1 = ^^BAT1._BIX () + Local3 = ^^BAT1._STA () + If (0x1f == Local3) + { + // check for invalid design capacity + Local4 = DerefOf (Local1 [2]) + If (!Local4 || Ones == Local4) { Local3 = 0; } + // check for invalid last full charge capacity + Local4 = DerefOf (Local1 [3]) + If (!Local4 || Ones == Local4) { Local3 = 0; } + // check for invalid design voltage + Local4 = DerefOf (Local1 [5]) + If (!Local4 || Ones == Local4) { Local3 = 0; } + } + // find primary and secondary battery + If (0x1f != Local2 && 0x1f == Local3) + { + // make primary use BAT1 data + Local0 = Local1 // BAT1._BIX result + Local2 = Local3 // BAT1._STA result + Local3 = 0 // no secondary battery + } + // combine batteries into Local0 result if possible + If (0x1f == Local2 && 0x1f == Local3) + { + // _BIX 0 Revision - leave BAT0 value + // _BIX 1 Power Unit - leave BAT0 value + // _BIX 2 Design Capacity - add BAT0 and BAT1 values + Local4 = DerefOf (Local0 [2]) + Local5 = DerefOf (Local1 [2]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [2] = Local4 + Local5 + } + // _BIX 3 Last Full Charge Capacity - add BAT0 and BAT1 values + Local4 = DerefOf (Local0 [3]) + Local5 = DerefOf (Local1 [3]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [3] = Local4 + Local5 + } + // _BIX 4 Battery Technology - leave BAT0 value + // _BIX 5 Design Voltage - average between BAT0 and BAT1 values + Local4 = DerefOf (Local0 [5]) + Local5 = DerefOf (Local1 [5]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [5] = (Local4 + Local5) / 2 + } + // _BIX 6 Design Capacity of Warning - add BAT0 and BAT1 values + Local0 [6] = DerefOf (Local0 [6]) + DerefOf (Local1 [6]) + // _BIX 7 Design Capacity of Low - add BAT0 and BAT1 values + Local0 [7] = DerefOf (Local0 [7]) + DerefOf (Local1 [7]) + // _BIX 8 Cycle Count - average between BAT0 and BAT1 values + Local4 = DerefOf (Local0 [8]) + Local5 = DerefOf (Local1 [8]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [8] = (Local4 + Local5) / 2 + } + // _BIX 9 Measurement Accuracy - average between BAT0 and BAT1 values + Local0 [9] = (DerefOf (Local0 [9]) + DerefOf (Local1 [9])) / 2 + // _BIX 0xa Max Sampling Time - average between BAT0 and BAT1 values + Local4 = DerefOf (Local0 [0xa]) + Local5 = DerefOf (Local1 [0xa]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [0xa] = (Local4 + Local5) / 2 + } + // _BIX 0xb Min Sampling Time - average between BAT0 and BAT1 values + Local4 = DerefOf (Local0 [0xb]) + Local5 = DerefOf (Local1 [0xb]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [0xb] = (Local4 + Local5) / 2 + } + // _BIX 0xc Max Averaging Interval - average between BAT0 and BAT1 values + Local0 [0xc] = (DerefOf (Local0 [0xc]) + DerefOf (Local1 [0xc])) / 2 + // _BIX 0xd Min Averaging Interval - average between BAT0 and BAT1 values + Local0 [0xd] = (DerefOf (Local0 [0xd]) + DerefOf (Local1 [0xd])) / 2 + // _BIX 0xe Battery Capacity Granularity 1 - add BAT0 and BAT1 values + Local4 = DerefOf (Local0 [0xe]) + Local5 = DerefOf (Local1 [0xe]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [0xe] = Local4 + Local5 + } + // _BIX 0xf Battery Capacity Granularity 2 - add BAT0 and BAT1 values + Local4 = DerefOf (Local0 [0xf]) + Local5 = DerefOf (Local1 [0xf]) + If (0xffffffff != Local4 && 0xffffffff != Local5) + { + Local0 [0xf] = Local4 + Local5 + } + // _BIX 10 Model Number - concatenate BAT0 and BAT1 values + Local0 [0x10] = Concatenate (Concatenate (DerefOf (Local0 [0x10]), " / "), DerefOf (Local1 [0x10])) + // _BIX 11 Serial Number - concatenate BAT0 and BAT1 values + Local0 [0x11] = Concatenate (Concatenate (DerefOf (Local0 [0x11]), " / "), DerefOf (Local1 [0x11])) + // _BIX 12 Battery Type - concatenate BAT0 and BAT1 values + Local0 [0x12] = Concatenate (Concatenate (DerefOf (Local0 [0x12]), " / "), DerefOf (Local1 [0x12])) + // _BIX 13 OEM Information - concatenate BAT0 and BAT1 values + Local0 [0x13] = Concatenate (Concatenate (DerefOf (Local0 [0x13]), " / "), DerefOf (Local1 [0x13])) + // _BIX 14 Battery Swapping Capability - leave BAT0 value for now + } + Return (Local0) + } // _BIX + + Method (_BST) + { + // Local0 BAT0._BST + // Local1 BAT1._BST + // Local2 BAT0._STA + // Local3 BAT1._STA + // Local4/Local5 scratch + + // gather battery data from BAT0 + Local0 = ^^BAT0._BST () + Local2 = ^^BAT0._STA () + If (0x1f == Local2) + { + // check for invalid remaining capacity + Local4 = DerefOf (Local0 [2]) + If (!Local4 || Ones == Local4) { Local2 = 0; } + } + // gather battery data from BAT1 + Local1 = ^^BAT1._BST () + Local3 = ^^BAT1._STA () + If (0x1f == Local3) + { + // check for invalid remaining capacity + Local4 = DerefOf (Local1 [2]) + If (!Local4 || Ones == Local4) { Local3 = 0; } + } + // find primary and secondary battery + If (0x1f != Local2 && 0x1f == Local3) + { + // make primary use BAT1 data + Local0 = Local1 // BAT1._BST result + Local2 = Local3 // BAT1._STA result + Local3 = 0 // no secondary battery + } + // combine batteries into Local0 result if possible + If (0x1f == Local2 && 0x1f == Local3) + { + // _BST 0 - Battery State - if one battery is charging, then charging, else discharging + Local4 = DerefOf (Local0 [0]) + Local5 = DerefOf (Local1 [0]) + If (Local4 != Local5) + { + If (Local4 == 2 || Local5 == 2) + { + // 2 = charging + Local0 [0] = 2 + } + ElseIf (Local4 == 1 || Local5 == 1) + { + // 1 = discharging + Local0 [0] = 1 + } + ElseIf (Local4 == 3 || Local5 == 3) + { + Local0 [0] = 3 + } + ElseIf (Local4 == 4 || Local5 == 4) + { + // critical + Local0 [0] = 4 + } + ElseIf (Local4 == 5 || Local5 == 5) + { + // critical and discharging + Local0 [0] = 5 + } + // if none of the above, just leave as BAT0 is + } + + // _BST 1 - Battery Present Rate - add BAT0 and BAT1 values + Local0 [1] = DerefOf (Local0 [1]) + DerefOf (Local1 [1]) + // _BST 2 - Battery Remaining Capacity - add BAT0 and BAT1 values + Local0 [2] = DerefOf (Local0 [2]) + DerefOf (Local1 [2]) + // _BST 3 - Battery Present Voltage - average between BAT0 and BAT1 values + Local0 [3] = (DerefOf (Local0 [3]) + DerefOf (Local1 [3])) / 2 + } + Return (Local0) + } // _BST + } // BATC + } // Scope (...) +} +//EOF diff --git a/OC/Kexts/SMCLightSensor.kext/Contents/MacOS/SMCLightSensor b/OC/Kexts/SMCLightSensor.kext/Contents/MacOS/SMCLightSensor deleted file mode 100644 index 34da983..0000000 Binary files a/OC/Kexts/SMCLightSensor.kext/Contents/MacOS/SMCLightSensor and /dev/null differ diff --git a/OC/Kexts/SMCProcessor.kext/Contents/Info.plist b/OC/Kexts/SMCProcessor.kext/Contents/Info.plist index 950c041..12f8dcb 100644 --- a/OC/Kexts/SMCProcessor.kext/Contents/Info.plist +++ b/OC/Kexts/SMCProcessor.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.1.1 + 1.2.3 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,23 @@ MacOSX CFBundleVersion - 1.1.1 + 1.2.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities as.vit9696.SMCProcessor @@ -63,6 +65,8 @@ ACPI + LSMinimumSystemVersion + 10.7 NSHumanReadableCopyright Copyright © 2018 vit9696. All rights reserved. OSBundleCompatibleVersion @@ -76,17 +80,17 @@ com.apple.iokit.IOACPIFamily 1.0.0d1 com.apple.kpi.bsd - 12.0.0 + 11.0.0 com.apple.kpi.dsep - 12.0.0 + 11.0.0 com.apple.kpi.iokit - 12.0.0 + 11.0.0 com.apple.kpi.libkern - 12.0.0 + 11.0.0 com.apple.kpi.mach - 12.0.0 + 11.0.0 com.apple.kpi.unsupported - 12.0.0 + 11.0.0 OSBundleRequired Root diff --git a/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor b/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor old mode 100644 new mode 100755 index f7abb25..6b6620d Binary files a/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor and b/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor differ diff --git a/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist b/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist index ad9e80a..6696dbb 100644 --- a/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist +++ b/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.1.1 + 1.2.3 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,23 @@ MacOSX CFBundleVersion - 1.1.1 + 1.2.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities ru.joedm.SMCSuperIO @@ -58,6 +60,8 @@ ACPI + LSMinimumSystemVersion + 10.6 NSHumanReadableCopyright Copyright © 2018 joedm. All rights reserved. OSBundleCompatibleVersion @@ -71,17 +75,17 @@ com.apple.iokit.IOACPIFamily 1.0.0d1 com.apple.kpi.bsd - 12.0.0 + 10.0.0 com.apple.kpi.dsep - 12.0.0 + 10.0.0 com.apple.kpi.iokit - 12.0.0 + 10.0.0 com.apple.kpi.libkern - 12.0.0 + 10.0.0 com.apple.kpi.mach - 12.0.0 + 10.0.0 com.apple.kpi.unsupported - 12.0.0 + 10.0.0 OSBundleRequired Root diff --git a/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO b/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO old mode 100644 new mode 100755 index dc5d945..a5327ce Binary files a/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO and b/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO differ diff --git a/OC/Kexts/USBInjectAll.kext/Contents/Info.plist b/OC/Kexts/USBInjectAll.kext/Contents/Info.plist deleted file mode 100644 index f215963..0000000 --- a/OC/Kexts/USBInjectAll.kext/Contents/Info.plist +++ /dev/null @@ -1,6979 +0,0 @@ - - - - - BuildMachineOSBuild - 18G87 - CFBundleDevelopmentRegion - English - CFBundleExecutable - USBInjectAll - CFBundleGetInfoString - 0.7.3 Copyright © 2015 RehabMan. All rights reserved. - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - USBInjectAll - CFBundlePackageType - KEXT - CFBundleShortVersionString - 0.7.3 - CFBundleSignature - ???? - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 0.7.3 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 10G8 - DTPlatformVersion - GM - DTSDKBuild - 18G74 - DTSDKName - macosx10.14 - DTXcode - 1030 - DTXcodeBuild - 10G8 - IOKitPersonalities - - ConfigurationData - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - Configuration - - 8086_1e31 - - port-count - - CAAAAA== - - ports - - HS01 - - UsbConnector - 3 - port - - AQAAAA== - - - HS02 - - UsbConnector - 3 - port - - AgAAAA== - - - HS03 - - UsbConnector - 3 - port - - AwAAAA== - - - HS04 - - UsbConnector - 3 - port - - BAAAAA== - - - SS01 - - UsbConnector - 3 - port - - BQAAAA== - - - SS02 - - UsbConnector - 3 - port - - BgAAAA== - - - SS03 - - UsbConnector - 3 - port - - BwAAAA== - - - SS04 - - UsbConnector - 3 - port - - CAAAAA== - - - - - 8086_8xxx - - port-count - - FQAAAA== - - ports - - HS01 - - UsbConnector - 3 - port - - AQAAAA== - - - HS02 - - UsbConnector - 3 - port - - AgAAAA== - - - HS03 - - UsbConnector - 3 - port - - AwAAAA== - - - HS04 - - UsbConnector - 3 - port - - BAAAAA== - - - HS05 - - UsbConnector - 3 - port - - BQAAAA== - - - HS06 - - UsbConnector - 3 - port - - BgAAAA== - - - HS07 - - UsbConnector - 3 - port - - BwAAAA== - - - HS08 - - UsbConnector - 3 - port - - CAAAAA== - - - HS09 - - UsbConnector - 3 - port - - CQAAAA== - - - HS10 - - UsbConnector - 3 - port - - CgAAAA== - - - HS11 - - UsbConnector - 3 - port - - CwAAAA== - - - HS12 - - UsbConnector - 3 - port - - DAAAAA== - - - HS13 - - UsbConnector - 3 - port - - DQAAAA== - - - HS14 - - UsbConnector - 3 - port - - DgAAAA== - - - SS01 - - UsbConnector - 3 - port - - EAAAAA== - - - SS02 - - UsbConnector - 3 - port - - EQAAAA== - - - SS03 - - UsbConnector - 3 - port - - EgAAAA== - - - SS04 - - UsbConnector - 3 - port - - EwAAAA== - - - SS05 - - UsbConnector - 3 - port - - FAAAAA== - - - SS06 - - UsbConnector - 3 - port - - FQAAAA== - - - - - 8086_9cb1 - - port-count - - DwAAAA== - - ports - - HS01 - - UsbConnector - 3 - port - - AQAAAA== - - - HS02 - - UsbConnector - 3 - port - - AgAAAA== - - - HS03 - - UsbConnector - 3 - port - - AwAAAA== - - - HS04 - - UsbConnector - 3 - port - - BAAAAA== - - - HS05 - - UsbConnector - 3 - port - - BQAAAA== - - - HS06 - - UsbConnector - 3 - port - - BgAAAA== - - - HS07 - - UsbConnector - 3 - port - - BwAAAA== - - - HS08 - - UsbConnector - 3 - port - - CAAAAA== - - - HS09 - - UsbConnector - 3 - port - - CQAAAA== - - - HS10 - - UsbConnector - 3 - port - - CgAAAA== - - - HS11 - - UsbConnector - 3 - port - - CwAAAA== - - - SS01 - - UsbConnector - 3 - port - - DAAAAA== - - - SS02 - - UsbConnector - 3 - port - - DQAAAA== - - - SS03 - - UsbConnector - 3 - port - - DgAAAA== - - - SS04 - - UsbConnector - 3 - port - - DwAAAA== - - - - - 8086_9dxx - - port-count - - EgAAAA== - - ports - - HS01 - - UsbConnector - 3 - port - - AQAAAA== - - - HS02 - - UsbConnector - 3 - port - - AgAAAA== - - - HS03 - - UsbConnector - 3 - port - - AwAAAA== - - - HS04 - - UsbConnector - 3 - port - - BAAAAA== - - - HS05 - - UsbConnector - 3 - port - - BQAAAA== - - - HS06 - - UsbConnector - 3 - port - - BgAAAA== - - - HS07 - - UsbConnector - 3 - port - - BwAAAA== - - - HS08 - - UsbConnector - 3 - port - - CAAAAA== - - - HS09 - - UsbConnector - 3 - port - - CQAAAA== - - - HS10 - - UsbConnector - 3 - port - - CgAAAA== - - - SS01 - - UsbConnector - 3 - port - - DQAAAA== - - - SS02 - - UsbConnector - 3 - port - - DgAAAA== - - - SS03 - - UsbConnector - 3 - port - - DwAAAA== - - - SS04 - - UsbConnector - 3 - port - - EAAAAA== - - - SS05 - - UsbConnector - 3 - port - - EQAAAA== - - - SS06 - - UsbConnector - 3 - port - - EgAAAA== - - - USR1 - - UsbConnector - 3 - port - - CwAAAA== - - - USR2 - - UsbConnector - 3 - port - - DAAAAA== - - - - - 8086_9xxx - - port-count - - DQAAAA== - - ports - - HS01 - - UsbConnector - 3 - port - - AQAAAA== - - - HS02 - - UsbConnector - 3 - port - - AgAAAA== - - - HS03 - - UsbConnector - 3 - port - - AwAAAA== - - - HS04 - - UsbConnector - 3 - port - - BAAAAA== - - - HS05 - - UsbConnector - 3 - port - - BQAAAA== - - - HS06 - - UsbConnector - 3 - port - - BgAAAA== - - - HS07 - - UsbConnector - 3 - port - - BwAAAA== - - - HS08 - - UsbConnector - 3 - port - - CAAAAA== - - - HS09 - - UsbConnector - 3 - port - - CQAAAA== - - - SS01 - - UsbConnector - 3 - port - - CgAAAA== - - - SS02 - - UsbConnector - 3 - port - - CwAAAA== - - - SS03 - - UsbConnector - 3 - port - - DAAAAA== - - - SS04 - - UsbConnector - 3 - port - - DQAAAA== - - - - - 8086_a12f - - port-count - - GgAAAA== - - ports - - HS01 - - UsbConnector - 3 - port - - AQAAAA== - - - HS02 - - UsbConnector - 3 - port - - AgAAAA== - - - HS03 - - UsbConnector - 3 - port - - AwAAAA== - - - HS04 - - UsbConnector - 3 - port - - BAAAAA== - - - HS05 - - UsbConnector - 3 - port - - BQAAAA== - - - HS06 - - UsbConnector - 3 - port - - BgAAAA== - - - HS07 - - UsbConnector - 3 - port - - BwAAAA== - - - HS08 - - UsbConnector - 3 - port - - CAAAAA== - - - HS09 - - UsbConnector - 3 - port - - CQAAAA== - - - HS10 - - UsbConnector - 3 - port - - CgAAAA== - - - HS11 - - UsbConnector - 3 - port - - CwAAAA== - - - HS12 - - UsbConnector - 3 - port - - DAAAAA== - - - HS13 - - UsbConnector - 3 - port - - DQAAAA== - - - HS14 - - UsbConnector - 3 - port - - DgAAAA== - - - SS01 - - UsbConnector - 3 - port - - EQAAAA== - - - SS02 - - UsbConnector - 3 - port - - EgAAAA== - - - SS03 - - UsbConnector - 3 - port - - EwAAAA== - - - SS04 - - UsbConnector - 3 - port - - FAAAAA== - - - SS05 - - UsbConnector - 3 - port - - FQAAAA== - - - SS06 - - UsbConnector - 3 - port - - FgAAAA== - - - SS07 - - UsbConnector - 3 - port - - FwAAAA== - - - SS08 - - UsbConnector - 3 - port - - GAAAAA== - - - SS09 - - UsbConnector - 3 - port - - GQAAAA== - - - SS10 - - UsbConnector - 3 - port - - GgAAAA== - - - USR1 - - UsbConnector - 3 - port - - DwAAAA== - - - USR2 - - UsbConnector - 3 - port - - EAAAAA== - - - - - 8086_a2af - - port-count - - GgAAAA== - - ports - - HS01 - - UsbConnector - 3 - port - - AQAAAA== - - - HS02 - - UsbConnector - 3 - port - - AgAAAA== - - - HS03 - - UsbConnector - 3 - port - - AwAAAA== - - - HS04 - - UsbConnector - 3 - port - - BAAAAA== - - - HS05 - - UsbConnector - 3 - port - - BQAAAA== - - - HS06 - - UsbConnector - 3 - port - - BgAAAA== - - - HS07 - - UsbConnector - 3 - port - - BwAAAA== - - - HS08 - - UsbConnector - 3 - port - - CAAAAA== - - - HS09 - - UsbConnector - 3 - port - - CQAAAA== - - - HS10 - - UsbConnector - 3 - port - - CgAAAA== - - - HS11 - - UsbConnector - 3 - port - - CwAAAA== - - - HS12 - - UsbConnector - 3 - port - - DAAAAA== - - - HS13 - - UsbConnector - 3 - port - - DQAAAA== - - - HS14 - - UsbConnector - 3 - port - - DgAAAA== - - - SS01 - - UsbConnector - 3 - port - - EQAAAA== - - - SS02 - - UsbConnector - 3 - port - - EgAAAA== - - - SS03 - - UsbConnector - 3 - port - - EwAAAA== - - - SS04 - - UsbConnector - 3 - port - - FAAAAA== - - - SS05 - - UsbConnector - 3 - port - - FQAAAA== - - - SS06 - - UsbConnector - 3 - port - - FgAAAA== - - - SS07 - - UsbConnector - 3 - port - - FwAAAA== - - - SS08 - - UsbConnector - 3 - port - - GAAAAA== - - - SS09 - - UsbConnector - 3 - port - - GQAAAA== - - - SS10 - - UsbConnector - 3 - port - - GgAAAA== - - - USR1 - - UsbConnector - 3 - port - - DwAAAA== - - - USR2 - - UsbConnector - 3 - port - - EAAAAA== - - - - - 8086_a36d - - port-count - - GgAAAA== - - ports - - HS01 - - UsbConnector - 3 - port - - AQAAAA== - - - HS02 - - UsbConnector - 3 - port - - AgAAAA== - - - HS03 - - UsbConnector - 3 - port - - AwAAAA== - - - HS04 - - UsbConnector - 3 - port - - BAAAAA== - - - HS05 - - UsbConnector - 3 - port - - BQAAAA== - - - HS06 - - UsbConnector - 3 - port - - BgAAAA== - - - HS07 - - UsbConnector - 3 - port - - BwAAAA== - - - HS08 - - UsbConnector - 3 - port - - CAAAAA== - - - HS09 - - UsbConnector - 3 - port - - CQAAAA== - - - HS10 - - UsbConnector - 3 - port - - CgAAAA== - - - HS11 - - UsbConnector - 3 - port - - CwAAAA== - - - HS12 - - UsbConnector - 3 - port - - DAAAAA== - - - HS13 - - UsbConnector - 3 - port - - DQAAAA== - - - HS14 - - UsbConnector - 3 - port - - DgAAAA== - - - SS01 - - UsbConnector - 3 - port - - EQAAAA== - - - SS02 - - UsbConnector - 3 - port - - EgAAAA== - - - SS03 - - UsbConnector - 3 - port - - EwAAAA== - - - SS04 - - UsbConnector - 3 - port - - FAAAAA== - - - SS05 - - UsbConnector - 3 - port - - FQAAAA== - - - SS06 - - UsbConnector - 3 - port - - FgAAAA== - - - SS07 - - UsbConnector - 3 - port - - FwAAAA== - - - SS08 - - UsbConnector - 3 - port - - GAAAAA== - - - SS09 - - UsbConnector - 3 - port - - GQAAAA== - - - SS10 - - UsbConnector - 3 - port - - GgAAAA== - - - USR1 - - UsbConnector - 3 - port - - DwAAAA== - - - USR2 - - UsbConnector - 3 - port - - EAAAAA== - - - - - EH01 - - port-count - - CAAAAA== - - ports - - PR11 - - UsbConnector - 255 - port - - AQAAAA== - - - PR12 - - UsbConnector - 0 - port - - AgAAAA== - - - PR13 - - UsbConnector - 0 - port - - AwAAAA== - - - PR14 - - UsbConnector - 0 - port - - BAAAAA== - - - PR15 - - UsbConnector - 0 - port - - BQAAAA== - - - PR16 - - UsbConnector - 0 - port - - BgAAAA== - - - PR17 - - UsbConnector - 0 - port - - BwAAAA== - - - PR18 - - UsbConnector - 0 - port - - CAAAAA== - - - - - EH02 - - port-count - - BgAAAA== - - ports - - PR21 - - UsbConnector - 255 - port - - AQAAAA== - - - PR22 - - UsbConnector - 0 - port - - AgAAAA== - - - PR23 - - UsbConnector - 0 - port - - AwAAAA== - - - PR24 - - UsbConnector - 0 - port - - BAAAAA== - - - PR25 - - UsbConnector - 0 - port - - BQAAAA== - - - PR26 - - UsbConnector - 0 - port - - BgAAAA== - - - - - HUB1 - - port-count - - CAAAAA== - - ports - - HP11 - - port - - AQAAAA== - - portType - 0 - - HP12 - - port - - AgAAAA== - - portType - 0 - - HP13 - - port - - AwAAAA== - - portType - 0 - - HP14 - - port - - BAAAAA== - - portType - 0 - - HP15 - - port - - BQAAAA== - - portType - 0 - - HP16 - - port - - BgAAAA== - - portType - 0 - - HP17 - - port - - BwAAAA== - - portType - 0 - - HP18 - - port - - CAAAAA== - - portType - 0 - - - - HUB2 - - port-count - - CAAAAA== - - ports - - HP21 - - port - - AQAAAA== - - portType - 0 - - HP22 - - port - - AgAAAA== - - portType - 0 - - HP23 - - port - - AwAAAA== - - portType - 0 - - HP24 - - port - - BAAAAA== - - portType - 0 - - HP25 - - port - - BQAAAA== - - portType - 0 - - HP26 - - port - - BgAAAA== - - portType - 0 - - HP27 - - port - - BwAAAA== - - portType - 0 - - HP28 - - port - - CAAAAA== - - portType - 0 - - - - - IOClass - USBInjectAll_config - IOMatchCategory - USBInjectAll_config - IOProviderClass - IOResources - - MacBook10,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBook10,1 - - MacBook10,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBook10,1 - - MacBook8,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBook8,1 - - MacBook8,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBook8,1 - - MacBook8,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBook8,1 - - MacBook8,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBook8,1 - - MacBook8,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBook8,1 - - MacBook9,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBook9,1 - - MacBook9,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBook9,1 - - MacBookAir4,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir4,1 - - MacBookAir4,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookAir4,1 - - MacBookAir4,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookAir4,1 - - MacBookAir4,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookAir4,1 - - MacBookAir4,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir4,1 - - MacBookAir4,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir4,2 - - MacBookAir4,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookAir4,2 - - MacBookAir4,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookAir4,2 - - MacBookAir4,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookAir4,2 - - MacBookAir4,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir4,2 - - MacBookAir5,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir5,1 - - MacBookAir5,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookAir5,1 - - MacBookAir5,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookAir5,1 - - MacBookAir5,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookAir5,1 - - MacBookAir5,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir5,1 - - MacBookAir5,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir5,2 - - MacBookAir5,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookAir5,2 - - MacBookAir5,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookAir5,2 - - MacBookAir5,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookAir5,2 - - MacBookAir5,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir5,2 - - MacBookAir6,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir6,1 - - MacBookAir6,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookAir6,1 - - MacBookAir6,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookAir6,1 - - MacBookAir6,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookAir6,1 - - MacBookAir6,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir6,1 - - MacBookAir6,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir6,2 - - MacBookAir6,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookAir6,2 - - MacBookAir6,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookAir6,2 - - MacBookAir6,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookAir6,2 - - MacBookAir6,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir6,2 - - MacBookAir7,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir7,1 - - MacBookAir7,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookAir7,1 - - MacBookAir7,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookAir7,1 - - MacBookAir7,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookAir7,1 - - MacBookAir7,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir7,1 - - MacBookAir7,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir7,2 - - MacBookAir7,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookAir7,2 - - MacBookAir7,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookAir7,2 - - MacBookAir7,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookAir7,2 - - MacBookAir7,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir7,2 - - MacBookAir8,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir8,1 - - MacBookAir8,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir8,1 - - MacBookAir8,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookAir8,2 - - MacBookAir8,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookAir8,2 - - MacBookPro10,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro10,1 - - MacBookPro10,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro10,1 - - MacBookPro10,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro10,1 - - MacBookPro10,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro10,1 - - MacBookPro10,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro10,1 - - MacBookPro10,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro10,2 - - MacBookPro10,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro10,2 - - MacBookPro10,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro10,2 - - MacBookPro10,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro10,2 - - MacBookPro10,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro10,2 - - MacBookPro11,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro11,1 - - MacBookPro11,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro11,1 - - MacBookPro11,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro11,1 - - MacBookPro11,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro11,1 - - MacBookPro11,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro11,1 - - MacBookPro11,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro11,2 - - MacBookPro11,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro11,2 - - MacBookPro11,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro11,2 - - MacBookPro11,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro11,2 - - MacBookPro11,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro11,2 - - MacBookPro11,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro11,3 - - MacBookPro11,3-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro11,3 - - MacBookPro11,3-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro11,3 - - MacBookPro11,3-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro11,3 - - MacBookPro11,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro11,3 - - MacBookPro11,4-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro11,4 - - MacBookPro11,4-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro11,4 - - MacBookPro11,4-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro11,4 - - MacBookPro11,4-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro11,4 - - MacBookPro11,4-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro11,4 - - MacBookPro11,5-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro11,5 - - MacBookPro11,5-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro11,5 - - MacBookPro11,5-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro11,5 - - MacBookPro11,5-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro11,5 - - MacBookPro11,5-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro11,5 - - MacBookPro12,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro12,1 - - MacBookPro12,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro12,1 - - MacBookPro12,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro12,1 - - MacBookPro12,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro12,1 - - MacBookPro12,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro12,1 - - MacBookPro12,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro12,2 - - MacBookPro12,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro12,2 - - MacBookPro12,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro12,2 - - MacBookPro12,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro12,2 - - MacBookPro12,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro12,2 - - MacBookPro13,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro13,1 - - MacBookPro13,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro13,1 - - MacBookPro13,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro13,2 - - MacBookPro13,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro13,2 - - MacBookPro13,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro13,3 - - MacBookPro13,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro13,3 - - MacBookPro14,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro14,1 - - MacBookPro14,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro14,1 - - MacBookPro14,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro14,2 - - MacBookPro14,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro14,2 - - MacBookPro14,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro14,3 - - MacBookPro14,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro14,3 - - MacBookPro15,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro15,1 - - MacBookPro15,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro15,1 - - MacBookPro15,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro15,2 - - MacBookPro15,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro15,2 - - MacBookPro15,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro15,3 - - MacBookPro15,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro15,3 - - MacBookPro15,4-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro15,4 - - MacBookPro15,4-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro15,4 - - MacBookPro6,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro6,1 - - MacBookPro6,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro6,1 - - MacBookPro6,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro6,1 - - MacBookPro6,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro6,1 - - MacBookPro6,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro6,1 - - MacBookPro6,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro6,2 - - MacBookPro6,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro6,2 - - MacBookPro6,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro6,2 - - MacBookPro6,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro6,2 - - MacBookPro6,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro6,2 - - MacBookPro7,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro7,1 - - MacBookPro7,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro7,1 - - MacBookPro7,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro7,1 - - MacBookPro7,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro7,1 - - MacBookPro7,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro7,1 - - MacBookPro8,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro8,1 - - MacBookPro8,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro8,1 - - MacBookPro8,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro8,1 - - MacBookPro8,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro8,1 - - MacBookPro8,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro8,1 - - MacBookPro8,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro8,2 - - MacBookPro8,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro8,2 - - MacBookPro8,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro8,2 - - MacBookPro8,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro8,2 - - MacBookPro8,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro8,2 - - MacBookPro8,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro8,3 - - MacBookPro8,3-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro8,3 - - MacBookPro8,3-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro8,3 - - MacBookPro8,3-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro8,3 - - MacBookPro8,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro8,3 - - MacBookPro9,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro9,1 - - MacBookPro9,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro9,1 - - MacBookPro9,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro9,1 - - MacBookPro9,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro9,1 - - MacBookPro9,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro9,1 - - MacBookPro9,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacBookPro9,2 - - MacBookPro9,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacBookPro9,2 - - MacBookPro9,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacBookPro9,2 - - MacBookPro9,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacBookPro9,2 - - MacBookPro9,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacBookPro9,2 - - MacPro3,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacPro3,1 - - MacPro3,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacPro3,1 - - MacPro3,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacPro3,1 - - MacPro3,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacPro3,1 - - MacPro3,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacPro3,1 - - MacPro4,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacPro4,1 - - MacPro4,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacPro4,1 - - MacPro4,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacPro4,1 - - MacPro4,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacPro4,1 - - MacPro4,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacPro4,1 - - MacPro5,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacPro5,1 - - MacPro5,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacPro5,1 - - MacPro5,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacPro5,1 - - MacPro5,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacPro5,1 - - MacPro5,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacPro5,1 - - MacPro6,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - MacPro6,1 - - MacPro6,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - MacPro6,1 - - MacPro6,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - MacPro6,1 - - MacPro6,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - MacPro6,1 - - MacPro6,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - MacPro6,1 - - Macmini5,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - Macmini5,1 - - Macmini5,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - Macmini5,1 - - Macmini5,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - Macmini5,1 - - Macmini5,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - Macmini5,1 - - Macmini5,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - Macmini5,1 - - Macmini5,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - Macmini5,2 - - Macmini5,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - Macmini5,2 - - Macmini5,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - Macmini5,2 - - Macmini5,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - Macmini5,2 - - Macmini5,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - Macmini5,2 - - Macmini5,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - Macmini5,3 - - Macmini5,3-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - Macmini5,3 - - Macmini5,3-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - Macmini5,3 - - Macmini5,3-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - Macmini5,3 - - Macmini5,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - Macmini5,3 - - Macmini6,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - Macmini6,1 - - Macmini6,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - Macmini6,1 - - Macmini6,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - Macmini6,1 - - Macmini6,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - Macmini6,1 - - Macmini6,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - Macmini6,1 - - Macmini6,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - Macmini6,2 - - Macmini6,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - Macmini6,2 - - Macmini6,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - Macmini6,2 - - Macmini6,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - Macmini6,2 - - Macmini6,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - Macmini6,2 - - Macmini7,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - Macmini7,1 - - Macmini7,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - Macmini7,1 - - Macmini7,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - Macmini7,1 - - Macmini7,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - Macmini7,1 - - Macmini7,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - Macmini7,1 - - Macmini8,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - Macmini8,1 - - Macmini8,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - Macmini8,1 - - iMac10,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac10,1 - - iMac10,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac10,1 - - iMac10,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac10,1 - - iMac10,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac10,1 - - iMac10,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac10,1 - - iMac11,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac11,1 - - iMac11,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac11,1 - - iMac11,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac11,1 - - iMac11,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac11,1 - - iMac11,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac11,1 - - iMac11,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac11,2 - - iMac11,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac11,2 - - iMac11,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac11,2 - - iMac11,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac11,2 - - iMac11,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac11,2 - - iMac11,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac11,3 - - iMac11,3-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac11,3 - - iMac11,3-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac11,3 - - iMac11,3-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac11,3 - - iMac11,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac11,3 - - iMac12,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac12,1 - - iMac12,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac12,1 - - iMac12,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac12,1 - - iMac12,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac12,1 - - iMac12,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac12,1 - - iMac12,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac12,2 - - iMac12,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac12,2 - - iMac12,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac12,2 - - iMac12,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac12,2 - - iMac12,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac12,2 - - iMac13,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac13,1 - - iMac13,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac13,1 - - iMac13,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac13,1 - - iMac13,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac13,1 - - iMac13,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac13,1 - - iMac13,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac13,2 - - iMac13,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac13,2 - - iMac13,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac13,2 - - iMac13,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac13,2 - - iMac13,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac13,2 - - iMac14,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac14,1 - - iMac14,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac14,1 - - iMac14,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac14,1 - - iMac14,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac14,1 - - iMac14,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac14,1 - - iMac14,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac14,2 - - iMac14,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac14,2 - - iMac14,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac14,2 - - iMac14,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac14,2 - - iMac14,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac14,2 - - iMac14,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac14,3 - - iMac14,3-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac14,3 - - iMac14,3-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac14,3 - - iMac14,3-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac14,3 - - iMac14,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac14,3 - - iMac15,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac15,1 - - iMac15,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac15,1 - - iMac15,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac15,1 - - iMac15,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac15,1 - - iMac15,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac15,1 - - iMac16,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac16,1 - - iMac16,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac16,1 - - iMac16,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac16,1 - - iMac16,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac16,1 - - iMac16,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac16,1 - - iMac16,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac16,2 - - iMac16,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac16,2 - - iMac16,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac16,2 - - iMac16,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac16,2 - - iMac16,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac16,2 - - iMac17,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac17,1 - - iMac17,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac17,1 - - iMac18,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac18,1 - - iMac18,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac18,1 - - iMac18,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac18,2 - - iMac18,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac18,2 - - iMac18,3-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac18,3 - - iMac18,3-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac18,3 - - iMac19,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac19,1 - - iMac19,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac19,1 - - iMac19,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac19,2 - - iMac19,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac19,2 - - iMac4,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac4,1 - - iMac4,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac4,1 - - iMac4,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac4,1 - - iMac4,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac4,1 - - iMac4,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac4,1 - - iMac4,2-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac4,2 - - iMac4,2-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac4,2 - - iMac4,2-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac4,2 - - iMac4,2-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac4,2 - - iMac4,2-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac4,2 - - iMac5,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac5,1 - - iMac5,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac5,1 - - iMac5,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac5,1 - - iMac5,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac5,1 - - iMac5,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac5,1 - - iMac6,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac6,1 - - iMac6,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac6,1 - - iMac6,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac6,1 - - iMac6,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac6,1 - - iMac6,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac6,1 - - iMac7,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac7,1 - - iMac7,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac7,1 - - iMac7,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac7,1 - - iMac7,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac7,1 - - iMac7,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac7,1 - - iMac8,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac8,1 - - iMac8,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac8,1 - - iMac8,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac8,1 - - iMac8,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac8,1 - - iMac8,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac8,1 - - iMac9,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMac9,1 - - iMac9,1-EHCI - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - EH01 - EH02 - - IOProviderClass - AppleUSBEHCIPCI - model - iMac9,1 - - iMac9,1-HUB1 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB1 - locationID - 487587840 - model - iMac9,1 - - iMac9,1-HUB2 - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProbeScore - 5000 - IOProviderClass - AppleUSB20InternalHub - kName - HUB2 - locationID - 437256192 - model - iMac9,1 - - iMac9,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMac9,1 - - iMacPro1,1-ABPC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IOProviderClass - AppleBusPowerController - kName - AppleBusPowerController - model - iMacPro1,1 - - iMacPro1,1-XHC - - CFBundleIdentifier - com.rehabman.driver.USBInjectAll - IOClass - USBInjectAll - IONameMatch - - XHC - XHCI - - IOProviderClass - AppleUSBXHCIPCI - model - iMacPro1,1 - - - NSHumanReadableCopyright - Copyright © 2015 RehabMan. All rights reserved. - OSBundleLibraries - - com.apple.iokit.IOACPIFamily - 1.0d1 - com.apple.iokit.IOPCIFamily - 1.0.0b1 - com.apple.kpi.iokit - 9.0.0 - com.apple.kpi.libkern - 9.0.0 - - OSBundleRequired - Root - Source Code - https://github.com/RehabMan/OS-X-USB-Inject-All - - diff --git a/OC/Kexts/USBInjectAll.kext/Contents/MacOS/USBInjectAll b/OC/Kexts/USBInjectAll.kext/Contents/MacOS/USBInjectAll deleted file mode 100644 index 84f01fb..0000000 Binary files a/OC/Kexts/USBInjectAll.kext/Contents/MacOS/USBInjectAll and /dev/null differ diff --git a/OC/Kexts/VirtualSMC.kext/Contents/Info.plist b/OC/Kexts/VirtualSMC.kext/Contents/Info.plist index 25c4488..1821e8f 100644 --- a/OC/Kexts/VirtualSMC.kext/Contents/Info.plist +++ b/OC/Kexts/VirtualSMC.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.1.1 + 1.2.3 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,23 @@ MacOSX CFBundleVersion - 1.1.1 + 1.2.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities as.vit9696.VirtualSMC @@ -381,6 +383,8 @@ + LSMinimumSystemVersion + 10.6 NSHumanReadableCopyright Copyright © 2017 vit9696. All rights reserved. OSBundleCompatibleVersion @@ -392,17 +396,17 @@ com.apple.iokit.IOACPIFamily 1.0.0d1 com.apple.kpi.bsd - 12.0.0 + 10.0.0 com.apple.kpi.dsep - 12.0.0 + 10.0.0 com.apple.kpi.iokit - 12.0.0 + 10.0.0 com.apple.kpi.libkern - 12.0.0 + 10.0.0 com.apple.kpi.mach - 12.0.0 + 10.0.0 com.apple.kpi.unsupported - 12.0.0 + 10.0.0 OSBundleRequired Root diff --git a/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC b/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC old mode 100644 new mode 100755 index 7d48a4f..138ff0d Binary files a/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC and b/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC differ diff --git a/OC/Kexts/VoltageShift.kext/Contents/Info.plist b/OC/Kexts/VoltageShift.kext/Contents/Info.plist new file mode 100644 index 0000000..d57ae37 --- /dev/null +++ b/OC/Kexts/VoltageShift.kext/Contents/Info.plist @@ -0,0 +1,75 @@ + + + + + BuildMachineOSBuild + 19F101 + CFBundleDevelopmentRegion + English + CFBundleExecutable + VoltageShift + CFBundleGetInfoString + VoltageShift 1.22, copyright © 2019 SC Lee. All rights reserved. + CFBundleIdentifier + com.sicreative.VoltageShift + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoltageShift + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.21 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.21 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 11E608c + DTPlatformVersion + GM + DTSDKBuild + 19E258 + DTSDKName + macosx10.15 + DTXcode + 1150 + DTXcodeBuild + 11E608c + IOKitPersonalities + + VoltageShiftAnVMSR + + IOClass + VoltageShiftAnVMSR + IOMatchCategory + VoltageShiftAnVMSR + IOProviderClass + IOResources + IOResourceMatch + IOKit + IOUserClientClass + AnVMSRClient + + + LSMinimumSystemVersion + 10.15 + NSHumanReadableCopyright + Copyright © 2019 SC Lee. All rights reserved. + OSBundleLibraries + + com.apple.kpi.iokit + 8.0.0b1 + com.apple.kpi.libkern + 8.0.0b1 + + OSBundleRequired + Root + + diff --git a/OC/Kexts/VoltageShift.kext/Contents/MacOS/VoltageShift b/OC/Kexts/VoltageShift.kext/Contents/MacOS/VoltageShift new file mode 100755 index 0000000..e2c1c8a Binary files /dev/null and b/OC/Kexts/VoltageShift.kext/Contents/MacOS/VoltageShift differ diff --git a/OC/Kexts/VoltageShift.kext/Contents/Resources/en.lproj/InfoPlist.strings b/OC/Kexts/VoltageShift.kext/Contents/Resources/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..5e45963 Binary files /dev/null and b/OC/Kexts/VoltageShift.kext/Contents/Resources/en.lproj/InfoPlist.strings differ diff --git a/OC/Kexts/VoltageShift.kext/Contents/_CodeSignature/CodeResources b/OC/Kexts/VoltageShift.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..b155906 --- /dev/null +++ b/OC/Kexts/VoltageShift.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,139 @@ + + + + + files + + Resources/en.lproj/InfoPlist.strings + + hash + + MiLKDDnrUKr4EmuvhS5VQwxHGK8= + + optional + + + + files2 + + Resources/en.lproj/InfoPlist.strings + + hash + + MiLKDDnrUKr4EmuvhS5VQwxHGK8= + + hash2 + + Oc8u4Ht7Mz58F50L9NeYpbcq9qTlhPUeZCcDu/pPyCg= + + optional + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OC/Kexts/VoodooPS2Controller.kext/Contents/Info.plist b/OC/Kexts/VoodooPS2Controller.kext/Contents/Info.plist index 8f17771..7ef5701 100644 --- a/OC/Kexts/VoodooPS2Controller.kext/Contents/Info.plist +++ b/OC/Kexts/VoodooPS2Controller.kext/Contents/Info.plist @@ -3,13 +3,13 @@ BuildMachineOSBuild - 18A391 + 19H524 CFBundleExecutable VoodooPS2Controller CFBundleGetInfoString - 1.9.2, Copyright Apple Computer, Inc. 2000-2003, David Elliot 2007, RehabMan 2012-2013 + 2.2.3, Copyright Apple Computer, Inc. 2000-2003, David Elliot 2007, RehabMan 2012-2013 CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Controller + as.acidanthera.voodoo.driver.PS2Controller CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.9.2 + 2.2.3 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,27 +25,29 @@ MacOSX CFBundleVersion - 1.9.2 + 2.2.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9F2000 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 12D75 + 20A2408 DTSDKName - macosx10.8 + macosx11.0 DTXcode - 0941 + 1220 DTXcodeBuild - 9F2000 + 12B45b IOKitPersonalities ACPI PS/2 Nub CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Controller + as.acidanthera.voodoo.driver.PS2Controller FindMouseDelay 100 IOClass @@ -69,7 +71,7 @@ ApplePS2Controller CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Controller + as.acidanthera.voodoo.driver.PS2Controller IOClass ApplePS2Controller IONameMatch @@ -134,8 +136,10 @@ + LSMinimumSystemVersion + 10.11 OSBundleCompatibleVersion - 1.9.2 + 2.2.3 OSBundleLibraries com.apple.iokit.IOACPIFamily @@ -153,7 +157,5 @@ OSBundleRequired Console - Source Code - https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller diff --git a/OC/Kexts/VoodooPS2Controller.kext/Contents/MacOS/VoodooPS2Controller b/OC/Kexts/VoodooPS2Controller.kext/Contents/MacOS/VoodooPS2Controller index 073fb59..3115d27 100755 Binary files a/OC/Kexts/VoodooPS2Controller.kext/Contents/MacOS/VoodooPS2Controller and b/OC/Kexts/VoodooPS2Controller.kext/Contents/MacOS/VoodooPS2Controller differ diff --git a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist index 49a2d93..c375087 100644 --- a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist +++ b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist @@ -3,13 +3,13 @@ BuildMachineOSBuild - 18A391 + 19H524 CFBundleExecutable VoodooPS2Keyboard CFBundleGetInfoString - 1.9.2, Copyright Apple Computer, Inc. 2000-2003, RehabMan 2012-2013 + 2.2.3, Copyright Apple Computer, Inc. 2000-2003, RehabMan 2012-2013 CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Keyboard + as.acidanthera.voodoo.driver.PS2Keyboard CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.9.2 + 2.2.3 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,27 +25,29 @@ MacOSX CFBundleVersion - 1.9.2 + 2.2.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9F2000 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 12D75 + 20A2408 DTSDKName - macosx10.8 + macosx11.0 DTXcode - 0941 + 1220 DTXcodeBuild - 9F2000 + 12B45b IOKitPersonalities ApplePS2Keyboard CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Keyboard + as.acidanthera.voodoo.driver.PS2Keyboard IOClass ApplePS2Keyboard IOProviderClass @@ -275,14 +277,6 @@ Default - ActionSwipeDown - 3b d, 37 d, 7d d, 7d u, 37 u, 3b u - ActionSwipeLeft - 3b d, 37 d, 7b d, 7b u, 37 u, 3b u - ActionSwipeRight - 3b d, 37 d, 7c d, 7c u, 37 u, 3b u - ActionSwipeUp - 3b d, 37 d, 7e d, 7e u, 37 u, 3b u Breakless PS2 ;Items must be strings in the form of breaklessscan (in hex) @@ -312,7 +306,7 @@ Swap capslock and left control Swap command and option - + Use ISO layout keyboard alt_handler_id @@ -601,10 +595,14 @@ + LSMinimumSystemVersion + 10.11 OSBundleLibraries - com.apple.iokit.IOHIDSystem - 1.1 + as.acidanthera.voodoo.driver.PS2Controller + 2.2.3 + com.apple.iokit.IOHIDFamily + 1.0.0b1 com.apple.kpi.bsd 8.0.0 com.apple.kpi.iokit @@ -615,12 +613,8 @@ 8.0.0 com.apple.kpi.unsupported 8.0.0 - org.rehabman.voodoo.driver.PS2Controller - 1.9.2 OSBundleRequired Console - Source Code - https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller diff --git a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/MacOS/VoodooPS2Keyboard b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/MacOS/VoodooPS2Keyboard index dd8ab99..ad007b9 100755 Binary files a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/MacOS/VoodooPS2Keyboard and b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/MacOS/VoodooPS2Keyboard differ diff --git a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/Info.plist b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/Info.plist deleted file mode 100644 index 8f256b3..0000000 --- a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/Info.plist +++ /dev/null @@ -1,196 +0,0 @@ - - - - - BuildMachineOSBuild - 18A391 - CFBundleExecutable - VoodooPS2Mouse - CFBundleGetInfoString - 1.9.2, Copyright Apple Computer, Inc. 2000-2004, Slice 2010, RehabMan 2012-2013 - CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Mouse - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Voodoo PS/2 Mouse - CFBundlePackageType - KEXT - CFBundleShortVersionString - 1.9.2 - CFBundleSignature - ???? - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 1.9.2 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 9F2000 - DTPlatformVersion - GM - DTSDKBuild - 12D75 - DTSDKName - macosx10.8 - DTXcode - 0941 - DTXcodeBuild - 9F2000 - IOKitPersonalities - - ApplePS2Mouse - - CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Mouse - HIDPointerAccelerationType - HIDTrackpadAcceleration - HIDScrollAccelerationType - HIDTrackpadScrollAcceleration - IOClass - ApplePS2Mouse - IOProviderClass - ApplePS2MouseDevice - Platform Profile - - Default - - ActLikeTrackpad - - ButtonCount - 3 - Darwin 16+ - - ApplePreferenceCapability - - ApplePreferenceIdentifier - com.apple.AppleMultitouchTrackpad - MT Built-in - - MTHIDDevice - - SupportsGestureScrolling - - TrackpadEmbedded - - TrackpadFourFingerGestures - - TrackpadSecondaryClickCorners - - TrackpadThreeFingerDrag - - - DefaultResolution - 240 - DisableDevice - - DisableLEDUpdating - - FakeMiddleButton - - ForceDefaultResolution - - ForceSetResolution - - MiddleClickTime - 100000000 - MouseCount - 0 - MouseYInverter - 1 - ProcessBluetoothMouseStopsTrackpad - - ProcessUSBMouseStopsTrackpad - - QuietTimeAfterTyping - 500000000 - ResolutionMode - 3 - ScrollResolution - 5 - ScrollYInverter - 1 - TrackpadScroll - - WakeDelay - 1000 - - HPQOEM - - 1411 - ProBook - 1619 - ProBook - 161C - ProBook - 164F - ProBook - 167C - ProBook - 167E - ProBook - 1680 - ProBook - 179B - ProBook - 179C - ProBook - 17A9 - ProBook - 17F0 - ProBook - 17F3 - ProBook - 17F6 - ProBook - 1942 - ProBook - 1949 - ProBook - 198F - ProBook - ProBook - - ActLikeTrackpad - - DisableDevice - - - ProBook-102 - ProBook - ProBook-87 - ProBook - - - ProductID - 547 - RM,deliverNotifications - - USBMouseStopsTrackpad - 0 - VendorID - 1452 - - - OSBundleLibraries - - com.apple.iokit.IOHIDFamily - 1.0.0b1 - com.apple.kpi.iokit - 9.0.0 - com.apple.kpi.libkern - 9.0.0 - com.apple.kpi.mach - 9.0.0 - org.rehabman.voodoo.driver.PS2Controller - 1.9.2 - - OSBundleRequired - Console - Source Code - https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller - - diff --git a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/MacOS/VoodooPS2Mouse b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/MacOS/VoodooPS2Mouse deleted file mode 100755 index 4c89bc0..0000000 Binary files a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/MacOS/VoodooPS2Mouse and /dev/null differ diff --git a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/Info.plist b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/Info.plist index 3fc65b1..f1dc774 100644 --- a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/Info.plist +++ b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/Info.plist @@ -3,13 +3,13 @@ BuildMachineOSBuild - 18A391 + 19H524 CFBundleExecutable VoodooPS2Trackpad CFBundleGetInfoString - 1.9.2, Copyright Apple Computer, Inc. 2002-2003, mackerintel 2008, RehabMan 2012-2013 + 2.2.3, Copyright Apple Computer, Inc. 2002-2003, mackerintel 2008, RehabMan 2012-2013 CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Trackpad + as.acidanthera.voodoo.driver.PS2Trackpad CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.9.2 + 2.2.3 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,27 +25,29 @@ MacOSX CFBundleVersion - 1.9.2 + 2.2.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9F2000 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 12D75 + 20A2408 DTSDKName - macosx10.8 + macosx11.0 DTXcode - 0941 + 1220 DTXcodeBuild - 9F2000 + 12B45b IOKitPersonalities ALPS GlidePoint CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Trackpad + as.acidanthera.voodoo.driver.PS2Trackpad IOClass ApplePS2ALPSGlidePoint IOProbeScore @@ -105,10 +107,95 @@ + Elantech TouchPad + + CFBundleIdentifier + as.acidanthera.voodoo.driver.PS2Trackpad + IOClass + ApplePS2Elan + IOProbeScore + 7000 + IOProviderClass + ApplePS2MouseDevice + Platform Profile + + Default + + ButtonCount + 3 + Darwin 16+ + + ApplePreferenceCapability + + ApplePreferenceIdentifier + com.apple.AppleMultitouchTrackpad + MT Built-in + + MTHIDDevice + + SupportsGestureScrolling + + TrackpadEmbedded + + TrackpadFourFingerGestures + + TrackpadSecondaryClickCorners + + TrackpadThreeFingerDrag + + + DisableDevice + + ForceTouchMode + 1 + MouseResolution + 3 + MouseSampleRate + 200 + ProcessBluetoothMouseStopsTrackpad + + ProcessUSBMouseStopsTrackpad + + QuietTimeAfterTyping + 500000000 + ScrollResolution + 400 + SetHwResolution + + TrackpointDividerX + 120 + TrackpointDividerY + 120 + TrackpointMultiplierX + 120 + TrackpointMultiplierY + 120 + USBMouseStopsTrackpad + 0 + UseHighRate + + WakeDelay + 1000 + + + RM,deliverNotifications + + + Native Multitouch Engine + + CFBundleIdentifier + as.acidanthera.voodoo.driver.PS2Trackpad + IOClass + VoodooPS2NativeEngine + IOMatchCategory + VoodooPS2NativeEngine + IOProviderClass + VoodooPS2MultitouchInterface + Sentelic FSP CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Trackpad + as.acidanthera.voodoo.driver.PS2Trackpad IOClass ApplePS2SentelicFSP IOProbeScore @@ -171,7 +258,7 @@ Synaptics TouchPad CFBundleIdentifier - org.rehabman.voodoo.driver.PS2Trackpad + as.acidanthera.voodoo.driver.PS2Trackpad HIDPointerAccelerationTable AACAAFVTQioABwAAAAAAAgAEAAAABAAAABAAAAAQAAAAACAAAA0A @@ -238,24 +325,8 @@ Default - BogusDeltaThreshX - 0 - BogusDeltaThreshY - 0 ButtonCount 3 - CenterX - 3000 - CenterY - 3000 - CircularScrollDivisor - 0 - CircularScrollTrigger - 0 - ClickPadClickTime - 300000000 - ClickPadTrackBoth - Darwin 16+ ApplePreferenceCapability @@ -271,7 +342,7 @@ TrackpadEmbedded TrackpadFourFingerGestures - + TrackpadSecondaryClickCorners TrackpadThreeFingerDrag @@ -281,82 +352,22 @@ DisableLEDUpdating - DisableZoneBottom - 4200 - DisableZoneControl - 0 - DisableZoneLeft - 0 - DisableZoneRight - 1700 - DisableZoneTop - 99999 - DivisorX - 5 - DivisorY - 5 - DoubleTapThresholdX - 150 - DoubleTapThresholdY - 150 - DragExitDelayTime - 1000000000 - DragLockTempMask - 1048592 - DynamicEWMode - - EdgeBottom - 1700 - EdgeLeft - 1700 - EdgeRight - 5200 - EdgeTop - 4200 FakeMiddleButton - FingerChangeIgnoreDeltas - 3 - FingerZ - 30 - HorizontalScrollDivisor - 0 - ImmediateClick - - MaxDragTime - 180000000 - MaxTapTime - 130000000 + ForceTouchCustomDownThreshold + 90 + ForceTouchCustomPower + 8 + ForceTouchCustomUpThreshold + 20 + ForceTouchMode + 1 + ForceTouchPressureThreshold + 100 MiddleClickTime 100000000 - MomentumScrollDivisor - 100 - MomentumScrollMultiplier - 98 - MomentumScrollSamplesMin - 3 - MomentumScrollThreshY - 18 - MomentumScrollTimer - 10000000 - MouseCount - 0 MouseMiddleScroll - MouseMultiplierX - 20 - MouseMultiplierY - 20 - MouseScrollMultiplierX - 20 - MouseScrollMultiplierY - 20 - MultiFingerHorizontalDivisor - 13 - MultiFingerVerticalDivisor - 13 - MultiFingerWLimit - 9 ProcessBluetoothMouseStopsTrackpad ProcessUSBMouseStopsTrackpad @@ -365,64 +376,16 @@ 500000000 Resolution 400 - RightClickZoneBottom - 0 - RightClickZoneLeft - 3800 - RightClickZoneRight - 99999 - RightClickZoneTop - 2000 - ScrollDeltaThreshX - 0 - ScrollDeltaThreshY - 0 ScrollResolution 400 SkipPassThrough - SmoothInput - - StickyHorizontalScrolling - - StickyMultiFingerScrolling - - StickyVerticalScrolling - - SwapDoubleTriple - - SwipeDeltaX - 800 - SwipeDeltaY - 800 - TapThresholdX - 75 - TapThresholdY - 75 USBMouseStopsTrackpad 0 - UnitsPerMMX - 50 - UnitsPerMMY - 50 - UnsmoothInput - UseHighRate - VerticalScrollDivisor - 0 WakeDelay 1000 - ZLimit - 115 - ZoneBottom - 0 - ZoneLeft - 1700 - ZoneRight - 5200 - ZoneTop - 99999 HPQOEM @@ -478,26 +441,12 @@ Thinkpad_ClickPad Thinkpad_ClickPad - BogusDeltaThreshX - 100 - BogusDeltaThreshY - 100 - Clicking - - DragLockTempMask - 262148 - DynamicEWMode - - EdgeBottom - 0 FakeMiddleButton FingerZ 30 HWResetOnStart - MaxTapTime - 100000000 MouseMultiplierX 2 MouseMultiplierY @@ -506,71 +455,25 @@ 2 MouseScrollMultiplierY 2 - PalmNoAction When Typing - ScrollResolution 800 - SmoothInput - Thinkpad - UnsmoothInput - Thinkpad_TrackPad - BogusDeltaThreshX - 800 - BogusDeltaThreshY - 800 - Clicking - - DivisorX - 1 - DivisorY - 1 - DragLockTempMask - 262148 - DynamicEWMode - FakeMiddleButton FingerZ 47 HWResetOnStart - MaxTapTime - 100000000 - MomentumScrollThreshY - 16 - MouseMultiplierX - 8 - MouseMultiplierY - 8 - MouseScrollMultiplierX - 2 - MouseScrollMultiplierY - 2 - MultiFingerHorizontalDivisor - 4 - MultiFingerVerticalDivisor - 4 - PalmNoAction When Typing - Resolution 3200 - ScrollDeltaThreshX - 10 - ScrollDeltaThreshY - 10 ScrollResolution 800 - SmoothInput - Thinkpad - UnsmoothInput - X1CG3 Thinkpad_ClickPad @@ -584,9 +487,13 @@ 1452 + LSMinimumSystemVersion + 10.11 OSBundleLibraries - com.apple.iokit.IOHIDSystem + as.acidanthera.voodoo.driver.PS2Controller + 2.2.3 + com.apple.iokit.IOHIDFamily 1.0.0b1 com.apple.kpi.iokit 9.0.0 @@ -594,12 +501,8 @@ 9.0.0 com.apple.kpi.mach 9.0.0 - org.rehabman.voodoo.driver.PS2Controller - 1.9.2 OSBundleRequired Console - Source Code - https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller diff --git a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/MacOS/VoodooPS2Trackpad b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/MacOS/VoodooPS2Trackpad index 356c071..6e089d8 100755 Binary files a/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/MacOS/VoodooPS2Trackpad and b/OC/Kexts/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/MacOS/VoodooPS2Trackpad differ diff --git a/OC/Kexts/VoodooRMI.kext/Contents/Info.plist b/OC/Kexts/VoodooRMI.kext/Contents/Info.plist new file mode 100644 index 0000000..141dffd --- /dev/null +++ b/OC/Kexts/VoodooRMI.kext/Contents/Info.plist @@ -0,0 +1,103 @@ + + + + + BuildMachineOSBuild + 20D91 + CFBundleDevelopmentRegion + en + CFBundleExecutable + VoodooRMI + CFBundleIdentifier + com.1Revenger1.VoodooRMI + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoodooRMI + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.3.3 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.3.3 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12D4e + DTPlatformName + macosx + DTPlatformVersion + 11.1 + DTSDKBuild + 20C63 + DTSDKName + macosx11.1 + DTXcode + 1240 + DTXcodeBuild + 12D4e + IOKitPersonalities + + RMIDevice + + CFBundleIdentifier + com.1Revenger1.VoodooRMI + Configuration + + DisableWhileTrackpointTimeout + 250 + DisableWhileTypingTimeout + 250 + FingerMajorMinorDiffMax + 3 + ForceTouchEmulation + + ForceTouchMinPressure + 90 + MinYDiffThumbDetection + 200 + TrackpointDeadzone + 1 + TrackpointMultiplier + 10 + TrackpointScrollMultiplierX + 30 + TrackpointScrollMultiplierY + 30 + + IOClass + RMIBus + IOProbeScore + 2910 + IOPropertyMatch + + RMI4 Supported + + + IOProviderClass + RMITransport + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2021 1Revenger1. All rights reserved. + OSBundleCompatibleVersion + 1.0.0 + OSBundleLibraries + + com.apple.kpi.iokit + 15 + com.apple.kpi.libkern + 15 + com.apple.kpi.mach + 15 + + OSBundleRequired + Console + + diff --git a/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI b/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI new file mode 100755 index 0000000..5bcfb9e Binary files /dev/null and b/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI differ diff --git a/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/Info.plist b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/Info.plist new file mode 100644 index 0000000..b33dcce --- /dev/null +++ b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/Info.plist @@ -0,0 +1,82 @@ + + + + + BuildMachineOSBuild + 20D91 + CFBundleDevelopmentRegion + en + CFBundleExecutable + RMISMBus + CFBundleIdentifier + com.1Revenger1.RMISMBus + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + RMISMBus + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12D4e + DTPlatformName + macosx + DTPlatformVersion + 11.1 + DTSDKBuild + 20C63 + DTSDKName + macosx11.1 + DTXcode + 1240 + DTXcodeBuild + 12D4e + IOKitPersonalities + + RMISMBus + + CFBundleIdentifier + com.1Revenger1.RMISMBus + IOClass + RMISMBus + IOProbeScore + 500 + IOPropertyMatch + + VoodooSMBUS Slave Device Address + 44 + + IOProviderClass + VoodooSMBusDeviceNub + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2021 1Revenger1. All rights reserved. + OSBundleLibraries + + com.1Revenger1.VoodooRMI + 1.0 + com.apple.kpi.iokit + 15 + com.apple.kpi.libkern + 15 + com.apple.kpi.mach + 15 + de.leo-labs.VoodooSMBus + 3.0 + + OSBundleRequired + Console + + diff --git a/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/MacOS/RMISMBus b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/MacOS/RMISMBus new file mode 100755 index 0000000..eda4b59 Binary files /dev/null and b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/MacOS/RMISMBus differ diff --git a/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/_CodeSignature/CodeResources b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist new file mode 100644 index 0000000..bcc6580 --- /dev/null +++ b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist @@ -0,0 +1,80 @@ + + + + + BuildMachineOSBuild + 20D91 + CFBundleDevelopmentRegion + en + CFBundleExecutable + VoodooInput + CFBundleIdentifier + me.kishorprins.VoodooInput + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoodooInput + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.1.3 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.1.3 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12D4e + DTPlatformName + macosx + DTPlatformVersion + 11.1 + DTSDKBuild + 20C63 + DTSDKName + macosx11.1 + DTXcode + 1240 + DTXcodeBuild + 12D4e + IOKitPersonalities + + Voodoo Input + + CFBundleIdentifier + me.kishorprins.VoodooInput + IOClass + VoodooInput + IOProbeScore + 200 + IOPropertyMatch + + VoodooInputSupported + + + IOProviderClass + IOService + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2019 Kishor Prins. All rights reserved. + OSBundleLibraries + + com.apple.iokit.IOHIDFamily + 2.0 + com.apple.kpi.iokit + 14 + com.apple.kpi.libkern + 14 + com.apple.kpi.mach + 13.0 + + OSBundleRequired + Root + + diff --git a/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput new file mode 100755 index 0000000..672a934 Binary files /dev/null and b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput differ diff --git a/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources b/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..5007b3b --- /dev/null +++ b/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,143 @@ + + + + + files + + files2 + + PlugIns/RMII2C.kext + + cdhash + + k2FpRYE942mpyUFjNoIOynuxLlU= + + requirement + cdhash H"2005b37264b2cd188dffcd511feea9310f122bf8" or cdhash H"93616945813de369a9c9416336820eca7bb12e55" + + PlugIns/RMISMBus.kext + + cdhash + + LDmLgiCNfxsavI+v4x34ST7je3c= + + requirement + cdhash H"40ffbf03de80bf45f26d1df54fb1629354dcd32b" or cdhash H"2c398b82208d7f1b1abc8fafe31df8493ee37b77" + + PlugIns/VoodooInput.kext + + cdhash + + nRBmw3tfELTjaO8YK6ikIJW1SY4= + + requirement + cdhash H"33875b3abb66e7b440c7570474b8b37cafa1e0c3" or cdhash H"9d1066c37b5f10b4e368ef182ba8a42095b5498e" + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist b/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist new file mode 100644 index 0000000..35142b8 --- /dev/null +++ b/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist @@ -0,0 +1,101 @@ + + + + + BuildMachineOSBuild + 20D91 + CFBundleDevelopmentRegion + en + CFBundleExecutable + VoodooSMBus + CFBundleIdentifier + de.leo-labs.VoodooSMBus + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoodooSMBus + CFBundlePackageType + KEXT + CFBundleShortVersionString + 3.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 3.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12D4e + DTPlatformName + macosx + DTPlatformVersion + 11.1 + DTSDKBuild + 20C63 + DTSDKName + macosx11.1 + DTXcode + 1240 + DTXcodeBuild + 12D4e + IOKitPersonalities + + VoodooSMBusControllerDriver + + Addresses + + 44 + 21 + + CFBundleIdentifier + de.leo-labs.VoodooSMBus + IOClass + VoodooSMBusControllerDriver + IOPCIClassMatch + 0c050000&0xffffff00 + IOPCIMatchComment + Intel SMBus Controller i801 (Class 0x0C05) + IOProbeScore + 400 + IOProviderClass + IOPCIDevice + + VoodooSMBusIntelLpssI2C + + CFBundleIdentifier + de.leo-labs.VoodooSMBus + IOClass + VoodooSMBusIntelLpssI2C + IOPCIMatch + 0x9d608086 + IOPCIMatchComment + Dummy IntelLpssI2CDriver + IOProbeScore + 400 + IOProviderClass + IOPCIDevice + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2019 leo-labs. All rights reserved. + OSBundleCompatibleVersion + 3.0 + OSBundleLibraries + + com.apple.iokit.IOPCIFamily + 2.9 + com.apple.kpi.iokit + 15 + com.apple.kpi.libkern + 15 + com.apple.kpi.mach + 15 + + OSBundleRequired + Root + + diff --git a/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus b/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus new file mode 100755 index 0000000..2492d97 Binary files /dev/null and b/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus differ diff --git a/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources b/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OC/Kexts/WhateverGreen.kext/Contents/Info.plist b/OC/Kexts/WhateverGreen.kext/Contents/Info.plist index 6128e67..c08c88a 100644 --- a/OC/Kexts/WhateverGreen.kext/Contents/Info.plist +++ b/OC/Kexts/WhateverGreen.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18E226 + 19H524 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.3.7 + 1.4.9 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,23 @@ MacOSX CFBundleVersion - 1.3.7 + 1.4.9 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 12B45b + DTPlatformName + macosx DTPlatformVersion - GM + 11.0 DTSDKBuild - 18E219 + 20A2408 DTSDKName - macosx10.14 + macosx11.0 DTXcode - 1020 + 1220 DTXcodeBuild - 10E1001 + 12B45b IOKitPersonalities NVHDAEnabler @@ -73,6 +75,8 @@ IOKit + LSMinimumSystemVersion + 10.8 NSHumanReadableCopyright Copyright © 2018 vit9696. All rights reserved. OSBundleCompatibleVersion diff --git a/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen b/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen old mode 100644 new mode 100755 index b42b17a..fe30fee Binary files a/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen and b/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen differ diff --git a/OC/Kexts/YogaSMC.kext/Contents/Info.plist b/OC/Kexts/YogaSMC.kext/Contents/Info.plist new file mode 100644 index 0000000..6508e2f --- /dev/null +++ b/OC/Kexts/YogaSMC.kext/Contents/Info.plist @@ -0,0 +1,208 @@ + + + + + BuildMachineOSBuild + 20D64 + CFBundleDevelopmentRegion + en + CFBundleExecutable + YogaSMC + CFBundleIdentifier + org.zhen.YogaSMC + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + YogaSMC + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.4.3 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.4.3 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12C33 + DTPlatformName + macosx + DTPlatformVersion + 11.1 + DTSDKBuild + 20C63 + DTSDKName + macosx11.1 + DTXcode + 1230 + DTXcodeBuild + 12C33 + IOKitPersonalities + + IdeaVPC + + CFBundleIdentifier + org.zhen.YogaSMC + IOClass + IdeaVPC + IONameMatch + VPC2004 + IOProbeScore + 200 + IOProviderClass + IOACPIPlatformDevice + IOUserClientClass + YogaSMCUserClient + Sensors + + Airflow Left + + Airflow Right + + Battery + + Battery Sensor 1 + TBAT + Battery Sensor 2 + + CPU Core PECI + CPEC + CPU System Agent Core + CTMP + Memory Proximity + MEM1 + Platform Controller Hub Die + RSEN + SO-DIMM 1 Proximity + MEM1 + SO-DIMM 2 Proximity + MEM2 + SO-DIMM 3 Proximity + + SO-DIMM 4 Proximity + + + + ThinkVPC + + CFBundleIdentifier + org.zhen.YogaSMC + IOClass + ThinkVPC + IOProbeScore + 200 + IOPropertyMatch + + + name + LEN0268 + + + name + LEN0068 + + + IOProviderClass + IOACPIPlatformDevice + IOUserClientClass + YogaSMCUserClient + Sensors + + Airflow Left + + Airflow Right + + Battery + + Battery Sensor 1 + + Battery Sensor 2 + + CPU Core PECI + + CPU System Agent Core + TMP0 + Memory Proximity + + Platform Controller Hub Die + ESTA + SO-DIMM 1 Proximity + + SO-DIMM 2 Proximity + + SO-DIMM 3 Proximity + + SO-DIMM 4 Proximity + + + + YogaHIDD + + CFBundleIdentifier + org.zhen.YogaSMC + IOClass + YogaHIDD + IOProbeScore + 200 + IOPropertyMatch + + + name + INT33D5 + + + name + INTC1051 + + + name + INTC1054 + + + IOProviderClass + IOACPIPlatformDevice + IOUserClientClass + YogaSMCUserClient + + YogaWMI + + CFBundleIdentifier + org.zhen.YogaSMC + IOClass + YogaWMI + IONameMatch + PNP0C14 + IOProbeScore + 100 + IOProviderClass + IOACPIPlatformDevice + + + LSMinimumSystemVersion + 10.12 + NSHumanReadableCopyright + Copyright © 2020 Zhen. All rights reserved. + OSBundleLibraries + + as.vit9696.Lilu + 1.4.5 + as.vit9696.VirtualSMC + 1.1.4 + com.apple.iokit.IOACPIFamily + 1.0.0d1 + com.apple.kpi.bsd + 8.0.0 + com.apple.kpi.iokit + 8.0.0 + com.apple.kpi.libkern + 8.0.0 + com.apple.kpi.mach + 8.0.0 + com.apple.kpi.unsupported + 8.0.0 + + + diff --git a/OC/Kexts/YogaSMC.kext/Contents/MacOS/YogaSMC b/OC/Kexts/YogaSMC.kext/Contents/MacOS/YogaSMC new file mode 100755 index 0000000..b63d1af Binary files /dev/null and b/OC/Kexts/YogaSMC.kext/Contents/MacOS/YogaSMC differ diff --git a/OC/Kexts/YogaSMC.kext/Contents/_CodeSignature/CodeResources b/OC/Kexts/YogaSMC.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/OC/Kexts/YogaSMC.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OC/OpenCore.efi b/OC/OpenCore.efi index 6590171..b16e036 100644 Binary files a/OC/OpenCore.efi and b/OC/OpenCore.efi differ diff --git a/OC/Resources/Audio/OCEFIAudio_VoiceOver_Boot.mp3 b/OC/Resources/Audio/OCEFIAudio_VoiceOver_Boot.mp3 new file mode 100755 index 0000000..9ee81d4 Binary files /dev/null and b/OC/Resources/Audio/OCEFIAudio_VoiceOver_Boot.mp3 differ diff --git a/OC/Resources/Font/Font_1x.bin b/OC/Resources/Font/Font_1x.bin new file mode 100644 index 0000000..a4ef287 Binary files /dev/null and b/OC/Resources/Font/Font_1x.bin differ diff --git a/OC/Resources/Font/Font_1x.png b/OC/Resources/Font/Font_1x.png new file mode 100644 index 0000000..3b5f3ef Binary files /dev/null and b/OC/Resources/Font/Font_1x.png differ diff --git a/OC/Resources/Font/Font_2x.bin b/OC/Resources/Font/Font_2x.bin new file mode 100644 index 0000000..714ace8 Binary files /dev/null and b/OC/Resources/Font/Font_2x.bin differ diff --git a/OC/Resources/Font/Font_2x.png b/OC/Resources/Font/Font_2x.png new file mode 100644 index 0000000..a06e748 Binary files /dev/null and b/OC/Resources/Font/Font_2x.png differ diff --git a/OC/Resources/Image/AppleRecv.icns b/OC/Resources/Image/AppleRecv.icns new file mode 100644 index 0000000..4475304 Binary files /dev/null and b/OC/Resources/Image/AppleRecv.icns differ diff --git a/OC/Resources/Image/AppleTM.icns b/OC/Resources/Image/AppleTM.icns new file mode 100644 index 0000000..25478fa Binary files /dev/null and b/OC/Resources/Image/AppleTM.icns differ diff --git a/OC/Resources/Image/BtnFocus.icns b/OC/Resources/Image/BtnFocus.icns new file mode 100644 index 0000000..1627a67 Binary files /dev/null and b/OC/Resources/Image/BtnFocus.icns differ diff --git a/OC/Resources/Image/Cursor.icns b/OC/Resources/Image/Cursor.icns new file mode 100644 index 0000000..e8ce44f Binary files /dev/null and b/OC/Resources/Image/Cursor.icns differ diff --git a/OC/Resources/Image/Dot.icns b/OC/Resources/Image/Dot.icns new file mode 100644 index 0000000..2d440f1 Binary files /dev/null and b/OC/Resources/Image/Dot.icns differ diff --git a/OC/Resources/Image/Enter.icns b/OC/Resources/Image/Enter.icns new file mode 100644 index 0000000..7f8c4af Binary files /dev/null and b/OC/Resources/Image/Enter.icns differ diff --git a/OC/Resources/Image/ExtAppleRecv.icns b/OC/Resources/Image/ExtAppleRecv.icns new file mode 100644 index 0000000..a9fae37 Binary files /dev/null and b/OC/Resources/Image/ExtAppleRecv.icns differ diff --git a/OC/Resources/Image/ExtAppleTM.icns b/OC/Resources/Image/ExtAppleTM.icns new file mode 100644 index 0000000..af4f4c1 Binary files /dev/null and b/OC/Resources/Image/ExtAppleTM.icns differ diff --git a/OC/Resources/Image/ExtHardDrive.icns b/OC/Resources/Image/ExtHardDrive.icns new file mode 100644 index 0000000..1206d23 Binary files /dev/null and b/OC/Resources/Image/ExtHardDrive.icns differ diff --git a/OC/Resources/Image/HardDrive.icns b/OC/Resources/Image/HardDrive.icns new file mode 100644 index 0000000..8112976 Binary files /dev/null and b/OC/Resources/Image/HardDrive.icns differ diff --git a/OC/Resources/Image/Left.icns b/OC/Resources/Image/Left.icns new file mode 100644 index 0000000..92dee88 Binary files /dev/null and b/OC/Resources/Image/Left.icns differ diff --git a/OC/Resources/Image/Lock.icns b/OC/Resources/Image/Lock.icns new file mode 100644 index 0000000..89354fd Binary files /dev/null and b/OC/Resources/Image/Lock.icns differ diff --git a/OC/Resources/Image/ModernAppleRecv.icns b/OC/Resources/Image/ModernAppleRecv.icns new file mode 100644 index 0000000..54b49c9 Binary files /dev/null and b/OC/Resources/Image/ModernAppleRecv.icns differ diff --git a/OC/Resources/Image/ModernAppleTM.icns b/OC/Resources/Image/ModernAppleTM.icns new file mode 100644 index 0000000..7acb4f3 Binary files /dev/null and b/OC/Resources/Image/ModernAppleTM.icns differ diff --git a/OC/Resources/Image/ModernBtnFocus.icns b/OC/Resources/Image/ModernBtnFocus.icns new file mode 100644 index 0000000..1627a67 Binary files /dev/null and b/OC/Resources/Image/ModernBtnFocus.icns differ diff --git a/OC/Resources/Image/ModernCursor.icns b/OC/Resources/Image/ModernCursor.icns new file mode 100644 index 0000000..e84f198 Binary files /dev/null and b/OC/Resources/Image/ModernCursor.icns differ diff --git a/OC/Resources/Image/ModernDot.icns b/OC/Resources/Image/ModernDot.icns new file mode 100644 index 0000000..60a4c41 Binary files /dev/null and b/OC/Resources/Image/ModernDot.icns differ diff --git a/OC/Resources/Image/ModernEnter.icns b/OC/Resources/Image/ModernEnter.icns new file mode 100644 index 0000000..087d050 Binary files /dev/null and b/OC/Resources/Image/ModernEnter.icns differ diff --git a/OC/Resources/Image/ModernExtAppleRecv.icns b/OC/Resources/Image/ModernExtAppleRecv.icns new file mode 100644 index 0000000..2ec68de Binary files /dev/null and b/OC/Resources/Image/ModernExtAppleRecv.icns differ diff --git a/OC/Resources/Image/ModernExtAppleTM.icns b/OC/Resources/Image/ModernExtAppleTM.icns new file mode 100644 index 0000000..ec13a62 Binary files /dev/null and b/OC/Resources/Image/ModernExtAppleTM.icns differ diff --git a/OC/Resources/Image/ModernExtHardDrive.icns b/OC/Resources/Image/ModernExtHardDrive.icns new file mode 100644 index 0000000..890d769 Binary files /dev/null and b/OC/Resources/Image/ModernExtHardDrive.icns differ diff --git a/OC/Resources/Image/ModernHardDrive.icns b/OC/Resources/Image/ModernHardDrive.icns new file mode 100644 index 0000000..ec8343f Binary files /dev/null and b/OC/Resources/Image/ModernHardDrive.icns differ diff --git a/OC/Resources/Image/ModernLeft.icns b/OC/Resources/Image/ModernLeft.icns new file mode 100644 index 0000000..e3a2313 Binary files /dev/null and b/OC/Resources/Image/ModernLeft.icns differ diff --git a/OC/Resources/Image/ModernLock.icns b/OC/Resources/Image/ModernLock.icns new file mode 100644 index 0000000..499b103 Binary files /dev/null and b/OC/Resources/Image/ModernLock.icns differ diff --git a/OC/Resources/Image/ModernPassword.icns b/OC/Resources/Image/ModernPassword.icns new file mode 100644 index 0000000..7a5c2c8 Binary files /dev/null and b/OC/Resources/Image/ModernPassword.icns differ diff --git a/OC/Resources/Image/ModernRestart.icns b/OC/Resources/Image/ModernRestart.icns new file mode 100644 index 0000000..6bc45b2 Binary files /dev/null and b/OC/Resources/Image/ModernRestart.icns differ diff --git a/OC/Resources/Image/ModernRight.icns b/OC/Resources/Image/ModernRight.icns new file mode 100644 index 0000000..537a1e2 Binary files /dev/null and b/OC/Resources/Image/ModernRight.icns differ diff --git a/OC/Resources/Image/ModernSelected.icns b/OC/Resources/Image/ModernSelected.icns new file mode 100644 index 0000000..8f59155 Binary files /dev/null and b/OC/Resources/Image/ModernSelected.icns differ diff --git a/OC/Resources/Image/ModernSelector.icns b/OC/Resources/Image/ModernSelector.icns new file mode 100644 index 0000000..44c81a5 Binary files /dev/null and b/OC/Resources/Image/ModernSelector.icns differ diff --git a/OC/Resources/Image/ModernSetDefault.icns b/OC/Resources/Image/ModernSetDefault.icns new file mode 100644 index 0000000..faa5807 Binary files /dev/null and b/OC/Resources/Image/ModernSetDefault.icns differ diff --git a/OC/Resources/Image/ModernShell.icns b/OC/Resources/Image/ModernShell.icns new file mode 100644 index 0000000..2e453d6 Binary files /dev/null and b/OC/Resources/Image/ModernShell.icns differ diff --git a/OC/Resources/Image/ModernShutDown.icns b/OC/Resources/Image/ModernShutDown.icns new file mode 100644 index 0000000..ee11240 Binary files /dev/null and b/OC/Resources/Image/ModernShutDown.icns differ diff --git a/OC/Resources/Image/ModernTool.icns b/OC/Resources/Image/ModernTool.icns new file mode 100644 index 0000000..d8e13fd Binary files /dev/null and b/OC/Resources/Image/ModernTool.icns differ diff --git a/OC/Resources/Image/ModernWindows.icns b/OC/Resources/Image/ModernWindows.icns new file mode 100644 index 0000000..cc9e1ad Binary files /dev/null and b/OC/Resources/Image/ModernWindows.icns differ diff --git a/OC/Resources/Image/OldAppleRecv.icns b/OC/Resources/Image/OldAppleRecv.icns new file mode 100644 index 0000000..179244e Binary files /dev/null and b/OC/Resources/Image/OldAppleRecv.icns differ diff --git a/OC/Resources/Image/OldAppleTM.icns b/OC/Resources/Image/OldAppleTM.icns new file mode 100644 index 0000000..5287181 Binary files /dev/null and b/OC/Resources/Image/OldAppleTM.icns differ diff --git a/OC/Resources/Image/OldBtnFocus.icns b/OC/Resources/Image/OldBtnFocus.icns new file mode 100644 index 0000000..1627a67 Binary files /dev/null and b/OC/Resources/Image/OldBtnFocus.icns differ diff --git a/OC/Resources/Image/OldCursor.icns b/OC/Resources/Image/OldCursor.icns new file mode 100644 index 0000000..e6b430d Binary files /dev/null and b/OC/Resources/Image/OldCursor.icns differ diff --git a/OC/Resources/Image/OldDot.icns b/OC/Resources/Image/OldDot.icns new file mode 100644 index 0000000..b6c113f Binary files /dev/null and b/OC/Resources/Image/OldDot.icns differ diff --git a/OC/Resources/Image/OldEnter.icns b/OC/Resources/Image/OldEnter.icns new file mode 100644 index 0000000..5b716dc Binary files /dev/null and b/OC/Resources/Image/OldEnter.icns differ diff --git a/OC/Resources/Image/OldExtAppleRecv.icns b/OC/Resources/Image/OldExtAppleRecv.icns new file mode 100644 index 0000000..b3272dc Binary files /dev/null and b/OC/Resources/Image/OldExtAppleRecv.icns differ diff --git a/OC/Resources/Image/OldExtAppleTM.icns b/OC/Resources/Image/OldExtAppleTM.icns new file mode 100644 index 0000000..0038ac9 Binary files /dev/null and b/OC/Resources/Image/OldExtAppleTM.icns differ diff --git a/OC/Resources/Image/OldExtHardDrive.icns b/OC/Resources/Image/OldExtHardDrive.icns new file mode 100644 index 0000000..2a99bf5 Binary files /dev/null and b/OC/Resources/Image/OldExtHardDrive.icns differ diff --git a/OC/Resources/Image/OldHardDrive.icns b/OC/Resources/Image/OldHardDrive.icns new file mode 100644 index 0000000..ce33792 Binary files /dev/null and b/OC/Resources/Image/OldHardDrive.icns differ diff --git a/OC/Resources/Image/OldLeft.icns b/OC/Resources/Image/OldLeft.icns new file mode 100644 index 0000000..4e5eda3 Binary files /dev/null and b/OC/Resources/Image/OldLeft.icns differ diff --git a/OC/Resources/Image/OldLock.icns b/OC/Resources/Image/OldLock.icns new file mode 100644 index 0000000..6366a5d Binary files /dev/null and b/OC/Resources/Image/OldLock.icns differ diff --git a/OC/Resources/Image/OldPassword.icns b/OC/Resources/Image/OldPassword.icns new file mode 100644 index 0000000..1e735ba Binary files /dev/null and b/OC/Resources/Image/OldPassword.icns differ diff --git a/OC/Resources/Image/OldRestart.icns b/OC/Resources/Image/OldRestart.icns new file mode 100644 index 0000000..dbe1522 Binary files /dev/null and b/OC/Resources/Image/OldRestart.icns differ diff --git a/OC/Resources/Image/OldRight.icns b/OC/Resources/Image/OldRight.icns new file mode 100644 index 0000000..106d899 Binary files /dev/null and b/OC/Resources/Image/OldRight.icns differ diff --git a/OC/Resources/Image/OldSelected.icns b/OC/Resources/Image/OldSelected.icns new file mode 100644 index 0000000..095b8f9 Binary files /dev/null and b/OC/Resources/Image/OldSelected.icns differ diff --git a/OC/Resources/Image/OldSelector.icns b/OC/Resources/Image/OldSelector.icns new file mode 100644 index 0000000..d0f6972 Binary files /dev/null and b/OC/Resources/Image/OldSelector.icns differ diff --git a/OC/Resources/Image/OldSetDefault.icns b/OC/Resources/Image/OldSetDefault.icns new file mode 100644 index 0000000..2b41110 Binary files /dev/null and b/OC/Resources/Image/OldSetDefault.icns differ diff --git a/OC/Resources/Image/OldShell.icns b/OC/Resources/Image/OldShell.icns new file mode 100644 index 0000000..78bee4a Binary files /dev/null and b/OC/Resources/Image/OldShell.icns differ diff --git a/OC/Resources/Image/OldShutDown.icns b/OC/Resources/Image/OldShutDown.icns new file mode 100644 index 0000000..017a308 Binary files /dev/null and b/OC/Resources/Image/OldShutDown.icns differ diff --git a/OC/Resources/Image/OldTool.icns b/OC/Resources/Image/OldTool.icns new file mode 100644 index 0000000..d29bfc6 Binary files /dev/null and b/OC/Resources/Image/OldTool.icns differ diff --git a/OC/Resources/Image/OldWindows.icns b/OC/Resources/Image/OldWindows.icns new file mode 100644 index 0000000..4995b14 Binary files /dev/null and b/OC/Resources/Image/OldWindows.icns differ diff --git a/OC/Resources/Image/Password.icns b/OC/Resources/Image/Password.icns new file mode 100644 index 0000000..a5f39a4 Binary files /dev/null and b/OC/Resources/Image/Password.icns differ diff --git a/OC/Resources/Image/Restart.icns b/OC/Resources/Image/Restart.icns new file mode 100644 index 0000000..6bc45b2 Binary files /dev/null and b/OC/Resources/Image/Restart.icns differ diff --git a/OC/Resources/Image/Right.icns b/OC/Resources/Image/Right.icns new file mode 100644 index 0000000..bcf47c5 Binary files /dev/null and b/OC/Resources/Image/Right.icns differ diff --git a/OC/Resources/Image/Selected.icns b/OC/Resources/Image/Selected.icns new file mode 100644 index 0000000..47787c9 Binary files /dev/null and b/OC/Resources/Image/Selected.icns differ diff --git a/OC/Resources/Image/Selector.icns b/OC/Resources/Image/Selector.icns new file mode 100644 index 0000000..4425677 Binary files /dev/null and b/OC/Resources/Image/Selector.icns differ diff --git a/OC/Resources/Image/SetDefault.icns b/OC/Resources/Image/SetDefault.icns new file mode 100644 index 0000000..b11da8b Binary files /dev/null and b/OC/Resources/Image/SetDefault.icns differ diff --git a/OC/Resources/Image/Shell.icns b/OC/Resources/Image/Shell.icns new file mode 100644 index 0000000..5fa71ea Binary files /dev/null and b/OC/Resources/Image/Shell.icns differ diff --git a/OC/Resources/Image/ShutDown.icns b/OC/Resources/Image/ShutDown.icns new file mode 100644 index 0000000..ee11240 Binary files /dev/null and b/OC/Resources/Image/ShutDown.icns differ diff --git a/OC/Resources/Image/Tool.icns b/OC/Resources/Image/Tool.icns new file mode 100644 index 0000000..7fecb7d Binary files /dev/null and b/OC/Resources/Image/Tool.icns differ diff --git a/OC/Resources/Image/Windows.icns b/OC/Resources/Image/Windows.icns new file mode 100644 index 0000000..57b6546 Binary files /dev/null and b/OC/Resources/Image/Windows.icns differ diff --git a/OC/Resources/Label/Apple.l2x b/OC/Resources/Label/Apple.l2x new file mode 100755 index 0000000..d347265 Binary files /dev/null and b/OC/Resources/Label/Apple.l2x differ diff --git a/OC/Resources/Label/Apple.lbl b/OC/Resources/Label/Apple.lbl new file mode 100755 index 0000000..5303b1c Binary files /dev/null and b/OC/Resources/Label/Apple.lbl differ diff --git a/OC/Resources/Label/AppleRecv.l2x b/OC/Resources/Label/AppleRecv.l2x new file mode 100644 index 0000000..9708b38 Binary files /dev/null and b/OC/Resources/Label/AppleRecv.l2x differ diff --git a/OC/Resources/Label/AppleRecv.lbl b/OC/Resources/Label/AppleRecv.lbl new file mode 100644 index 0000000..d11eee3 Binary files /dev/null and b/OC/Resources/Label/AppleRecv.lbl differ diff --git a/OC/Resources/Label/AppleTM.l2x b/OC/Resources/Label/AppleTM.l2x new file mode 100644 index 0000000..cf3cdd3 Binary files /dev/null and b/OC/Resources/Label/AppleTM.l2x differ diff --git a/OC/Resources/Label/AppleTM.lbl b/OC/Resources/Label/AppleTM.lbl new file mode 100644 index 0000000..887aa26 Binary files /dev/null and b/OC/Resources/Label/AppleTM.lbl differ diff --git a/OC/Resources/Label/EFIBoot.l2x b/OC/Resources/Label/EFIBoot.l2x new file mode 100755 index 0000000..6fe1655 Binary files /dev/null and b/OC/Resources/Label/EFIBoot.l2x differ diff --git a/OC/Resources/Label/EFIBoot.lbl b/OC/Resources/Label/EFIBoot.lbl new file mode 100755 index 0000000..28f1a31 Binary files /dev/null and b/OC/Resources/Label/EFIBoot.lbl differ diff --git a/OC/Resources/Label/Other.l2x b/OC/Resources/Label/Other.l2x new file mode 100644 index 0000000..ee05430 Binary files /dev/null and b/OC/Resources/Label/Other.l2x differ diff --git a/OC/Resources/Label/Other.lbl b/OC/Resources/Label/Other.lbl new file mode 100644 index 0000000..be76830 Binary files /dev/null and b/OC/Resources/Label/Other.lbl differ diff --git a/OC/Resources/Label/ResetNVRAM.l2x b/OC/Resources/Label/ResetNVRAM.l2x new file mode 100755 index 0000000..37c9425 Binary files /dev/null and b/OC/Resources/Label/ResetNVRAM.l2x differ diff --git a/OC/Resources/Label/ResetNVRAM.lbl b/OC/Resources/Label/ResetNVRAM.lbl new file mode 100755 index 0000000..d64bd59 Binary files /dev/null and b/OC/Resources/Label/ResetNVRAM.lbl differ diff --git a/OC/Resources/Label/Shell.l2x b/OC/Resources/Label/Shell.l2x new file mode 100644 index 0000000..4193b25 Binary files /dev/null and b/OC/Resources/Label/Shell.l2x differ diff --git a/OC/Resources/Label/Shell.lbl b/OC/Resources/Label/Shell.lbl new file mode 100644 index 0000000..06dc4ac Binary files /dev/null and b/OC/Resources/Label/Shell.lbl differ diff --git a/OC/Resources/Label/Tool.l2x b/OC/Resources/Label/Tool.l2x new file mode 100755 index 0000000..9eb557a Binary files /dev/null and b/OC/Resources/Label/Tool.l2x differ diff --git a/OC/Resources/Label/Tool.lbl b/OC/Resources/Label/Tool.lbl new file mode 100755 index 0000000..4ca11ce Binary files /dev/null and b/OC/Resources/Label/Tool.lbl differ diff --git a/OC/Resources/Label/Windows.l2x b/OC/Resources/Label/Windows.l2x new file mode 100755 index 0000000..87b014e Binary files /dev/null and b/OC/Resources/Label/Windows.l2x differ diff --git a/OC/Resources/Label/Windows.lbl b/OC/Resources/Label/Windows.lbl new file mode 100755 index 0000000..be97d86 Binary files /dev/null and b/OC/Resources/Label/Windows.lbl differ diff --git a/OC/VERSION.txt b/OC/VERSION.txt deleted file mode 100644 index 1a03bfb..0000000 --- a/OC/VERSION.txt +++ /dev/null @@ -1 +0,0 @@ -OpenCore-0.5.6-RELEASE \ No newline at end of file diff --git a/OC/config-CPUFriend.plist b/OC/config-CPUFriend.plist deleted file mode 100644 index d47a6cf..0000000 --- a/OC/config-CPUFriend.plist +++ /dev/null @@ -1,1631 +0,0 @@ - - - - - ACPI - - Add - - - Enabled - - Comment - SSDT-CPUFriend-PM.aml - Path - SSDT-CPUFriend-PM.aml - - - Enabled - - Comment - SSDT-GPI0.aml - Path - SSDT-GPI0.aml - - - Enabled - - Comment - SSDT-OCBAT0-TP.aml - Path - SSDT-OCBAT0-TP.aml - - - Enabled - - Comment - SSDT-OCBATC-TP-LPCB.aml - Path - SSDT-OCBATC-TP-LPCB.aml - - - Enabled - - Comment - SSDT-OCBATC-TP-NTFY.aml - Path - SSDT-OCBATC-TP-NTFY.aml - - - Enabled - - Comment - SSDT-USBX.aml - Path - SSDT-USBX.aml - - - Enabled - - Comment - SSDT-UIAC.aml - Path - SSDT-UIAC.aml - - - Enabled - - Comment - SSDT-ALS0.aml - Path - SSDT-ALS0.aml - - - Enabled - - Comment - SSDT-PNLF-SKL_KBL.aml - Path - SSDT-PNLF-SKL_KBL.aml - - - Enabled - - Comment - SSDT-SBUS.aml - Path - SSDT-SBUS.aml - - - Enabled - - Comment - SSDT-SLEEP-PTSWAK.aml - Path - SSDT-SLEEP-PTSWAK.aml - - - Enabled - - Comment - SSDT-SLEEP-EXT3-LedReset-TP.aml - Path - SSDT-SLEEP-EXT3-LedReset-TP.aml - - - Enabled - - Comment - SSDT-SLEEP-EXT4-WakeScreen.aml - Path - SSDT-SLEEP-EXT4-WakeScreen.aml - - - Enabled - - Comment - SSDT-SLEEP-TP-BUTTON.aml - Path - SSDT-SLEEP-TP-BUTTON.aml - - - Enabled - - Comment - SSDT-SLEEP-TP-LID.aml - Path - SSDT-SLEEP-TP-LID.aml - - - Enabled - - Comment - SSDT-SLEEP-WAKE-GPRW.aml - Path - SSDT-SLEEP-WAKE-GPRW.aml - - - Comment - SSDT-AUDIO-HPET_RTC_TIMR-fix.aml - Enabled - - Path - SSDT-AUDIO-HPET_RTC_TIMR-fix.aml - - - Enabled - - Comment - SSDT-BKeyQ14Q15-TP-LPCB.aml - Path - SSDT-BKeyQ14Q15-TP-LPCB.aml - - - Enabled - - Comment - SSDT-Thinkpad_Clickpad.aml - Path - SSDT-Thinkpad_Clickpad.aml - - - Enabled - - Comment - SSDT-Thinkpad_Trackpad.aml - Path - SSDT-Thinkpad_Trackpad.aml - - - Block - - Patch - - - Comment - TP-BAT:GBIF03 to XBIF03 - Count - 0 - Enabled - - Find - R0JJRgM= - Limit - 0 - Mask - - OemTableId - - Replace - WEJJRgM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:GBIX03 to XBIX03 - Count - 0 - Enabled - - Find - R0JJWAM= - Limit - 0 - Mask - - OemTableId - - Replace - WEJJWAM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:GBST04 to XBST04 - Count - 0 - Enabled - - Find - R0JTVAQ= - Limit - 0 - Mask - - OemTableId - - Replace - WEJTVAQ= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:AJTP03 to XJTP03 - Count - 0 - Enabled - - Find - QUpUUAM= - Limit - 0 - Mask - - OemTableId - - Replace - WEpUUAM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:_L1700 to _X1700 - Count - 0 - Enabled - - Find - X0wxNwA= - Limit - 0 - Mask - - OemTableId - - Replace - X1gxNwA= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:OWAK01 to XWAK01 - Count - 0 - Enabled - - Find - T1dBSwE= - Limit - 0 - Mask - - OemTableId - - Replace - WFdBSwE= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q22 to XQ22 - Count - 0 - Enabled - - Find - X1EyMg== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyMg== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q24 to XQ24 - Count - 0 - Enabled - - Find - X1EyNA== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyNA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q25 to XQ25 - Count - 0 - Enabled - - Find - X1EyNQ== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyNQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q4A to XQ4A - Count - 0 - Enabled - - Find - X1E0QQ== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0QQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q4B to XQ4B - Count - 0 - Enabled - - Find - X1E0Qg== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0Qg== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q4D to XQ4D - Count - 0 - Enabled - - Find - X1E0RA== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0RA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - BFCC to XFCC - Count - 0 - Enabled - - Find - QkZDQwA= - Limit - 0 - Mask - - OemTableId - - Replace - WEZDQwA= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - BATW to XATW - Count - 0 - Enabled - - Find - QkFUVwE= - Limit - 0 - Mask - - OemTableId - - Replace - WEFUVwE= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BRIGHTNESS-UP:_Q14 to XQ14 - Count - 0 - Enabled - - Find - X1ExNA== - Limit - 0 - Mask - - OemTableId - - Replace - WFExNA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BRIGHTNESS-DOWN:_Q15 to XQ15 - Count - 0 - Enabled - - Find - X1ExNQ== - Limit - 0 - Mask - - OemTableId - - Replace - WFExNQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-PTSWAK:_PTS(1,N) to ZPTS(1,N) - Count - 0 - Enabled - - Find - X1BUUwE= - Limit - 0 - Mask - - OemTableId - - Replace - WlBUUwE= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-PTSWAK:_WAK(1,S) to ZWAK(1,S) - Count - 0 - Enabled - - Find - X1dBSwk= - Limit - 0 - Mask - - OemTableId - - Replace - WldBSwk= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-TP-BUTTON:_Q13 to XQ13(TP-Fn+F4) - Count - 0 - Enabled - - Find - X1ExMw== - Limit - 0 - Mask - - OemTableId - - Replace - WFExMw== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-TP-LID:_LID to XLID - Count - 0 - Enabled - - Find - X0xJRAA= - Limit - 0 - Mask - - OemTableId - - Replace - WExJRAA= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-WAKE:Name 6D-03 to 00 - Count - 0 - Enabled - - Find - Cm0KAw== - Limit - 0 - Mask - - OemTableId - - Replace - Cm0KAA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-WAKE-GPRW:GPRW to XPRW - Count - 0 - Enabled - - Find - R1BSVwI= - Limit - 0 - Mask - - OemTableId - - Replace - WFBSVwI= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Quirks - - FadtEnableReset - - NormalizeHeaders - - RebaseRegions - - ResetHwSig - - ResetLogoStatus - - - - Booter - - MmioWhitelist - - Quirks - - AvoidRuntimeDefrag - - DevirtualiseMmio - - DisableSingleUser - - DisableVariableWrite - - DiscardHibernateMap - - EnableSafeModeSlide - - EnableWriteUnprotector - - ForceExitBootServices - - ProtectCsmRegion - - ProtectSecureBoot - - ProvideCustomSlide - - SetupVirtualMap - - ShrinkMemoryMap - - SignalAppleOS - - - - DeviceProperties - - Add - - PciRoot(0x0)/Pci(0x1f,0x3) - - layout-id - CwAAAA== - - PciRoot(0x0)/Pci(0x2,0x0) - - AAPL,ig-platform-id - AAAWWQ== - device-id - FlkAAA== - framebuffer-fbmem - AACQAA== - framebuffer-patch-enable - AQAAAA== - framebuffer-portcount - AwAAAA== - framebuffer-stolenmem - AAAwAQ== - framebuffer-unifiedmem - AAAAgA== - - - Block - - PciRoot(0x0)/Pci(0x1b,0x0) - - MaximumBootBeepVolume - - - - Kernel - - Add - - - BundlePath - Lilu.kext - Comment - Patch engine - Enabled - - ExecutablePath - Contents/MacOS/Lilu - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VirtualSMC.kext - ExecutablePath - Contents/MacOS/VirtualSMC - PlistPath - Contents/Info.plist - - - BundlePath - WhateverGreen.kext - Comment - Video patches - Enabled - - ExecutablePath - Contents/MacOS/WhateverGreen - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - SMCBatteryManager.kext - ExecutablePath - Contents/MacOS/SMCBatteryManager - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - SMCLightSensor.kext - ExecutablePath - Contents/MacOS/SMCLightSensor - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - SMCProcessor.kext - ExecutablePath - Contents/MacOS/SMCProcessor - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - SMCSuperIO.kext - ExecutablePath - Contents/MacOS/SMCSuperIO - PlistPath - Contents/Info.plist - - - BundlePath - AppleALC.kext - Comment - Audio patches - Enabled - - ExecutablePath - Contents/MacOS/AppleALC - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VoodooPS2Controller.kext - ExecutablePath - Contents/MacOS/VoodooPS2Controller - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext - ExecutablePath - Contents/MacOS/VoodooPS2Keyboard - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext - ExecutablePath - Contents/MacOS/VoodooPS2Mouse - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext - ExecutablePath - Contents/MacOS/VoodooPS2Trackpad - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - ApplePS2SmartTouchPad.kext/Contents/PlugIns/ApplePS2Controller.kext - ExecutablePath - Contents/MacOS/ApplePS2Controller - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - ApplePS2SmartTouchPad.kext/Contents/PlugIns/ApplePS2Keyboard.kext - ExecutablePath - Contents/MacOS/ApplePS2Keyboard - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - ApplePS2SmartTouchPad.kext - ExecutablePath - Contents/MacOS/ApplePS2SmartTouchPad - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - USBInjectAll.kext - ExecutablePath - Contents/MacOS/USBInjectAll - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - IntelMausi.kext - ExecutablePath - Contents/MacOS/IntelMausi - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - NVMeFix.kext - ExecutablePath - Contents/MacOS/NVMeFix - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - NoTouchID.kext - ExecutablePath - Contents/MacOS/NoTouchID - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - AirportBrcmFixup.kext - ExecutablePath - Contents/MacOS/AirportBrcmFixup - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - BrcmBluetoothInjector.kext - ExecutablePath - - PlistPath - Contents/Info.plist - - - Block - - Emulate - - Cpuid1Data - - Cpuid1Mask - - - Patch - - - Base - __ZN8AppleRTC18setupDateTimeAlarmEPK11RTCDateTime - Comment - Disable RTC wake scheduling - Count - 1 - Enabled - - Find - - Identifier - com.apple.driver.AppleRTC - Limit - 0 - Mask - - MaxKernel - - MinKernel - 19.0.0 - Replace - ww== - ReplaceMask - - Skip - 0 - - - Base - __ZN8AppleRTC14updateChecksumEv - Comment - Disable RTC checksum update on poweroff - Count - 1 - Enabled - - Find - - Identifier - com.apple.driver.AppleRTC - Limit - 0 - Mask - - MaxKernel - - MinKernel - - Replace - ww== - ReplaceMask - - Skip - 0 - - - Base - _AcpiOsVprintf - Comment - Disable ACPI logging - Count - 0 - Enabled - - Find - - Identifier - com.apple.driver.AppleACPIPlatform - Limit - 0 - Mask - - MaxKernel - 18.5.0 - MinKernel - 18.5.0 - Replace - ww== - ReplaceMask - - Skip - 0 - - - Base - __ZN11BCM5701Enet14getAdapterInfoEv - Comment - Broadcom BCM57785 patch - Count - 1 - Enabled - - Find - 6AAA//9miYMABQAA - Identifier - com.apple.iokit.AppleBCM5701Ethernet - Limit - 0 - Mask - /wAA//////////// - MaxKernel - - MinKernel - - Replace - uLQWAABmiYMABQAA - ReplaceMask - - Skip - 0 - - - Quirks - - AppleCpuPmCfgLock - - AppleXcpmCfgLock - - AppleXcpmExtraMsrs - - AppleXcpmForceBoost - - CustomSMBIOSGuid - - DisableIoMapper - - DummyPowerManagement - - ExternalDiskIcons - - IncreasePciBarSize - - LapicKernelPanic - - PanicNoKextDump - - PowerTimeoutKernelPanic - - ThirdPartyDrives - - XhciPortLimit - - - - Misc - - BlessOverride - - Boot - - HibernateMode - None - PickerMode - Builtin - HideAuxiliary - - HideSelf - - PickerAttributes - 0 - PickerAudioAssist - - PollAppleHotKeys - - ShowPicker - - TakeoffDelay - 0 - Timeout - 5 - - Debug - - DisableWatchDog - - DisplayDelay - 0 - DisplayLevel - 2147483650 - Target - 3 - - Entries - - - Arguments - - Auxiliary - - Comment - Not signed for security reasons - Enabled - - Name - CustomOS - Path - PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,11-22-33-44-55-66-77-88)/HD(1,GPT,00000000-0000-0000-0000-000000000000,0x800,0x64000)/\EFI\BOOT\BOOTX64.EFI - - - Security - - AllowNvramReset - - AllowSetDefault - - AuthRestart - - ExposeSensitiveData - 6 - HaltLevel - 2147483648 - Vault - Optional - #Vault - Secure - ScanPolicy - 0 - #ScanPolicy - 983299 - - Tools - - - NVRAM - - Add - - 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 - - UIScale - AQ== - DefaultBackgroundColor - AAAAAA== - - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - - boot-args - keepsyms=1 debug=0x100 -v - #boot-args-debug - keepsyms=1 debug=0x100 brcmfx-driver=1 -brcmfxdbg - csr-active-config - 5wMAAA== - #csr-active-config-disable-sip - 5wMAAA== - nvda_drv - - prev-lang:kbd - - SystemAudioVolume - Rg== - - - Block - - 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 - - UIScale - DefaultBackgroundColor - - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - - boot-args - - - LegacyEnable - - LegacyOverwrite - - LegacySchema - - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - - EFILoginHiDPI - EFIBluetoothDelay - LocationServicesEnabled - SystemAudioVolume - SystemAudioVolumeDB - SystemAudioVolumeSaved - bluetoothActiveControllerInfo - bluetoothInternalControllerInfo - flagstate - fmm-computer-name - nvda_drv - prev-lang:kbd - - 8BE4DF61-93CA-11D2-AA0D-00E098032B8C - - Boot0080 - Boot0081 - Boot0082 - BootNext - BootOrder - - - WriteFlash - - - PlatformInfo - - Automatic - - Generic - - AdviseWindows - - MLB - C028131084NHWVP1M - ROM - ESIzAAAA - SpoofVendor - - SystemProductName - MacBookPro14,1 - SystemSerialNumber - C02WH03ZHV29 - SystemUUID - 48988EBE-03FC-4B2C-8B88-F6C01E3BD066 - - UpdateDataHub - - UpdateNVRAM - - UpdateSMBIOS - - UpdateSMBIOSMode - Create - - UEFI - - ConnectDrivers - - Drivers - - ApfsDriverLoader.efi - FwRuntimeServices.efi - VBoxHfs.efi - - Audio - - AudioSupport - - AudioDevice - - #AudioDevice - PciRoot(0x0)/Pci(0x1b,0x0) - AudioCodec - 0 - AudioOut - 0 - MinimumVolume - 20 - PlayChime - - VolumeAmplifier - 0 - - Input - - KeyForgetThreshold - 5 - KeyMergeThreshold - 2 - KeySupport - - KeySupportMode - Auto - KeySwap - - PointerSupport - - PointerSupportMode - - TimerResolution - 50000 - - Output - - TextRenderer - BuiltinGraphics - ConsoleMode - - Resolution - Max - ClearScreenOnModeSwitch - - IgnoreTextInGraphics - - ProvideConsoleGop - - DirectGopRendering - - ReconnectOnResChange - - ReplaceTabWithSpace - - SanitiseClearScreen - - - Protocols - - AppleAudio - - AppleBootPolicy - - AppleEvent - - AppleImageConversion - - AppleKeyMap - - AppleSmcIo - - AppleUserInterfaceTheme - - DataHub - - DeviceProperties - - FirmwareVolume - - HashServices - - OSInfo - - UnicodeCollation - - - Quirks - - ExitBootServicesDelay - 0 - IgnoreInvalidFlexRatio - - ReleaseUsbOwnership - - RequestBootVarFallback - - #RequestBootVarFallback - - RequestBootVarRouting - - UnblockFsConnect - - - - - diff --git a/OC/config-wifi-DW1820A.plist b/OC/config-wifi-DW1820A.plist deleted file mode 100644 index a8e4a9e..0000000 --- a/OC/config-wifi-DW1820A.plist +++ /dev/null @@ -1,1631 +0,0 @@ - - - - - ACPI - - Add - - - Enabled - - Comment - SSDT-GPI0.aml - Path - SSDT-GPI0.aml - - - Enabled - - Comment - SSDT-OCBAT0-TP.aml - Path - SSDT-OCBAT0-TP.aml - - - Enabled - - Comment - SSDT-OCBATC-TP-LPCB.aml - Path - SSDT-OCBATC-TP-LPCB.aml - - - Enabled - - Comment - SSDT-OCBATC-TP-NTFY.aml - Path - SSDT-OCBATC-TP-NTFY.aml - - - Enabled - - Comment - SSDT-USBX.aml - Path - SSDT-USBX.aml - - - Enabled - - Comment - SSDT-UIAC.aml - Path - SSDT-UIAC.aml - - - Enabled - - Comment - SSDT-ALS0.aml - Path - SSDT-ALS0.aml - - - Enabled - - Comment - SSDT-PLUG-_PR.PR00.aml - Path - SSDT-PLUG-_PR.PR00.aml - - - Enabled - - Comment - SSDT-PNLF-SKL_KBL.aml - Path - SSDT-PNLF-SKL_KBL.aml - - - Enabled - - Comment - SSDT-SBUS.aml - Path - SSDT-SBUS.aml - - - Enabled - - Comment - SSDT-SLEEP-PTSWAK.aml - Path - SSDT-SLEEP-PTSWAK.aml - - - Enabled - - Comment - SSDT-SLEEP-EXT3-LedReset-TP.aml - Path - SSDT-SLEEP-EXT3-LedReset-TP.aml - - - Enabled - - Comment - SSDT-SLEEP-EXT4-WakeScreen.aml - Path - SSDT-SLEEP-EXT4-WakeScreen.aml - - - Enabled - - Comment - SSDT-SLEEP-TP-BUTTON.aml - Path - SSDT-SLEEP-TP-BUTTON.aml - - - Enabled - - Comment - SSDT-SLEEP-TP-LID.aml - Path - SSDT-SLEEP-TP-LID.aml - - - Enabled - - Comment - SSDT-SLEEP-WAKE-GPRW.aml - Path - SSDT-SLEEP-WAKE-GPRW.aml - - - Comment - SSDT-AUDIO-HPET_RTC_TIMR-fix.aml - Enabled - - Path - SSDT-AUDIO-HPET_RTC_TIMR-fix.aml - - - Enabled - - Comment - SSDT-BKeyQ14Q15-TP-LPCB.aml - Path - SSDT-BKeyQ14Q15-TP-LPCB.aml - - - Enabled - - Comment - SSDT-Thinkpad_Clickpad.aml - Path - SSDT-Thinkpad_Clickpad.aml - - - Enabled - - Comment - SSDT-Thinkpad_Trackpad.aml - Path - SSDT-Thinkpad_Trackpad.aml - - - Block - - Patch - - - Comment - TP-BAT:GBIF03 to XBIF03 - Count - 0 - Enabled - - Find - R0JJRgM= - Limit - 0 - Mask - - OemTableId - - Replace - WEJJRgM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:GBIX03 to XBIX03 - Count - 0 - Enabled - - Find - R0JJWAM= - Limit - 0 - Mask - - OemTableId - - Replace - WEJJWAM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:GBST04 to XBST04 - Count - 0 - Enabled - - Find - R0JTVAQ= - Limit - 0 - Mask - - OemTableId - - Replace - WEJTVAQ= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:AJTP03 to XJTP03 - Count - 0 - Enabled - - Find - QUpUUAM= - Limit - 0 - Mask - - OemTableId - - Replace - WEpUUAM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:_L1700 to _X1700 - Count - 0 - Enabled - - Find - X0wxNwA= - Limit - 0 - Mask - - OemTableId - - Replace - X1gxNwA= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:OWAK01 to XWAK01 - Count - 0 - Enabled - - Find - T1dBSwE= - Limit - 0 - Mask - - OemTableId - - Replace - WFdBSwE= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q22 to XQ22 - Count - 0 - Enabled - - Find - X1EyMg== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyMg== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q24 to XQ24 - Count - 0 - Enabled - - Find - X1EyNA== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyNA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q25 to XQ25 - Count - 0 - Enabled - - Find - X1EyNQ== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyNQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q4A to XQ4A - Count - 0 - Enabled - - Find - X1E0QQ== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0QQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q4B to XQ4B - Count - 0 - Enabled - - Find - X1E0Qg== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0Qg== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q4D to XQ4D - Count - 0 - Enabled - - Find - X1E0RA== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0RA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - BFCC to XFCC - Count - 0 - Enabled - - Find - QkZDQwA= - Limit - 0 - Mask - - OemTableId - - Replace - WEZDQwA= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - BATW to XATW - Count - 0 - Enabled - - Find - QkFUVwE= - Limit - 0 - Mask - - OemTableId - - Replace - WEFUVwE= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BRIGHTNESS-UP:_Q14 to XQ14 - Count - 0 - Enabled - - Find - X1ExNA== - Limit - 0 - Mask - - OemTableId - - Replace - WFExNA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BRIGHTNESS-DOWN:_Q15 to XQ15 - Count - 0 - Enabled - - Find - X1ExNQ== - Limit - 0 - Mask - - OemTableId - - Replace - WFExNQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-PTSWAK:_PTS(1,N) to ZPTS(1,N) - Count - 0 - Enabled - - Find - X1BUUwE= - Limit - 0 - Mask - - OemTableId - - Replace - WlBUUwE= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-PTSWAK:_WAK(1,S) to ZWAK(1,S) - Count - 0 - Enabled - - Find - X1dBSwk= - Limit - 0 - Mask - - OemTableId - - Replace - WldBSwk= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-TP-BUTTON:_Q13 to XQ13(TP-Fn+F4) - Count - 0 - Enabled - - Find - X1ExMw== - Limit - 0 - Mask - - OemTableId - - Replace - WFExMw== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-TP-LID:_LID to XLID - Count - 0 - Enabled - - Find - X0xJRAA= - Limit - 0 - Mask - - OemTableId - - Replace - WExJRAA= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-WAKE:Name 6D-03 to 00 - Count - 0 - Enabled - - Find - Cm0KAw== - Limit - 0 - Mask - - OemTableId - - Replace - Cm0KAA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - SSDT-SLEEP-WAKE-GPRW:GPRW to XPRW - Count - 0 - Enabled - - Find - R1BSVwI= - Limit - 0 - Mask - - OemTableId - - Replace - WFBSVwI= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Quirks - - FadtEnableReset - - NormalizeHeaders - - RebaseRegions - - ResetHwSig - - ResetLogoStatus - - - - Booter - - MmioWhitelist - - Quirks - - AvoidRuntimeDefrag - - DevirtualiseMmio - - DisableSingleUser - - DisableVariableWrite - - DiscardHibernateMap - - EnableSafeModeSlide - - EnableWriteUnprotector - - ForceExitBootServices - - ProtectCsmRegion - - ProtectSecureBoot - - ProvideCustomSlide - - SetupVirtualMap - - ShrinkMemoryMap - - SignalAppleOS - - - - DeviceProperties - - Add - - PciRoot(0x0)/Pci(0x1f,0x3) - - layout-id - CwAAAA== - - PciRoot(0x0)/Pci(0x2,0x0) - - AAPL,ig-platform-id - AAAWWQ== - device-id - FlkAAA== - framebuffer-fbmem - AACQAA== - framebuffer-patch-enable - AQAAAA== - framebuffer-portcount - AwAAAA== - framebuffer-stolenmem - AAAwAQ== - framebuffer-unifiedmem - AAAAgA== - - - Block - - PciRoot(0x0)/Pci(0x1b,0x0) - - MaximumBootBeepVolume - - - - Kernel - - Add - - - BundlePath - Lilu.kext - Comment - Patch engine - Enabled - - ExecutablePath - Contents/MacOS/Lilu - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VirtualSMC.kext - ExecutablePath - Contents/MacOS/VirtualSMC - PlistPath - Contents/Info.plist - - - BundlePath - WhateverGreen.kext - Comment - Video patches - Enabled - - ExecutablePath - Contents/MacOS/WhateverGreen - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - SMCBatteryManager.kext - ExecutablePath - Contents/MacOS/SMCBatteryManager - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - SMCLightSensor.kext - ExecutablePath - Contents/MacOS/SMCLightSensor - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - SMCProcessor.kext - ExecutablePath - Contents/MacOS/SMCProcessor - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - SMCSuperIO.kext - ExecutablePath - Contents/MacOS/SMCSuperIO - PlistPath - Contents/Info.plist - - - BundlePath - AppleALC.kext - Comment - Audio patches - Enabled - - ExecutablePath - Contents/MacOS/AppleALC - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VoodooPS2Controller.kext - ExecutablePath - Contents/MacOS/VoodooPS2Controller - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext - ExecutablePath - Contents/MacOS/VoodooPS2Keyboard - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext - ExecutablePath - Contents/MacOS/VoodooPS2Mouse - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext - ExecutablePath - Contents/MacOS/VoodooPS2Trackpad - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - ApplePS2SmartTouchPad.kext/Contents/PlugIns/ApplePS2Controller.kext - ExecutablePath - Contents/MacOS/ApplePS2Controller - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - ApplePS2SmartTouchPad.kext/Contents/PlugIns/ApplePS2Keyboard.kext - ExecutablePath - Contents/MacOS/ApplePS2Keyboard - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - ApplePS2SmartTouchPad.kext - ExecutablePath - Contents/MacOS/ApplePS2SmartTouchPad - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - USBInjectAll.kext - ExecutablePath - Contents/MacOS/USBInjectAll - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - IntelMausi.kext - ExecutablePath - Contents/MacOS/IntelMausi - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - NVMeFix.kext - ExecutablePath - Contents/MacOS/NVMeFix - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - NoTouchID.kext - ExecutablePath - Contents/MacOS/NoTouchID - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - AirportBrcmFixup.kext - ExecutablePath - Contents/MacOS/AirportBrcmFixup - PlistPath - Contents/Info.plist - - - Comment - - Enabled - - MaxKernel - - MinKernel - - BundlePath - BrcmBluetoothInjector.kext - ExecutablePath - - PlistPath - Contents/Info.plist - - - Block - - Emulate - - Cpuid1Data - - Cpuid1Mask - - - Patch - - - Base - __ZN8AppleRTC18setupDateTimeAlarmEPK11RTCDateTime - Comment - Disable RTC wake scheduling - Count - 1 - Enabled - - Find - - Identifier - com.apple.driver.AppleRTC - Limit - 0 - Mask - - MaxKernel - - MinKernel - 19.0.0 - Replace - ww== - ReplaceMask - - Skip - 0 - - - Base - __ZN8AppleRTC14updateChecksumEv - Comment - Disable RTC checksum update on poweroff - Count - 1 - Enabled - - Find - - Identifier - com.apple.driver.AppleRTC - Limit - 0 - Mask - - MaxKernel - - MinKernel - - Replace - ww== - ReplaceMask - - Skip - 0 - - - Base - _AcpiOsVprintf - Comment - Disable ACPI logging - Count - 0 - Enabled - - Find - - Identifier - com.apple.driver.AppleACPIPlatform - Limit - 0 - Mask - - MaxKernel - 18.5.0 - MinKernel - 18.5.0 - Replace - ww== - ReplaceMask - - Skip - 0 - - - Base - __ZN11BCM5701Enet14getAdapterInfoEv - Comment - Broadcom BCM57785 patch - Count - 1 - Enabled - - Find - 6AAA//9miYMABQAA - Identifier - com.apple.iokit.AppleBCM5701Ethernet - Limit - 0 - Mask - /wAA//////////// - MaxKernel - - MinKernel - - Replace - uLQWAABmiYMABQAA - ReplaceMask - - Skip - 0 - - - Quirks - - AppleCpuPmCfgLock - - AppleXcpmCfgLock - - AppleXcpmExtraMsrs - - AppleXcpmForceBoost - - CustomSMBIOSGuid - - DisableIoMapper - - DummyPowerManagement - - ExternalDiskIcons - - IncreasePciBarSize - - LapicKernelPanic - - PanicNoKextDump - - PowerTimeoutKernelPanic - - ThirdPartyDrives - - XhciPortLimit - - - - Misc - - BlessOverride - - Boot - - HibernateMode - None - PickerMode - Builtin - HideAuxiliary - - HideSelf - - PickerAttributes - 0 - PickerAudioAssist - - PollAppleHotKeys - - ShowPicker - - TakeoffDelay - 0 - Timeout - 5 - - Debug - - DisableWatchDog - - DisplayDelay - 0 - DisplayLevel - 2147483650 - Target - 3 - - Entries - - - Arguments - - Auxiliary - - Comment - Not signed for security reasons - Enabled - - Name - CustomOS - Path - PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,11-22-33-44-55-66-77-88)/HD(1,GPT,00000000-0000-0000-0000-000000000000,0x800,0x64000)/\EFI\BOOT\BOOTX64.EFI - - - Security - - AllowNvramReset - - AllowSetDefault - - AuthRestart - - ExposeSensitiveData - 6 - HaltLevel - 2147483648 - Vault - Optional - #Vault - Secure - ScanPolicy - 0 - #ScanPolicy - 983299 - - Tools - - - NVRAM - - Add - - 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 - - UIScale - AQ== - DefaultBackgroundColor - AAAAAA== - - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - - boot-args - keepsyms=1 debug=0x100 brcmfx-driver=1 -v - #boot-args-debug - keepsyms=1 debug=0x100 brcmfx-driver=1 -brcmfxdbg - csr-active-config - 5wMAAA== - #csr-active-config-disable-sip - 5wMAAA== - nvda_drv - - prev-lang:kbd - - SystemAudioVolume - Rg== - - - Block - - 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 - - UIScale - DefaultBackgroundColor - - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - - boot-args - - - LegacyEnable - - LegacyOverwrite - - LegacySchema - - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - - EFILoginHiDPI - EFIBluetoothDelay - LocationServicesEnabled - SystemAudioVolume - SystemAudioVolumeDB - SystemAudioVolumeSaved - bluetoothActiveControllerInfo - bluetoothInternalControllerInfo - flagstate - fmm-computer-name - nvda_drv - prev-lang:kbd - - 8BE4DF61-93CA-11D2-AA0D-00E098032B8C - - Boot0080 - Boot0081 - Boot0082 - BootNext - BootOrder - - - WriteFlash - - - PlatformInfo - - Automatic - - Generic - - AdviseWindows - - MLB - C028131084NHWVP1M - ROM - ESIzAAAA - SpoofVendor - - SystemProductName - MacBookPro14,1 - SystemSerialNumber - C02WH03ZHV29 - SystemUUID - 48988EBE-03FC-4B2C-8B88-F6C01E3BD066 - - UpdateDataHub - - UpdateNVRAM - - UpdateSMBIOS - - UpdateSMBIOSMode - Create - - UEFI - - ConnectDrivers - - Drivers - - ApfsDriverLoader.efi - FwRuntimeServices.efi - VBoxHfs.efi - - Audio - - AudioSupport - - AudioDevice - - #AudioDevice - PciRoot(0x0)/Pci(0x1b,0x0) - AudioCodec - 0 - AudioOut - 0 - MinimumVolume - 20 - PlayChime - - VolumeAmplifier - 0 - - Input - - KeyForgetThreshold - 5 - KeyMergeThreshold - 2 - KeySupport - - KeySupportMode - Auto - KeySwap - - PointerSupport - - PointerSupportMode - - TimerResolution - 50000 - - Output - - TextRenderer - BuiltinGraphics - ConsoleMode - - Resolution - Max - ClearScreenOnModeSwitch - - IgnoreTextInGraphics - - ProvideConsoleGop - - DirectGopRendering - - ReconnectOnResChange - - ReplaceTabWithSpace - - SanitiseClearScreen - - - Protocols - - AppleAudio - - AppleBootPolicy - - AppleEvent - - AppleImageConversion - - AppleKeyMap - - AppleSmcIo - - AppleUserInterfaceTheme - - DataHub - - DeviceProperties - - FirmwareVolume - - HashServices - - OSInfo - - UnicodeCollation - - - Quirks - - ExitBootServicesDelay - 0 - IgnoreInvalidFlexRatio - - ReleaseUsbOwnership - - RequestBootVarFallback - - #RequestBootVarFallback - - RequestBootVarRouting - - UnblockFsConnect - - - - - diff --git a/OC/config.plist b/OC/config.plist index d7586c1..44f5c68 100644 --- a/OC/config.plist +++ b/OC/config.plist @@ -6,518 +6,154 @@ Add + - Enabled - Comment - SSDT-GPI0.aml + Disable Broadcom card during sleep Path - SSDT-GPI0.aml - - + SSDT-ARPT.aml Enabled - - Comment - SSDT-OCBAT0-TP.aml - Path - SSDT-OCBAT0-TP.aml + - Enabled - Comment - SSDT-OCBATC-TP-LPCB.aml + Disable Thunderbolt Path - SSDT-OCBATC-TP-LPCB.aml - - + SSDT-OFFTB.aml Enabled - - Comment - SSDT-OCBATC-TP-NTFY.aml - Path - SSDT-OCBATC-TP-NTFY.aml + - Enabled - Comment - SSDT-USBX.aml + Disable MX150 Path - SSDT-USBX.aml - - + SSDT-OFFDGPU.aml Enabled - - Comment - SSDT-UIAC.aml - Path - SSDT-UIAC.aml + + - Enabled - Comment - SSDT-ALS0.aml + SSDT-AC Path - SSDT-ALS0.aml - - + SSDT-AC.aml Enabled - Comment - SSDT-PLUG-_PR.PR00.aml - Path - SSDT-PLUG-_PR.PR00.aml - Enabled - Comment - SSDT-PNLF-SKL_KBL.aml + SSDT-BATX Path - SSDT-PNLF-SKL_KBL.aml - - + SSDT-BATX.aml Enabled - Comment - SSDT-SBUS.aml - Path - SSDT-SBUS.aml - Enabled - Comment - SSDT-SLEEP-PTSWAK.aml + SSDT-DEVICE Path - SSDT-SLEEP-PTSWAK.aml - - + SSDT-DEVICE.aml Enabled - Comment - SSDT-SLEEP-EXT3-LedReset-TP.aml - Path - SSDT-SLEEP-EXT3-LedReset-TP.aml - Enabled - Comment - SSDT-SLEEP-EXT4-WakeScreen.aml + SSDT-EC Path - SSDT-SLEEP-EXT4-WakeScreen.aml - - + SSDT-EC.aml Enabled - Comment - SSDT-SLEEP-TP-BUTTON.aml - Path - SSDT-SLEEP-TP-BUTTON.aml - Enabled - Comment - SSDT-SLEEP-TP-LID.aml + SSDT-HWAC Path - SSDT-SLEEP-TP-LID.aml - - + SSDT-HWAC.aml Enabled - Comment - SSDT-SLEEP-WAKE-GPRW.aml - Path - SSDT-SLEEP-WAKE-GPRW.aml Comment - SSDT-AUDIO-HPET_RTC_TIMR-fix.aml - Enabled - + SSDT-INIT Path - SSDT-AUDIO-HPET_RTC_TIMR-fix.aml - - - Enabled - - Comment - SSDT-BKeyQ14Q15-TP-LPCB.aml - Path - SSDT-BKeyQ14Q15-TP-LPCB.aml - - + SSDT-INIT.aml Enabled - Comment - SSDT-Thinkpad_Clickpad.aml - Path - SSDT-Thinkpad_Clickpad.aml - Enabled - Comment - SSDT-Thinkpad_Trackpad.aml + SSDT-KBRD Path - SSDT-Thinkpad_Trackpad.aml - - - Block - - Patch - - - Comment - TP-BAT:GBIF03 to XBIF03 - Count - 0 + SSDT-KBRD.aml Enabled - Find - R0JJRgM= - Limit - 0 - Mask - - OemTableId - - Replace - WEJJRgM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - Comment - TP-BAT:GBIX03 to XBIX03 - Count - 0 - Enabled - - Find - R0JJWAM= - Limit - 0 - Mask - - OemTableId - - Replace - WEJJWAM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:GBST04 to XBST04 - Count - 0 - Enabled - - Find - R0JTVAQ= - Limit - 0 - Mask - - OemTableId - - Replace - WEJTVAQ= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:AJTP03 to XJTP03 - Count - 0 - Enabled - - Find - QUpUUAM= - Limit - 0 - Mask - - OemTableId - - Replace - WEpUUAM= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:_L1700 to _X1700 - Count - 0 - Enabled - - Find - X0wxNwA= - Limit - 0 - Mask - - OemTableId - - Replace - X1gxNwA= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - TP-BAT:OWAK01 to XWAK01 - Count - 0 + SSDT-PM + Path + SSDT-PM.aml Enabled - Find - T1dBSwE= - Limit - 0 - Mask - - OemTableId - - Replace - WFdBSwE= - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - Comment - _Q22 to XQ22 - Count - 0 - Enabled - - Find - X1EyMg== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyMg== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Comment - _Q24 to XQ24 - Count - 0 + SSDT-PNLF + Path + SSDT-PNLF.aml Enabled - Find - X1EyNA== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyNA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - Comment - _Q25 to XQ25 - Count - 0 + SSDT-SLEEP + Path + SSDT-SLEEP.aml Enabled - Find - X1EyNQ== - Limit - 0 - Mask - - OemTableId - - Replace - WFEyNQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - Comment - _Q4A to XQ4A - Count - 0 + SSDT-UTILS + Path + SSDT-UTILS.aml Enabled - Find - X1E0QQ== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0QQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - Comment - _Q4B to XQ4B - Count - 0 + SSDT-XHC + Path + SSDT-XHC.aml Enabled - Find - X1E0Qg== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0Qg== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - Comment - _Q4D to XQ4D - Count - 0 + SSDT-YOGASMC + Path + SSDT-YOGASMC.aml Enabled - Find - X1E0RA== - Limit - 0 - Mask - - OemTableId - - Replace - WFE0RA== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - + + Delete + + Patch + - Comment - BFCC to XFCC - Count - 0 - Enabled - - Find - QkZDQwA= - Limit - 0 - Mask - - OemTableId - - Replace - WEZDQwA= - ReplaceMask - - Skip - 0 - TableLength + Base + + BaseSkip 0 - TableSignature - - - Comment - BATW to XATW + FIX: Change HWAC to XWAC EC reads Count 0 Enabled Find - QkFUVwE= + RUNfX0hXQUM= Limit 0 Mask @@ -525,7 +161,7 @@ OemTableId Replace - WEFUVwE= + RUNfX1hXQUM= ReplaceMask Skip @@ -533,43 +169,21 @@ TableLength 0 TableSignature - + RFNEVA== - Comment - TP-BRIGHTNESS-UP:_Q14 to XQ14 - Count - 0 - Enabled - - Find - X1ExNA== - Limit - 0 - Mask - - OemTableId - - Replace - WFExNA== - ReplaceMask - - Skip - 0 - TableLength + Base + + BaseSkip 0 - TableSignature - - - Comment - TP-BRIGHTNESS-DOWN:_Q15 to XQ15 + SLEEP: GRPW(2,N) to ZRPW Count 0 Enabled Find - X1ExNQ== + BkdQUlcCcA== Limit 0 Mask @@ -577,7 +191,7 @@ OemTableId Replace - WFExNQ== + BlpQUlcCcA== ReplaceMask Skip @@ -585,37 +199,15 @@ TableLength 0 TableSignature - + RFNEVA== - Comment - SSDT-SLEEP-PTSWAK:_PTS(1,N) to ZPTS(1,N) - Count - 0 - Enabled - - Find - X1BUUwE= - Limit - 0 - Mask - - OemTableId - - Replace - WlBUUwE= - ReplaceMask - - Skip - 0 - TableLength + Base + + BaseSkip 0 - TableSignature - - - Comment - SSDT-SLEEP-PTSWAK:_WAK(1,S) to ZWAK(1,S) + SLEEP: _WAK(1,S) to ZWAK Count 0 Enabled @@ -637,43 +229,21 @@ TableLength 0 TableSignature - + RFNEVA== - Comment - SSDT-SLEEP-TP-BUTTON:_Q13 to XQ13(TP-Fn+F4) - Count - 0 - Enabled - - Find - X1ExMw== - Limit - 0 - Mask - - OemTableId - - Replace - WFExMw== - ReplaceMask - - Skip - 0 - TableLength + Base + + BaseSkip 0 - TableSignature - - - Comment - SSDT-SLEEP-TP-LID:_LID to XLID + BATX: Nofify(BAT0, xx) to BATX Count 0 Enabled Find - X0xJRAA= + hkJBVDA= Limit 0 Mask @@ -681,7 +251,7 @@ OemTableId Replace - WExJRAA= + hkJBVFg= ReplaceMask Skip @@ -689,17 +259,21 @@ TableLength 0 TableSignature - + RFNEVA== + Base + + BaseSkip + 0 Comment - SSDT-SLEEP-WAKE:Name 6D-03 to 00 + BATX: Nofify(BAT1, xx) to BATX Count 0 Enabled Find - Cm0KAw== + hkJBVDE= Limit 0 Mask @@ -707,7 +281,7 @@ OemTableId Replace - Cm0KAA== + hkJBVFg= ReplaceMask Skip @@ -715,33 +289,37 @@ TableLength 0 TableSignature - + RFNEVA== + Base + + BaseSkip + 0 Comment - SSDT-SLEEP-WAKE-GPRW:GPRW to XPRW + XHC: _UPC to XUPC Count 0 Enabled Find - R1BSVwI= + X1VQQw== Limit 0 Mask OemTableId - + UHJvalNzZHQ= Replace - WFBSVwI= + WFVQQw== ReplaceMask Skip 0 TableLength - 0 + 5692 TableSignature - + U1NEVA== Quirks @@ -762,8 +340,12 @@ MmioWhitelist + Patch + Quirks + AllowRelocationBlock + AvoidRuntimeDefrag DevirtualiseMmio @@ -773,14 +355,16 @@ DisableVariableWrite DiscardHibernateMap - + EnableSafeModeSlide EnableWriteUnprotector + ForceBooterSignature + ForceExitBootServices - ProtectCsmRegion + ProtectMemoryRegions ProtectSecureBoot @@ -788,10 +372,16 @@ SetupVirtualMap - ShrinkMemoryMap + RebuildAppleMemoryMap SignalAppleOS + SyncRuntimePermissions + + ProtectUefiServices + + ProvideMaxSlide + 0 DeviceProperties @@ -801,12 +391,12 @@ PciRoot(0x0)/Pci(0x1f,0x3) layout-id - CwAAAA== + 86 PciRoot(0x0)/Pci(0x2,0x0) AAPL,ig-platform-id - AAAWWQ== + AADAhw== device-id FlkAAA== framebuffer-fbmem @@ -821,7 +411,7 @@ AAAAgA== - Block + Delete PciRoot(0x0)/Pci(0x1b,0x0) @@ -833,7 +423,10 @@ Add + + Arch + x86_64 BundlePath Lilu.kext Comment @@ -845,11 +438,13 @@ MaxKernel MinKernel - + 17.0.0 PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -857,7 +452,7 @@ MaxKernel MinKernel - + 17.0.0 BundlePath VirtualSMC.kext ExecutablePath @@ -866,6 +461,8 @@ Contents/Info.plist + Arch + x86_64 BundlePath WhateverGreen.kext Comment @@ -877,11 +474,13 @@ MaxKernel MinKernel - + 17.0.0 PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -889,7 +488,7 @@ MaxKernel MinKernel - + 17.0.0 BundlePath SMCBatteryManager.kext ExecutablePath @@ -898,6 +497,8 @@ Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -905,15 +506,17 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - SMCLightSensor.kext + SMCProcessor.kext ExecutablePath - Contents/MacOS/SMCLightSensor + Contents/MacOS/SMCProcessor PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -921,15 +524,17 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - SMCProcessor.kext + SMCSuperIO.kext ExecutablePath - Contents/MacOS/SMCProcessor + Contents/MacOS/SMCSuperIO PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -937,15 +542,17 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - SMCSuperIO.kext + YogaSMC.kext ExecutablePath - Contents/MacOS/SMCSuperIO + Contents/MacOS/YogaSMC PlistPath Contents/Info.plist + Arch + x86_64 BundlePath AppleALC.kext Comment @@ -957,11 +564,13 @@ MaxKernel MinKernel - + 17.0.0 PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -969,15 +578,17 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - VoodooPS2Controller.kext + NVMeFix.kext ExecutablePath - Contents/MacOS/VoodooPS2Controller + Contents/MacOS/NVMeFix PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -985,95 +596,189 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext + NoTouchID.kext ExecutablePath - Contents/MacOS/VoodooPS2Keyboard + Contents/MacOS/NoTouchID PlistPath Contents/Info.plist + + + Arch + x86_64 + BundlePath + HibernationFixup.kext Comment Enabled + ExecutablePath + Contents/MacOS/HibernationFixup MaxKernel MinKernel - - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext - ExecutablePath - Contents/MacOS/VoodooPS2Mouse + 17.0.0 PlistPath Contents/Info.plist + Arch + x86_64 + BundlePath + RTCMemoryFixup.kext Comment Enabled + ExecutablePath + Contents/MacOS/RTCMemoryFixup MaxKernel MinKernel - - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext - ExecutablePath - Contents/MacOS/VoodooPS2Trackpad + 17.0.0 PlistPath Contents/Info.plist + + + Arch + x86_64 Comment + IntelBluetoothFirmware + MaxKernel + PlistPath + Contents/Info.plist Enabled - + + MinKernel + 17.0.0 + ExecutablePath + Contents/MacOS/IntelBluetoothFirmware + BundlePath + IntelBluetoothFirmware.kext + + + Arch + x86_64 + Comment + IntelBluetoothInjector MaxKernel + PlistPath + Contents/Info.plist + Enabled + MinKernel + 17.0.0 + ExecutablePath BundlePath - ApplePS2SmartTouchPad.kext/Contents/PlugIns/ApplePS2Controller.kext - ExecutablePath - Contents/MacOS/ApplePS2Controller + IntelBluetoothInjector.kext + + + + + Arch + x86_64 + Comment + + MaxKernel + 20.99.99 PlistPath Contents/Info.plist + Enabled + + MinKernel + 20.0.0 + ExecutablePath + Contents/MacOS/AirportItlwm + BundlePath + AirportItlwmBigSur.kext + Arch + x86_64 Comment + MaxKernel + 19.99.99 + PlistPath + Contents/Info.plist Enabled - + + MinKernel + 19.0.0 + ExecutablePath + Contents/MacOS/AirportItlwm + BundlePath + AirportItlwmCatalina.kext + + + Arch + x86_64 + Comment + MaxKernel + PlistPath + Contents/Info.plist + Enabled + MinKernel - BundlePath - ApplePS2SmartTouchPad.kext/Contents/PlugIns/ApplePS2Keyboard.kext ExecutablePath - Contents/MacOS/ApplePS2Keyboard + Contents/MacOS/IntelMausi + BundlePath + IntelMausi.kext + + + + + Arch + x86_64 + Comment + + MaxKernel + PlistPath Contents/Info.plist + Enabled + + MinKernel + 17.0.0 + ExecutablePath + Contents/MacOS/CPUFriend + BundlePath + CPUFriend.kext + Arch + x86_64 Comment - Enabled - MaxKernel + PlistPath + Contents/Info.plist + Enabled + MinKernel + 17.0.0 + ExecutablePath BundlePath - ApplePS2SmartTouchPad.kext - ExecutablePath - Contents/MacOS/ApplePS2SmartTouchPad - PlistPath - Contents/Info.plist + CPUFriendDataProvider.kext + + + Arch + x86_64 Comment Enabled @@ -1081,15 +786,17 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - USBInjectAll.kext + BrightnessKeys.kext ExecutablePath - Contents/MacOS/USBInjectAll + Contents/MacOS/BrightnessKeys PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -1097,15 +804,17 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - IntelMausi.kext + VoodooPS2Controller.kext ExecutablePath - Contents/MacOS/IntelMausi + Contents/MacOS/VoodooPS2Controller PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -1113,15 +822,17 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - NVMeFix.kext + VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext ExecutablePath - Contents/MacOS/NVMeFix + Contents/MacOS/VoodooPS2Keyboard PlistPath Contents/Info.plist + Arch + x86_64 Comment Enabled @@ -1129,59 +840,148 @@ MaxKernel MinKernel - + 17.0.0 BundlePath - NoTouchID.kext + VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext ExecutablePath - Contents/MacOS/NoTouchID + Contents/MacOS/VoodooPS2Trackpad PlistPath Contents/Info.plist + Arch + x86_64 Comment - Enabled - MaxKernel + PlistPath + Contents/Info.plist + Enabled + MinKernel - + 17.0.0 + ExecutablePath + Contents/MacOS/VoodooSMBus BundlePath - AirportBrcmFixup.kext + VoodooSMBus.kext + + + Arch + x86_64 + Comment + + MaxKernel + + PlistPath + Contents/Info.plist + Enabled + + MinKernel + 17.0.0 ExecutablePath - Contents/MacOS/AirportBrcmFixup + Contents/MacOS/VoodooRMI + BundlePath + VoodooRMI.kext + + + Arch + x86_64 + Comment + + MaxKernel + PlistPath Contents/Info.plist + Enabled + + MinKernel + 17.0.0 + ExecutablePath + Contents/MacOS/RMISMBus + BundlePath + VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext + Arch + x86_64 Comment + MaxKernel + + PlistPath + Contents/Info.plist + Enabled + + MinKernel + 17.0.0 + ExecutablePath + Contents/MacOS/VoodooInput + BundlePath + VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext + + + + + Arch + x86_64 + Comment + Android USB tethering Enabled MaxKernel MinKernel - + 19.0.0 BundlePath - BrcmBluetoothInjector.kext + HoRNDIS.kext ExecutablePath + Contents/MacOS/HoRNDIS + PlistPath + Contents/Info.plist + + + Arch + x86_64 + Comment + + MaxKernel PlistPath Contents/Info.plist + Enabled + + MinKernel + 17.0.0 + ExecutablePath + Contents/MacOS/VoltageShift + BundlePath + VoltageShift.kext + Block Emulate + DummyPowerManagement + Cpuid1Data Cpuid1Mask + MaxKernel + + MinKernel + + Force + Patch + Arch + x86_64 Base __ZN8AppleRTC18setupDateTimeAlarmEPK11RTCDateTime Comment @@ -1210,6 +1010,8 @@ 0 + Arch + x86_64 Base __ZN8AppleRTC14updateChecksumEv Comment @@ -1238,6 +1040,8 @@ 0 + Arch + x86_64 Base _AcpiOsVprintf Comment @@ -1266,6 +1070,8 @@ 0 + Arch + x86_64 Base __ZN11BCM5701Enet14getAdapterInfoEv Comment @@ -1308,22 +1114,41 @@ DisableIoMapper - DummyPowerManagement - + DisableLinkeditJettison + ExternalDiskIcons + ForceSecureBootScheme + IncreasePciBarSize LapicKernelPanic + LegacyCommpage + PanicNoKextDump PowerTimeoutKernelPanic + SetApfsTrimTimeout + -1 ThirdPartyDrives XhciPortLimit + DisableRtcChecksum + + ExtendBTFeatureFlags + + + Scheme + + FuzzyMatch + + KernelArch + x86_64 + KernelCache + Auto Misc @@ -1332,16 +1157,24 @@ Boot + ConsoleAttributes + 0 HibernateMode - None + NVRAM PickerMode - Builtin + External + PickerVariant + Modern + + HideAuxiliary - HideSelf - + LauncherOption + Full + LauncherPath + Default PickerAttributes - 0 + 1 PickerAudioAssist PollAppleHotKeys @@ -1363,6 +1196,14 @@ 2147483650 Target 3 + AppleDebug + + ApplePanic + + SysReport + + SerialInit + Entries @@ -1379,6 +1220,8 @@ CustomOS Path PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,11-22-33-44-55-66-77-88)/HD(1,GPT,00000000-0000-0000-0000-000000000000,0x800,0x64000)/\EFI\BOOT\BOOTX64.EFI + TextMode + Security @@ -1387,20 +1230,30 @@ AllowSetDefault + BlacklistAppleUpdate + AuthRestart ExposeSensitiveData 6 + DmgLoading + Signed + EnablePassword + HaltLevel 2147483648 + PasswordHash + + PasswordSalt + Vault Optional - #Vault - Secure ScanPolicy 0 - #ScanPolicy - 983299 + ApECID + 0 + SecureBootModel + j132 Tools @@ -1419,22 +1272,21 @@ 7C436110-AB2A-4BBB-A880-FE41995C9F82 boot-args - keepsyms=1 debug=0x100 -v - #boot-args-debug - keepsyms=1 debug=0x100 brcmfx-driver=1 -brcmfxdbg + rtcfx_exclude=80-AB + + csr-active-config - 5wMAAA== - #csr-active-config-disable-sip - 5wMAAA== - nvda_drv - + AAAAAA== prev-lang:kbd - + en-US:0 + SystemAudioVolume Rg== + run-efi-updater + No - Block + Delete 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 @@ -1487,18 +1339,24 @@ AdviseWindows + MaxBIOSVersion + + SystemMemoryStatus + Auto MLB - C028131084NHWVP1M + C02953609GUJH4R1F + ProcessorType + 0 ROM - ESIzAAAA + SpoofVendor SystemProductName - MacBookPro14,1 + MacBookPro15,2 SystemSerialNumber - C02WH03ZHV29 + C02C102TJHCC SystemUUID - 48988EBE-03FC-4B2C-8B88-F6C01E3BD066 + CEDFAA37-1933-4CE0-B027-B5F170E7DA76 UpdateDataHub @@ -1508,6 +1366,10 @@ UpdateSMBIOSMode Create + UseRawUuidEncoding + + CustomMemory + UEFI @@ -1515,35 +1377,37 @@ Drivers - ApfsDriverLoader.efi - FwRuntimeServices.efi - VBoxHfs.efi + OpenRuntime.efi + HfsPlus.efi + OpenCanopy.efi + AudioDxe.efi + CrScreenshotDxe.efi Audio AudioSupport - + AudioDevice - - #AudioDevice - PciRoot(0x0)/Pci(0x1b,0x0) + PciRoot(0x0)/Pci(0x1F,0x3) AudioCodec 0 AudioOut 0 MinimumVolume - 20 + 50 PlayChime + Enabled + ResetTrafficClass VolumeAmplifier + 143 + SetupDelay 0 Input KeyForgetThreshold 5 - KeyMergeThreshold - 2 KeySupport KeySupportMode @@ -1556,6 +1420,8 @@ TimerResolution 50000 + KeyFiltering + Output @@ -1573,21 +1439,25 @@ DirectGopRendering + GopPassThrough + + ForceResolution + ReconnectOnResChange ReplaceTabWithSpace SanitiseClearScreen + UgaPassThrough + - Protocols + ProtocolOverrides AppleAudio AppleBootPolicy - AppleEvent - AppleImageConversion AppleKeyMap @@ -1608,24 +1478,87 @@ UnicodeCollation + AppleDebugLog + + AppleRtcRam + + AppleFramebufferInfo + + AppleImg4Verification + + AppleSecureBoot + Quirks + ActivateHpetSupport + + DisableSecurityPolicy + + EnableVectorAcceleration + ExitBootServicesDelay 0 + ForgeUefiSupport + IgnoreInvalidFlexRatio ReleaseUsbOwnership - RequestBootVarFallback - - #RequestBootVarFallback + ReloadOptionRoms RequestBootVarRouting UnblockFsConnect + TscSyncTimeout + 0 + + APFS + + EnableJumpstart + + HideVerbose + + JumpstartHotPlug + + MinDate + 0 + MinVersion + 0 + GlobalConnect + + + AppleInput + + AppleEvent + Builtin + CustomDelays + + KeyInitialDelay + 50 + KeySubsequentDelay + 5 + PointerSpeedDiv + 1 + PointerSpeedMul + 1 + ReservedMemory + + + Address + 569344 + Type + RuntimeCode + Comment + Fix black screen on wake from hibernation for Lenovo Thinkpad T480/T490 + Enabled + + Size + 4096 + + diff --git a/Other/Disassembled ACPI/SSDT-AC.dsl b/Other/Disassembled ACPI/SSDT-AC.dsl new file mode 100644 index 0000000..077a197 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-AC.dsl @@ -0,0 +1,35 @@ +// +// AC-Adapter +// +DefinitionBlock ("", "SSDT", 2, "T480", "AC", 0x00001000) +{ + External (OSDW, MethodObj) // 0 Arguments + + External (_SB.PCI0.LPCB.EC.AC, DeviceObj) + External (LWCP, FieldUnitObj) // LID control power + + // Patching AC-Device so that AppleACPIACAdapter-driver loads. + // Device named ADP1 on Mac + // See https://github.com/khronokernel/DarwinDumped/blob/b6d91cf4a5bdf1d4860add87cf6464839b92d5bb/MacBookPro/MacBookPro14%2C1/ACPI%20Tables/DSL/DSDT.dsl#L7965 + Scope (\_SB.PCI0.LPCB.EC.AC) + { + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + If (\OSDW () || \LWCP) + { + Return (Package (0x02) + { + 0x17, + 0x04 + }) + } + + Return (Package (0x02) + { + 0x17, + 0x03 + }) + } + } +} +// EOF diff --git a/Other/Disassembled ACPI/SSDT-ARPT.dsl b/Other/Disassembled ACPI/SSDT-ARPT.dsl new file mode 100644 index 0000000..ad2598c --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-ARPT.dsl @@ -0,0 +1,103 @@ +// +// Adds the OSX-native ACPI-interface for broadcom-wifi-cards. +// +// Stub for now, needs rework to be actually useful. +// +DefinitionBlock ("", "SSDT", 2, "T480", "ARPT", 0x00002000) +{ + // External method from SSDT-UTILS.dsl + External (OSDW, MethodObj) // 0 Arguments + External (DTGP, MethodObj) // 5 Arguments + + External (_SB.PCI0.RP01, DeviceObj) + External (_SB.PCI0.RP01.PXSX, DeviceObj) + + + // WIFI + Scope (_SB.PCI0.RP01) + { + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_PS0, 0, Serialized) // _PS0: Power State 0 + { + Debug = "ARPT:_PS0" + + If (OSDW ()) + { + } + } + + Method (_PS3, 0, Serialized) // _PS3: Power State 3 + { + Debug = "ARPT:_PS3" + + If (OSDW ()) + { + } + } + + Scope (PXSX) + { + Name (_GPE, 0x31) // _GPE: General Purpose Events + + OperationRegion (ARE2, PCI_Config, Zero, 0x80) + Field (ARE2, ByteAcc, NoLock, Preserve) + { + AVND, 16, + ADID, 16, + Offset (0x4C), + PSTX, 2 + } + + OperationRegion (ARE3, PCI_Config, 0x80, 0x80) + Field (ARE3, DWordAcc, NoLock, Preserve) + { + BDMR, 32, + Offset (0x08), + BDEN, 32, + Offset (0x20), + BDIR, 32, + BDDR, 32 + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_RMV, 0, NotSerialized) // _RMV: Removal Status + { + Return (Zero) + } + + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + Local0 = Package () + { + "name", "AirPort Extreme", + "model", "Broadcom Wireless Network Adapter", + "device_type", "Network controller", + "built-in", One, + "brcmfx-country", "#a" + } + + DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) + Return (Local0) + } + + Method (WWEN, 1, NotSerialized) + { + Debug = Concatenate ("ARPT:WWEN - Arg0: ", Arg0) + } + + Method (PDEN, 1, NotSerialized) + { + Debug = Concatenate ("ARPT:PDEN - Arg0: ", Arg0) + } + } + } +} +// EOF diff --git a/Other/Disassembled ACPI/SSDT-BATX.dsl b/Other/Disassembled ACPI/SSDT-BATX.dsl new file mode 100644 index 0000000..0f53489 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-BATX.dsl @@ -0,0 +1,1530 @@ +// +// SSDT-BATX +// Revision 9 +// +// Copyleft (c) 2020 by bb. No rights reserved. +// +// +// Abstract: +// +// This SSDT is a complete, self-contained replacement for all battery-patches on Thinkpads which share +// a common EC-layout [1] for battery-handling. It should be compatible with all(?) T- and X-series Thinkpads which are using the basic H8-EC-Layout [2]. +// +// Its designed for the requirements of VirtualSMC [3], leaves the original DSDT largely untouched, +// handles single- and dual-battery-systems gracefully and adds support for `Battery Information Supplement` [4]. +// +// Sadly, it needs patching of battery-ACPI-notifies as the EC doesn't seem to be updated correctly by the firmware if they are missing. +// +// It is faster, more compatible and much more robust than existing patches as it doesn't rely on the original DSDT-implementation +// for battery-handling and EC-access. It eliminates the need to patch mutexes and EC-fields completely. Patching notify()'s is +// not needed, but may be desireable for smoother operation - espacially on dual-battery-systems. +// +// It replaces any battery-related DSDT-patches and any SSDT like SSDT-BAT0, SSDT-BATT, SSDT-BATC, SSDT-BATN and similar. +// +// Because of its implementation, its only dependency is the memory-layout of the Embedded Controller (EC) [1], +// which is mostly the same for all decent modern thinkpads (at least T440/X440 upwards) and nothing else. +// Just drop the SSDT in and be done. For most Thinkpads, this should be the only thing you need to handle your batteries. +// Nothing more, nothing less. +// +// But be aware: this is newly created stuff, not much tested or battle proven yet. May contain bugs and edgecases. +// If so, please open a bug @ https://github.com/benbender/x1c6-hackintosh/issues. +// Additionally, as this implementation is more straight-forward and according to specs, it may reveal bugs and glitches +// in other parts of the system. +// +// +// Needed patches: +// +// +// Comment +// BATX: Nofify(BAT0, xx) to BATX +// Count +// 0 +// Enabled +// +// Find +// hkJBVDA= +// Limit +// 0 +// Mask +// +// OemTableId +// +// Replace +// hkJBVFg= +// ReplaceMask +// +// Skip +// 0 +// TableLength +// 0 +// TableSignature +// RFNEVA== +// + +// +// Comment +// BATX: Nofify(BAT1, xx) to BATX +// Count +// 0 +// Enabled +// +// Find +// hkJBVDE= +// Limit +// 0 +// Mask +// +// OemTableId +// +// Replace +// hkJBVFg= +// ReplaceMask +// +// Skip +// 0 +// TableLength +// 0 +// TableSignature +// RFNEVA== +// +// +// +// Compatibility: +// +// - Lenovo Thinkpad X1 Carbon generation 6 (X1C6) +// - Lenovo Thinkpad T480 (T480) +// - Lenovo Thinkpad T460 (T460) +// - Lenovo Thinkpad T460 (T440) +// - ... many more to be added as testing is done +// +// +// Technical Background +// +// On genuine MacBooks batteries are connected via SBS (Smart Battery System [5]) to the +// SMC (System Management Controller) [6]. The SMC provides the battery-data via SMC-keys [7] to the OS. +// +// On Hackintoshes we "only" have an emulated SMC as substitute for the HW-SMC because of the missing hardware. +// Our systems usually provide battery-data, read from an EC (Embedded Controller), via ACPI [8]. +// +// In practice the OS reads SMC-keys provided by VirtualSMC which uses its SMCBatteryManager-plugin to poll those +// raw-data from ACPI which normally reads those data from the EC of the machine. +// +// Every part of the flow computes and interpretes the data. Therefor control in this SSDT is limited. +// +// As the ACPI-battery-interface is a proven standard and commonly implemented, this approach should, theoretically, +// work out of the box on most laptop-systems. +// +// In practice the AppleACPIPlatform.kext doesn't implement access to EC-fields larger than 8 bits and +// will crash on reading them. This limitation of the driver in OSX is the reason why all those battery-patching +// is neccessary in the first place. We need to ensure that every EC-field, accessed from OSX, is 8 bit at most. +// +// Additionally no such thing as dual-battery-systems exist in mac-world. OSX is able to recognize +// multiple batteries, but will only handle display of the data for the first battery. Therefor we need +// to combine multiple batteries transperantly into one and hide additional batteries to the OS. +// +// Implementation-wise, the apple-approach is able to provide some more data to the OS in comparison to ACPI. +// That might be the reason why apple opted for their implementation in the first place. To circumvent those +// limitations of the ACPI specification, VirtualSMC adds `Battery Information Supplement` (BIS). +// +// BIS tries to add the missing information normally provided on genuine MacBooks. Therefor it enables +// much more OSX-native handling of batteries but also may reveal glitches and bugs between implementations +// of OSX/ACPI/EC. Therefor its configureable in this SSDT. +// +// +// Known Issues: +// +// - no known issues atm +// +// +// Links & References: +// +// [1] https://github.com/coreboot/coreboot/blob/master/src/ec/quanta/it8518/acpi/ec.asl +// [2] https://en.wikipedia.org/wiki/H8_Family +// [3] https://github.com/acidanthera/VirtualSMC +// [4] https://github.com/acidanthera/VirtualSMC/blob/master/Docs/Battery%20Information%20Supplement.md +// [5] https://en.wikipedia.org/wiki/Smart_Battery_System +// [6] https://en.wikipedia.org/wiki/System_Management_Controller +// [7] https://github.com/acidanthera/VirtualSMC/blob/master/Docs/SMCKeys.txt +// [6] https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf +// +// +// Changelog: +// +// Revision 9 - Fix serials for batteries with broken values +// Revision 8 - Fix battery-state handling, small corrections +// Revision 7 - Smaller fixes, adds Notify-patches as EC won't update without them in edge-cases, replaces fake serials with battery-serial +// Revision 6 - fixes, make the whole system more configureable, adds technical backround-documentation +// Revision 5 - optimization, bug-fixing. Adds temp, concatenates string-data on combined batteries. +// Revision 4 - Waits on initialization of the batts now. Besides that: Optimization, rework, cleanup, fixes. Truely self-contained now. And faster. +// Revision 3 - Remove need of patched notifies, handle battery attach/detach inside, make the whole device self-contained (exept for the EC-helpers) +// Revision 2 - Prelimitary dual-battery-support, large refactoring +// Revision 1 - Raised timeout for mutexes, factored bank-switching out, added sleep to bank-switching, moved HWAC to its own SSDT +// +// +DefinitionBlock ("", "SSDT", 2, "T480", "BATX", 0x00009000) +{ + // Please ensure that your LPC bus-device is available at \_SB.PCI0.LPCB (check your DSDT). + // Some older Thinkpads provide the LPC on \_SB.PCI0.LPC and if thats the case for you, + // you need to adjust the paths in the following line until the first "Scope ()". + External (_SB.PCI0.LPCB.EC, DeviceObj) + + // @see https://en.wikipedia.org/wiki/Bank_switching + // + // HIID: [Battery information ID for 0xA0-0xAF] + // (this byte is depend on the interface, 62&66 and 1600&1604) + External (_SB.PCI0.LPCB.EC.HIID, FieldUnitObj) + + External (_SB.PCI0.LPCB.EC.BAT0._STA, MethodObj) + External (_SB.PCI0.LPCB.EC.BAT0._HID, IntObj) + + External (_SB.PCI0.LPCB.EC.BAT1._STA, MethodObj) + External (_SB.PCI0.LPCB.EC.BAT1._HID, IntObj) + + Scope (\_SB.PCI0.LPCB.EC) + { + // + // EC region overlay. + // + OperationRegion (BRAM, EmbeddedControl, 0x00, 0x0100) + + /** + * New battery device + */ + Device (BATX) + { + /************************* Configuration *************************/ + + // + // Enable debugging output + // + // Add https://github.com/acidanthera/DebugEnhancer to your kexts + // and add `debug=0x12a acpi_layer=0x8 acpi_level=0x2` to your boot-args + // to see the output in syslog/dmesg (f.e. via `sudo dmesg|egrep BATX`) + // + Name (BDBG, Zero) // possible values: One / Zero + + // + // Enable Battery Information Supplement (BIS) + // + // BIS tries to add the missing information normally provided on genuine MacBooks + // but not available in the ACPI-specification. It enables much more OSX-native handling + // of batteries but also may reveal glitches and bugs between implementation of OSX/ACPI/EC. + // + // Therefor its configureable here. + // + // See https://github.com/acidanthera/VirtualSMC/blob/master/Docs/Battery%20Information%20Supplement.md + // + Name (BBIS, One) // possible values: One / Zero + + // + // Disable quickpoll in VirtualSMC SMCBatteryManager + // + // Implicitly disabled if BBIS is disabled + // + Name (BDQP, Zero) // possible values: One / Zero + + + /************************* Mutex **********************************/ + + // We reimplement the battery-mutex here to solve the need to patch the original mutex + // on older thinkpads where the mutex has a non-zero synclevel which isn't handled by OSX. + Mutex (BAXM, 0x00) + + + /************************* EC overlay *****************************/ + + Field (BRAM, ByteAcc, NoLock, Preserve) + { + Offset (0x38), + // HB0S: [Battery 0 status (read only)] + // bit 3-0 level + // F: Unknown + // 2-n: battery level + // 1: low level + // 0: (critical low battery, suspend/ hibernate) + // bit 4 error + // bit 5 charge + // bit 6 discharge + HB0S, 7, /* Battery 0 state */ + HB0A, 1, /* Battery 0 present */ + + // Offset (0x39), + HB1S, 7, /* Battery 1 state */ + HB1A, 1, /* Battery 1 present */ + } + + // + // EC Registers + // HIID == 0x00 + // + Field (BRAM, ByteAcc, NoLock, Preserve) + { + Offset(0xA0), + // SBRC, 16, // Remaining Capacity + RC00, 8, + RC01, 8, + // SBFC, 16, // Fully Charged Capacity + FC00, 8, + FC01, 8, + // SBAE, 16, // Average Time To Empty + AE00, 8, + AE01, 8, + // SBRS, 16, // Relative State Of Charge + RS00, 8, + RS01, 8, + // SBAC, 16, // Average Current / present rate + AC00, 8, + AC01, 8, + // SBVO, 16, // Voltage + VO00, 8, + VO01, 8, + // SBAF, 16, // Average Time To Full + AF00, 8, + AF01, 8, + // SBBS, 16, // Battery State + BS00, 8, + BS01, 8, + } + + // + // EC Registers + // HIID == 0x01 + // + Field (BRAM, ByteAcc, NoLock, Preserve) + { + Offset(0xA0), + // Battery Mode(w) + // , 15, + // SBCM, 1, // bit 15 - CAPACITY_MODE + // 0: Report in mA/mAh ; 1: Enabled + // SBBM, 16, // Battery Mode(w) + BM00, 8, + BM01, 8, + // SBMD, 16, // Manufacture Data + MD00, 8, + MD01, 8, + // SBCC, 16, // Cycle Count + CC00, 8, + CC01, 8, + } + + // + // EC Registers + // HIID == 0x02 + // + Field (BRAM, ByteAcc, NoLock, Preserve) + { + Offset(0xA0), + // SBDC, 16, // Design Capacity + DC00, 8, + DC01, 8, + // SBDV, 16, // Design Voltage + DV00, 8, + DV01, 8, + // SBOM, 16, // Optional Mfg Function 1 + OM00, 8, + OM01, 8, + // SBSI, 16, // Specification Info + SI00, 8, + SI01, 8, + // SBDT, 16, // Manufacture Date + DT00, 8, + DT01, 8, + // SBSN, 16, // Serial Number + SN00, 8, + SN01, 8, + } + + // + // EC Registers + // HIID == 0x04: Battery type + // + Field (BRAM, ByteAcc, NoLock, Preserve) + { + Offset(0xA0), + // SBCH, 32, // Device Checmistory (string) + CH00, 8, + CH01, 8, + CH02, 8, + CH03, 8 + } + + // + // EC Registers + // HIID == 0x05: Battery OEM information + // + Field (BRAM, ByteAcc, NoLock, Preserve) + { + Offset(0xA0), + // SBMN, 128, // Manufacture Name (s) + MN00, 8, + MN01, 8, + MN02, 8, + MN03, 8, + MN04, 8, + MN05, 8, + MN06, 8, + MN07, 8, + MN08, 8, + MN09, 8, + MN0A, 8, + MN0B, 8, + MN0C, 8, + MN0D, 8, + MN0E, 8, + MN0F, 8, + } + + // + // EC Registers + // HIID == 0x06: Battery name + // + Field (BRAM, ByteAcc, NoLock, Preserve) + { + Offset(0xA0), + // SBDN, 128, // Device Name (s) + DN00, 8, + DN01, 8, + DN02, 8, + DN03, 8, + DN04, 8, + DN05, 8, + DN06, 8, + DN07, 8, + DN08, 8, + DN09, 8, + DN0A, 8, + DN0B, 8, + DN0C, 8, + DN0D, 8, + DN0E, 8, + DN0F, 8, + } + + + /************************* Access methods *************************/ + + /** + * Method to read the 16-bit-EC-field SBRC + * + * Remaining Capacity + */ + Method (SBRC, 0, NotSerialized) + { + Return (B1B2 (RC00, RC01)) + } + + /** + * Method to read the 16 bit-EC-field SBFC + * + * Fully Charged Capacity + */ + Method (SBFC, 0, NotSerialized) + { + Return (B1B2 (FC00, FC01)) + } + + /** + * Method to read the 16 bit-EC-field SBAE + * + * Average Time To Empty + */ + Method (SBAE, 0, NotSerialized) + { + Return (B1B2 (AE00, AE01)) + } + + /** + * Method to read the 16 bit-EC-field SBRS + * + * Relative State Of Charge + */ + Method (SBRS, 0, NotSerialized) + { + Return (B1B2 (RS00, RS01)) + } + + /** + * Method to read the 16 bit-EC-field SBAC + * + * Average Current / present rate + */ + Method (SBAC, 0, NotSerialized) + { + Return (B1B2 (AC00, AC01)) + } + + /** + * Method to read the 16 bit-EC-field SBVO + * + * Voltage + */ + Method (SBVO, 0, NotSerialized) + { + Return (B1B2 (VO00, VO01)) + } + + /** + * Method to read the 16 bit-EC-field SBAF + * + * Average Time To Full + */ + Method (SBAF, 0, NotSerialized) + { + Return (B1B2 (AF00, AF01)) + } + + /** + * Method to read the 16 bit-EC-field SBBS + * + * Battery State + */ + Method (SBBS, 0, NotSerialized) + { + Return (B1B2 (BS00, BS01)) + } + + + /** + * Method to read the 16 bit-EC-field SBBM + * + * Battery Mode(w) + */ + Method (SBBM, 0, NotSerialized) + { + Return (B1B2 (BM00, BM01)) + } + + /** + * Method to read the 16 bit-EC-field SBMD + * + * Manufacture Data + */ + Method (SBMD, 0, NotSerialized) + { + Return (B1B2 (MD00, MD01)) + } + + /** + * Method to read the 16 bit-EC-field SBCC + * + * Cycle Count + */ + Method (SBCC, 0, NotSerialized) + { + Return (B1B2 (CC00, CC01)) + } + + + /** + * Method to read the 16 bit-EC-field SBDC + * + * Design Capacity + */ + Method (SBDC, 0, NotSerialized) + { + Return (B1B2 (DC00, DC01)) + } + + /** + * Method to read the 16 bit-EC-field SBDV + * + * Design Voltage + */ + Method (SBDV, 0, NotSerialized) + { + Return (B1B2 (DV00, DV01)) + } + + /** + * Method to read the 16 bit-EC-field SBOM + * + * Optional Mfg Function 1 + */ + Method (SBOM, 0, NotSerialized) + { + Return (B1B2 (OM00, OM01)) + } + + /** + * Method to read the 16 bit-EC-field SBSI + * + * Specification Info + */ + Method (SBSI, 0, NotSerialized) + { + Return (B1B2 (SI00, SI01)) + } + + /** + * Method to read the 16 bit-EC-field SBDT + * + * Manufacture Date + */ + Method (SBDT, 0, NotSerialized) + { + Return (B1B2 (DT00, DT01)) + } + + /** + * Method to read the 16 bit-EC-field SBSN + * + * Serial Number (string) + */ + Method (SBSN, 0, NotSerialized) + { + Return (ToDecimalString (B1B2 (SN00, SN01))) + } + + /** + * Method to read the 32 bit-EC-field SBCH + * + * Device Checmistory (string) + */ + Method (SBCH, 0, NotSerialized) + { + Return (ToString (B1B4 (CH00, CH01, CH02, CH03))) + } + + + /** + * Method to read 128 bit-EC-field SBMN + * + * Manufacture Name (string) + */ + Method (SBMN, 0, NotSerialized) + { + Local0 = Buffer (0x10) {} + + Local0 [0x00] = MN00 + Local0 [0x01] = MN01 + Local0 [0x02] = MN02 + Local0 [0x03] = MN03 + Local0 [0x04] = MN04 + Local0 [0x05] = MN05 + Local0 [0x06] = MN06 + Local0 [0x07] = MN07 + Local0 [0x08] = MN08 + Local0 [0x09] = MN09 + Local0 [0x0A] = MN0A + Local0 [0x0B] = MN0B + Local0 [0x0C] = MN0C + Local0 [0x0D] = MN0D + Local0 [0x0E] = MN0E + Local0 [0x0F] = MN0F + + Return (ToString (Local0)) + } + + /** + * Method to read 128 bit-EC-field SBDN + * + * Device Name (string) + */ + Method (SBDN, 0, NotSerialized) + { + Local0 = Buffer (0x10) {} + + Local0 [0x00] = DN00 + Local0 [0x01] = DN01 + Local0 [0x02] = DN02 + Local0 [0x03] = DN03 + Local0 [0x04] = DN04 + Local0 [0x05] = DN05 + Local0 [0x06] = DN06 + Local0 [0x07] = DN07 + Local0 [0x08] = DN08 + Local0 [0x09] = DN09 + Local0 [0x0A] = DN0A + Local0 [0x0B] = DN0B + Local0 [0x0C] = DN0C + Local0 [0x0D] = DN0D + Local0 [0x0E] = DN0E + Local0 [0x0F] = DN0F + + Return (ToString (Local0)) + } + + + /************************* Helper methods *************************/ + + /** + * Status from two EC fields + * + * e.g. B1B2 (0x3A, 0x03) -> 0x033A + */ + Method (B1B2, 2, NotSerialized) + { + Return ((Arg0 | (Arg1 << 0x08))) + } + + /** + * Status from four EC fields + */ + Method (B1B4, 4, NotSerialized) + { + Local0 = (Arg2 | (Arg3 << 0x08)) + Local0 = (Arg1 | (Local0 << 0x08)) + Local0 = (Arg0 | (Local0 << 0x08)) + + Return (Local0) + } + + + /************************* Battery device *************************/ + + Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID + Name (_UID, Zero) // _UID: Unique ID + Name (_PCL, Package (0x01) // _PCL: Power Consumer List + { + _SB + }) + + /** + * Battery Slot Status + */ + Method (_STA, 0, NotSerialized) + { + // call original _STA for BAT0 and BAT1 + // result is bitwise OR between them + If (_OSI ("Darwin")) + { + If (CondRefOf (^^BAT1._STA) && CondRefOf (^^BAT1._STA)) + { + Return (^^BAT0._STA() | ^^BAT1._STA()) + } + + If (CondRefOf (^^BAT1._STA)) + { + Return (^^BAT1._STA()) + } + + Return (^^BAT0._STA()) + } + + Return (Zero) + } + + Method (_INI, 0, NotSerialized) + { + If (_OSI ("Darwin")) + { + If (CondRefOf (^^BAT0._HID)) + { + // disable original battery objects by setting invalid _HID + ^^BAT0._HID = 0 + } + + If (CondRefOf (^^BAT1._HID)) + { + // disable original battery objects by setting invalid _HID + ^^BAT1._HID = 0 + } + } + } + + + /** + * Extended Battery Static Information pack layout + */ + Name (PBIX, Package (0x15) { + 0x01, // 0x00: BIXRevision - Revision - Integer + 0x01, // 0x01: BIXPowerUnit - Power Unit: mAh - Integer (DWORD) + // ACPI spec : 0 - mWh : 1 - mAh + 0xFFFFFFFF, // 0x02: BIXDesignCapacity - Design Capacity - Integer (DWORD) + 0xFFFFFFFF, // 0x03: BIXLastFullChargeCapacity - Last Full Charge Capacity - Integer (DWORD) + 0x01, // 0x04: BIXBatteryTechnology - Battery Technology: Rechargeable - Integer (DWORD) + 0xFFFFFFFF, // 0x05: BIXDesignVoltage - Design Voltage - Integer (DWORD) + 0xFFFFFFFF, // 0x06: BIXDesignCapacityOfWarning - Design Capacity of Warning - Integer (DWORD) + 0xFFFFFFFF, // 0x07: BIXDesignCapacityOfLow - Design Capacity of Low - Integer (DWORD) + 0xFFFFFFFF, // 0x08: BIXCycleCount - Cycle Count - Integer (DWORD) + 0x00017318, // 0x09: BIXMeasurementAccuracy - Measurement Accuracy (98.3%?) - Integer (DWORD) + 0xFFFFFFFF, // 0x0a: BIXMaxSamplingTime - Max Sampling Time (500ms) - Integer (DWORD) + 0xFFFFFFFF, // 0x0b: BIXMinSamplingTime - Min Sampling Time (10ms) - Integer (DWORD) + 1000, // 0x0c: BIXMaxAveragingInterval - Max Averaging Interval - Integer (DWORD) + 500, // 0x0d: BIXMinAveragingInterval - Min Averaging Interval - Integer (DWORD) + 0xFFFFFFFF, // 0x0e: BIXBatteryCapacityGranularity1 - Capacity Granularity 1 + 0xFFFFFFFF, // 0x0f: BIXBatteryCapacityGranularity2 - Capacity Granularity 2 + "", // 0x10: BIXModelNumber - Model Number - String + "", // 0x11: BIXSerialNumber - Serial Number - String + "", // 0x12: BIXBatteryType - Battery Type - String + "", // 0x13: BIXOEMInformation - OEM Information - String + 0x00 // 0x14: ??? - Battery Swapping Capability, 0x00000000 = non-swappable - Integer (DWORD) + // added in Revision 1: Zero means Non-swappable, One - Cold-swappable, 0x10 - Hot-swappable + }) + + Name (BX0I, Package (0x15) {}) + Name (BX1I, Package (0x15) {}) + + /** + * Get Battery extended information per battery + * + * Arg0: Battery id 0x00 / 0x10 + * Arg1: Battery Real-time Information pack + */ + Method (GBIX, 2, NotSerialized) + { + // Wait for the battery to become available + If (Arg0 == 0x10) + { + // use BAT1 + Local4 = HB1S + Local5 = HB1A + } + Else + { + // use BAT0 + Local4 = HB0S + Local5 = HB0A + } + + Local6 = 10 + Local7 = Zero + + While ((!Local7 && Local6)) + { + // If battery available + If (Local5) + { + // If battery not ok, wait + If (((Local4 & 0x07) == 0x07)) + { + // decrease timer and wait for battery to be ready + Sleep (1000) + Local6-- + } + Else + { + // Battery ok + Local7 = One + } + } + Else + { + // battery unavailable, not need to wait + Local6 = Zero + } + } + + // Battery not ready, give up for now + If (Local7 != One) + { + Debug = "BATX:GBIX: !!!WARNING: Could not get battery-data in time. Giving up for now. - WARNING!!!" + + Arg1 [0x02] = 0xFFFFFFFF + Arg1 [0x03] = 0xFFFFFFFF + Arg1 [0x06] = 0x00 + Arg1 [0x07] = 0x00 + + Return (Arg1) + } + + // Aquire Mutex + If (Acquire (BAXM, 65535)) + { + Debug = "BATX:AcquireLock failed in GBIX" + + Return (Arg1) + } + + + // + // Information Page 1 - + // + HIID = (Arg0 | 0x01) + + // cycle count + Arg1 [0x08] = SBCC /* \_SB_.PCI0.LPCB.EC__.BATX.SBCC */ + + // needs conversion? + Local7 = SBBM /* \_SB_.PCI0.LPCB.EC__.BATX.SBBM */ + Local7 >>= 0x0F + Arg1 [0x01] = (Local7 ^ 0x01) + + + // + // Information Page 0 - + // + HIID = Arg0 + + If (Local7) + { + Local1 = (SBFC * 10) + } + Else + { + Local1 = SBFC /* \_SB_.PCI0.LPCB.EC__.BATX.SBFC */ + } + + Arg1 [0x03] = Local1 + + + // + // Information Page 2 - + // + HIID = (Arg0 | 0x02) + + // Design capacity + If (Local7) + { + Local0 = (SBDC * 10) + } + Else + { + Local0 = SBDC /* \_SB_.PCI0.LPCB.EC__.BATX.SBDC */ + } + + Arg1 [0x02] = Local0 + + // Design capacity of high at 10%, values of VirtualSMC + Arg1 [0x06] = Local0 / 100 * 10 + + // Design capacity of low at 5%, values of VirtualSMC + Arg1 [0x07] = Local0 / 100 * 5 + + // Design voltage + Arg1 [0x05] = SBDV /* \_SB_.PCI0.LPCB.EC__.BATX.SBDV */ + + // Serial Number + Arg1 [0x11] = SBSN /* \_SB_.PCI0.LPCB.EC__.BATX.SBSN */ + + + // + // Information Page 6 - + // + HIID = (Arg0 | 0x06) + + // Model Number - Device Name + Arg1 [0x10] = SBDN /* \_SB_.PCI0.LPCB.EC__.BATX.SBDN */ + + + // + // Information Page 4 - + // + HIID = (Arg0 | 0x04) + + // Battery Type - Device Chemistry + Arg1 [0x12] = SBCH /* \_SB_.PCI0.LPCB.EC__.BATX.SBCH */ + + + // + // Information Page 5 - + // + HIID = (Arg0 | 0x05) + + // OEM Information - Manufacturer Name + Arg1 [0x13] = SBMN /* \_SB_.PCI0.LPCB.EC__.BATX.SBMN */ + + // Release mutex + Release (BAXM) + + // Return result + Return (Arg1) + } + + /** + * Acpi-Spec: + * 10.2.2.2 _BIX (Battery Information Extended) + * The _BIX object returns the static portion of the Control Method Battery information. This information + * remains constant until the battery is changed. The _BIX object returns all information available via the + * _BIF object plus additional battery information. The _BIF object is deprecated in lieu of _BIX in ACPI 4.0 + */ + Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended + { + If (BDBG == One) + { + Debug = "BATX:_BIX" + } + + // needs to be run in any way as it waits for the bat-device to be available + BX0I = GBIX (0x00, PBIX) + + // If BAT0 present and debugging enabled + If (HB0A && BDBG == One) + { + Concatenate ("BATX:BIXPowerUnit: BAT0 ", BX0I[0x01], Debug) + Concatenate ("BATX:BIXDesignCapacity: BAT0 ", ToDecimalString (DerefOf (BX0I [0x02])), Debug) + Concatenate ("BATX:BIXLastFullChargeCapacity: BAT0 ", ToDecimalString (DerefOf (BX0I [0x03])), Debug) + Concatenate ("BATX:BIXBatteryTechnology: BAT0 ", ToDecimalString (DerefOf (BX0I [0x04])), Debug) + Concatenate ("BATX:BIXDesignVoltage: BAT0 ", ToDecimalString(DerefOf (BX0I [0x05])), Debug) + Concatenate ("BATX:BIXDesignCapacityOfWarning: BAT0 ", ToDecimalString (DerefOf (BX0I [0x06])), Debug) + Concatenate ("BATX:BIXDesignCapacityOfLow: BAT0 ", ToDecimalString (DerefOf (BX0I [0x07])), Debug) + Concatenate ("BATX:BIXCycleCount: BAT0 ", ToDecimalString (DerefOf (BX0I [0x08])), Debug) + Concatenate ("BATX:BIXModelNumber: BAT0 ", DerefOf (BX0I [0x10]), Debug) + Concatenate ("BATX:BIXSerialNumber: BAT0 ", DerefOf (BX0I [0x11]), Debug) + Concatenate ("BATX:BIXBatteryType: BAT0 ", DerefOf (BX0I [0x12]), Debug) + Concatenate ("BATX:BIXOEMInformation: BAT0 ", DerefOf (BX0I [0x13]), Debug) + } + + // If BAT1 is not available, simply return data from BAT0 + If (!HB1A) + { + Return (BX0I) + } + + // Get data from BAT1 + BX1I = GBIX (0x10, PBIX) + + // If BAT1 present and debugging enabled + If (BDBG == One) + { + Concatenate ("BATX:BIXPowerUnit: BAT1 ", BX1I[0x01], Debug) + Concatenate ("BATX:BIXDesignCapacity: BAT1 ", ToDecimalString (DerefOf (BX1I [0x02])), Debug) + Concatenate ("BATX:BIXLastFullChargeCapacity: BAT1 ", ToDecimalString (DerefOf (BX1I [0x03])), Debug) + Concatenate ("BATX:BIXBatteryTechnology: BAT1 ", ToDecimalString (DerefOf (BX1I [0x04])), Debug) + Concatenate ("BATX:BIXDesignVoltage: BAT1 ", ToDecimalString(DerefOf (BX1I [0x05])), Debug) + Concatenate ("BATX:BIXDesignCapacityOfWarning: BAT1 ", ToDecimalString (DerefOf (BX1I [0x06])), Debug) + Concatenate ("BATX:BIXDesignCapacityOfLow: BAT1 ", ToDecimalString (DerefOf (BX1I [0x07])), Debug) + Concatenate ("BATX:BIXCycleCount: BAT1 ", ToDecimalString (DerefOf (BX1I [0x08])), Debug) + Concatenate ("BATX:BIXModelNumber: BAT1 ", DerefOf (BX1I [0x10]), Debug) + Concatenate ("BATX:BIXSerialNumber: BAT1 ", DerefOf (BX1I [0x11]), Debug) + Concatenate ("BATX:BIXBatteryType: BAT1 ", DerefOf (BX1I [0x12]), Debug) + Concatenate ("BATX:BIXOEMInformation: BAT1 ", DerefOf (BX1I [0x13]), Debug) + } + + // If BAT1 available and BAT0 not, return data from BAT1. Very unlikely. + If (!HB0A) + { + Return (BX1I) + } + + + // PowerUnits differ between both batteries. This case isn't handled in SSDT-BATX atm. Please report a bug. + If (DerefOf (BX0I [0x01]) != DerefOf (BX1I [0x01])) + { + Debug = "BATX:BIXPowerUnit: !!!WARNING: PowerUnits differ between batteries. This case isn't handled in SSDT-BATX atm. Please report a bug - WARNING!!!" + } + + + // combine batteries into Local0 if both present + Local0 = BX0I + + // _BIX 0 Revision - leave BAT0 value + + // _BIX 1 Power Unit - leave BAT0 value + + // _BIX 2 Design Capacity - add BAT0 and BAT1 values + Local0 [0x02] = DerefOf (BX0I [0x02]) + DerefOf (BX1I [0x02]) + + // _BIX 3 Last Full Charge Capacity - add BAT0 and BAT1 values + Local0 [0x03] = DerefOf (BX0I [0x03]) + DerefOf (BX1I [0x03]) + + // _BIX 4 Battery Technology - leave BAT0 value + + // _BIX 5 Design Voltage - average between BAT0 and BAT1 values + Local0 [0x05] = (DerefOf (BX0I [0x05]) + DerefOf (BX1I [0x05])) / 2 + + // _BIX 6 Design Capacity of Warning - add BAT0 and BAT1 values + Local0 [0x06] = DerefOf (BX0I [0x06]) + DerefOf (BX1I [0x06]) + + // _BIX 7 Design Capacity of Low - add BAT0 and BAT1 values + Local0 [0x07] = DerefOf (BX0I [0x07]) + DerefOf (BX1I [0x07]) + + // _BIX 8 Cycle Count - average between BAT0 and BAT1 values + Local0 [0x08] = (DerefOf (BX0I [0x08]) + DerefOf (BX1I [0x08])) / 2 + + // _BIX 10 Model Number - concatenate BAT0 and BAT1 values + Local0 [0x10] = Concatenate (Concatenate (DerefOf (BX0I [0x10]), " / "), DerefOf (BX1I [0x10])) + + // _BIX 11 Serial Number - concatenate BAT0 and BAT1 values + Local0 [0x11] = Concatenate (Concatenate (DerefOf (BX0I [0x11]), " / "), DerefOf (BX1I [0x11])) + + // _BIX 12 Battery Type - concatenate BAT0 and BAT1 values + Local0 [0x12] = Concatenate (Concatenate (DerefOf (BX0I [0x12]), " / "), DerefOf (BX1I [0x12])) + + // _BIX 13 OEM Information - concatenate BAT0 and BAT1 values + Local0 [0x13] = Concatenate (Concatenate (DerefOf (BX0I [0x13]), " / "), DerefOf (BX1I [0x13])) + + If (BDBG == One) + { + Concatenate ("BATX:BIXPowerUnit: BATX ", Local0 [0x01], Debug) + Concatenate ("BATX:BIXDesignCapacity: BATX ", ToDecimalString (DerefOf (Local0 [0x02])), Debug) + Concatenate ("BATX:BIXLastFullChargeCapacity: BATX ", ToDecimalString (DerefOf (Local0 [0x03])), Debug) + Concatenate ("BATX:BIXBatteryTechnology: BATX ", ToDecimalString (DerefOf (Local0 [0x04])), Debug) + Concatenate ("BATX:BIXDesignVoltage: BATX ", ToDecimalString(DerefOf (Local0 [0x05])), Debug) + Concatenate ("BATX:BIXDesignCapacityOfWarning: BATX ", ToDecimalString (DerefOf (Local0 [0x06])), Debug) + Concatenate ("BATX:BIXDesignCapacityOfLow: BATX ", ToDecimalString (DerefOf (Local0 [0x07])), Debug) + Concatenate ("BATX:BIXCycleCount: BATX ", ToDecimalString (DerefOf (Local0 [0x08])), Debug) + Concatenate ("BATX:BIXModelNumber: BATX ", DerefOf (Local0 [0x10]), Debug) + Concatenate ("BATX:BIXSerialNumber: BATX ", DerefOf (Local0 [0x11]), Debug) + Concatenate ("BATX:BIXBatteryType: BATX ", DerefOf (Local0 [0x12]), Debug) + Concatenate ("BATX:BIXOEMInformation: BATX ", DerefOf (Local0 [0x13]), Debug) + } + + Return (Local0) + } + + /** + * Battery Real-time Information pack layout + */ + Name (PBST, Package (0x04) + { + 0x00000000, // 0x00: BSTState - Battery State + // 0 - Not charging / Full + // 1 - Discharge + // 2 - Charging + 0, // 0x01: BSTPresentRate - Battery Present Rate [mW], 0xFFFFFFFF if unknown rate + 0, // 0x02: BSTRemainingCapacity - Battery Remaining Capacity [mWh], 0xFFFFFFFF if unknown capacity + 0, // 0x03: BSTPresentVoltage - Battery Present Voltage [mV], 0xFFFFFFFF if unknown voltage + }) + + Name (BT0P, Package (0x04) {}) // Cache of PBST for BAT0 + Name (BT1P, Package (0x04) {}) // Cache of PBST for BAT1 + + /** + * Get Battery Status per battery + * + * Arg0: Battery id 0x00 / 0x10 + * Arg1: Battery Real-time Information pack + */ + Method (GBST, 2, NotSerialized) + { + // Aquire mutex + If (Acquire (BAXM, 65535)) + { + Debug = "BATX:AcquireLock failed in GBST" + + Return (Arg1) + } + + If (Arg0 == 0x00) + { + Local6 = HB0S + } + Else + { + Local6 = HB1S + } + + If ((Local6 & 0x20)) + { + // 2 = Charging + Local0 = 2 + } + ElseIf ((Local6 & 0x40) ) + { + // 1 = Discharging + Local0 = 1 + } + Else + { + // 0 = Not charging / Full + Local0 = 0 + } + + + // + // Information Page 1 - + // + HIID = (Arg0 | 0x01) + + // needs conversion? + Local7 = SBBM /* \_SB_.PCI0.LPCB.EC__.BATX.SBBM */ + Local7 >>= 0x0F + + + // + // Information Page 0 - + // + HIID = Arg0 + + // + Local2 = SBRC /* \_SB_.PCI0.LPCB.EC__.BATX.SBRC */ + + If (Local7) + { + Local2 = (Local2 * 10) + } + + // Present rate is a 16bit signed int, positive while charging + // and negative while discharging. + Local1 = SBAC /* \_SB_.PCI0.LPCB.EC__.BATX.SBAC */ + + // If discharging + If (Local0 == 1) + { + If ((Local1 >= 0x8000)) + { + // Negate present rate + Local1 = (0x00010000 - Local1) + } + } + Else + { + Local1 = 0x00 + } + + // Get voltage + Local3 = SBVO /* \_SB_.PCI0.LPCB.EC__.BATX.SBVO */ + + // Needs conversion + If (Local7) + { + Local1 = (Local1 * Local3 / 1000) + } + + // Set data + Arg1 [0x00] = Local0 + Arg1 [0x01] = Local1 + Arg1 [0x02] = Local2 + Arg1 [0x03] = Local3 + + // Release mutex + Release (BAXM) + + // Return data + Return (Arg1) + } + + /** + * Battery availability info + */ + Name (PBAI, Package () + { + 0xFF, // 0x00: BAT0 present or not + 0xFF, // 0x01: BAT1 present or not + }) + + /** + * Battery status + */ + Method (_BST, 0, NotSerialized) // _BST: Battery Status + { + If (BDBG == One) + { + Debug = "BATX:_BST()" + } + + // Check if battery is added or removed + Local3 = DerefOf (PBAI [0x00]) + Local4 = DerefOf (PBAI [0x01]) + + If (Local3 != HB0A || Local4 != HB1A) + { + PBAI [0x00] = HB0A + PBAI [0x01] = HB1A + + If (Local3 != 0xFF || Local4 != 0xFF) + { + If (BDBG == One) + { + Concatenate ("BATX:_BST() - PBAI:HB0A (old): ", Local3, Debug) + Concatenate ("BATX:_BST() - PBAI:HB1A (old): ", Local4, Debug) + Concatenate ("BATX:_BST() - PBAI:HB0A (new): ", HB0A, Debug) + Concatenate ("BATX:_BST() - PBAI:HB1A (new): ", HB1A, Debug) + } + + // + // Here we actually would need an option to tell VirtualSMC to refresh the static battery data + // because a battery was dettached or attached. + // + Notify (BATX, 0x81) // Status Change + } + } + + // gather battery data from BAT0 if available + If (HB0A) + { + BT0P = GBST (0x00, PBST) + + If (BDBG == One) + { + Concatenate ("BATX:BSTState: BAT0 (acpi) - ", HB0S, Debug) + Concatenate ("BATX:BSTState: BAT0 ", DerefOf (BT0P [0x00]), Debug) + Concatenate ("BATX:BSTPresentRate: BAT0 ", ToDecimalString (DerefOf (BT0P [0x01])), Debug) + Concatenate ("BATX:BSTRemainingCapacity: BAT0 ", ToDecimalString (DerefOf (BT0P [0x02])), Debug) + Concatenate ("BATX:BSTPresentVoltage: BAT0 ", ToDecimalString (DerefOf (BT0P [0x03])), Debug) + } + + // If BAT1 isn't available, simply return data from BAT0 + If (!HB1A) + { + Return (BT0P) + } + } + + + // gather battery data from BAT1 + BT1P = GBST (0x10, PBST) + + If (BDBG == One) + { + Concatenate ("BATX:BSTState: BAT1 (acpi) - ", HB1S, Debug) + Concatenate ("BATX:BSTState: BAT1 ", DerefOf (BT1P [0x00]), Debug) + Concatenate ("BATX:BSTPresentRate: BAT1 ", ToDecimalString (DerefOf (BT1P [0x01])), Debug) + Concatenate ("BATX:BSTRemainingCapacity: BAT1 ", ToDecimalString (DerefOf (BT1P [0x02])), Debug) + Concatenate ("BATX:BSTPresentVoltage: BAT1 ", ToDecimalString (DerefOf (BT1P [0x03])), Debug) + } + + // If BAT1 is availble but BAT0 isn't, simply return data from BAT1. Very unlikely. + If (!HB0A) + { + Return (BT1P) + } + + // combine batteries into Local0 result if possible + Local0 = BT0P + + // _BST 0 - Battery State - if one battery is charging, then charging, else discharging + Local4 = DerefOf (BT0P [0x00]) + Local5 = DerefOf (BT1P [0x00]) + + // Not charging / Full + Local0 [0x00] = 0 + + If ((Local4 == 2) || (Local5 == 2)) + { + // 2 = Charging + Local0 [0x00] = 2 + } + ElseIf ((Local4 == 1) || (Local5 == 1)) + { + // 1 = Discharging + Local0 [0x00] = 1 + } + + // _BST 1 - Battery Present Rate - add BAT0 and BAT1 values + Local0 [0x01] = DerefOf (BT0P [0x01]) + DerefOf (BT1P [0x01]) + + // _BST 2 - Battery Remaining Capacity - add BAT0 and BAT1 values + Local0 [0x02] = DerefOf (BT0P [0x02]) + DerefOf (BT1P [0x02]) + + // _BST 3 - Battery Present Voltage - average between BAT0 and BAT1 values + Local0 [0x03] = (DerefOf (BT0P [0x03]) + DerefOf (BT1P [0x03])) / 2 + + If (BDBG == One) + { + Concatenate ("BATX:BSTState: BATX ", DerefOf (Local0 [0x00]), Debug) + Concatenate ("BATX:BSTPresentRate: BATX ", ToDecimalString (DerefOf (Local0 [0x01])), Debug) + Concatenate ("BATX:BSTRemainingCapacity: BATX ", ToDecimalString (DerefOf (Local0 [0x02])), Debug) + Concatenate ("BATX:BSTPresentVoltage: BATX ", ToDecimalString (DerefOf (Local0 [0x03])), Debug) + } + + // Return combined battery + Return (Local0) + } + + + // Provide the API for `Battery Information Supplement` if enabled in configuration above + If (BBIS) + { + /** + * Battery Status Supplement pack layout + */ + Name (PBSS, Package (0x07) + { + 0xFFFFFFFF, // 0x00: BSSTemperature - Temperature, AppleSmartBattery format + 0xFFFFFFFF, // 0x01: BSSTimeToFull - TimeToFull [minutes] (0xFF) + 0xFFFFFFFF, // 0x02: BSSTimeToEmpty - TimeToEmpty [minutes] (0) + 0xFFFFFFFF, // 0x03: BSSChargeLevel - ChargeLevel [percent] + 0xFFFFFFFF, // 0x04: BSSAverageRate - AverageRate [mA] (signed) + 0xFFFFFFFF, // 0x05: BSSChargingCurrent - ChargingCurrent [mA] + 0xFFFFFFFF, // 0x06: BSSChargingVoltage - ChargingVoltage [mV] + }) + + Name (PBS0, Package (0x07) {}) + Name (PBS1, Package (0x07) {}) + + /** + * Get Battery Status Supplement per battery + * + * Arg0: Battery 0x00/0x10 + * Arg1: package + */ + Method (GBSS, 2, NotSerialized) + { + If (Acquire (BAXM, 65535)) + { + Debug = "BATX:AcquireLock failed in GBSS" + + Return (PBSS) + } + + // + // Information Page 0 - + // + HIID = Arg0 + + // 0x01: TimeToFull (0x11), minutes (0xFF) + Local6 = SBAF + + If (Local6 == 0xFFFF) + { + Local6 = 0 + } + + Arg1 [0x01] = Local6 + + // 0x02: TimeToEmpty (0x12), minutes (0) + Local6 = SBAE + + If (Local6 == 0xFFFF) + { + Local6 = 0 + } + + Arg1 [0x02] = Local6 + + // 0x03: BSSChargeLevel - ChargeLevel, percentage + Arg1 [0x03] = SBRS + + // 0x04: AverageRate (0x14), mA (signed) + Arg1 [0x04] = SBAC + + // 0x05: ChargingCurrent (0x15), mA, seems to be unused anyways + // Arg1 [0x05] = ??? + + // 0x06: ChargingVoltage (0x16), mV, seems to be unused anyways + // Arg1 [0x06] = ??? + + // Fake Temperature (0x10) to 30C as it isn't available from the EC, AppleSmartBattery format + Arg1 [0x00] = 0xBD7 + + Release (BAXM) + + Return (Arg1) + } + + /** + * Battery Status Supplement + */ + Method (CBSS, 0, NotSerialized) + { + If (BDBG == One) + { + Debug = "BATX:CBSS()" + } + + If (HB0A) + { + PBS0 = GBSS (0x00, PBSS) + + If (BDBG == One) + { + Concatenate ("BATX:BSSTimeToFull: BAT0 ", ToDecimalString (DerefOf (PBS0 [0x01])), Debug) + Concatenate ("BATX:BSSTimeToEmpty: BAT0 ", ToDecimalString (DerefOf (PBS0 [0x02])), Debug) + Concatenate ("BATX:BSSChargeLevel: BAT0 ", ToDecimalString (DerefOf (PBS0 [0x03])), Debug) + Concatenate ("BATX:BSSAverageRate: BAT0 ", ToDecimalString (DerefOf (PBS0 [0x04])), Debug) + } + + If (!HB1A) + { + Return (PBS0) + } + } + + // gather battery data from BAT1 + PBS1 = GBSS (0x10, PBSS) + + If (BDBG == One) + { + Concatenate ("BATX:BSSTimeToFull: BAT1 ", ToDecimalString (DerefOf (PBS1 [0x01])), Debug) + Concatenate ("BATX:BSSTimeToEmpty: BAT1 ", ToDecimalString (DerefOf (PBS1 [0x02])), Debug) + Concatenate ("BATX:BSSChargeLevel: BAT1 ", ToDecimalString (DerefOf (PBS1 [0x03])), Debug) + Concatenate ("BATX:BSSAverageRate: BAT1 ", ToDecimalString (DerefOf (PBS1 [0x04])), Debug) + } + + If (!HB0A) + { + Return (PBS1) + } + + // combine batteries into Local0 result if possible + Local0 = PBS0 + + // 0x01: TimeToFull (0x11), minutes (0xFF), Valid integer in minutes + Local0 [0x01] = (DerefOf (PBS0 [0x01]) + DerefOf (PBS1 [0x01])) + + // 0x02: BSSTimeToEmpty - TimeToEmpty, minutes (0), Valid integer in minutes + Local0 [0x02] = (DerefOf (PBS0 [0x02]) + DerefOf (PBS1 [0x02])) + + // 0x03: BSSChargeLevel - ChargeLevel, percentage, 0 - 100 for percentage. + Local0 [0x03] = (DerefOf (PBS0 [0x03]) + DerefOf (PBS1 [0x03])) / 2 + + // 0x04: BSSAverageRate - AverageRate, mA (signed), Valid signed integer in mA. + Local0 [0x04] = (DerefOf (PBS0 [0x04]) + DerefOf (PBS1 [0x04])) + + If (BDBG == One) + { + Concatenate ("BATX:BSSTimeToFull: BATX ", ToDecimalString (DerefOf (Local0 [0x01])), Debug) + Concatenate ("BATX:BSSTimeToEmpty: BATX ", ToDecimalString (DerefOf (Local0 [0x02])), Debug) + Concatenate ("BATX:BSSChargeLevel: BATX ", ToDecimalString (DerefOf (Local0 [0x03])), Debug) + Concatenate ("BATX:BSSAverageRate: BATX ", ToDecimalString (DerefOf (Local0 [0x04])), Debug) + } + + Return (Local0) + } + + + /** + * Battery Information Supplement pack layout + */ + Name (PBIS, Package (0x07) + { + 0x007F007F, // 0x00: BISConfig - config + // double check if you have valid AverageRate before disabling QuicPoll + // - 0x007F007F - Quickpoll disabled, more native battery handling + // - 0x006F007F - Quickpoll enabled, more robust battery handling + 0xFFFFFFFF, // 0x01: BISManufactureDate - ManufactureDate (0x1), AppleSmartBattery format + 0x00002342, // 0x02: BISPackLotCode - PackLotCode + 0x00002342, // 0x03: BISPCBLotCode - PCBLotCode + 0x00002342, // 0x04: BISFirmwareVersion - FirmwareVersion + 0x00002342, // 0x05: BISHardwareVersion - HardwareVersion + 0x00002342, // 0x06: BISBatteryVersion - BatteryVersion + }) + + /** + * Battery Information Supplement + */ + Method (CBIS, 0, NotSerialized) + { + If (BDQP == One) + { + PBIS[0x00] = 0x006F007F + } + + If (BDBG == One) + { + Debug = "BATX:CBIS()" + } + + If (Acquire (BAXM, 65535)) + { + Debug = "BATX:AcquireLock failed in CBIS" + + Return (PBIS) + } + + // + // Information Page 2 - + // + HIID = (0x00 | 0x02) + + // 0x01: ManufactureDate (0x1), AppleSmartBattery format + PBIS [0x01] = SBDT + + Local6 = ToString (SBSN) /* \_SB_.PCI0.LPCB.EC__.BATX.SBSN */ + + // Serial Number + PBIS [0x02] = Local6 + PBIS [0x03] = Local6 + PBIS [0x04] = Local6 + PBIS [0x05] = Local6 + PBIS [0x06] = Local6 + + Release (BAXM) + + If (BDBG == One) + { + Concatenate ("BATX:CBIS:BISConfig BATX ", PBIS [0x00], Debug) + Concatenate ("BATX:CBIS:BISManufactureDate BATX ", PBIS [0x01], Debug) + Concatenate ("BATX:CBIS:BISPackLotCode BATX ", PBIS [0x02], Debug) + } + + Return (PBIS) + } + } + } + } +} +//EOF diff --git a/Other/Disassembled ACPI/SSDT-DEVICE.dsl b/Other/Disassembled ACPI/SSDT-DEVICE.dsl new file mode 100644 index 0000000..a60e29c --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-DEVICE.dsl @@ -0,0 +1,155 @@ +// Fixing / Adding various devices for macOS compatibility +// ALS0, PWRB, MCHC, SMBUS, DMAC + +DefinitionBlock ("", "SSDT", 2, "T480", "VDEV", 0) +{ + External (DTGP, MethodObj) + External (OSDW, MethodObj) + + Scope (\_SB) + { + Device (ALS0) + { + Name (_HID, "ACPI0008" /* Ambient Light Sensor Device */) // _HID: Hardware ID + Name (_CID, "smc-als") // _CID: Compatible ID + Name (_ALI, 0x012C) // _ALI: Ambient Light Illuminance + Name (_ALR, Package (0x01) // _ALR: Ambient Light Response + { + Package (0x02) + { + 0x64, + 0x012C + } + }) + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (OSDW ()) + { + Return (0x0B) // ALS Enabled. Don't show it in UI. + } + + Return (Zero) + } + } + Device (PWRB) + { + Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID + + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + Return (Zero) + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (OSDW ()) + { + Return (0x0B) + } + + Return (Zero) + } + } + + } + + + /* + * SMBus compatibility table. + * + * Needed to load com.apple.driver.AppleSMBusController + */ + + External (\_SB.PCI0, DeviceObj) + + Scope (\_SB.PCI0) + { + Device (MCHC) + { + Name (_ADR, Zero) + + Method (_STA, 0, NotSerialized) + { + If (OSDW ()) + { + Return (0x0F) + } + + Return (Zero) + } + } + } + + External (_SB_.PCI0.SBUS, DeviceObj) + + Scope (_SB.PCI0.SBUS) + { + Device (BUS0) + { + Name (_CID, "smbus") // _CID: Compatible ID + Name (_ADR, Zero) // _ADR: Address + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (OSDW ()) + { + Return (0x0F) + } + + Return (Zero) + } + } + + Device (BUS1) + { + Name (_CID, "smbus") // _CID: Compatible ID + Name (_ADR, One) // _ADR: Address + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (OSDW ()) + { + Return (0x0F) + } + + Return (Zero) + } + } + } + + /* + * Fix up memory controller + */ + + External (_SB_.PCI0.LPCB, DeviceObj) + + Scope (_SB.PCI0.LPCB) + { + Device (DMAC) + { + Name (_HID, EISAID("PNP0200")) + + Name (_CRS, ResourceTemplate() + { + IO (Decode16, 0x00, 0x00, 0x01, 0x20) + IO (Decode16, 0x81, 0x81, 0x01, 0x11) + IO (Decode16, 0x93, 0x93, 0x01, 0x0d) + IO (Decode16, 0xc0, 0xc0, 0x01, 0x20) + DMA (Compatibility, NotBusMaster, Transfer8_16) { 4 } + }) + + Method (_STA, 0, NotSerialized) + { + If (OSDW ()) + { + Return (0x0F) + } + + Return (Zero) + } + } + } + + +} \ No newline at end of file diff --git a/Other/Disassembled ACPI/SSDT-EC.dsl b/Other/Disassembled ACPI/SSDT-EC.dsl new file mode 100644 index 0000000..2da57f6 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-EC.dsl @@ -0,0 +1,377 @@ +/** +https://github.com/coreboot/coreboot/blob/master/src/ec/quanta/it8518/acpi/ec.asl +Memory layout of X1C6-embedded controller as far as known: + OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100) + Field (ECOR, ByteAcc, NoLock, Preserve) + { + HDBM, 1, + , 1, + , 1, + HFNE, 1, // Enable Sticky Fn Key + , 1, + , 1, + HLDM, 1, + Offset (0x01), // [Configuration Space 1] + BBLS, 1, + BTCM, 1, + , 1, + , 1, + , 1, + HBPR, 1, + BTPC, 1, + Offset (0x02), // [Configuration Space 2] + HDUE, 1, + , 4, + SNLK, 1, + Offset (0x03), // [Configuration Space 3] + , 5, + HAUM, 2, + Offset (0x05), // [Sound Mask 1] + HSPA, 1, // power off alarm + Offset (0x06), // [Sound ID (Write only)] + HSUN, 8, // Sound ID (Write Only) + Offset(0x07), // [Sound Repeat Interval (unit time 125ms)] + HSRP, 8, // Sound Repeat Interval (Unit time : 125ms ) + Offset (0x0C), // [LED On/Off/ Blinking Control (Write only)] + HLCL, 4, // 0: power LED + // 1: battery status 0 + // 2: battery status 1 + // 3: additional Bay LED (Venice) / reserved (Toronto-4) / Slicer LED (Tokyo) + // 4-6: reserved + // 7: suspend LED + // 8: dock LED 1 + // 9: dock LED 2 + // 10-13: reserved + // 14: microphone mute + // 15: reserved + , 4, + CALM, 1, + Offset (0x0E), // [Peripheral Status 4] + HFNS, 2, // Bit[1, 0] : Fn Key Status + // [0, 0] ... Unlock + // [0, 1] ... Sticky + // [1, 0] ... Lock + // [1, 1] ... Reserved + Offset (0x0F), // [Peripheral status 5 (read only)] ? + , 6, + NULS, 1, + Offset (0x10), // [Attention Mask (00-127)] + HAM0, 8, // 10 : Attention Mask (00-07) + HAM1, 8, // 11 : Attention Mask (08-0F) + HAM2, 8, // 12 : Attention Mask (10-17) + HAM3, 8, // 13 : Attention Mask (18-1F) + HAM4, 8, // 14 : Attention Mask (20-27) + HAM5, 8, // 15 : Attention Mask (28-2F) + HAM6, 8, // 16 : Attention Mask (30-37) + HAM7, 8, // 17 : Attention Mask (38-3F) + HAM8, 8, // 18 : Attention Mask (40-47) + HAM9, 8, // 19 : Attention Mask (48-4F) + HAMA, 8, // 1A : Attention Mask (50-57) + HAMB, 8, // 1B : Attention Mask (58-5F) + HAMC, 8, // 1C : Attention Mask (60-67) + HAMD, 8, // 1D : Attention Mask (68-6F) + HAME, 8, // 1E : Attention Mask (70-77) + HAMF, 8, // 1F : Attention Mask (78-7F) + Offset (0x23), // [Misc. control] + HANT, 8, + Offset (0x26), + , 2, + HANA, 2, + Offset (0x27), // [Passward Scan Code] + Offset (0x28), + , 1, + SKEM, 1, + Offset (0x29), + Offset (0x2A), // [Attention Request] + HATR, 8, // 2A : Attention request + Offset(0x2B), // [Trip point of battery capacity] + HT0H, 8, // 2B : MSB of Trip Point Capacity for Battery 0 + HT0L, 8, // 2C : LSB of Trip Point Capacity for Battery 0 + HT1H, 8, // 2D : MSB of Trip Point Capacity for Battery 1 + HT1L, 8, // 2E : LSB of Trip Point Capacity for Battery 1 + Offset(0x2F), // [Fan Speed Control] + HFSP, 8, // bit 2-0: speed (0: stop, 7:highest speed) + // bit 5-3: reserved (should be 0) + // bit 6: max. speed + // bit 7: Automatic mode (fan speed controlled by thermal level) + Offset(0x30), // [Audio mute control] + , 7, // Reserved bits[0:6] + SMUT, 1, // Mute + Offset (0x31), // [Peripheral Control 2] + FANS, 2, // bit 0,1 Fan selector ? + // 00: Fan 1, 01: Fan 2 ? + HUWB, 1, // UWB on + , 3, + VPON, 1, + VRST, 1, + Offset(0x32), // [EC Event Mask 0] + HWPM, 1, // PME : Not used. PME# is connected to GPE directly. + HWLB, 1, // Critical Low Bat + HWLO, 1, // Lid Open + HWDK, 1, + HWFN, 1, // FN key + HWBT, 1, + HWRI, 1, // Ring Indicator (UART) + HWBU, 1, // Bay Unlock + HWLU, 1, + Offset (0x34), + , 3, + PIBS, 1, + , 3, + HPLO, 1, + Offset (0x36), + HWAC, 16, + Offset(0x38), // [Battery 0 status (read only)] + HB0S, 7, // bit 3-0 level + // F: Unknown + // 2-n: battery level + // 1: low level + // 0: (critical low battery, suspend/ hibernate) + // bit 4 error + // bit 5 charge + // bit 6 discharge + HB0A, 1, // bit 7 battery attached + Offset(0x39), // [Battery 1 status (read only)] + // bit definition is the same as offset(0x38) + Offset(0x3A), // [Peripheral control 0] + HCMU, 1, // Mute + , 2, + OVRQ, 1, + DCBD, 1, // Bluetooth On + DCWL, 1, // Wireless Lan On + DCWW, 1, // Wireless Wan On + HB1I, 1, + Offset(0x3B), // [Peripheral control 1] + , 1, // Speaker Mute + KBLT, 1, // Keyboard Light + BTPW, 1, + FNKC, 1, + HUBS, 1, + BDPW, 1, // Bluetooth power? + BDDT, 1, // Bluetooth detach? + HUBB, 1, + Offset(0x3C), // [Resume reason (Read only)] + Offset(0x3D), // [Password Control byte] + Offset(0x3E), // [Password data (8 byte)~ offset:45h] + Offset (0x46), // [sense status 0] + , 1, + BTWK, 1, + HPLD, 1, // LID open + , 1, + HPAC, 1, // External power (AC status) + BTST, 1, + PSST, 1, + Offset (0x47), // [sense status 1] + HPBU, 1, // Bay Unlock + , 1, + HBID, 1, + , 3, + HBCS, 1, + HPNF, 1, + Offset(0x48), // [sense status 2] + , 1, + GSTS, 1, // Global Wan Enable Switch + , 2, + HLBU, 1, + DOCD, 1, + HCBL, 1, + Offset (0x49), // [sense status 3] + SLUL, 1, + , 1, + ACAT, 1, + , 4, + ELNK, 1, + Offset (0x4C), // [MSB of Event Timer] + HTMH, 8, + HTML, 8, + HWAK, 16, + HMPR, 8, + , 7, + HMDN, 1, + Offset (0x78), // [Temperature of thermal sensor 0 (centigrade)] + TMP0, 8, // 78 : Temperature of thermal sensor 0 + Offset (0x80), // [Attention control byte] + Offset (0x81), // [Battery information ID for 0xA0-0xAF] + HIID, 8, // (this byte is depend on the interface, 62&66 and 1600&1604) + Offset (0x83), // [Fn Dual function ID] + HFNI, 8, // 0: none + // 1-3: Reserved + // 4: ACPI Power + // 5: ACPI Sleep + // 6: ACPI Wake + // 7: Left Ctrl key + Offset(0x84), // [Fan Speed] + HSPD, 16, // + // (I/F Offset 3Bh bit5 => 0:Main Fan , 1:Second Fan) + Offset (0x88), // [Thermal Status of Level 0 (low)] + TSL0, 7, + TSR0, 1, + Offset (0x89), // [Thermal Status of Level 1 (middle)] + TSL1, 7, + TSR1, 1, + Offset (0x8A), // [Thermal Status of Level 2 (middle high)] + TSL2, 7, + TSR2, 1, + Offset (0x8B), // [Thermal Status of Level 3 (high)] + TSL3, 7, + TSR3, 1, + GPUT, 1, + Offset(0x8D), // [Interval of polling Always-on cards in half minute] + HDAA, 3, // Warning Delay Period + HDAB, 3, // Stolen Delay Period + HDAC, 2, // Sensitivity + Offset (0xB0), + HDEN, 32, + HDEP, 32, + HDEM, 8, + HDES, 8, + Offset (0xC4), + SDKL, 1, + Offset (0xC5), + Offset (0xC8), // [Adaptive Thermal Management (ATM)] + ATMX, 8, // bit 7-4 - Thermal Table & bit 3-0 - Fan Speed Table + Offset(0xC9), // [Wattage of AC/DC] + HWAT, 8, // + Offset (0xCC), // + PWMH, 8, // CC : AC Power Consumption (MSB) + PWML, 8, // CD : AC Power Consumption (LSB) - unit: 100mW + Offset (0xCF), + , 6, + ESLP, 1, + Offset (0xD0), + Offset (0xED), + , 4, + HDDD, 1 + } +*/ + +DefinitionBlock ("", "SSDT", 2, "T480", "EC", 0x00001000) +{ + // EC path + External (_SB.PCI0.LPCB.EC, DeviceObj) + + Scope (\) + { + /** + * Status from two EC fields + * + * e.g. B1B2 (0x3A, 0x03) -> 0x033A + */ + Method (B1B2, 2, NotSerialized) + { + Return ((Arg0 | (Arg1 << 0x08))) + } + + /** + * Status from four EC fields + */ + Method (B1B4, 4, NotSerialized) + { + Local0 = (Arg2 | (Arg3 << 0x08)) + Local0 = (Arg1 | (Local0 << 0x08)) + Local0 = (Arg0 | (Local0 << 0x08)) + + Return (Local0) + } + + + // Word to Bytes + // e.g. W16B (ARG0, ARG1, 0x033A) -> ARG0=0x3A, ARG1=0x03 + Method (W16B, 3, NotSerialized) + { + Arg0 = Arg2 + + Arg1 = (Arg2 >> 0x08) + } + } + + /* + * Methods to EC read / write access in case you don't have battery patch + * Taken from Rehabmman's guide: https://www.tonymacx86.com/threads/guide-how-to-patch-dsdt-for-working-battery-status.116102/ + * https://xstar-dev.github.io/hackintosh_advanced/Guide_For_Battery_Hotpatch.html#%E6%8B%86%E5%88%86%E5%87%BD%E6%95%B0%E5%8E%9F%E7%90%86 + */ + Scope (_SB.PCI0.LPCB.EC) + { + /* + * Called from RECB, grabs a single byte from EC + * Arg0 - offset in bytes from zero-based EC + */ + Method (RE1B, 1, Serialized) + { + OperationRegion (ERAM, EmbeddedControl, Arg0, One) + Field (ERAM, ByteAcc, NoLock, Preserve) + { + BYTE, 8 + } + + Return (BYTE) /* \RE1B.BYTE */ + } + + /** + * Read specified number of bytes from EC + * + * Arg0 - offset in bytes from zero-based EC + * Arg1 - size of buffer in bits + */ + Method (RECB, 2, Serialized) + { + Arg1 = ((Arg1 + 0x07) >> 0x03) + + Local7 = Buffer (Arg1) {} + + Arg1 += Arg0 + Local0 = Zero + + While ((Arg0 < Arg1)) + { + Local7 [Local0] = RE1B (Arg0) + Arg0++ + Local0++ + } + + Return (Local7) /* \RECB.TEMP */ + } + + /** + * Write 1 byte to EC + * + * Arg0: Offset, Arg1: Byte to be written + */ + Method (WE1B, 2, Serialized) + { + OperationRegion (ERAM, EmbeddedControl, Arg0, One) + Field (ERAM, ByteAcc, NoLock, Preserve) + { + BYTE, 8 + } + + BYTE = Arg1 + } + + /** + * Write to EC field + * + * Arg0: Offset + * Arg1: Length, Arg2: Data to be written + */ + Method (WECB, 3, Serialized) + { + Arg1 = ((Arg1 + 0x07) >> 0x03) // Arg1 = ceil(Arg1 / 8), this is loop counter + + Local7 = Buffer (Arg1) {} // Initial buffer to be written + Local7 = Arg2 + + Arg1 += Arg0 // Shift write window to target area + Local0 = Zero // Buffer index + + While ((Arg0 < Arg1)) + { + WE1B (Arg0, DerefOf (Local7 [Local0])) + Arg0++ // Offset++ + Local0++ // Index++ + } + } + } +} +// EOF + diff --git a/Other/Disassembled ACPI/SSDT-HWAC.dsl b/Other/Disassembled ACPI/SSDT-HWAC.dsl new file mode 100644 index 0000000..9098267 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-HWAC.dsl @@ -0,0 +1,92 @@ +/** + * On many modern hackintoshed thinkpads there are ofthen accesses to the 16-bit EC-field `HWAC`, which are mostly + * not handled by battery-patches (f.e. those currated by @daliansky). Those accesses are (mostly) located in the _OWAK() + * and/or _L17-ACPI-methods of the original DSDT. + * + * The ACPI-method OWAK() gets called by _WAK() on wake and crashes there on access of the HWAC-field, leaving the + * machine in an undefined/unknown hw-state as the regular ACPI-wakeup-method, which re-setups the hardware after S3-sleep, + * can't run to its end. + * + * Especially this bug is often not clearly visible as the kernel-ringbuffer (msgbuf) is, by default, only 4kb in size and flooded on wake + * with many messages. This can be mitigated (up to 16kb) via `msgbuf`-boot-arg or patched by `DebugEnhancer.kext` by @acidanthera. + * You can check the size of your msgbuf with `sysctl -a kern.msgbuf`. + * + * This SSDT is a simple solution for that problem and should be stable accross different Thinkpad models which suffer from this problem + * as it fixes all accesses to the EC.HWAC-field at once. + * + * It repleaces all reads to HWAC with a call to XWAC(), returning a newly stitched 16-bit-field out of the + * two overlayed 8-bit-fields `WAC0` & `WAC1`. + * + * + * Background: + * `Later releases of AppleACPIPlatform are unable to correctly access fields within the EC (embedded controller). + * [...] DSDT must be changed to comply with the limitations of Apple's AppleACPIPlatform. + * + * In particular, any fields in the EC larger than 8-bit, must be changed to be accessed 8-bits at one time. + * This includes 16, 32, 64, and larger fields.` + * - @Rehabman, https://www.tonymacx86.com/threads/guide-how-to-patch-dsdt-for-working-battery-status.116102/ + */ + +// Patch for OpenCore 0.62 +// +// Comment +// FIX: Change HWAC to XWAC EC reads +// Count +// 0 +// Enabled +// +// Find +// RUNfX0hXQUM= +// Limit +// 0 +// Mask +// +// OemTableId +// +// Replace +// RUNfX1hXQUM= +// ReplaceMask +// +// Skip +// 0 +// TableLength +// 0 +// TableSignature +// RFNEVA== +// + +DefinitionBlock ("", "SSDT", 2, "T480", "HWAC", 0x00001000) +{ + External (_SB.PCI0.LPCB.EC, DeviceObj) + External (_SB.PCI0.LPCB.EC.HWAC, FieldUnitObj) + + Scope (\_SB.PCI0.LPCB.EC) + { + // + // EC region overlay. + // + OperationRegion (ERAM, EmbeddedControl, 0x00, 0x0100) + Field (ERAM, ByteAcc, NoLock, Preserve) + { + Offset (0x36), + WAC0, 8, WAC1, 8, + } + + // Method used for replacing reads to HWAC in _L17() & OWAK(). + Method (XWAC, 0, NotSerialized) + { + If (_OSI ("Darwin")) + { + Local0 = (WAC1 << 0x08) + Local0 |= WAC0 + + Return (Local0) + } + Else + { + Return (HWAC) + } + } + } +} +// EOF diff --git a/Other/Disassembled ACPI/SSDT-INIT.dsl b/Other/Disassembled ACPI/SSDT-INIT.dsl new file mode 100644 index 0000000..f873fcb --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-INIT.dsl @@ -0,0 +1,82 @@ +// Source: https://github.com/tianocore/edk2-platforms/blob/master/Platform/Intel/KabylakeOpenBoardPkg/Include/Acpi/GlobalNvs.asl +// // +// // Miscellaneous Dynamic Registers: +// // +// Offset(0), OSYS, 16, // Offset(0), Operating System +// Offset(2), SMIF, 8, // Offset(2), SMI Function Call (ASL to SMI via I/O Trap) +// Offset(3), P80D, 32, // Offset(3), Port 80 Debug Port Value +// Offset(7), PWRS, 8, // Offset(7), Power State (AC Mode = 1) +// // +// // Thermal Policy Registers: +// // +// Offset(8), DTSE, 8, // Offset(8), Digital Thermal Sensor Enable +// Offset(9), DTSF, 8, // Offset(9), DTS SMI Function Call +// // +// // CPU Identification Registers: +// // +// Offset(10), APIC, 8, // Offset(10), APIC Enabled by SBIOS (APIC Enabled = 1) +// Offset(11), TCNT, 8, // Offset(11), Number of Enabled Threads +// // +// // PCIe Hot Plug +// // +// Offset(12), OSCC, 8, // Offset(12), PCIE OSC Control +// Offset(13), NEXP, 8, // Offset(13), Native PCIE Setup Value +// [...] +// Offset(65), RTD3, 8, // Offset(65), Runtime D3 support. +// Offset(66), S0ID, 8, // Offset(66), Low Power S0 Idle Enable +// Offset(67), GBSX, 8, // Offset(67), Virtual GPIO button Notify Sleep State Change +// Offset(68), PSCP, 8, // Offset(68), P-state Capping +// Offset(69), P2ME, 8, // Offset(69), Ps2 Mouse Enable +// Offset(70), P2MK, 8, // Offset(70), Ps2 Keyboard and Mouse Enable +// // +// // Driver Mode +// // +// Offset(71), GIRQ, 32, // Offset(71), GPIO IRQ +// Offset(75), PLCS, 8, // Offset(75), set PL1 limit when entering CS +// Offset(76), PLVL, 16, // Offset(76), PL1 limit value +// Offset(78), PB1E, 8, // Offset(78), 10sec Power button support +// Offset(79), ECR1, 8, // Offset(79), Pci Delay Optimization Ecr +// Offset(80), TBTS, 8, // Offset(80), Thunderbolt(TM) support +// Offset(81), TNAT, 8, // Offset(81), TbtNativeOsHotPlug +// Offset(82), TBSE, 8, // Offset(82), Thunderbolt(TM) Root port selector +// Offset(83), TBS1, 8, // Offset(83), Thunderbolt(TM) Root port selector +// Offset(84), BDID, 8, // Offset(84), Board ID + +DefinitionBlock ("", "SSDT", 2, "T480", "INIT", 0x00001000) +{ + // External method from SSDT-UTILS.dsl + External (OSDW, MethodObj) // 0 Arguments + + External (_SB.PCI0, DeviceObj) + + // System + External (HPTE, FieldUnitObj) // HPET enabled? + External (WNTF, FieldUnitObj) // DYTC enabled? + External (DPTF, FieldUnitObj) // DPTF enabled? + External (OSYS, FieldUnitObj) // OS type + External (ZINI, MethodObj) + + // Thunderbolt + External (_SB.PCI0.RP09.INIT, MethodObj) + + Method (OINI, 0, NotSerialized) + { + + If (_OSI ("Darwin")) + { + Debug = "Set Variables..." + + // disable HPET. It shouldn't be needed on modern systems anyway and is also disabled in genuine OSX + HPTE = Zero + + // Patch OSYS to native value of darwin + OSYS = 0x07DF + + // Enables DYTC, Lenovos thermal solution. Can be controlled by YogaSMC + // WNTF = One + + // Disable DPTF, we use DYTC! + // DPTF = Zero + } + } +} diff --git a/Other/Disassembled ACPI/SSDT-KBRD.dsl b/Other/Disassembled ACPI/SSDT-KBRD.dsl new file mode 100644 index 0000000..9fac628 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-KBRD.dsl @@ -0,0 +1,51 @@ +// SSDT for T480 Keyboard Map & Configuration. + +DefinitionBlock("", "SSDT", 2, "T480", "KBRD", 0) +{ + External(\_SB.PCI0.LPCB.KBD, DeviceObj) + + Scope (\_SB.PCI0.LPCB.KBD) + + { + If (_OSI ("Darwin")) + { + // Lenovo ThinkPad T480 Configuration Load + // Select specific items in VoodooPS2Controller + Method(_DSM, 4, NotSerialized) + { + If (!Arg2) + { + Return (Buffer () + { + 0x03 + }) + } + + Return (Package () + { + "RM,oem-id", "LENOVO", + "RM,oem-table-id", "T480", + }) + } + + // Overrides for settings in the Info.plist files + Name(RMCF, Package() + { + "Keyboard", Package () + { + "ActionSwipeLeft", "37 d, 21 d, 21 u, 37 u", + "ActionSwipeRight", "37 d, 1e d, 1e u, 37 u", + "SleepPressTime", "500", + "Swap command and option", ">y", + "Custom PS2 Map", Package() + { + Package(Zero) { }, + "e038=e05b", //AltGr=Left Windows + "e037=64", // PrtSc=F13,via SysPrefs->Keyboard->Shortcuts + }, + }, + }) + } + } +} +//EOF \ No newline at end of file diff --git a/Other/Disassembled ACPI/SSDT-OFFDGPU.dsl b/Other/Disassembled ACPI/SSDT-OFFDGPU.dsl new file mode 100644 index 0000000..8e79ef0 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-OFFDGPU.dsl @@ -0,0 +1,76 @@ +DefinitionBlock("", "SSDT", 2, "T480", "OFFDGPU", 0x00001000) +{ + External (_SB.PCI0, DeviceObj) + External (_SB.PCI0.RP01, DeviceObj) + External (_SB.PCI0.HGOF, MethodObj) // 0 Arguments + External (P8XH, MethodObj) // 2 Arguments + External (_SB.PCI0.RP01.VDID, FieldUnitObj) + External (_SB.PCI0.RP01.LDIS, FieldUnitObj) + External (_SB.PCI0.LPCB.DGRT, IntObj) + External (_SB.PCI0.LPCB.DGON, IntObj) + + // Disable dGPU on PCIe-Level + Scope (_SB.PCI0.RP01) + { + Method (DOFF, 0, Serialized) + { + Debug = "OFFDGPU:DOFF()" + // Debug = "OFFDGPU:VDID: (before)" + // Debug = VDID + + // disable dGPU + \P8XH (Zero, 0x21) + ^^HGOF () + \P8XH (Zero, 0x22) + + // disable rp01-pci-bridge + ^^LPCB.DGRT = Zero + ^^LPCB.DGON = Zero + LDIS = One + + // Debug = "OFFDGPU:DGRT: (after)" + // Debug = ^^LPCB.DGRT + + // Debug = "OFFDGPU:DGON: (after)" + // Debug = ^^LPCB.DGON + + // Debug = "OFFDGPU:VDID: (after)" + // Debug = VDID + } + + Method (_STA, 0, Serialized) + { + // Debug = "OFFDGPU:_STA" + + If (_OSI ("Darwin")) + { + DOFF () + + Return (Zero) + } + + Return (0x0F) + } + + Method (_PS0, 0, Serialized) + { + // Debug = "OFFDGPU:_PS0" + + If (_OSI ("Darwin")) + { + DOFF () + } + } + + Method (_PS3, 0, Serialized) + { + // Debug = "OFFDGPU:_PS3" + + If (_OSI ("Darwin")) + { + DOFF () + } + } + } +} +// EOF diff --git a/Other/Disassembled ACPI/SSDT-OFFTB.dsl b/Other/Disassembled ACPI/SSDT-OFFTB.dsl new file mode 100644 index 0000000..08087f9 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-OFFTB.dsl @@ -0,0 +1,71 @@ +DefinitionBlock("", "SSDT", 2, "T480", "OFFTB", 0x00001000) +{ + // Force off TB + External (_SB.PCI0.RP09, DeviceObj) + External (_SB.PCI0.RP09.POFF, MethodObj) // 0 Arguments + + External (_SB.PCI0.RP09.VDID, FieldUnitObj) + External (_SB.PCI0.RP09.LDIS, FieldUnitObj) + External (TBTS, FieldUnitObj) + External (RTBT, FieldUnitObj) + External (TOFF, FieldUnitObj) + External (TRD3, FieldUnitObj) + + Scope (_SB.PCI0.RP09) + { + Method (DOFF, 0, Serialized) + { + Debug = "OFFTB:DOFF()" + // Debug = "OFFTB:DOFF() - VDID: (before):" + // Debug = VDID + + // Debug = "OFFTB:TBOF() POFF()" + TRD3 = 0x01 + POFF () + TRD3 = 0x00 + + TBTS = Zero + LDIS = One + + // Debug = "OFFTB:TBOF() - TOFF:" + // Debug = TOFF + + // Debug = "OFFTB:TBOF() - TBTS:" + // Debug = TBTS + + // Debug = "OFFTB:TBOF() - VDID:" + // Debug = VDID + } + + Method (_STA, 0, Serialized) + { + // Debug = "OFFTB:_STA" + + If (_OSI ("Darwin")) + { + DOFF () + + Return (Zero) + } + + Return (0x0F) + } + + Method (_PS0, 0, Serialized) + { + If (_OSI ("Darwin")) + { + DOFF () + } + } + + Method (_PS3, 0, Serialized) + { + If (_OSI ("Darwin")) + { + DOFF () + } + } + } +} +// EOF diff --git a/Other/Disassembled ACPI/SSDT-PM.dsl b/Other/Disassembled ACPI/SSDT-PM.dsl new file mode 100644 index 0000000..a0b3ef3 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-PM.dsl @@ -0,0 +1,68 @@ +// +// Fix power-management +// +// Many setups disable the PPMC-device and force the PMCR-device to be `Name (_HID, EisaId ("APP9876"))`, +// because they saw something similar at @acidanthera's ACPI-samples. +// +// That's entirely wrong as it is intended to fix NVRAM-access on series 300-mainboards as clearly stated in +// the comment in the file. This breaks the PMC as it disables the real PCI-PMC-controller (PPMC) on x80-thinkpads! +// +// This fixes the actually available PPMC-device to be as closely compatible to the ACPI-setup on +// the macbookpro14,1. +// +// +DefinitionBlock ("", "SSDT", 2, "T480", "PM", 0x00001000) +{ + // External method from SSDT-UTILS.dsl + External (OSDW, MethodObj) // 0 Arguments + External (DTGP, MethodObj) // 5 Arguments + + External (_PR.PR00, ProcessorObj) + + // + // XCPM power management compatibility table. + // Makes X86PlatformPlugin load. + // + Scope (\_PR.PR00) + { + Method (_DSM, 4, NotSerialized) + { + // + // Inject plugin-type = 0x01 to load X86*.kext + // + Local0 = Package (0x02) + { + "plugin-type", + One + } + DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) + Return (Local0) + } + } + + // Fix PM-Controller + External (_SB.PCI0, DeviceObj) // 0 Arguments + + Scope (\_SB.PCI0) + { + // + // Same device present on macbook14,1 according to: + // https://github.com/khronokernel/DarwinDumped/blob/b6d91cf4a5bdf1d4860add87cf6464839b92d5bb/MacBookPro/MacBookPro14%2C1/ACPI%20Tables/DSL/DSDT.dsl#L6120 + // + Device (PMCR) + { + Name (_ADR, 0x001F0002) // _ADR: Address + + Method (_STA, 0, NotSerialized) + { + If (OSDW ()) + { + Return (0x0F) + } + + Return (Zero) + } + } + } +} +// EOF diff --git a/Other/Disassembled ACPI/SSDT-PNLF.dsl b/Other/Disassembled ACPI/SSDT-PNLF.dsl new file mode 100644 index 0000000..2566eff --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-PNLF.dsl @@ -0,0 +1,25 @@ +// Backlight + +DefinitionBlock ("", "SSDT", 2, "T480", "PNLF", 0) +{ + If (_OSI ("Darwin")) + { + Scope (_SB) + { + Device (PNLF) + { + Name (_ADR, Zero) + Name (_HID, EisaId ("APP0002")) + Name (_CID, "backlight") + //Skylake/KabyLake/KabyLake-R + Name (_UID, 0x10) + Method (_STA, 0, NotSerialized) + { + Return (0x0B) + } + } + } + } +} + +//EOF \ No newline at end of file diff --git a/Other/Disassembled ACPI/SSDT-SLEEP.dsl b/Other/Disassembled ACPI/SSDT-SLEEP.dsl new file mode 100644 index 0000000..2383691 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-SLEEP.dsl @@ -0,0 +1,411 @@ +/** + * # Comprehensive Sleep-patches for modern thinkpads. + * + * ## Abstract + * + * This SSDT tries to be a comprehensive solution for sleep/wake-problems on most modern thinkpads. + * It was developed on an X1C6 with a T480 in mind. + * It immitates the behaviour of a macbookpro14,1 which is perfectly adequate for modern, kabylake-based Thinkpads. + * + * For X1C6 its perfectly possible to set SleepType=Windows in BIOS while getting perfect S3-Standby in OSX. + * That's the recommended setting as it enables "modern standby" in Windows for dual-boot-systems. + * + * With this SSDT it is perfectly possible to have ACPI-sleepstates S0 (DeepIde), S3 (Standby) & S4 (Hibernation) working. + * So generally hibernatemode 0, 3 & 25 in OSX' terms are possible. There might be smaller bugs and hickups though. + * F.e. S0-DeepIdle has a much higher power draw on sleep as S3 atm. There are also reports about such behaviour on + * native OSX & native Windows. Bugs are not infrequently rooted in poor ACPI-implementations or OSX-bugs and not + * directly rooted in hackintoshing. + * + * No special setup via pmset per se needed, but may be needed anyways depending f.e. on your bluetooth implementation. + * If you have played with `pmset` and want to restore the defaults to have a clean state, use `sudo pmset -a restoredefaults`. + * + * Bottom line: We are near a relative native pm-/sleep-setup with this. + * + * + * ## Background: + * + * Sleep on hackintoshes is a complicated topic. More complicated as mostly percieved. The problem is + * that many functions of power management, sleep & wake are handled by the Macbook's embedded controller (EC) + * / SMC and therefor many functions and devices are simply missing on Hackintoshes (f.e. the topcase-device). + * What we do have are our own, vendor-specific ECs and a myriade of different names for different sleep-methods. + * + * On top of this, most parts of the config have to be configured properly to accomplish working, non (or at least less) + * power-loosing sleep-states. Many of the (partly) solutions out there don't try to replicate the sleep-behaviour + * of a genuine macbook, but try to hide shortcomings and bugs with "ons-size-fits-all"-patches. + * + * With this reasoning in mind, this SSDT tries to match the sleep-behaviour of a macbookpro14,1 as closely as possible. + * + * + * # Notice: + * + * Please remove every GPRW-, Name6x-, PTSWAK-, FixShutdown-, WakeScren-Patches or similar prior using. + * If you adapt this patches to other models, check the occurence of the used variables and methods on your own DSDT beforehand. + * + * + * # Needed patches for this SSDT on a X1C6: + * + + Comment + SLEEP: GRPW(2,N) to ZRPW + Count + 0 + Enabled + + Find + BkdQUlcCcA== + Limit + 0 + Mask + + OemTableId + + Replace + BlpQUlcCcA== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + RFNEVA== + + + Comment + SLEEP: _PTS(1,N) to ZPTS + Count + 0 + Enabled + + Find + X1BUUw== + Limit + 0 + Mask + + OemTableId + + Replace + WlBUUw== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + RFNEVA== + + + Comment + SLEEP: _WAK(1,S) to ZWAK + Count + 0 + Enabled + + Find + X1dBSwk= + Limit + 0 + Mask + + OemTableId + + Replace + WldBSwk= + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + RFNEVA== + + * + */ +DefinitionBlock ("", "SSDT", 2, "T480", "SLEEP", 0x00001000) +{ + // Common utils from SSDT-UTILS.dsl + External (DTGP, MethodObj) // 5 Arguments + External (OSDW, MethodObj) // 0 Arguments + + // Sleep-config from BIOS + External (S0ID, FieldUnitObj) // BIOS-S0 enabled, "Windows Modern Standby" + External (STY0, FieldUnitObj) // S3 Enabled? + + // Package to signal to OS S3-capability. We'll add it if missing. + External (SS3, FieldUnitObj) // S3 Enabled? + External (_S3) + + Name (DIEN, Zero) // DeepIdle (ACPI-S0) enabled + Name (INIB, One) // Initial BootUp + + // This make OSX independent of the BIOS-sleep-setting on X1C6 and force-enable S3 + If (OSDW ()) + { + Debug = "SLEEP: Enabling comprehensive S3-patching..." + + // Enable S3 + // 0x00 enables S3 + // 0x02 disables S3 + STY0 = Zero + + // Disable S0 for now + S0ID = Zero + + // This adds S3 for OSX, even when sleep=windows in bios. + If (STY0 == Zero && !CondRefOf (\_S3)) + { + Name (\_S3, Package (0x04) // _S3_: S3 System State + { + 0x05, + 0x05, + 0x00, + 0x00 + }) + + SS3 = One + } + } + + + // SLTP named on OSX but already taken on X1C6. Therefor named XLTP. + Name (XLTP, Zero) + + // Save sleep-state in XLTP on transition. Like a genuine Mac. + Method (_TTS, 1, NotSerialized) // _TTS: Transition To State + { + Debug = Concatenate ("SLEEP:_TTS() called with Arg0 = ", Arg0) + + XLTP = Arg0 + } + + + // @SEE https://github.com/tianocore/edk2-platforms/blob/master/Platform/Intel/KabylakeOpenBoardPkg/Acpi/BoardAcpiDxe/Dsdt/Gpe.asl + // @SEE https://pikeralpha.wordpress.com/2017/01/12/debugging-sleep-issues/ + Scope (_GPE) + { + // This tells xnu to evaluate _GPE.Lxx methods on resume + Method (LXEN, 0, NotSerialized) + { + Return (One) + } + } + + External (_SB.PCI0.LPCB, DeviceObj) + External (_SB.PCI0.LPCB.EC, DeviceObj) + External (_SB.LID, DeviceObj) + + External (_SB.PCI0.LPCB.EC.AC._PSR, MethodObj) // 0 Arguments + External (_SB.PCI0.RP09.UPSB.LSTX, MethodObj) // 2 Arguments + External (_SB.PCI0.LPCB.EC.LED, MethodObj) // 2 Arguments + External (_SB.PCI0.XHC.USBM, MethodObj) // 0 Arguments + External (ZPRW, MethodObj) // 2 ARguments + External (ZPTS, MethodObj) // 1 Arguments + External (ZWAK, MethodObj) // 1 Arguments + + External (_SB.PCI0.XHC.PMEE, FieldUnitObj) + External (_SB.PCI0.XDCI.PMEE, FieldUnitObj) + External (_SB.PCI0.HDAS.PMEE, FieldUnitObj) + External (_SB.PCI0.GLAN.PMEE, FieldUnitObj) + External (_SB.SCGE, FieldUnitObj) + + External (_SB.PCI0.LPCB.EC.HPLD, FieldUnitObj) + External (_SB.PCI0.GFX0.CLID, FieldUnitObj) + External (LIDS, FieldUnitObj) + External (PWRS, FieldUnitObj) + External (TBTS, FieldUnitObj) + + Scope (\) + { + // Fix sleep + Method (SPTS, 0, NotSerialized) + { + Debug = "SLEEP:SPTS" + + If (\LIDS != \_SB.PCI0.LPCB.EC.HPLD) + { + Debug = "SLEEP:SPTS - lid-state unsync." + + \LIDS = \_SB.PCI0.LPCB.EC.HPLD + \_SB.PCI0.GFX0.CLID = LIDS + } + + // Force-update LEDs, mainly used in ACPI-S0 + \_SB.PCI0.LPCB.EC.LED (0x07, 0xA0) + \_SB.PCI0.LPCB.EC.LED (0x00, 0xA0) + \_SB.PCI0.LPCB.EC.LED (0x0A, 0xA0) + } + + // Fix wake + Method (SWAK, 0, NotSerialized) + { + Debug = "SLEEP:SWAK" + + If (\LIDS != \_SB.PCI0.LPCB.EC.HPLD) + { + Debug = "SLEEP:SWAK - lid-state unsync." + + \LIDS = \_SB.PCI0.LPCB.EC.HPLD + \_SB.PCI0.GFX0.CLID = LIDS + } + + // Wake screen on wake + Notify (\_SB.LID, 0x80) + + // Force-update LEDs, just to be sure ;) + \_SB.PCI0.LPCB.EC.LED (0x00, 0x80) + \_SB.PCI0.LPCB.EC.LED (0x0A, 0x80) + \_SB.PCI0.LPCB.EC.LED (0x07, 0x80) + + // Update ac-state + \PWRS = \_SB.PCI0.LPCB.EC.AC._PSR () + + \_SB.SCGE = One + } + + + If (CondRefOf (\ZPTS)) + { + Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep + { + Debug = Concatenate ("SLEEP:_PTS called - Arg0 = ", Arg0) + + // On sleep + If (OSDW () && (Arg0 < 0x05)) + { + SPTS () + } + + ZPTS (Arg0) + + // On shutdown + If (OSDW () && (Arg0 == 0x05)) + { + If (CondRefOf (\_SB.PCI0.XHC.PMEE)) + { + \_SB.PCI0.XHC.PMEE = Zero + } + + If (CondRefOf (\_SB.PCI0.XDCI.PMEE)) + { + \_SB.PCI0.XDCI.PMEE = Zero + } + + If (CondRefOf (\_SB.PCI0.GLAN.PMEE)) + { + \_SB.PCI0.GLAN.PMEE = Zero + } + + If (CondRefOf (\_SB.PCI0.HDAS.PMEE)) + { + \_SB.PCI0.HDAS.PMEE = Zero + } + + // If (CondRefOf (\_SB.PCI0.XHC.USBM)) + // { + // \_SB.PCI0.XHC.USBM () + // } + + // If (CondRefOf (\_SB.PCI0.RP09.UPSB.LSTX)) + // { + // Debug = "SLEEP:_PTS: Call TB-LSTX" + // \_SB.PCI0.RP09.UPSB.LSTX (Zero, One) + // \_SB.PCI0.RP09.UPSB.LSTX (One, One) + // } + } + } + } + + If (CondRefOf (\ZWAK)) + { + // Patch _WAK to fire missing LID-Open event and update AC-state + Method (_WAK, 1, Serialized) + { + Debug = Concatenate ("SLEEP:_WAK - called Arg0: ", Arg0) + + // On Wake + If (OSDW () && (Arg0 < 0x05)) + { + SWAK () + } + + Local0 = ZWAK(Arg0) + + Return (Local0) + } + } + + // Patch _PRW-returns to match the original as closely as possible + // and should remove instant wakeups and similar sleep-probs + Method (GPRW, 2, Serialized) + { + If (OSDW ()) + { + Local0 = Package (0x02) + { + 0x00, + 0x00 + } + + Local0[0x00] = Arg0 + + If (Arg1 >= 0x04) + { + // Debug = Concatenate ("SLEEP: GPRW patched to 0x00: ", Arg1) + + Local0[0x01] = 0x00 + } + + Return (Local0) + } + + Return (ZPRW (Arg0, Arg1)) + } + } + + + // Handles sleep/wake on ACPI-S0-DeepIdle + Scope (_SB.PCI0.LPCB) + { + Method (_PS0, 0, Serialized) + { + If (OSDW () && DIEN == One && INIB == Zero) + { + \SWAK () + } + + If (INIB == One) + { + INIB = Zero + } + } + + Method (_PS3, 0, Serialized) + { + If (OSDW () && DIEN == One) + { + \SPTS () + } + } + } + + + Scope (_SB) + { + // Enable ACPI-S0-DeepIdle + Method (LPS0, 0, NotSerialized) + { + If (DIEN == One) + { + Debug = "SLEEP: Enable S0-Sleep / DeepSleep" + } + + // If S0ID is enabled, enable deep-sleep in OSX. Can be set above. + // Return (S0ID) + Return (DIEN) + } + } +} +//EOF diff --git a/Other/Disassembled ACPI/SSDT-UTILS.dsl b/Other/Disassembled ACPI/SSDT-UTILS.dsl new file mode 100644 index 0000000..7745581 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-UTILS.dsl @@ -0,0 +1,57 @@ + +// +// Commenly used utils +// +DefinitionBlock ("", "SSDT", 2, "T480", "UTILS", 0x00001000) +{ + Scope (\) + { + Method (DTGP, 5, NotSerialized) + { + If ((Arg0 == ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b"))) + { + If ((Arg1 == One)) + { + If ((Arg2 == Zero)) + { + Arg4 = Buffer (One) + { + 0x03 + } + + Return (One) + } + + If ((Arg2 == One)) + { + Return (One) + } + } + } + + Arg4 = Buffer (One) + { + 0x00 + } + + Return (Zero) + } + + /** + * Detect OSX to enable other patches + */ + Method (OSDW, 0, NotSerialized) + { + If (CondRefOf (\_OSI)) + { + If (_OSI ("Darwin")) + { + Return (One) // Is OSX + } + } + + Return (Zero) + } + } +} +//EOF diff --git a/Other/Disassembled ACPI/SSDT-XHC.dsl b/Other/Disassembled ACPI/SSDT-XHC.dsl new file mode 100644 index 0000000..6191521 --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-XHC.dsl @@ -0,0 +1,386 @@ +// +// Native ACPI-setup for the USB2/3-controller on x80-series Thinkpads +// +// This enables all ports to be as native as possible on OSX and only disables those devices which +// have definetly no drivers on OSX. It should be compatible with almost all thinkpad-configs. +// +// The opinion that things like cardreader, which might not be used, are adding to a significant +// power-draw is false - if one has a working USB-setup. Even if it does not hurt. +// +// This SSDT is developed with compatibility in mind and therefor all devices are enabled by default. +// +// I'm driving both of my thinkpads with ~0.7W pkg-power draw on idle with all devices enabled. +// +// Reference: https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf +// +DefinitionBlock ("", "SSDT", 2, "T480", "XHC", 0x00001000) +{ + External (_SB_.PCI0, DeviceObj) + External (_SB_.PCI0.XHC_, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS01, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS02, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS03, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS04, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS05, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS06, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS07, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS08, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS09, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.HS10, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.SS01, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.SS02, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.SS03, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.SS04, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.SS05, DeviceObj) + External (_SB_.PCI0.XHC_.RHUB.SS06, DeviceObj) + + External (_SB_.PCI0.RP09.UPSB.DSB2.XHC2, DeviceObj) + External (_SB_.PCI0.RP09.UPSB.DSB2.XHC2.MODU, MethodObj) // 0 Arguments + + // External method from SSDT-UTILS.dsl + External (OSDW, MethodObj) // 0 Arguments + External (DTGP, MethodObj) // 5 Arguments + + + Scope (\_SB_.PCI0.XHC_) + { + If (OSDW ()) + { + Name (_GPE, 0x6D) // _GPE: General Purpose Events + } + + Method (RTPC, 1, Serialized) + { + Debug = "XHC:RTPC" + + Return (Zero) + } + + Method (MODU, 0, Serialized) + { + Debug = "XHC:MODU" + + If (CondRefOf (\_SB.PCI0.RP09.UPSB.DSB2.XHC2.MODU)) + { + Return (\_SB.PCI0.RP09.UPSB.DSB2.XHC2.MODU ()) + } + Else + { + Return (One) + } + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS01) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0x03, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS02) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0x03, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS03) // Smartcard-reader, internal, disabled on OSX + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + If (OSDW ()) + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + Zero, + Zero, + Zero, + Zero + }) + } + Else + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS04) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0x08, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS05) // internal Windows Hello IR-Camera, disabled + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + If (OSDW ()) + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + Zero, + Zero, + Zero, + Zero + }) + } + Else + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS06) // unused, internal? + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS07) // Bluetooth, internal + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS08) // Webcam, internal + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS09) // Fingerprint-reader, disabled + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + If (OSDW ()) + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + Zero, + Zero, + Zero, + Zero + }) + } + Else + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.HS10) // Touchscreen, not always present, internal + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.SS01) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0x03, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.SS02) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0x03, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.SS03) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.SS04) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0x09, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.SS05) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + + Scope (\_SB_.PCI0.XHC_.RHUB.SS06) + { + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Return (Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, + 0xFF, + Zero, + Zero + }) + } + } + + + Scope (\_SB) + { + /* + * AppleUsbPower compatibility table for Skylake+. + * + * Be warned that power supply values can be different + * for different systems. Depending on the configuration + * these values must match injected IOKitPersonalities + * for com.apple.driver.AppleUSBMergeNub. iPad remains + * being the most reliable device for testing USB port + * charging support. + * + * Try NOT to rename EC0, H_EC, etc. to EC. + * These devices are incompatible with macOS and may break + * at any time. AppleACPIEC kext must NOT load. + * See the disable code below. + * + * Reference: https://dortania.github.io/OpenCore-Post-Install/usb/misc/power.html + */ + Device (\_SB.USBX) + { + Name (_ADR, Zero) // _ADR: Address + + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + Local0 = Package () + { + "kUSBSleepPortCurrentLimit", 2100, + "kUSBWakePortCurrentLimit", 2100, + "kUSBSleepPowerSupply", 5100, + "kUSBWakePowerSupply", 5100, + } + DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) + Return (Local0) + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (OSDW ()) + { + Return (0x0F) + } + + Return (Zero) + } + } + } +} +//EOF diff --git a/Other/Disassembled ACPI/SSDT-YOGASMC.dsl b/Other/Disassembled ACPI/SSDT-YOGASMC.dsl new file mode 100644 index 0000000..e7d4c8f --- /dev/null +++ b/Other/Disassembled ACPI/SSDT-YOGASMC.dsl @@ -0,0 +1,76 @@ +// +// Helper-methods for YogaSMC +// +DefinitionBlock ("", "SSDT", 2, "T480", "YOGA", 0x00001000) +{ + External (_SB_.PCI0.LPCB.EC, DeviceObj) + External (_SB_.PCI0.LPCB.EC.HKEY, DeviceObj) + External (_SI_._SST, MethodObj) // 1 Arguments + External (_SB_.PCI0.LPCB.EC.HFSP, FieldUnitObj) + External (_SB_.PCI0.LPCB.EC.HFNI, FieldUnitObj) + External (_SB_.PCI0.LPCB.EC.VRST, FieldUnitObj) + + /* + * ThinkSMC sensor access + * Double check name of FieldUnit for collision + * Registers return 0x00 for non-implemented, + * and return 0x80 when not available. + */ + Scope (_SB_.PCI0.LPCB.EC) + { + OperationRegion (ESEN, EmbeddedControl, Zero, 0x0100) + Field (ESEN, ByteAcc, Lock, Preserve) + { + // TP_EC_THERMAL_TMP0 + Offset (0x78), + EST0, 8, // CPU + + // Don't think those are available on the X1C6 + // EST1, 8, + // EST2, 8, + // EST3, 8, // GPU ? + // EST4, 8, // Battery ? + // EST5, 8, // Battery ? + // EST6, 8, // Battery ? + // EST7, 8, // Battery ? + // Offset (0xC0), + // EST8, 8, + // EST9, 8, + // ESTA, 8, + // ESTB, 8, + // ESTC, 8, + // ESTD, 8, + // ESTE, 8, + // ESTF, 8 + } + + /** + * Proxy methods for YogaSMC + */ + Scope (HKEY) + { + // Used as a proxy-method to interface with \_SI._SST in YogaSMC + Method (CSSI, 1, NotSerialized) + { + \_SI._SST (Arg0) + } + + // Optional: Write access to fan control register + Method (CFSP, 1, NotSerialized) + { + \_SB.PCI0.LPCB.EC.HFSP = Arg0 + } + + Method (CFNI, 1, NotSerialized) + { + \_SB.PCI0.LPCB.EC.HFNI = Arg0 + } + + Method (CRST, 1, NotSerialized) + { + \_SB.PCI0.LPCB.EC.VRST = Arg0 + } + } + } +} +//EOF diff --git a/Other/OpenCore_Configuration.pdf b/Other/OpenCore_Configuration.pdf new file mode 100644 index 0000000..a9034da Binary files /dev/null and b/Other/OpenCore_Configuration.pdf differ diff --git a/Other/OpenCore_Differences.pdf b/Other/OpenCore_Differences.pdf new file mode 100644 index 0000000..7a02ae8 Binary files /dev/null and b/Other/OpenCore_Differences.pdf differ diff --git a/Other/README_Resources/Neofetch-BigSur.png b/Other/README_Resources/Neofetch-BigSur.png new file mode 100644 index 0000000..45fc4b3 Binary files /dev/null and b/Other/README_Resources/Neofetch-BigSur.png differ diff --git a/Other/README_Resources/Neofetch-Catalina.png b/Other/README_Resources/Neofetch-Catalina.png new file mode 100644 index 0000000..bde9795 Binary files /dev/null and b/Other/README_Resources/Neofetch-Catalina.png differ diff --git a/Other/README_Resources/SPI_Programmer_CH341a.jpg b/Other/README_Resources/SPI_Programmer_CH341a.jpg new file mode 100644 index 0000000..9870db6 Binary files /dev/null and b/Other/README_Resources/SPI_Programmer_CH341a.jpg differ diff --git a/Other/README_Resources/SecureBoot/MainMenu.png b/Other/README_Resources/SecureBoot/MainMenu.png new file mode 100644 index 0000000..89d5358 Binary files /dev/null and b/Other/README_Resources/SecureBoot/MainMenu.png differ diff --git a/Other/README_Resources/SecureBoot/ManipulateKey.png b/Other/README_Resources/SecureBoot/ManipulateKey.png new file mode 100644 index 0000000..c1f9983 Binary files /dev/null and b/Other/README_Resources/SecureBoot/ManipulateKey.png differ diff --git a/Other/README_Resources/SecureBoot/SelectAuth.png b/Other/README_Resources/SecureBoot/SelectAuth.png new file mode 100644 index 0000000..9c3420e Binary files /dev/null and b/Other/README_Resources/SecureBoot/SelectAuth.png differ diff --git a/Other/README_Resources/ThinkPad.gif b/Other/README_Resources/ThinkPad.gif new file mode 100644 index 0000000..c23e1a1 Binary files /dev/null and b/Other/README_Resources/ThinkPad.gif differ diff --git a/Other/Useful Applications/HeliPort.webloc b/Other/Useful Applications/HeliPort.webloc new file mode 100644 index 0000000..c41fa8f Binary files /dev/null and b/Other/Useful Applications/HeliPort.webloc differ diff --git a/Other/Useful Applications/voltageshift b/Other/Useful Applications/voltageshift new file mode 100755 index 0000000..cd723b4 Binary files /dev/null and b/Other/Useful Applications/voltageshift differ diff --git a/Other/Useful Kernel Extensions/CPUFriendDataProvider/8350U/CPUFriendDataProvider.kext/Contents/Info.plist b/Other/Useful Kernel Extensions/CPUFriendDataProvider/8350U/CPUFriendDataProvider.kext/Contents/Info.plist new file mode 100755 index 0000000..14c5a86 --- /dev/null +++ b/Other/Useful Kernel Extensions/CPUFriendDataProvider/8350U/CPUFriendDataProvider.kext/Contents/Info.plist @@ -0,0 +1,40 @@ + + + + + CFBundleIdentifier + org.vanilla.driver.CPUFriendDataProvider + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + CPUFriendDataProvider + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + IOKitPersonalities + + CPUFriendDataProvider + + CFBundleIdentifier + com.apple.driver.AppleACPIPlatform + IOClass + AppleACPICPU + IONameMatch + processor + IOProbeScore + 1100 + IOProviderClass + IOACPIPlatformDevice + cf-frequency-data + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogIDxkaWN0PgogICAgPGtleT5wbXNwRmlsZTwva2V5PgogICAgPGludGVnZXI+MTM8L2ludGVnZXI+CiAgICA8a2V5PklPUGxhdGZvcm1Qb3dlclByb2ZpbGU8L2tleT4KICAgIDxkaWN0PgogICAgICA8a2V5PkNQVUZsb29yPC9rZXk+CiAgICAgIDxpbnRlZ2VyPjEwMDA8L2ludGVnZXI+CiAgICAgIDxrZXk+Qm9vc3RMaW1pdDwva2V5PgogICAgICA8aW50ZWdlcj4wPC9pbnRlZ2VyPgogICAgICA8a2V5PlVuaWZpZWRTbGVlcFNsaWRlclByZWY8L2tleT4KICAgICAgPHRydWUvPgogICAgICA8a2V5PlB1Ymxpc2hCYXR0ZXJ5RmFjdG9yczwva2V5PgogICAgICA8dHJ1ZS8+CiAgICAgIDxrZXk+TmV0d29ya1RpbWVyRGVsYXk8L2tleT4KICAgICAgPGludGVnZXI+OTAwPC9pbnRlZ2VyPgogICAgICA8a2V5PlN0YW5kYnlEZWxheUhpZ2g8L2tleT4KICAgICAgPGludGVnZXI+ODY0MDA8L2ludGVnZXI+CiAgICAgIDxrZXk+U3RhbmRieURlbGF5PC9rZXk+CiAgICAgIDxpbnRlZ2VyPjEwODAwPC9pbnRlZ2VyPgogICAgICA8a2V5PlN0YW5kYnlCYXR0ZXJ5VGhyZXNob2xkPC9rZXk+CiAgICAgIDxpbnRlZ2VyPjUwPC9pbnRlZ2VyPgogICAgICA8a2V5PklPUGxhdGZvcm1TeXN0ZW1TbGVlcFBvbGljeTwva2V5PgogICAgICA8ZGF0YT5VMHhRVkFJQUNnQUlBQUFBQ0FBQUFBQUFBQUFBQUFBQUJRQUFBQUFBQUFBRkFRQUFBUUFBQUFBQVFBQUFBRUFBQUFBUUFBQUFFQUFICkFBQUFBQUFBQUEvZGh3RUFBQUFBSUFBQUFDQUFBQUFBQUFBQUFBQUFBQVVBQUFBQUFBQUFEOTJIQVFBQUFBREVGZ0FBQUFBQUFBZ0EKQUFBSUFBQUFCUUFBQUFBQUFBQVAzWWNCQUFBQUFNUVdFQUFBQUJBQUlFQUFBQ0JBQUFBSEFBQUFDQUFBQUEvZGh3RUFBQUFBeEJZQQpBQUFBQUFBZ0FBQUFJQUFBQUFVQUFBQUFBQUFBRDkySEFRQUFBQURFRmdBQUFBQUFBQWlBQUFBSWdBQUFCUUFBQUFBQUFBQVAzWWNCCkFBQUFBTVFXQUFBQUFBQUFBTUFBQUFEQUFBQUhBQUFBQ0FBQUFBL2Rod0VBQUFBQXhCWUFBQUFBQUFBQUFBQUFBQUFBQUFjQUFBQUIKQUFBQUQ5MkhBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQndBQUFBQUFBQUFQM1ljQkFBQUFBQT09PC9kYXRhPgogICAgICA8a2V5PkZyZXF1ZW5jaWVzPC9rZXk+CiAgICAgIDxkaWN0PgogICAgICAgIDxrZXk+MzgwMDwva2V5PgogICAgICAgIDxpbnRlZ2VyPjA8L2ludGVnZXI+CiAgICAgICAgPGtleT40MTAwPC9rZXk+CiAgICAgICAgPGludGVnZXI+MTwvaW50ZWdlcj4KICAgICAgICA8a2V5PjQyMDA8L2tleT4KICAgICAgICA8aW50ZWdlcj4xPC9pbnRlZ2VyPgogICAgICAgIDxrZXk+NDUwMDwva2V5PgogICAgICAgIDxpbnRlZ2VyPjI8L2ludGVnZXI+CiAgICAgICAgPGtleT40NzAwPC9rZXk+CiAgICAgICAgPGludGVnZXI+MjwvaW50ZWdlcj4KICAgICAgPC9kaWN0PgogICAgICA8a2V5PkZyZXF1ZW5jeVZlY3RvcnM8L2tleT4KICAgICAgPGFycmF5PgogICAgICAgIDxkYXRhPgpBZ0FBQUFnQUFBQUJBQUFBQUFBQUFMZ0xBQUFBQUFBQXlBQUFBQUFBQUFBQVpPZ0RBQUFBQUFBQUFFdlFCd0FBQUFBQUFBQXkvLy8vCi8vLy9Ed0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUJBQUFBQUFBQUFMZ0xBQUFBQUFBQXlBQUFBQUFBQUFBQlpPZ0RBQUFBQUFBQUFVdlFCd0FBCkFBQUFBQUV5dUFzQUFBQUFBQUFBR2FBUEFBQUFBQUFBQUFELy8vLy8vLzhQQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJRQUFBQUJBQUFBQUFBQUFLd05BQUFBQUFBQXlBQUFBQUFBQUFBQ1pQUUJBQUFBCkFBQUFBakxvQXdBQUFBQUFBQUlaM0FVQUFBQUFBQUFCTXRBSEFBQUFBQUFBQVJtNEN3QUFBQUFBQUFBeW9BOEFBQUFBQUFBQUdmLy8KLy8vLy93OEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJnQUFBQUJBQUFBQUFBQUFKUVJBQUFBQUFBQXlBQUFBQUFBCkFBQURaUFFCQUFBQUFBQUFBekxvQXdBQUFBQUFBQU1aMEFjQUFBQUFBQUFDTXJnTEFBQUFBQUFBQWhtZ0R3QUFBQUFBQUFFeS8vLy8KLy8vL0R3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3QUFBQUJBQUFBQUFBQUFJZ1RBQUFBCkFBQUF5QUFBQUFBQUFBQUVaUFFCQUFBQUFBQUFCRExvQXdBQUFBQUFBQVFaM0FVQUFBQUFBQUFEUzlBSEFBQUFBQUFBQXpLNEN3QUEKQUFBQUFBSXlvQThBQUFBQUFBQUNHZi8vLy8vLy93OEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUJBQUFBCkFBQUFBSEFYQUFBQUFBQUF5QUFBQUFBQUFBQUZaUFFCQUFBQUFBQUFCVExvQXdBQUFBQUFBQVVaM0FVQUFBQUFBQUFFUzlBSEFBQUEKQUFBQUJESzRDd0FBQUFBQUFBTXlvQThBQUFBQUFBQURHWlFSQUFBQUFBQUFBakwvLy8vLy8vOFBBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFHUUFBQUFEQUFBQUFBQUFBS0NHQVFBQUFBQUF5QUFBQUFBQUFBQUdNdlFCQUFBQUFBQUFCaG5vQXdBQUFBQUFBQVV5M0FVQUFBQUEKQUFBRkdkQUhBQUFBQUFBQUJESzRDd0FBQUFBQUFBUVpvQThBQUFBQUFBQUVBSlFSQUFBQUFBQUFBd0QvLy8vLy8vOFBBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0R3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBRUpCUTB0SFVrOVZUa1FBQUFBQUFBQUFBR1FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUVVrVkJURlJKVFVWZlUwaFBVbFFBQUFRR0FBQUFBQUFBCkFBQVpBQmtBWkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFCTFJWSk9SVXdBQUFBQUFBQUFBQUFBQUFaa0FHUUFaQUI5QUpZQXJ3RElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFrRlJJVWxWZlZFbEZVaklBQUFBQUFBQUFCR1FBeUFESUFNZ0F5QUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUVZFaFMKVlY5VVNVVlNNd0FBQUFBQUFBQUVaQURJQU1nQXlBRElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUpCVVNGSlZYMVJKUlZJMEFBQUFBQUFBQUFISUFNZ0FBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFrRlJJVWxWZlZFbEYKVWpVQUFBQUFBQUFBQVdRQVpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZFhScGJHbDBlUzEwYkhac0FBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUEKQUFBQWJtOXVMV1p2WTJGc0xYUnNkbXdBQUFBQUFBRDdBQUFBQUFBQUFBQUFBQUFBQUFBQWRXSndZd0FBQUFBQUFBQUFBQUFBQUFFQQpBQUJ2Wm1ZQUFBQUFBQUFBQUFBQUFBQUFhSGR3QUFBQUFBQUFBQUFBQUFBQUFBRUFBQUJ2YmdBQUFBQUFBQUFBQUFBQUFBQUFaWEJ3CkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBY0dWeVppMWlhV0Z6QUFBQUFBQUFBQUFBQUFBRkFBQUEKQUFBQUFBQUFBQUFBQUFBQWNtRjBhVzl5WVhSbGJHbHRhWFFBQUFBQUFBREF4aTBBQUFBQUFBQUFBQUFBQUFBQWFXOWpjMTlsYm1kaApaMlVBQUFBQUFBQUFBQUNBaEI0QUFBQUFBQUFBQUFBQUFBQUFhVzlqYzE5a2FYTmxibWRoWjJVQUFBQUFBQUFBQ1QwQUFBQUFBQUFBCkFBQUFBQUFBYVc5amMxOWpjM1JtYkhJQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBYVc5amMxOXlkSEpwWjJkbGNnQUEKQUFBQUFBQmtBQUFBQUFBQUFBQUFBQUFBQUFBQWFXOWZaWEJ3WDJKdmIzTjBBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQQphVzlmYUdsdWRITUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFhVzlmWTI5eVpWOWpjM1JmYkdsdEFBQUFBQUFECkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQo8L2RhdGE+CiAgICAgICAgPGRhdGE+CkFnQUFBQWdBQUFBQkFBQUFBQUFBQUxnTEFBQUFBQUFBeUFBQUFBQUFBQUFBWk9nREFBQUFBQUFBQUV2UUJ3QUFBQUFBQUFBeS8vLy8KLy8vL0R3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQkFBQUFBQUFBQUxnTEFBQUFBQUFBeUFBQUFBQUFBQUFCWk9nREFBQUFBQUFBQVV2UUJ3QUEKQUFBQUFBRXl1QXNBQUFBQUFBQUFHYUFQQUFBQUFBQUFBQUQvLy8vLy8vOFBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQllBQUFBQkFBQUFBQUFBQUt3TkFBQUFBQUFBeUFBQUFBQUFBQUFDWlBRQkFBQUEKQUFBQUFqTG9Bd0FBQUFBQUFBSVozQVVBQUFBQUFBQUJNdEFIQUFBQUFBQUFBUm00Q3dBQUFBQUFBQUF5b0E4QUFBQUFBQUFBR2YvLwovLy8vL3c4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQnNBQUFBQkFBQUFBQUFBQUpRUkFBQUFBQUFBeUFBQUFBQUEKQUFBRFpQUUJBQUFBQUFBQUF6TG9Bd0FBQUFBQUFBTVowQWNBQUFBQUFBQUNNcmdMQUFBQUFBQUFBaG1nRHdBQUFBQUFBQUV5Ly8vLwovLy8vRHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQkFBQUFBQUFBQUlnVEFBQUEKQUFBQXlBQUFBQUFBQUFBRVpQUUJBQUFBQUFBQUJETG9Bd0FBQUFBQUFBUVozQVVBQUFBQUFBQURTOUFIQUFBQUFBQUFBeks0Q3dBQQpBQUFBQUFJeW9BOEFBQUFBQUFBQ0dmLy8vLy8vL3c4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1VBQUFBQkFBQUEKQUFBQUFIQVhBQUFBQUFBQXlBQUFBQUFBQUFBRlpQUUJBQUFBQUFBQUJUTG9Bd0FBQUFBQUFBVVozQVVBQUFBQUFBQUVTOUFIQUFBQQpBQUFBQkRLNEN3QUFBQUFBQUFNeW9BOEFBQUFBQUFBREdaUVJBQUFBQUFBQUFqTC8vLy8vLy84UEFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUdRQUFBQURBQUFBQUFBQUFLQ0dBUUFBQUFBQXlBQUFBQUFBQUFBR012UUJBQUFBQUFBQUJobm9Bd0FBQUFBQUFBVXkzQVVBQUFBQQpBQUFGR2RBSEFBQUFBQUFBQkRLNEN3QUFBQUFBQUFRWm9BOEFBQUFBQUFBRUFKUVJBQUFBQUFBQUF3RC8vLy8vLy84UEFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vRHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFFSkJRMHRIVWs5VlRrUUFBQUFBQUFBQUFHUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRVWtWQlRGUkpUVVZmVTBoUFVsUUFBQVFHQUFBQUFBQUEKQUFBWkFCa0FaQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUJMUlZKT1JVd0FBQUFBQUFBQUFBQUFBQVprQUdRQVpBQjlBSllBcndESUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWtGUklVbFZmVkVsRlVqSUFBQUFBQUFBQUJHUUF5QURJQU1nQXlBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRVkVoUwpWVjlVU1VWU013QUFBQUFBQUFBRVpBRElBTWdBeUFESUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSkJVU0ZKVlgxUkpSVkkwQUFBQUFBQUFBQUhJQU1nQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWtGUklVbFZmVkVsRgpValVBQUFBQUFBQUFBV1FBWkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFkWFJwYkdsMGVTMTBiSFpzQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQQpBQUFBYm05dUxXWnZZMkZzTFhSc2Rtd0FBQUFBQUFEN0FBQUFBQUFBQUFBQUFBQUFBQUFBZFdKd1l3QUFBQUFBQUFBQUFBQUFBQUVBCkFBQnZabVlBQUFBQUFBQUFBQUFBQUFBQWFIZHdBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQnZiZ0FBQUFBQUFBQUFBQUFBQUFBQVpYQncKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFjR1Z5WmkxaWFXRnpBQUFBQUFBQUFBQUFBQUFGQUFBQQpBQUFBQUFBQUFBQUFBQUFBY21GMGFXOXlZWFJsYkdsdGFYUUFBQUFBQUFEQXhpMEFBQUFBQUFBQUFBQUFBQUFBYVc5amMxOWxibWRoCloyVUFBQUFBQUFBQUFBQ0FoQjRBQUFBQUFBQUFBQUFBQUFBQWFXOWpjMTlrYVhObGJtZGhaMlVBQUFBQUFBQUFDVDBBQUFBQUFBQUEKQUFBQUFBQUFhVzlqYzE5amMzUm1iSElBQUFBQUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFhVzlqYzE5eWRISnBaMmRsY2dBQQpBQUFBQUFCa0FBQUFBQUFBQUFBQUFBQUFBQUFBYVc5ZlpYQndYMkp2YjNOMEFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBCmFXOWZhR2x1ZEhNQUFBQUFBQUFBQUFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQWFXOWZZMjl5WlY5amMzUmZiR2x0QUFBQUFBQUQKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCjwvZGF0YT4KICAgICAgICA8ZGF0YT4KQWdBQUFBZ0FBQUFCQUFBQUFBQUFBTGdMQUFBQUFBQUF5QUFBQUFBQUFBQUFaT2dEQUFBQUFBQUFBRXZRQndBQUFBQUFBQUF5Ly8vLwovLy8vRHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFCSUFBQUFCQUFBQUFBQUFBTGdMQUFBQUFBQUF5QUFBQUFBQUFBQUJaT2dEQUFBQUFBQUFBVXZRQndBQQpBQUFBQUFFeXVBc0FBQUFBQUFBQUdhQVBBQUFBQUFBQUFBRC8vLy8vLy84UEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUFCQUFBQUFBQUFBS3dOQUFBQUFBQUF5QUFBQUFBQUFBQUNaUFFCQUFBQQpBQUFBQWpMb0F3QUFBQUFBQUFJWjNBVUFBQUFBQUFBQk10QUhBQUFBQUFBQUFSbTRDd0FBQUFBQUFBQXlvQThBQUFBQUFBQUFHZi8vCi8vLy8vdzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCMEFBQUFCQUFBQUFBQUFBSlFSQUFBQUFBQUF5QUFBQUFBQQpBQUFEWlBRQkFBQUFBQUFBQXpMb0F3QUFBQUFBQUFNWjBBY0FBQUFBQUFBQ01yZ0xBQUFBQUFBQUFobWdEd0FBQUFBQUFBRXkvLy8vCi8vLy9Ed0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDSUFBQUFCQUFBQUFBQUFBSWdUQUFBQQpBQUFBeUFBQUFBQUFBQUFFWlBRQkFBQUFBQUFBQkRMb0F3QUFBQUFBQUFRWjNBVUFBQUFBQUFBRFM5QUhBQUFBQUFBQUF6SzRDd0FBCkFBQUFBQUl5b0E4QUFBQUFBQUFDR2YvLy8vLy8vdzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDY0FBQUFCQUFBQQpBQUFBQUhBWEFBQUFBQUFBeUFBQUFBQUFBQUFGWlBRQkFBQUFBQUFBQlRMb0F3QUFBQUFBQUFVWjNBVUFBQUFBQUFBRVM5QUhBQUFBCkFBQUFCREs0Q3dBQUFBQUFBQU15b0E4QUFBQUFBQUFER1pRUkFBQUFBQUFBQWpMLy8vLy8vLzhQQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBR1FBQUFBREFBQUFBQUFBQUtDR0FRQUFBQUFBeUFBQUFBQUFBQUFHTXZRQkFBQUFBQUFBQmhub0F3QUFBQUFBQUFVeTNBVUFBQUFBCkFBQUZHZEFIQUFBQUFBQUFCREs0Q3dBQUFBQUFBQVFab0E4QUFBQUFBQUFFQUpRUkFBQUFBQUFBQXdELy8vLy8vLzhQQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9Ed0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUVKQlEwdEhVazlWVGtRQUFBQUFBQUFBQUdRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1FVa1ZCVEZSSlRVVmZVMGhQVWxRQUFBUUdBQUFBQUFBQQpBQUFaQUJrQVpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQkxSVkpPUlV3QUFBQUFBQUFBQUFBQUFBWmtBR1FBWkFCOUFKWUFyd0RJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBa0ZSSVVsVmZWRWxGVWpJQUFBQUFBQUFBQkdRQXlBRElBTWdBeUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1FWRWhTClZWOVVTVVZTTXdBQUFBQUFBQUFFWkFESUFNZ0F5QURJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKQlVTRkpWWDFSSlJWSTBBQUFBQUFBQUFBSElBTWdBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBa0ZSSVVsVmZWRWxGClVqVUFBQUFBQUFBQUFXUUFaQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWRYUnBiR2wwZVMxMGJIWnNBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBCkFBQUFibTl1TFdadlkyRnNMWFJzZG13QUFBQUFBQUQ3QUFBQUFBQUFBQUFBQUFBQUFBQUFkV0p3WXdBQUFBQUFBQUFBQUFBQUFBRUEKQUFCdlptWUFBQUFBQUFBQUFBQUFBQUFBYUhkd0FBQUFBQUFBQUFBQUFBQUFBQUVBQUFCdmJnQUFBQUFBQUFBQUFBQUFBQUFBWlhCdwpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQWNHVnlaaTFpYVdGekFBQUFBQUFBQUFBQUFBQUZBQUFBCkFBQUFBQUFBQUFBQUFBQUFjbUYwYVc5eVlYUmxiR2x0YVhRQUFBQUFBQURBeGkwQUFBQUFBQUFBQUFBQUFBQUFhVzlqYzE5bGJtZGgKWjJVQUFBQUFBQUFBQUFDQWhCNEFBQUFBQUFBQUFBQUFBQUFBYVc5amMxOWthWE5sYm1kaFoyVUFBQUFBQUFBQUNUMEFBQUFBQUFBQQpBQUFBQUFBQWFXOWpjMTlqYzNSbWJISUFBQUFBQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQWFXOWpjMTl5ZEhKcFoyZGxjZ0FBCkFBQUFBQUJrQUFBQUFBQUFBQUFBQUFBQUFBQUFhVzlmWlhCd1gySnZiM04wQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUEKYVc5ZmFHbHVkSE1BQUFBQUFBQUFBQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBYVc5ZlkyOXlaVjlqYzNSZmJHbHRBQUFBQUFBRApBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKPC9kYXRhPgogICAgICA8L2FycmF5PgogICAgICA8a2V5PlRoZXJtYWxDb25maWd1cmF0aW9uPC9rZXk+CiAgICAgIDxkaWN0PgogICAgICAgIDxrZXk+RG9tYWluPC9rZXk+CiAgICAgICAgPGRpY3Q+CiAgICAgICAgICA8a2V5PkNQVTwva2V5PgogICAgICAgICAgPGRpY3Q+CiAgICAgICAgICAgIDxrZXk+U0ZJV2luZG93PC9rZXk+CiAgICAgICAgICAgIDxpbnRlZ2VyPjUwMDAwPC9pbnRlZ2VyPgogICAgICAgICAgICA8a2V5PlNGSU1haW50ZW5hbmNlPC9rZXk+CiAgICAgICAgICAgIDxkaWN0PgogICAgICAgICAgICAgIDxrZXk+RWZmb3J0Q3VydmU8L2tleT4KICAgICAgICAgICAgICA8c3RyaW5nPjQwPTAlLDY0PTUwJSw3Mj02NyU8L3N0cmluZz4KICAgICAgICAgICAgPC9kaWN0PgogICAgICAgICAgICA8a2V5PlNGSURhcndpbkJHPC9rZXk+CiAgICAgICAgICAgIDxkaWN0PgogICAgICAgICAgICAgIDxrZXk+RWZmb3J0Q3VydmU8L2tleT4KICAgICAgICAgICAgICA8c3RyaW5nPjQwPTAlLDY0PTUwJSw3Mj02NyU8L3N0cmluZz4KICAgICAgICAgICAgPC9kaWN0PgogICAgICAgICAgICA8a2V5PlNGSUFwcE5hcDwva2V5PgogICAgICAgICAgICA8ZGljdD4KICAgICAgICAgICAgICA8a2V5PkVmZm9ydEN1cnZlPC9rZXk+CiAgICAgICAgICAgICAgPHN0cmluZz40MD0wJSw3Mj02NyU8L3N0cmluZz4KICAgICAgICAgICAgPC9kaWN0PgogICAgICAgICAgICA8a2V5PlFPU1RoZXJtYWxUaHJlc2hvbGRzPC9rZXk+CiAgICAgICAgICAgIDxkaWN0PgogICAgICAgICAgICAgIDxrZXk+VXRpbGl0eTwva2V5PgogICAgICAgICAgICAgIDxpbnRlZ2VyPjY0PC9pbnRlZ2VyPgogICAgICAgICAgICAgIDxrZXk+Tm9uRm9jYWw8L2tleT4KICAgICAgICAgICAgICA8aW50ZWdlcj4yNTE8L2ludGVnZXI+CiAgICAgICAgICAgIDwvZGljdD4KICAgICAgICAgICAgPGtleT5UaGVybWFsUHJlc3N1cmU8L2tleT4KICAgICAgICAgICAgPGRpY3Q+CiAgICAgICAgICAgICAgPGtleT5Ob21pbmFsPC9rZXk+CiAgICAgICAgICAgICAgPGRpY3Q+CiAgICAgICAgICAgICAgICA8a2V5PkhpZ2hUaHJlc2hvbGQ8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjYyPC9pbnRlZ2VyPgogICAgICAgICAgICAgICAgPGtleT5Mb3dUaHJlc2hvbGQ8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjA8L2ludGVnZXI+CiAgICAgICAgICAgICAgPC9kaWN0PgogICAgICAgICAgICAgIDxrZXk+TW9kZXJhdGU8L2tleT4KICAgICAgICAgICAgICA8ZGljdD4KICAgICAgICAgICAgICAgIDxrZXk+SGlnaFRocmVzaG9sZDwva2V5PgogICAgICAgICAgICAgICAgPGludGVnZXI+MTAwPC9pbnRlZ2VyPgogICAgICAgICAgICAgICAgPGtleT5Mb3dUaHJlc2hvbGQ8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjUwPC9pbnRlZ2VyPgogICAgICAgICAgICAgIDwvZGljdD4KICAgICAgICAgICAgICA8a2V5PkhlYXZ5PC9rZXk+CiAgICAgICAgICAgICAgPGRpY3Q+CiAgICAgICAgICAgICAgICA8a2V5PkhpZ2hUaHJlc2hvbGQ8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjIwMDwvaW50ZWdlcj4KICAgICAgICAgICAgICAgIDxrZXk+TG93VGhyZXNob2xkPC9rZXk+CiAgICAgICAgICAgICAgICA8aW50ZWdlcj45MDwvaW50ZWdlcj4KICAgICAgICAgICAgICA8L2RpY3Q+CiAgICAgICAgICAgICAgPGtleT5UcmFwcGluZzwva2V5PgogICAgICAgICAgICAgIDxkaWN0PgogICAgICAgICAgICAgICAgPGtleT5IaWdoVGhyZXNob2xkPC9rZXk+CiAgICAgICAgICAgICAgICA8aW50ZWdlcj4yNTA8L2ludGVnZXI+CiAgICAgICAgICAgICAgICA8a2V5Pkxvd1RocmVzaG9sZDwva2V5PgogICAgICAgICAgICAgICAgPGludGVnZXI+MTcwPC9pbnRlZ2VyPgogICAgICAgICAgICAgIDwvZGljdD4KICAgICAgICAgICAgICA8a2V5PlNsZWVwaW5nPC9rZXk+CiAgICAgICAgICAgICAgPGRpY3Q+CiAgICAgICAgICAgICAgICA8a2V5PkhpZ2hUaHJlc2hvbGQ8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjI1MjwvaW50ZWdlcj4KICAgICAgICAgICAgICAgIDxrZXk+TG93VGhyZXNob2xkPC9rZXk+CiAgICAgICAgICAgICAgICA8aW50ZWdlcj4yNTE8L2ludGVnZXI+CiAgICAgICAgICAgICAgPC9kaWN0PgogICAgICAgICAgICA8L2RpY3Q+CiAgICAgICAgICA8L2RpY3Q+CiAgICAgICAgICA8a2V5PkdQVTwva2V5PgogICAgICAgICAgPGRpY3QvPgogICAgICAgICAgPGtleT5JTzwva2V5PgogICAgICAgICAgPGRpY3QvPgogICAgICAgIDwvZGljdD4KICAgICAgPC9kaWN0PgogICAgICA8a2V5PlRDUEtlZXBBbGl2ZUR1cmluZ1NsZWVwPC9rZXk+CiAgICAgIDx0cnVlLz4KICAgICAgPGtleT5UQ1BLZWVwQWxpdmVFeHBpcmF0aW9uVGltZW91dDwva2V5PgogICAgICA8aW50ZWdlcj40MzIwMDwvaW50ZWdlcj4KICAgICAgPGtleT5Ob3RpZmljYXRpb25XYWtlPC9rZXk+CiAgICAgIDx0cnVlLz4KICAgICAgPGtleT5ETkRXaGlsZURpc3BsYXlTbGVlcHM8L2tleT4KICAgICAgPGZhbHNlLz4KICAgICAgPGtleT5EYXJrV2FrZVNlcnZpY2VzPC9rZXk+CiAgICAgIDxkaWN0PgogICAgICAgIDxrZXk+RGFya1dha2VCYWNrZ3JvdW5kVGFza3M8L2tleT4KICAgICAgICA8aW50ZWdlcj4xPC9pbnRlZ2VyPgogICAgICAgIDxrZXk+U2xlZXBTZXJ2aWNlczwva2V5PgogICAgICAgIDxpbnRlZ2VyPjc8L2ludGVnZXI+CiAgICAgICAgPGtleT5TbGVlcFNlcnZpY2VzTW9kZXM8L2tleT4KICAgICAgICA8ZGljdD4KICAgICAgICAgIDxrZXk+TW9kZUE8L2tleT4KICAgICAgICAgIDxkaWN0PgogICAgICAgICAgICA8a2V5PkV4cGlyYXRpb248L2tleT4KICAgICAgICAgICAgPGludGVnZXI+MDwvaW50ZWdlcj4KICAgICAgICAgICAgPGtleT5CYXR0ZXJ5Rmxvb3I8L2tleT4KICAgICAgICAgICAgPGludGVnZXI+MDwvaW50ZWdlcj4KICAgICAgICAgICAgPGtleT5CYXNlSW50ZXJ2YWxzPC9rZXk+CiAgICAgICAgICAgIDxkaWN0PgogICAgICAgICAgICAgIDxrZXk+QUM8L2tleT4KICAgICAgICAgICAgICA8ZGljdD4KICAgICAgICAgICAgICAgIDxrZXk+QmFzZVNsZWVwSW50ZXJ2YWw8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjM2MDA8L2ludGVnZXI+CiAgICAgICAgICAgICAgICA8a2V5PkJhc2VXYWtlQ2FwSW50ZXJ2YWw8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjg2NDAwPC9pbnRlZ2VyPgogICAgICAgICAgICAgIDwvZGljdD4KICAgICAgICAgICAgICA8a2V5PkJhdHRlcnk8L2tleT4KICAgICAgICAgICAgICA8ZGljdD4KICAgICAgICAgICAgICAgIDxrZXk+QmFzZVNsZWVwSW50ZXJ2YWw8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjM2MDA8L2ludGVnZXI+CiAgICAgICAgICAgICAgICA8a2V5PkJhc2VXYWtlQ2FwSW50ZXJ2YWw8L2tleT4KICAgICAgICAgICAgICAgIDxpbnRlZ2VyPjE4MDwvaW50ZWdlcj4KICAgICAgICAgICAgICA8L2RpY3Q+CiAgICAgICAgICAgIDwvZGljdD4KICAgICAgICAgIDwvZGljdD4KICAgICAgICA8L2RpY3Q+CiAgICAgIDwvZGljdD4KICAgIDwvZGljdD4KICA8L2RpY3Q+CjwvcGxpc3Q+Cg== + + + NSHumanReadableCopyright + Copyright © 2017 - 2019 PMheart. All rights reserved. + OSBundleRequired + Root + + diff --git a/Other/Useful Kernel Extensions/CPUFriendDataProvider/8550U/WorkInProgress b/Other/Useful Kernel Extensions/CPUFriendDataProvider/8550U/WorkInProgress new file mode 100644 index 0000000..e69de29 diff --git a/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/Info.plist b/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/Info.plist new file mode 100644 index 0000000..8857ca6 --- /dev/null +++ b/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/Info.plist @@ -0,0 +1,106 @@ + + + + + BuildMachineOSBuild + 20A5384c + CFBundleDevelopmentRegion + en + CFBundleExecutable + WhateverGreen + CFBundleIdentifier + as.vit9696.WhateverGreen + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + WhateverGreen + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.4.4 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.4.4 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A7300 + DTPlatformName + macosx + DTPlatformVersion + 10.15.6 + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1201 + DTXcodeBuild + 12A7300 + IOKitPersonalities + + NVHDAEnabler + + CFBundleIdentifier + as.vit9696.WhateverGreen + IOClass + NVHDAEnabler + IOMatchCategory + IOFramebuffer + IOPCIClassMatch + 0x03000000&0xff000000 + IOPCIMatch + 0x000010de&0x0000ffff + IOProbeScore + 300000 + IOProviderClass + IOPCIDevice + + as.vit9696.WhateverGreen + + CFBundleIdentifier + as.vit9696.WhateverGreen + IOClass + WhateverGreen + IOMatchCategory + WhateverGreen + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + LSMinimumSystemVersion + 10.8 + NSHumanReadableCopyright + Copyright © 2018 vit9696. All rights reserved. + OSBundleCompatibleVersion + 1.0 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.iokit.IOPCIFamily + 1.0.0b1 + com.apple.kpi.bsd + 12.0.0 + com.apple.kpi.dsep + 12.0.0 + com.apple.kpi.iokit + 12.0.0 + com.apple.kpi.libkern + 12.0.0 + com.apple.kpi.mach + 12.0.0 + com.apple.kpi.unsupported + 12.0.0 + + OSBundleRequired + Root + + diff --git a/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/MacOS/WhateverGreen b/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/MacOS/WhateverGreen new file mode 100755 index 0000000..c0b0452 Binary files /dev/null and b/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/MacOS/WhateverGreen differ diff --git a/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/_CodeSignature/CodeResources b/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/Other/Useful Kernel Extensions/WhateverGreen_Skylake/WhateverGreen.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/README.md b/README.md index 781df19..b84ec40 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,381 @@ # T480-OpenCore-Hackintosh -**Status: Working In Progress** - -## Knowning Issue: -- Trackpad it not perfectly smooth (If you known how to implement better Trackpad / Trackpoint please create an issue or pull request) - -## Attension: -- If your T480 using Intel I5-8350U CPU then you can using "config-CPUFriend.plist" to try CPUFriend for better CPU power management -- My device has Windows Hello option, so if your device is difference configuration, please mapping all USB ports by your self to make sure all the ports working properly. -- This is only the first release, there may be other issues, please try it and report problems in issues so I can try to resolve it. - -## Hardware: -|Category|Component|Note -|---|---|--- -|CPU|Intel i5-8350U| -|GPU|Intel UHD 620| -|SSD|INTEL SSDPEKKF256G8L NVME Solid State Drive| -|Memory|16GB DDR4 2400| -|Battery|Dual phisical battery| -|Camera|720p Camera & Windows Hello IR Camera| -|Wifi & BT|Replace Intel card with WD1820A|Will wait for AppleIntelKext then test intel card again later - -## Software: -|Component|Version| -|---|---| -|MacOS Catalina|10.15.3 (19D76)| -|OpenCore|v0.5.6| - - -## Working Checklist: - -![Checklist 1](/Checklist/1.png?raw=true "Checklist 1") -![Checklist 2](/Checklist/2.png?raw=true "Checklist 2") +**Status: Unmaintained** + +Sorry, I no longer use macOS on my T480. If a maintained fork is formed, it will be listed here + +🚨 **UPDATE**: Maintained repo by [@valnoxy](https://github.com/valnoxy) https://github.com/valnoxy/t480-oc + + +T480 macOS + +[![OpenCore](https://img.shields.io/badge/OpenCore-0.6.9-blue.svg)](https://github.com/acidanthera/OpenCorePkg) +[![macOS-Previous](https://img.shields.io/badge/macOS-10.14.6-brightgreen.svg)](https://github.com/EETagent/T480-OpenCore-Hackintosh/issues/11) +[![macOS-Stable](https://img.shields.io/badge/macOS-10.15.7-brightgreen.svg)](https://www.apple.com/macos/catalina/) +[![macOS-Unstable](https://img.shields.io/badge/macOS-11.2.2-brightgreen.svg)](https://www.apple.com/macos/big-sur) + +**DISCLAIMER:** +Read the entire README and Dortania guides before you start. I am not responsible for any damage. +When you encounter bug or want to improve this repo, consider opening issue or pull request. +If you find this bootloader configuration useful, consider giving it a star to make it more visible. + +## Introduction + +
+ +General knowledge & credits + +- To install macOS follow the guides provided by [Dortania](https://dortania.github.io/getting-started/) + +- Useful tools by [CorpNewt](https://github.com/corpnewt) and [headkaze](https://github.com/headkaze/Hackintool) + +- [CREDITS](CREDITS.md) file + +
+ +
+ +Hardware +
+ + +[![UEFI](https://img.shields.io/badge/UEFI-N24ET61W-lightgrey)](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t480-type-20l5-20l6/downloads/ds502355) +| Category | Component | Note | +| --------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| CPU | Intel Core i5-8250U | 20L50000MC | +| GPU | Intel UHD 620 | | +| SSD | Samsung 970 Evo 512GB | Replaced cursed PM 981 which stil doesn't work reliably | +| Memory | 12GB DDR4 2400Mhz | | +| Battery | Dual battery | | +| Camera | 720p Camera | | +| Wifi & BT | Intel Wireless-AC 8265 | Use AirportItlwm for your macOS version and enjoy native Wi-Fi control, or use Heliport app. | +| Input | PS2 Keyboard & Synaptics TrackPad | [YogaSMC](https://github.com/zhen-zen/YogaSMC) for media keys like microphone switch, etc. PrtSc is mapped as F13. | + +
+ +
+ +Main software +
+ +| Component | Version | +| -------------- | -------------- | +| macOS Catalina | 10.15.7 (19H2) | +| macOS Big Sur | 11.2.2 (20D80) | +| OpenCore | v0.6.9 | + +
+ +
+ +Kernel extensions +
+ +| Kext | Version | +|:---------------------- | -------------- | +| AirportItlwm | 1.3.0 | +| AppleALC | 1.6.0 | +| BrightnessKeys | 1.0.1 | +| CPUFriend | 1.2.3 | +| CPUFriendDataProvider | i5-8250U | +| HibernationFixup | 1.4.0 | +| HoRNDIS | Disabled, 9.2 | +| IntelBluetoothFirmware | 1.1.2 | +| IntelBluetoothInjector | 1.1.2 | +| IntelMausi | 1.0.6 | +| Lilu | 1.5.3 | +| NoTouchID | 1.0.4 | +| NVMeFix | 1.0.7 | +| RTCMemoryFixup | 1.0.8 | +| VirtualSMC | 1.2.3 | +| VoltageShift | Disabled, 1.22 | +| VoodooPS2Controller | 2.2.3 | +| VoodooRMI | 1.3.3 | +| VoodooSMBus | 3.0.0 | +| WhateverGreen | 1.4.9 | +| YogaSMC | 1.4.3 | + +
+
+ +UEFI drivers +
+ +| Driver | Version | +|:---------------:| ----------------- | +| AudioDxe.efi | OpenCorePkg 0.6.9 | +| HfsPlus.efi | OcBinaryData | +| OpenCanopy.efi | OpenCorePkg 0.6.9 | +| OpenRuntime.efi | OpenCorePkg 0.6.9 | +
+ +
+ Neofetch screenshots +
+

+ Neofetch Catalina + Neofetch Catalina +

+
+ +## Before installation + +
+ +UEFI settings +
+ +**Security** + +- `Security Chip` **Disabled** +- `Memory Protection -> Execution Prevention` **Enabled** +- `Virtualization -> Intel Virtualization Technology` **Enabled** +- `Virtualization -> Intel VT-d Feature` **Enabled** +- `Anti-Theft -> Computrace -> Current Setting` **Disabled** +- `Secure Boot -> Secure Boot` **Disabled** +- `Intel SGX -> Intel SGX Control` **Disabled** +- `Device Guard` **Disabled** + +**Startup** + +- `UEFI/Legacy Boot` **UEFI Only** +- `CSM Support` **No** + +**Thunderbolt** + +- `Thunderbolt BIOS Assist Mode` **Disabled** +- `Wake by Thunderbolt(TM) 3` **Disabled** +- `Security Level` **User Authorization** +- `Support in Pre Boot Environment -> Thunderbolt(TM) device` **Enabled** + +
+ +
+ +Own prev-lang-kbd +
+ +Either add as a string or as a data ( HEX data [(ProperTree)](https://github.com/corpnewt/ProperTree) ) + +Format is lang-COUNTRY:keyboard + +- 🇺🇸 | [0] en_US - U.S --> en-US:0 --> 656e2d55 533a30 + +- 🇨🇿 | [30776] cs - Czech --> cs-CZ:30776 --> 63732d43 5a3a3330 373736 + +- 🇨🇿 | cs-CZ:0 --> 63732d43 5a3a30 + +etc. + +[AppleKeyboardLayouts.txt](https://github.com/acidanthera/OpenCorePkg/blob/master/Utilities/AppleKeyboardLayouts/AppleKeyboardLayouts.txt) + +
+ +
+ +Secure Boot (Optional) +
+ +1. Set Secure Boot to Setup Mode. Secure Boot should be reported as off by UEFI main tab +2. Create FAT32 formatted USB +3. Create EFI folder in the root of the newly formatted flash drive and move there content of SecureBoot/KeyTool +4. Boot flash drive via F12 boot menu +5. Choose **Edit keys** + + +Main menu + +6. Start by **replacing** Signature Database. Select .auth file + + +Select key to manipulate with +Select .auth file + + +7. Do the same for Key Exchange Keys Database (KEK) and Platform Key (PK) **in this order** +8. Exit and shutdown your machine +9. Boot into the UEFI settings and check if Secure Boot is reported as `on` +10. Boot you favorite OS with Secure Boot enabled + +[More detailed information here](https://habr.com/en/post/273497) + +```diff +! Still quite experimental +``` + +
+ +## Post-Install + +
+ +Colour banding +
+ +If you encounter some serious colour banding issues ( Keep in mind that T480 1080p stock panel colour accuracy is not really good, cca 50-60% sRGB), your only solution is to replace GPU properties as bellow or replace the stock panel with one from T490 (400 nits, Low power). + +``` +AAPL,ig-platform-id +AAAWGQ== +device-id +FhkAAA== + +``` + +Do not use these any additional boot arguments! Get custom WhateverGreen version instead from Other folder + +You can check your screen in gradient test [here](https://www.eizo.be/monitor-test/) or just by simple look at Launchpad background. + +
+ +
+ +Generate your own SMBIOS +
+ +[GenSMBIOS](https://github.com/corpnewt/GenSMBIOS) + +- MacBookPro14,1 + +- MacBookPro15,2 + +
+ +
+ +CPUFriend power management +
+ +Generate CPUFriendDataProvider for your machine [here](https://github.com/fewtarius/CPUFriendFriend) or use at your own risk files provided in the Other folder. + +
+ +
+ +VoltageShift undervolt +
+ +It is possible to use VoltageShift directly from the EFI folder instead of disabling SIP. You need to use specific version provided in the Other folder. + +```diff +! If you want to use this feature, enable it in config.plist +``` +
+ +
+ +Android USB Tethering | HoRNDIS +
+ +> **Important:** Mac computers can't tether with Android. + +I don't think so Google. + +1. Using a USB cable, connect your phone to the other device. A "Connected as a…" notification shows at the top of the screen. +2. Open your phone's Settings app. +3. Tap Network & internet ![And then](https://lh3.googleusercontent.com/WD3LKKej34vq3cZXwilgeahIPOiokN2uarmkDxtMqKMFg4SSys8BkOBJbn4_4R930gE=h18 "And then") Hotspot & tethering. +4. Turn on USB tethering. + +You should see new Ethernet connection in the network settings. Works with USB Type C and USB A. + +```diff +! If you want to use this feature, enable it in config.plist +``` +Problems with recreating new `en` device every time are now solved on latest macOS versions with patched version of this kext. If it does not work for you, revert to official version. + +
+ +## Status + +
+ +What's working ✅ + +- [x] Battery percentage + +- [x] Bluetooth - Intel Wireless-AC 8265 (0x0A2B) + +- [x] Boot chime + +- [x] Boot menu `OpenCanopy` + +- [x] CPU power management / performance `Now on par with Windows without XTU undervolt.` + +- [x] FireVault 2 `No config.plist changes needed` + +- [x] GPU UHD 620 hardware acceleration / performance + +- [x] HDMI `Closed and opened lid. With audio.` + +- [x] iMessage, FaceTime, App Store, iTunes Store. **Generate your own SMBIOS** + +- [x] Intel I219V Ethernet port + +- [x] Keyboard `Volume and brightness hotkeys. Another media keys with YogaSMC.` + +- [x] Microphone `With keyboard switch using ThinkPad Assistant.` + +- [x] Realtek® ALC3287 ("ALC257") Audio + +- [x] SD card reader `Fortunately, USB connected.` + +- [x] Sidecar wired `Works with 15,2 SMBIOS.` + +- [x] Sleep/Wake + +- [x] TouchPad `1-5 fingers swipe works. Emulate force touch using longer and more voluminous touch.` + +- [x] TrackPoint `Works perfectly. Just like on Windows or Linux.` + +- [x] USB Ports `USB Map is different for devices with Windows Hello camera.` + +- [x] Web camera + +- [x] Wifi - Intel Wireless-AC 8265 `Use HeliPort app for Wi-Fi control` + +- [x] DRM `Widevine, validated on Firefox 82. WhateverGreen's DRM is broken on Big Sur` + +
+ +
+ +What's not working ⚠️ + +- [ ] Fingerprint reader `There is finally after many years working driver for Linux (python-validity), don't expect macOS driver any time soon.` + +- [ ] PM 981 `Still unstable. Could work for some, not for others.` + +- [ ] Sidecar wireless `If you want to use this feature, buy a compatible Broadcom card!` + +- [ ] Windows/Linux from OC boot menu `It's best practice to not boot from OC when planning to perform firmware upgrade` + + +
+ +
+ +Untested + +- [ ] Thunderbolt `No device to test.` + +
+ +## UEFI modding + +
+ +CFG Lock | Advanced menu +
+ +SPI_Programmer_CH341a.jpg + +It's possible to unlock Advanced menu thus disable CFG Lock natively in UEFI + Other Advanced menu benefits. SPI Programmer CH341a is required + +
+https://www.reddit.com/r/thinkpad/comments/ffqqx5/currently_testing_skyra1n/ + +[T480 consuming 60w (~85w total) - unlimited TDP : thinkpad](https://www.reddit.com/r/thinkpad/comments/g8fk51/t480_consuming_60w_85w_total_unlimited_tdp/) + +[ThinkPad discord](discord.gg/Ybdz7AS) + +
diff --git a/SecureBoot/ISK.key.gpg b/SecureBoot/ISK.key.gpg new file mode 100644 index 0000000..0a5383d Binary files /dev/null and b/SecureBoot/ISK.key.gpg differ diff --git a/SecureBoot/ISK.pem.gpg b/SecureBoot/ISK.pem.gpg new file mode 100644 index 0000000..6a62879 Binary files /dev/null and b/SecureBoot/ISK.pem.gpg differ diff --git a/SecureBoot/KeyTool.efi b/SecureBoot/KeyTool.efi new file mode 100755 index 0000000..dd33886 Binary files /dev/null and b/SecureBoot/KeyTool.efi differ diff --git a/SecureBoot/KeyTool/BOOT/bootx64.efi b/SecureBoot/KeyTool/BOOT/bootx64.efi new file mode 100644 index 0000000..a6663dc Binary files /dev/null and b/SecureBoot/KeyTool/BOOT/bootx64.efi differ diff --git a/SecureBoot/KeyTool/KEK.auth b/SecureBoot/KeyTool/KEK.auth new file mode 100644 index 0000000..7fcece0 Binary files /dev/null and b/SecureBoot/KeyTool/KEK.auth differ diff --git a/SecureBoot/KeyTool/PK.auth b/SecureBoot/KeyTool/PK.auth new file mode 100644 index 0000000..488a57f Binary files /dev/null and b/SecureBoot/KeyTool/PK.auth differ diff --git a/SecureBoot/KeyTool/db.auth b/SecureBoot/KeyTool/db.auth new file mode 100644 index 0000000..94abbd1 Binary files /dev/null and b/SecureBoot/KeyTool/db.auth differ diff --git a/SecureBoot/sign.sh b/SecureBoot/sign.sh new file mode 100644 index 0000000..c5de34b --- /dev/null +++ b/SecureBoot/sign.sh @@ -0,0 +1,71 @@ +#!/bin/bash + +LINK=$1 +# https://github.com/dortania/build-repo/releases/download/OpenCorePkg-cbd2fa3/OpenCore-0.6.7-RELEASE.zip +VERSION=$2 +# 0.6.7 + + +if ! command -v wget &> /dev/null +then + echo "Please install wget" + exit +fi + +if ! command -v sbsign &> /dev/null +then + echo "Please install sbsigntools" + exit +fi + +if ! command -v gpg &> /dev/null +then + echo "Please install GPG" + exit +fi + +mkdir Signed +mkdir Signed/Drivers + +# Decrypt signing keys +gpg --decrypt ISK.key.gpg > ISK.key +gpg --decrypt ISK.pem.gpg > ISK.pem + +# Download and unzip OpenCore +wget $LINK +unzip "OpenCore-${VERSION}-RELEASE.zip" "X64/*" -d "./Downloaded" +unzip "OpenCore-${VERSION}-RELEASE.zip" "Docs/*" -d "./Downloaded" +rm "OpenCore-${VERSION}-RELEASE.zip" + +# Download HfsPlus +wget https://github.com/acidanthera/OcBinaryData/raw/master/Drivers/HfsPlus.efi -O ./Downloaded/HfsPlus.efi + +if [ -f "./ISK.key" ]; then + echo "ISK.key was decrypted successfully" +fi + +if [ -f "./ISK.pem" ]; then + echo "ISK.pem was decrypted successfully" +fi + +# Sign drivers +sbsign --key ISK.key --cert ISK.pem --output ./Signed/BOOTx64.efi ./Downloaded/X64/EFI/BOOT/BOOTx64.efi +sbsign --key ISK.key --cert ISK.pem --output ./Signed/OpenCore.efi ./Downloaded/X64/EFI/OC/OpenCore.efi +sbsign --key ISK.key --cert ISK.pem --output ./Signed/Drivers/OpenRuntime.efi ./Downloaded/X64/EFI/OC/Drivers/OpenRuntime.efi +sbsign --key ISK.key --cert ISK.pem --output ./Signed/Drivers/OpenCanopy.efi ./Downloaded/X64/EFI/OC/Drivers/OpenCanopy.efi +sbsign --key ISK.key --cert ISK.pem --output ./Signed/Drivers/AudioDxe.efi ./Downloaded/X64/EFI/OC/Drivers/AudioDxe.efi +sbsign --key ISK.key --cert ISK.pem --output ./Signed/Drivers/CrScreenshotDxe.efi ./Downloaded/X64/EFI/OC/Drivers/CrScreenshotDxe.efi +sbsign --key ISK.key --cert ISK.pem --output ./Signed/Drivers/HfsPlus.efi ./Downloaded/HfsPlus.efi + +# Replace drivers +mv ./Signed/BOOTx64.efi ../BOOT/BOOTx64.efi +mv ./Signed/OpenCore.efi ../OC/OpenCore.efi +mv ./Signed/Drivers/* ../OC/Drivers/ + +# Replace changelog and configuration +mv ./Downloaded/Docs/Configuration.pdf ../Other/OpenCore_Configuration.pdf +mv ./Downloaded/Docs/Differences.pdf ../Other/OpenCore_Differences.pdf + +# Clean +rm -rf Signed Downloaded ISK.key ISK.pem +echo "ISK.key and ISK.pem removed"