From b7a9cb0ab4d8e70243139c583d60f6a16f4e87c2 Mon Sep 17 00:00:00 2001 From: Josh M Date: Wed, 9 Sep 2026 06:16:54 -0400 Subject: [PATCH 1/4] Harden audio driver, routing recovery, installation and release checks --- .github/workflows/ci.yml | 24 + .gitignore | 4 + App/AppState.swift | 599 +++++++++++-------------- App/AudioObservation.swift | 20 + App/AudioRecovery.swift | 44 ++ App/AudioRouter.swift | 355 ++++++++------- App/DriverManager.swift | 116 ++--- App/Info.plist | 6 +- App/MSFAtomic.h | 7 +- App/MacStereoFixApp.swift | 16 + App/MenuBarView.swift | 64 ++- App/PrivacyInfo.xcprivacy | 11 + App/RingBuffer.swift | 3 + App/StereoMix.swift | 40 ++ App/SystemAudio.swift | 171 +++---- Driver/Info.plist | 6 +- Driver/MacStereoFixDriver.c | 314 +++++++------ FRIENDS_README.txt | 148 ++---- PRIVACY.md | 32 ++ README.md | 286 +++++------- Recovery/main.swift | 16 + SECURITY.md | 18 + Scripts/install-driver.sh | 65 +++ Scripts/uninstall-driver.sh | 21 + Tests/audio_tests.swift | 148 ++++++ Tests/driver_tests.c | 222 +++++++++ Tests/installer_quote_tests.swift | 30 ++ Tests/installer_tests.py | 113 +++++ Tests/recovery_harness.swift | 12 + Tests/recovery_system_audio.swift | 9 + Tests/recovery_tests.py | 31 ++ Tests/release_tests.py | 28 ++ Tests/state_tests.swift | 256 +++++++++++ ThirdParty/Apple-NullAudio-LICENSE.txt | 8 + ThirdParty/README.md | 13 + build.sh | 72 ++- check.sh | 54 +++ docs/AUDIT.md | 117 +++++ docs/RELEASE_CHECKLIST.md | 76 ++++ install.sh | 53 +-- release.sh | 97 ++-- uninstall.sh | 34 +- 42 files changed, 2536 insertions(+), 1223 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 App/AudioObservation.swift create mode 100644 App/AudioRecovery.swift create mode 100644 App/PrivacyInfo.xcprivacy create mode 100644 App/StereoMix.swift create mode 100644 PRIVACY.md create mode 100644 Recovery/main.swift create mode 100644 SECURITY.md create mode 100755 Scripts/install-driver.sh create mode 100755 Scripts/uninstall-driver.sh create mode 100644 Tests/audio_tests.swift create mode 100644 Tests/driver_tests.c create mode 100644 Tests/installer_quote_tests.swift create mode 100644 Tests/installer_tests.py create mode 100644 Tests/recovery_harness.swift create mode 100644 Tests/recovery_system_audio.swift create mode 100644 Tests/recovery_tests.py create mode 100644 Tests/release_tests.py create mode 100644 Tests/state_tests.swift create mode 100644 ThirdParty/Apple-NullAudio-LICENSE.txt create mode 100644 ThirdParty/README.md create mode 100755 check.sh create mode 100644 docs/AUDIT.md create mode 100644 docs/RELEASE_CHECKLIST.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..af66ba1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,24 @@ +name: Build and safety checks +on: + push: + branches: [main] + pull_request: +permissions: + contents: read +concurrency: + group: checks-${{ github.ref }} + cancel-in-progress: true +jobs: + check: + strategy: + fail-fast: false + matrix: + os: [macos-14, macos-15-intel] + runs-on: ${{ matrix.os }} + timeout-minutes: 25 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - run: ./build.sh + - run: ./check.sh diff --git a/.gitignore b/.gitignore index a2d0223..ed38d15 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,7 @@ xcuserdata/ # Editor / tool config .claude/ + +# Local test binaries +.checks/ +__pycache__/ diff --git a/App/AppState.swift b/App/AppState.swift index 4e66b00..81605bc 100644 --- a/App/AppState.swift +++ b/App/AppState.swift @@ -1,406 +1,347 @@ -// AppState.swift -// -// Single source of truth for the menu bar UI. Owns the AudioRouter, the -// device list, the toggle state, and the dialogue boost. Saves a tiny bit of -// state to UserDefaults so the user's preferred output device sticks across -// launches. - -import Foundation -import CoreAudio -import Combine import AppKit +import AVFoundation +import Combine +import CoreAudio +import Foundation @MainActor final class AppState: ObservableObject { - - // MARK: - Published state - - /// Master toggle: ON = audio is being routed through MacStereoFix. - @Published var isOn: Bool = false - - /// Extra dB added on top of the -3 dB ITU center coefficient. - @Published var dialogueBoostDB: Float = 3.0 { + @Published private(set) var isOn = false + @Published private(set) var isBusy = false + @Published private(set) var driverInstalled = false + @Published private(set) var availableOutputs: [AudioOutputDevice] = [] + @Published private(set) var lastError: String? + @Published private(set) var statusMessage: String? + @Published var selectedOutputUID: String? { + didSet { defaults.set(selectedOutputUID, forKey: "selectedOutputUID") } + } + @Published var dialogueBoostDB: Float = 3 { didSet { router.setDialogueBoostDB(dialogueBoostDB) - UserDefaults.standard.set(dialogueBoostDB, forKey: "dialogueBoostDB") + defaults.set(dialogueBoostDB, forKey: "dialogueBoostDB") } } - - /// UID of the real output device stereo audio is sent to. - @Published var selectedOutputUID: String? { + /// Software attenuation; never changes hardware volume or channel balance. + @Published var outputVolume: Float = 1 { didSet { - if let uid = selectedOutputUID { - UserDefaults.standard.set(uid, forKey: "selectedOutputUID") - } else { - UserDefaults.standard.removeObject(forKey: "selectedOutputUID") + router.setOutputVolume(isMuted ? 0 : outputVolume) + defaults.set(outputVolume, forKey: "routingVolume") + if let control = virtualVolumeControlID, !updatingVolume { + SystemAudio.setControlScalarValue(control, outputVolume) } - // Picking a new device: sync the slider to that device's level. - refreshOutputVolumeFromDevice() } } - - /// Volume of the currently selected real output device, 0...1. - /// Setting this propagates to the device immediately. - @Published var outputVolume: Float = 1.0 { + @Published var isMuted = false { didSet { - guard !suppressVolumeWriteback else { return } - guard let uid = selectedOutputUID, - let dev = availableOutputs.first(where: { $0.uid == uid }) else { return } - SystemAudio.setDeviceVolume(dev.id, outputVolume) - // Mirror slider writes to the virtual device's volume control - // so the macOS volume HUD matches what the slider shows. When - // running, this also keeps the hardware-volume-key baseline in - // sync. The listener will fire but see no change and no-op. - if isOn, let ctl = virtualVolumeControlID { - SystemAudio.setControlScalarValue(ctl, outputVolume) + router.setOutputVolume(isMuted ? 0 : outputVolume) + if let control = virtualMuteControlID, !updatingVolume { + SystemAudio.setControlMuted(control, isMuted) } } } - /// True if the selected device exposes any volume control at all. - @Published private(set) var outputVolumeAvailable: Bool = false - - /// List of real output devices (excludes MacStereoFix itself). - @Published private(set) var availableOutputs: [AudioOutputDevice] = [] - - /// True when the MacStereoFix driver bundle is installed and visible. - @Published private(set) var driverInstalled: Bool = false - - /// Latest user-facing error message, or nil. - @Published private(set) var lastError: String? - - // MARK: - Private state - + private let defaults: UserDefaults private let router = AudioRouter() - - /// Device the user was on before we hijacked the default — restored on Off. - private var previousDefaultDevice: AudioDeviceID = 0 - - /// True while we're updating outputVolume from a device read, so the - /// didSet observer doesn't write the same value back to Core Audio. - private var suppressVolumeWriteback = false - - /// While running, the object ID of the MacStereoFix virtual device's - /// output volume control, or nil if the installed driver predates the - /// volume-control addition. Used to observe hardware volume-key presses. + private let recovery = AudioRecovery() + private var previousOutputUID: String? + private var routedDeviceID: AudioDeviceID? + private var generation = 0 + private var observations: [AudioObservation] = [] + private var notifications: [(NotificationCenter, NSObjectProtocol)] = [] + private var healthTimer: Timer? + private var lastProgress: (capture: UInt64, render: UInt64) = (0, 0) + private var stalledChecks = 0 private var virtualVolumeControlID: AudioObjectID? - - /// Listener block installed on `virtualVolumeControlID`. Held so it can - /// be removed cleanly on teardown — `AudioObjectRemovePropertyListenerBlock` - /// requires the same block reference used at registration. - private var virtualVolumeListenerBlock: AudioObjectPropertyListenerBlock? - - // MARK: - Init - - init() { - // Load persisted prefs - if let stored = UserDefaults.standard.object(forKey: "dialogueBoostDB") as? Double { - self.dialogueBoostDB = Float(stored) - } - router.setDialogueBoostDB(self.dialogueBoostDB) - - // Populate the device list first, then apply the stored selection. - // Doing this in the other order fires selectedOutputUID's didSet - // against an empty availableOutputs list. + private var volumeObservation: AudioObservation? + private var virtualMuteControlID: AudioObjectID? + private var muteObservation: AudioObservation? + private var updatingVolume = false + private var driverChangeInProgress = false + private let requestPermission: () async -> Bool + + init(defaults: UserDefaults = .standard, + requestPermission: @escaping () async -> Bool = AppState.requestAudioPermission) { + self.defaults = defaults + self.requestPermission = requestPermission + // Read the preference before device enumeration can select a fallback. + selectedOutputUID = defaults.string(forKey: "selectedOutputUID") + previousOutputUID = defaults.string(forKey: "recoveryOutputUID") + if let value = defaults.object(forKey: "dialogueBoostDB") as? NSNumber, + value.floatValue.isFinite { + dialogueBoostDB = min(max(value.floatValue, 0), 9) + } + if let value = defaults.object(forKey: "routingVolume") as? NSNumber, + value.floatValue.isFinite { + outputVolume = min(max(value.floatValue, 0), 1) + } + router.setDialogueBoostDB(dialogueBoostDB) + router.setOutputVolume(outputVolume) refreshDevices() - if let storedUID = UserDefaults.standard.string(forKey: "selectedOutputUID"), - availableOutputs.contains(where: { $0.uid == storedUID }) { - selectedOutputUID = storedUID + recoverOutput() + // Always start off. A crash, login, or permission prompt must not + // silently re-enable system-wide capture. + defaults.removeObject(forKey: "wasOn") + + if let listener = AudioObservation(selector: kAudioHardwarePropertyDevices, + handler: { [weak self] in self?.refreshDevices() }) { observations.append(listener) } + if let listener = AudioObservation(selector: kAudioHardwarePropertyDefaultOutputDevice, + handler: { [weak self] in self?.defaultOutputChanged() }) { observations.append(listener) } + observe(.default, NSApplication.willTerminateNotification) { [weak self] in self?.turnOff() } + observe(NSWorkspace.shared.notificationCenter, NSWorkspace.willSleepNotification) { [weak self] in + guard let self else { return } + self.turnOff() + self.statusMessage = "Paused for sleep. Turn Force Stereo on when you're ready." + } + observe(NSWorkspace.shared.notificationCenter, NSWorkspace.didWakeNotification) { [weak self] in + self?.refreshDevices() } - - installDeviceListListener() - installTerminationObserver() - recoverFromCrashedSession() - - // Auto-resume: if the user had it on last time, turn it back on. - if UserDefaults.standard.bool(forKey: "wasOn") { - // Small delay so the menu bar UI has time to appear and the driver - // device is fully registered after a fresh login / reboot. - DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in - guard let self, !self.isOn, self.driverInstalled else { return } - self.turnOn() - } + healthTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { [weak self] _ in + MainActor.assumeIsolated { self?.checkAudioHealth() } } } - /// If a previous run crashed while toggled On, the system default output - /// may still be pointing at MacStereoFix with nothing reading from it. - /// Detect that and bounce the default to the user's chosen real device. - private func recoverFromCrashedSession() { - let current = SystemAudio.defaultOutputDevice() - guard let mac = SystemAudio.macStereoFixDeviceID(), current == mac else { return } - if let uid = selectedOutputUID, - let target = availableOutputs.first(where: { $0.uid == uid }) { - SystemAudio.setDefaultOutputDevice(target.id) - } else if let first = availableOutputs.first { - SystemAudio.setDefaultOutputDevice(first.id) - } + deinit { + healthTimer?.invalidate() + for (center, token) in notifications { center.removeObserver(token) } } - private func installTerminationObserver() { - NotificationCenter.default.addObserver( - forName: NSApplication.willTerminateNotification, - object: nil, queue: .main - ) { [weak self] _ in - // willTerminate has a very brief window before the app dies, so - // we must run synchronously. We're on the main queue already - // (queue: .main above), so it's safe to assume the main actor. - MainActor.assumeIsolated { - guard let self = self else { return } - if self.isOn { self.turnOff() } - } + private func observe(_ center: NotificationCenter, _ name: Notification.Name, + handler: @escaping @MainActor () -> Void) { + let token = center.addObserver(forName: name, object: nil, queue: .main) { _ in + MainActor.assumeIsolated { handler() } } + notifications.append((center, token)) } - // MARK: - Device list - func refreshDevices() { - var devices = SystemAudio.allOutputDevices() - // Hide the MacStereoFix device itself from the picker. - devices.removeAll { $0.uid == SystemAudio.macStereoFixUID } - self.availableOutputs = devices - self.driverInstalled = DriverManager.isInstalled() - - let selectedStillPresent = devices.contains(where: { $0.uid == selectedOutputUID }) - - // If no valid selection, pick a new default. - if !selectedStillPresent { - let currentDefault = SystemAudio.defaultOutputDevice() - if let match = devices.first(where: { $0.id == currentDefault }) { - selectedOutputUID = match.uid - } else if let first = devices.first { - selectedOutputUID = first.uid - } + let devices = SystemAudio.allOutputDevices() + availableOutputs = devices + driverInstalled = DriverManager.isInstalled() + let selected = devices.first { $0.uid == selectedOutputUID } + if isOn && (selected == nil || selected?.id != routedDeviceID || !driverInstalled) { + stopWithError("Audio device disconnected or restarted. Select your output and turn Force Stereo on again.") } - - // Auto-failover: if we're running and the selected device just - // disconnected (e.g. AirPods taken off), switch to the new selection. - if isOn && !selectedStillPresent { - if let uid = selectedOutputUID { - switchOutputDeviceLive(to: uid) - } else { - // No devices left at all — turn off gracefully. - turnOff() - lastError = "Output device disconnected and no alternatives found." - } + if selected == nil { + selectedOutputUID = devices.first { $0.id == SystemAudio.defaultOutputDevice() }?.uid ?? devices.first?.uid } - - refreshOutputVolumeFromDevice() + if !isOn && !isBusy { recoverOutput() } } - /// Pull the current volume off the selected device into the slider value. - private func refreshOutputVolumeFromDevice() { - guard let uid = selectedOutputUID, - let dev = availableOutputs.first(where: { $0.uid == uid }) else { - outputVolumeAvailable = false - return - } - if let v = SystemAudio.deviceVolume(dev.id) { - suppressVolumeWriteback = true - outputVolume = v - suppressVolumeWriteback = false - outputVolumeAvailable = true - } else { - outputVolumeAvailable = false - } + private func defaultOutputChanged() { + guard isOn, SystemAudio.defaultOutputDevice() != SystemAudio.macStereoFixDeviceID() else { return } + turnOff() + statusMessage = "Force Stereo stopped because the output changed in macOS." } - private func installDeviceListListener() { - var addr = AudioObjectPropertyAddress( - mSelector: kAudioHardwarePropertyDevices, - mScope: kAudioObjectPropertyScopeGlobal, - mElement: kAudioObjectPropertyElementMain - ) - let block: AudioObjectPropertyListenerBlock = { [weak self] _, _ in - DispatchQueue.main.async { - self?.refreshDevices() - } + private func recoverOutput() { + if SystemAudio.restoreOutput(preferredUID: previousOutputUID ?? selectedOutputUID) { + recovery.disarm() + defaults.removeObject(forKey: "recoveryOutputUID") + } else { + lastError = "Could not restore sound. Open System Settings → Sound → Output and choose your speakers or headphones." } - AudioObjectAddPropertyListenerBlock( - AudioObjectID(kAudioObjectSystemObject), - &addr, - DispatchQueue.main, - block) } - // MARK: - Toggle / routing - func toggle() { - if isOn { - turnOff() - } else { - turnOn() - } + guard !isBusy else { return } + if isOn { turnOff() } else { turnOn() } } func turnOn() { - guard !isOn else { return } + guard !isOn, !isBusy else { return } lastError = nil - guard let outputUID = selectedOutputUID, - let target = availableOutputs.first(where: { $0.uid == outputUID }) else { - lastError = "No output device selected." - return - } - guard DriverManager.isInstalled() else { - lastError = "MacStereoFix driver not installed." - return + statusMessage = nil + isBusy = true + generation += 1 + let request = generation + let requestedOutput = selectedOutputUID + Task { [weak self] in + guard let self else { return } + let allowed = await self.requestPermission() + guard self.generation == request else { return } + guard allowed else { + self.isBusy = false + self.lastError = "Allow MacStereoFix in System Settings → Privacy & Security → Microphone, then try again. It reads the virtual audio device, not your physical microphone." + return + } + guard self.selectedOutputUID == requestedOutput else { + self.isBusy = false + self.lastError = "The selected output changed while waiting for permission. Select your output and try again." + return + } + await self.startRouting(request: request) } - guard let macStereoFix = SystemAudio.macStereoFixDeviceID() else { - lastError = "MacStereoFix device missing — try Reinstall Driver." + } + + private func startRouting(request: Int) async { + defer { if generation == request { isBusy = false } } + guard let uid = selectedOutputUID, + let target = availableOutputs.first(where: { $0.uid == uid }), + DriverManager.isInstalled(), let virtual = SystemAudio.macStereoFixDeviceID() else { + lastError = "Install the current driver and select an available stereo output first." return } + let current = SystemAudio.defaultOutputDevice() + previousOutputUID = current == virtual ? target.uid : SystemAudio.deviceUID(current) ?? target.uid + defaults.set(previousOutputUID, forKey: "recoveryOutputUID") do { + try recovery.arm(preferredUID: previousOutputUID) try router.start(outputDevice: target.id) + // Confirm both callbacks run before moving any app's sound to the driver. + for _ in 0..<100 { + guard generation == request else { return } + let progress = router.progress + if progress.capture > 0 && progress.render > 0 { break } + if router.audioFailed { break } + try await Task.sleep(nanoseconds: 20_000_000) + } + guard generation == request else { return } + let progress = router.progress + guard !router.audioFailed, progress.capture > 0, progress.render > 0, recovery.isRunning else { + throw RoutingError.message("Audio could not start. Your normal output was kept. Check audio permission and reconnect your output device.") + } + guard selectedOutputUID == uid, SystemAudio.allOutputDevices().contains(target), + DriverManager.isInstalled(), SystemAudio.sampleRate(target.id) == router.outputSampleRate else { + throw RoutingError.message("The selected audio device changed while starting. Select your output and try again.") + } + guard SystemAudio.defaultOutputDevice() == current else { + throw RoutingError.message("The macOS output changed while starting. Try again with the output you want.") + } + setupVirtualVolume(virtual) + guard SystemAudio.setDefaultOutputDevice(virtual), SystemAudio.defaultOutputDevice() == virtual else { + throw RoutingError.message("Could not select MacStereoFix as the output.") + } + routedDeviceID = target.id + lastProgress = router.progress + stalledChecks = 0 + isOn = true } catch { - lastError = error.localizedDescription - return + stopWithError(error.localizedDescription) } - // Wire the virtual device's volume control to the real output so - // the hardware volume keys adjust the real device while running. - // Must happen BEFORE hijacking the default so the first key press - // (which usually happens after the default change) finds us ready. - setupVirtualVolumeBridge(macStereoFix: macStereoFix, realDeviceID: target.id) + } - // Hijack the system default output to MacStereoFix so games go through us. - previousDefaultDevice = SystemAudio.defaultOutputDevice() - if previousDefaultDevice == macStereoFix { - // Avoid restoring back to ourselves on Off; pick the user's chosen - // real device as the "previous" so toggling Off restores cleanly. - previousDefaultDevice = target.id - } - if !SystemAudio.setDefaultOutputDevice(macStereoFix) { - tearDownVirtualVolumeBridge() - router.stop() - lastError = "Could not set MacStereoFix as default output device." - return - } - isOn = true - UserDefaults.standard.set(true, forKey: "wasOn") + private func stopWithError(_ message: String) { + let restored = turnOff() + lastError = restored ? message : message + " Choose your speakers or headphones in System Settings → Sound → Output to restore sound." } - func turnOff() { - if previousDefaultDevice != 0 { - SystemAudio.setDefaultOutputDevice(previousDefaultDevice) - } - tearDownVirtualVolumeBridge() + @discardableResult + func turnOff() -> Bool { + generation += 1 + // Restore before stopping capture/render; preserve a user's manual output change. + let restored = SystemAudio.restoreOutput(preferredUID: previousOutputUID ?? selectedOutputUID) + volumeObservation = nil + muteObservation = nil + virtualVolumeControlID = nil + virtualMuteControlID = nil router.stop() + routedDeviceID = nil isOn = false - UserDefaults.standard.set(false, forKey: "wasOn") - } - - /// Switch the real output device while the pipeline stays active. - /// The system default (MacStereoFix) is untouched — only the render side - /// is rebuilt, so there's no audible gap or device-switch glitch. - func switchOutputDeviceLive(to uid: String) { - guard isOn else { return } - guard let target = availableOutputs.first(where: { $0.uid == uid }) else { - lastError = "Device not found." - return - } - do { - try router.switchOutputDevice(target.id) - // Update previousDefaultDevice so Off restores to the new choice. - previousDefaultDevice = target.id - // Re-seed the virtual control from the new real device so the - // next volume key press steps from the right baseline. - reseedVirtualVolumeBridge(realDeviceID: target.id) - } catch { - lastError = error.localizedDescription + isBusy = driverChangeInProgress + if restored { + recovery.disarm() + defaults.removeObject(forKey: "recoveryOutputUID") + } else { + lastError = "Could not restore sound. Choose your speakers or headphones in System Settings → Sound → Output." } + return restored } - // MARK: - Driver install / uninstall - - func installDriver() { - lastError = nil - if let err = DriverManager.installDriver() { - lastError = err - } - // Give coreaudiod a moment to come back, then re-scan. - DispatchQueue.main.asyncAfter(deadline: .now() + 1.5) { [weak self] in - self?.refreshDevices() - } + func selectOutput(_ uid: String) { + guard !isBusy else { return } + let resume = isOn + if resume && !turnOff() { return } + selectedOutputUID = uid.isEmpty ? nil : uid + if resume { turnOn() } } - func uninstallDriver() { - if isOn { turnOff() } - lastError = nil - if let err = DriverManager.uninstallDriver() { - lastError = err + private func setupVirtualVolume(_ virtual: AudioDeviceID) { + if let muteControl = SystemAudio.outputControlID(for: virtual, class: kAudioMuteControlClassID) { + virtualMuteControlID = muteControl + SystemAudio.setControlMuted(muteControl, isMuted) + muteObservation = AudioObservation(object: muteControl, selector: kAudioBooleanControlPropertyValue) { [weak self] in + guard let self, let value = SystemAudio.controlMuted(muteControl) else { return } + self.updatingVolume = true + self.isMuted = value + self.updatingVolume = false + } } - DispatchQueue.main.asyncAfter(deadline: .now() + 1.5) { [weak self] in - self?.refreshDevices() + guard let control = SystemAudio.outputControlID(for: virtual, class: kAudioVolumeControlClassID) else { return } + virtualVolumeControlID = control + SystemAudio.setControlScalarValue(control, outputVolume) + volumeObservation = AudioObservation(object: control, selector: kAudioLevelControlPropertyScalarValue) { [weak self] in + guard let self, let value = SystemAudio.controlScalarValue(control) else { return } + self.updatingVolume = true + self.outputVolume = value + self.updatingVolume = false } } - // MARK: - Virtual volume bridge - - /// Discover MacStereoFix's output volume control, seed it with the - /// real device's current volume, and install a listener so hardware - /// volume-key presses mirror onto the real device. Called by turnOn. - private func setupVirtualVolumeBridge(macStereoFix: AudioDeviceID, realDeviceID: AudioDeviceID) { - guard let ctl = SystemAudio.outputVolumeControlID(for: macStereoFix) else { - // Driver predates the volume control — slider still works, - // hardware volume keys just won't. Not an error. - virtualVolumeControlID = nil - virtualVolumeListenerBlock = nil - return + private func checkAudioHealth() { + guard isOn else { return } + router.updateClockDrift() + let progress = router.progress + let stalled = progress.capture == lastProgress.capture || progress.render == lastProgress.render + stalledChecks = stalled ? stalledChecks + 1 : 0 + lastProgress = progress + let rateChanged = routedDeviceID.map { SystemAudio.sampleRate($0) != router.outputSampleRate } ?? true + if router.audioFailed || stalledChecks >= 3 || rateChanged || !recovery.isRunning { + stopWithError("Audio routing stopped working, so Force Stereo was turned off. Check your output device and try again.") } - virtualVolumeControlID = ctl + } - // Seed the control with the real device's current volume so the - // first key press produces a normal-sized step rather than a jump - // from whatever stale value the driver last remembered. - if let realVol = SystemAudio.deviceVolume(realDeviceID) { - SystemAudio.setControlScalarValue(ctl, realVol) - } + func installDriver() { changeDriver(install: true) } + func uninstallDriver() { changeDriver(install: false) } - // Install the listener. AudioObjectAddPropertyListenerBlock will - // deliver the callback on the queue we pass, so we're already on - // main when the handler runs. - let block = SystemAudio.installControlScalarListener( - on: ctl, - queue: .main - ) { [weak self] in - MainActor.assumeIsolated { - self?.handleVirtualVolumeChange() + private func changeDriver(install: Bool) { + guard !isBusy else { return } + // Removal must remain possible on a headless Mac with no physical + // output. Always stop IO, even when there is nowhere to restore sound. + let restored = turnOff() + lastError = nil + statusMessage = install ? "Installing driver…" : "Removing driver…" + isBusy = true + driverChangeInProgress = true + Task { [weak self] in + let error = await Task.detached { + install ? DriverManager.installDriver() : DriverManager.uninstallDriver() + }.value + guard let self else { return } + if let error { + self.statusMessage = nil + self.lastError = error + } else { + self.statusMessage = install ? "Driver copied. Waiting for macOS audio…" : "Driver removed." } + // Registration can take longer than a fixed 1.5-second delay. + self.refreshDevices() + if error == nil { + for _ in 0..<20 { + if install == self.driverInstalled { break } + try? await Task.sleep(nanoseconds: 250_000_000) + self.refreshDevices() + } + } + if error == nil && install { + self.statusMessage = self.driverInstalled ? "Driver ready." : nil + if !self.driverInstalled { self.lastError = "Driver copied, but macOS hasn't loaded it. Restart your Mac, then try again." } + } + self.driverChangeInProgress = false + self.isBusy = false + if !restored && error == nil { self.recoverOutput() } } - virtualVolumeListenerBlock = block - } - - /// Remove the listener and clear cached state. Called by turnOff. - private func tearDownVirtualVolumeBridge() { - if let ctl = virtualVolumeControlID, let block = virtualVolumeListenerBlock { - SystemAudio.removeControlScalarListener(on: ctl, queue: .main, block: block) - } - virtualVolumeControlID = nil - virtualVolumeListenerBlock = nil } - /// When the real output device changes mid-session, re-read its - /// current volume and push it into the virtual control so the next - /// key press steps from the right baseline. - private func reseedVirtualVolumeBridge(realDeviceID: AudioDeviceID) { - guard let ctl = virtualVolumeControlID else { return } - guard let realVol = SystemAudio.deviceVolume(realDeviceID) else { return } - SystemAudio.setControlScalarValue(ctl, realVol) + private enum RoutingError: LocalizedError { + case message(String) + var errorDescription: String? { switch self { case .message(let text): return text } } } - /// Fired when macOS writes a new value to the virtual device's output - /// volume control — usually because the user pressed a hardware volume - /// key. Mirror the new value to the real device and update the slider. - private func handleVirtualVolumeChange() { - guard let ctl = virtualVolumeControlID else { return } - guard let newValue = SystemAudio.controlScalarValue(ctl) else { return } - if let uid = selectedOutputUID, - let dev = availableOutputs.first(where: { $0.uid == uid }) { - SystemAudio.setDeviceVolume(dev.id, newValue) + nonisolated static func requestAudioPermission() async -> Bool { + switch AVCaptureDevice.authorizationStatus(for: .audio) { + case .authorized: return true + case .notDetermined: return await AVCaptureDevice.requestAccess(for: .audio) + default: return false } - // Update the slider, suppressing the didSet so it doesn't write - // back to the real device or the virtual control again. - suppressVolumeWriteback = true - outputVolume = newValue - suppressVolumeWriteback = false } } diff --git a/App/AudioObservation.swift b/App/AudioObservation.swift new file mode 100644 index 0000000..cb99e64 --- /dev/null +++ b/App/AudioObservation.swift @@ -0,0 +1,20 @@ +import CoreAudio +import Foundation + +/// Owns the exact block and queue required to remove a CoreAudio listener. +final class AudioObservation { + private let object: AudioObjectID + private var address: AudioObjectPropertyAddress + private let block: AudioObjectPropertyListenerBlock + + init?(object: AudioObjectID = AudioObjectID(kAudioObjectSystemObject), + selector: AudioObjectPropertySelector, handler: @escaping @MainActor () -> Void) { + self.object = object + address = AudioObjectPropertyAddress(mSelector: selector, + mScope: kAudioObjectPropertyScopeGlobal, mElement: kAudioObjectPropertyElementMain) + block = { _, _ in MainActor.assumeIsolated { handler() } } + guard AudioObjectAddPropertyListenerBlock(object, &address, .main, block) == noErr else { return nil } + } + + deinit { AudioObjectRemovePropertyListenerBlock(object, &address, .main, block) } +} diff --git a/App/AudioRecovery.swift b/App/AudioRecovery.swift new file mode 100644 index 0000000..61adbb2 --- /dev/null +++ b/App/AudioRecovery.swift @@ -0,0 +1,44 @@ +import Foundation + +/// A child owns the read end of a pipe. App termination (including SIGKILL) +/// closes the write end, waking it to restore the output without a login item. +final class AudioRecovery { + private var process: Process? + private var input: FileHandle? + + var isRunning: Bool { process?.isRunning == true } + + func arm(preferredUID: String?) throws { + disarm() + guard let executable = Bundle.main.url(forAuxiliaryExecutable: "MacStereoFixRecovery") else { + throw CocoaError(.fileNoSuchFile) + } + let child = Process() + let pipe = Pipe() + child.executableURL = executable + child.arguments = [preferredUID ?? ""] + child.standardInput = pipe + child.standardOutput = FileHandle.nullDevice + child.standardError = FileHandle.nullDevice + try child.run() + _ = fcntl(pipe.fileHandleForWriting.fileDescriptor, F_SETNOSIGPIPE, 1) + process = child + input = pipe.fileHandleForWriting + // Process.run returns only after a successful exec; EOF is retained if + // the parent exits before the child starts reading. + } + + func disarm() { + if let input { + try? input.write(contentsOf: Data("disarm\n".utf8)) + try? input.close() + } + input = nil + process = nil + } + + deinit { + // No disarm here: unexpected owner destruction must trigger recovery. + try? input?.close() + } +} diff --git a/App/AudioRouter.swift b/App/AudioRouter.swift index ec37d4f..4247e2f 100644 --- a/App/AudioRouter.swift +++ b/App/AudioRouter.swift @@ -21,19 +21,11 @@ import AudioToolbox let kMSFChannelCount: Int = 8 /// Sample rate of the virtual device. Must match the driver's kSampleRate. let kMSFSampleRate: Float64 = 48000 -/// Frames of ring-buffer headroom between capture and render threads. -/// Matches the driver's kRingBufferFrameCount — enough slack for any IO -/// cycle size we'd ever pick, small enough to cap worst-case latency. -let kMSFRingFrames: Int = 4096 -/// Target IO buffer size (frames) requested on both capture and render -/// devices. At 48 kHz this is ~2.7 ms per cycle. Clamped to each device's -/// BufferFrameSizeRange at start; devices that can't go this small (e.g. -/// Bluetooth) will simply use their smallest supported size. -let kMSFTargetBufferFrames: UInt32 = 128 -/// Render-side ring-buffer fill cap. When fill exceeds this, the render -/// callback drops the oldest frames before reading. Keeps app-side latency -/// bounded at roughly one target IO cycle. -let kMSFMaxFillFrames: Int = 256 +/// Bounded storage for large hardware IO cycles and sample-rate conversion. +let kMSFRingFrames = 32768 +let kMSFMaximumFrames: UInt32 = 8192 +let kMSFMaximumSourceFrames = 16384 +let kMSFMaxFillFrames = 4096 // MARK: - AudioRouter @@ -62,6 +54,7 @@ final class AudioRouter: @unchecked Sendable { private var captureUnit: AudioUnit? private var renderUnit: AudioUnit? + private var converterUnit: AudioUnit? // MARK: Buffers @@ -77,25 +70,42 @@ final class AudioRouter: @unchecked Sendable { /// Scratch used inside the render callback to pull 8-ch frames from the /// ring buffer before downmixing. Lives as long as the render unit. private var pullScratch: UnsafeMutablePointer? + private var stereoScratch: UnsafeMutablePointer? private var pullScratchCapacity: Int = 0 + private var renderPrimed = false // consumer only; reset with IO stopped // MARK: Downmix gains /// Linear center-channel gain. Read on the real-time render thread, written /// from the UI thread — stored as an atomic float so there's no tearing. private let centerGain = UnsafeMutablePointer.allocate(capacity: 1) - /// Surround / rear-surround coefficients are fixed ITU constants. - private static let surroundGain: Float = 0.707 // -3 dB, ITU Ls/Rs - private static let rearGain: Float = 0.5 // -6 dB, Lsr/Rsr + /// Software attenuation applied after the bounded stereo downmix. + private let outputGain = UnsafeMutablePointer.allocate(capacity: 1) + private let callbackFailure = UnsafeMutablePointer.allocate(capacity: 1) + private let captureCycles = UnsafeMutablePointer.allocate(capacity: 1) + private let renderCycles = UnsafeMutablePointer.allocate(capacity: 1) + private let bufferedFrames = UnsafeMutablePointer.allocate(capacity: 1) + private(set) var outputSampleRate: Float64 = 0 // MARK: - Init / deinit init() { msf_atomic_float_init(centerGain, 0.707) + msf_atomic_float_init(outputGain, 1) + msf_atomic_init(callbackFailure, 0) + msf_atomic_init(captureCycles, 0) + msf_atomic_init(renderCycles, 0) + msf_atomic_float_init(bufferedFrames, Float(StereoMix.reserveFrames)) } deinit { + stop() centerGain.deallocate() + outputGain.deallocate() + callbackFailure.deallocate() + captureCycles.deallocate() + renderCycles.deallocate() + bufferedFrames.deallocate() } // MARK: - Public API @@ -105,7 +115,7 @@ final class AudioRouter: @unchecked Sendable { /// Set the dialogue boost in dB (added on top of the -3 dB ITU baseline). func setDialogueBoostDB(_ dB: Float) { - let linear: Float = 0.707 * pow(10.0, dB / 20.0) + let linear = StereoMix.centerGain(boostDB: dB) msf_atomic_float_store(centerGain, linear) } @@ -119,12 +129,16 @@ final class AudioRouter: @unchecked Sendable { } ringBuffer.reset() - - try buildCaptureUnit(deviceID: macStereoFix) + renderPrimed = false + msf_atomic_float_store(bufferedFrames, Float(StereoMix.reserveFrames)) + msf_atomic_store(callbackFailure, 0) + msf_atomic_store(captureCycles, 0) + msf_atomic_store(renderCycles, 0) do { + try buildCaptureUnit(deviceID: macStereoFix) try buildRenderUnit(deviceID: outputDevice) } catch { - tearDownCaptureUnit() + tearDown() throw error } @@ -146,27 +160,31 @@ final class AudioRouter: @unchecked Sendable { } func stop() { - if let c = captureUnit { AudioOutputUnitStop(c) } - if let r = renderUnit { AudioOutputUnitStop(r) } tearDown() } - /// Swap only the render (output) device while capture stays running. - /// This avoids toggling the system default device and eliminates the - /// audible gap when the user switches output devices mid-session. + /// Rebuild with both callbacks stopped before touching shared storage. func switchOutputDevice(_ newDeviceID: AudioDeviceID) throws { - guard isRunning else { return } - if let r = renderUnit { AudioOutputUnitStop(r) } - tearDownRenderUnit() - try buildRenderUnit(deviceID: newDeviceID) - if let r = renderUnit { - let status = AudioOutputUnitStart(r) - if status != noErr { - tearDownRenderUnit() - throw RouterError.audioUnitError("AudioOutputUnitStart(render switch)", status) - } + stop() + try start(outputDevice: newDeviceID) + } + + func setOutputVolume(_ volume: Float) { + msf_atomic_float_store(outputGain, volume.isFinite ? min(max(volume, 0), 1) : 0) + } + + var audioFailed: Bool { msf_atomic_load(callbackFailure) != 0 } + func updateClockDrift() { + guard let converterUnit else { return } + let rate = StereoMix.clockRate(bufferedFrames: msf_atomic_float_load(bufferedFrames)) + if AudioUnitSetParameter(converterUnit, kVarispeedParam_PlaybackRate, + kAudioUnitScope_Global, 0, rate, 0) != noErr { + msf_atomic_store(callbackFailure, 1) } } + var progress: (capture: UInt64, render: UInt64) { + (msf_atomic_load(captureCycles), msf_atomic_load(renderCycles)) + } // MARK: - Teardown @@ -177,6 +195,7 @@ final class AudioRouter: @unchecked Sendable { private func tearDownCaptureUnit() { if let c = captureUnit { + AudioOutputUnitStop(c) AudioUnitUninitialize(c) AudioComponentInstanceDispose(c) captureUnit = nil @@ -194,45 +213,23 @@ final class AudioRouter: @unchecked Sendable { private func tearDownRenderUnit() { if let r = renderUnit { + AudioOutputUnitStop(r) AudioUnitUninitialize(r) AudioComponentInstanceDispose(r) renderUnit = nil } + if let c = converterUnit { + AudioUnitUninitialize(c) + AudioComponentInstanceDispose(c) + converterUnit = nil + } if let p = pullScratch { p.deallocate() pullScratch = nil pullScratchCapacity = 0 } - } - - // MARK: - Device buffer size helper - - /// Ask a device to run with the smallest IO cycle that its range permits, - /// capped at `target`. Non-fatal on failure: the device keeps its current - /// size and we'll just get whatever latency it gives us. Must be called - /// before AudioUnitInitialize. - private func requestSmallBufferSize(deviceID: AudioDeviceID, target: UInt32) { - var rangeAddr = AudioObjectPropertyAddress( - mSelector: kAudioDevicePropertyBufferFrameSizeRange, - mScope: kAudioObjectPropertyScopeGlobal, - mElement: kAudioObjectPropertyElementMain) - var range = AudioValueRange(mMinimum: 0, mMaximum: 0) - var rangeSize = UInt32(MemoryLayout.size) - var desired = target - if AudioObjectGetPropertyData(deviceID, &rangeAddr, 0, nil, &rangeSize, &range) == noErr, - range.mMaximum > 0 { - let lo = UInt32(max(1.0, range.mMinimum)) - let hi = UInt32(range.mMaximum) - if desired < lo { desired = lo } - if desired > hi { desired = hi } - } - var value = desired - var sizeAddr = AudioObjectPropertyAddress( - mSelector: kAudioDevicePropertyBufferFrameSize, - mScope: kAudioObjectPropertyScopeGlobal, - mElement: kAudioObjectPropertyElementMain) - _ = AudioObjectSetPropertyData(deviceID, &sizeAddr, 0, nil, - UInt32(MemoryLayout.size), &value) + stereoScratch?.deallocate() + stereoScratch = nil } // MARK: - Capture unit @@ -318,19 +315,14 @@ final class AudioRouter: @unchecked Sendable { throw RouterError.audioUnitError("SetInputCallback", status) } - // Query the device's maximum IO buffer size so we never under-allocate. - // Fall back to a safe default if the query fails. - var maxFrameSize: UInt32 = 0 - var propSize = UInt32(MemoryLayout.size) - var bufSizeAddr = AudioObjectPropertyAddress( - mSelector: kAudioDevicePropertyBufferFrameSize, - mScope: kAudioObjectPropertyScopeGlobal, - mElement: kAudioObjectPropertyElementMain) - if AudioObjectGetPropertyData(deviceID, &bufSizeAddr, 0, nil, &propSize, &maxFrameSize) != noErr || maxFrameSize == 0 { - maxFrameSize = 4096 + var maximum = kMSFMaximumFrames + status = AudioUnitSetProperty(u, kAudioUnitProperty_MaximumFramesPerSlice, + kAudioUnitScope_Global, 0, &maximum, UInt32(MemoryLayout.size)) + if status != noErr { + AudioComponentInstanceDispose(u) + throw RouterError.audioUnitError("MaximumFrames(capture)", status) } - // Add headroom: some devices may deliver slightly more than reported. - let maxFrames = Int(maxFrameSize) * 2 + let maxFrames = Int(maximum) let totalSamples = maxFrames * kMSFChannelCount let storage = UnsafeMutablePointer.allocate(capacity: totalSamples) let abl = UnsafeMutablePointer.allocate(capacity: 1) @@ -342,11 +334,6 @@ final class AudioRouter: @unchecked Sendable { captureBufferStorage = storage captureBufferCapacity = maxFrames - // Ask the virtual device for the smallest IO cycle we can get. - // Must happen before AudioUnitInitialize so the unit picks up the - // new cycle size. - requestSmallBufferSize(deviceID: deviceID, target: kMSFTargetBufferFrames) - status = AudioUnitInitialize(u) if status != noErr { AudioComponentInstanceDispose(u) @@ -385,15 +372,26 @@ final class AudioRouter: @unchecked Sendable { throw RouterError.audioUnitError("CurrentDevice(render)", status) } - // We provide stereo Float32 at 48k. The HALOutput unit will sample-rate - // convert to whatever the device wants. + // AUHAL requires the hardware's sample rate. A separate Apple converter + // supplies stereo at that rate without changing the user's device format. + var hardwareFormat = AudioStreamBasicDescription() + var formatSize = UInt32(MemoryLayout.size) + status = AudioUnitGetProperty(u, kAudioUnitProperty_StreamFormat, + kAudioUnitScope_Output, 0, &hardwareFormat, &formatSize) + guard status == noErr, hardwareFormat.mSampleRate.isFinite, + (32000...192000).contains(hardwareFormat.mSampleRate), + hardwareFormat.mChannelsPerFrame >= 2 else { + AudioComponentInstanceDispose(u) + throw RouterError.audioUnitError("Select a stereo output at 32–192 kHz", status == noErr ? kAudioDeviceUnsupportedFormatError : status) + } + outputSampleRate = hardwareFormat.mSampleRate var fmt = AudioStreamBasicDescription( - mSampleRate: kMSFSampleRate, + mSampleRate: outputSampleRate, mFormatID: kAudioFormatLinearPCM, - mFormatFlags: kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked, - mBytesPerPacket: UInt32(2 * MemoryLayout.size), + mFormatFlags: kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked | kAudioFormatFlagIsNonInterleaved, + mBytesPerPacket: UInt32(MemoryLayout.size), mFramesPerPacket: 1, - mBytesPerFrame: UInt32(2 * MemoryLayout.size), + mBytesPerFrame: UInt32(MemoryLayout.size), mChannelsPerFrame: 2, mBitsPerChannel: 32, mReserved: 0) @@ -406,45 +404,72 @@ final class AudioRouter: @unchecked Sendable { throw RouterError.audioUnitError("StreamFormat(render in)", status) } - var cb = AURenderCallbackStruct( - inputProc: AudioRouter.renderCallback, - inputProcRefCon: Unmanaged.passUnretained(self).toOpaque()) - status = AudioUnitSetProperty(u, - kAudioUnitProperty_SetRenderCallback, - kAudioUnitScope_Input, 0, - &cb, UInt32(MemoryLayout.size)) - if status != noErr { + do { + let converter = try buildConverter(outputFormat: fmt) + var connection = AudioUnitConnection(sourceAudioUnit: converter, sourceOutputNumber: 0, destInputNumber: 0) + var maximum = kMSFMaximumFrames + try check("Output frame limit", AudioUnitSetProperty(u, kAudioUnitProperty_MaximumFramesPerSlice, + kAudioUnitScope_Global, 0, &maximum, UInt32(MemoryLayout.size))) + try check("Connect converter", AudioUnitSetProperty(u, kAudioUnitProperty_MakeConnection, + kAudioUnitScope_Input, 0, &connection, UInt32(MemoryLayout.size))) + try check("Initialize render", AudioUnitInitialize(u)) + } catch { AudioComponentInstanceDispose(u) - throw RouterError.audioUnitError("SetRenderCallback", status) + throw error } + renderUnit = u + } - // Query the output device's buffer size and add headroom for the - // render-side 8ch pull scratch. - var outBufSize: UInt32 = 0 - var obsPropSize = UInt32(MemoryLayout.size) - var obsSizeAddr = AudioObjectPropertyAddress( - mSelector: kAudioDevicePropertyBufferFrameSize, - mScope: kAudioObjectPropertyScopeOutput, - mElement: kAudioObjectPropertyElementMain) - if AudioObjectGetPropertyData(deviceID, &obsSizeAddr, 0, nil, &obsPropSize, &outBufSize) != noErr || outBufSize == 0 { - outBufSize = 4096 - } - let maxFrames = Int(outBufSize) * 2 - let total = maxFrames * kMSFChannelCount - pullScratch = UnsafeMutablePointer.allocate(capacity: total) - pullScratchCapacity = maxFrames + private func check(_ operation: String, _ status: OSStatus) throws { + if status != noErr { throw RouterError.audioUnitError(operation, status) } + } - // Request the smallest IO cycle the real device supports so render - // latency stays low. Must happen before AudioUnitInitialize. - requestSmallBufferSize(deviceID: deviceID, target: kMSFTargetBufferFrames) + private func buildConverter(outputFormat: AudioStreamBasicDescription) throws -> AudioUnit { + var description = AudioComponentDescription(componentType: kAudioUnitType_FormatConverter, + componentSubType: kAudioUnitSubType_Varispeed, + componentManufacturer: kAudioUnitManufacturer_Apple, componentFlags: 0, componentFlagsMask: 0) + guard let component = AudioComponentFindNext(nil, &description) else { throw RouterError.componentNotFound } + var unit: AudioUnit? + try check("Create converter", AudioComponentInstanceNew(component, &unit)) + guard let unit else { throw RouterError.componentNotFound } + converterUnit = unit + var format = outputFormat + var source = format + source.mSampleRate = kMSFSampleRate + let formatSize = UInt32(MemoryLayout.size) + var callback = AURenderCallbackStruct(inputProc: AudioRouter.renderCallback, + inputProcRefCon: Unmanaged.passUnretained(self).toOpaque()) + var maximum = UInt32(kMSFMaximumSourceFrames) + try check("Converter input", AudioUnitSetProperty(unit, kAudioUnitProperty_StreamFormat, + kAudioUnitScope_Input, 0, &source, formatSize)) + try check("Converter output", AudioUnitSetProperty(unit, kAudioUnitProperty_StreamFormat, + kAudioUnitScope_Output, 0, &format, formatSize)) + try check("Converter callback", AudioUnitSetProperty(unit, kAudioUnitProperty_SetRenderCallback, + kAudioUnitScope_Input, 0, &callback, UInt32(MemoryLayout.size))) + try check("Converter frame limit", AudioUnitSetProperty(unit, kAudioUnitProperty_MaximumFramesPerSlice, + kAudioUnitScope_Global, 0, &maximum, UInt32(MemoryLayout.size))) + pullScratch = UnsafeMutablePointer.allocate(capacity: kMSFMaximumSourceFrames * kMSFChannelCount) + stereoScratch = UnsafeMutablePointer.allocate(capacity: kMSFMaximumSourceFrames * 2) + pullScratchCapacity = kMSFMaximumSourceFrames + try check("Initialize converter", AudioUnitInitialize(unit)) + return unit + } - status = AudioUnitInitialize(u) - if status != noErr { - AudioComponentInstanceDispose(u) - throw RouterError.audioUnitError("AudioUnitInitialize(render)", status) - } - renderUnit = u + #if MSF_TESTING + // Exercise the production converter and callback without installing a driver + // or sending any audio to hardware. This code is absent from app builds. + func prepareOfflineOutput(sampleRate: Float64) throws -> AudioUnit { + stop() + ringBuffer.reset() + renderPrimed = false + return try buildConverter(outputFormat: AudioStreamBasicDescription(mSampleRate: sampleRate, + mFormatID: kAudioFormatLinearPCM, + mFormatFlags: kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked | kAudioFormatFlagIsNonInterleaved, + mBytesPerPacket: 4, mFramesPerPacket: 1, mBytesPerFrame: 4, + mChannelsPerFrame: 2, mBitsPerChannel: 32, mReserved: 0)) } + func enqueueOfflineAudio(_ source: UnsafePointer, frames: Int) { ringBuffer.write(source, frameCount: frames) } + #endif // MARK: - Real-time callbacks (C-style) @@ -455,13 +480,24 @@ final class AudioRouter: @unchecked Sendable { let abl = router.captureBufferList else { return noErr } - // Clamp to our buffer capacity — drop excess frames rather than overrun. - let framesToCapture = min(Int(inNumberFrames), router.captureBufferCapacity) + let framesToCapture = Int(inNumberFrames) + guard framesToCapture <= router.captureBufferCapacity else { + msf_atomic_store(router.callbackFailure, 1) + return kAudioUnitErr_TooManyFramesToProcess + } abl.pointee.mBuffers.mDataByteSize = UInt32(framesToCapture * kMSFChannelCount * MemoryLayout.size) let status = AudioUnitRender(unit, ioActionFlags, inTimeStamp, inBusNumber, UInt32(framesToCapture), abl) if status != noErr { + msf_atomic_store(router.callbackFailure, 1) return status } + guard abl.pointee.mNumberBuffers == 1, abl.pointee.mBuffers.mNumberChannels == UInt32(kMSFChannelCount), + abl.pointee.mBuffers.mData != nil, + Int(abl.pointee.mBuffers.mDataByteSize) >= framesToCapture * kMSFChannelCount * MemoryLayout.size else { + msf_atomic_store(router.callbackFailure, 1) + return kAudioUnitErr_FormatNotSupported + } + msf_atomic_store(router.captureCycles, msf_atomic_load(router.captureCycles) &+ 1) // Push captured 8ch frames into the ring buffer (drop on overflow). if let raw = abl.pointee.mBuffers.mData { let src = raw.assumingMemoryBound(to: Float.self) @@ -475,19 +511,30 @@ final class AudioRouter: @unchecked Sendable { let router = Unmanaged.fromOpaque(inRefCon).takeUnretainedValue() guard let ioData = ioData else { return noErr } let abl = UnsafeMutableAudioBufferListPointer(ioData) - // Render unit's input format is interleaved stereo Float32 -> single buffer. - guard abl.count >= 1 else { return noErr } - let stereoBuf = abl[0] - guard let stereoRaw = stereoBuf.mData else { return noErr } - let dst = stereoRaw.assumingMemoryBound(to: Float.self) let frames = Int(inNumberFrames) - - // Pull 8ch frames from ring buffer into scratch. - guard let scratch = router.pullScratch, router.pullScratchCapacity >= frames else { - // No scratch -> output silence. - memset(dst, 0, frames * 2 * MemoryLayout.size) - return noErr + let bytes = frames * MemoryLayout.size + // AUVarispeed uses planar Float32. Provide preallocated storage whenever + // the converter leaves a channel pointer nil, and validate every plane. + guard abl.count == 2, frames <= router.pullScratchCapacity, + let scratch = router.pullScratch, let stereo = router.stereoScratch else { + for buffer in abl { if let data = buffer.mData { memset(data, 0, Int(buffer.mDataByteSize)) } } + msf_atomic_store(router.callbackFailure, 1) + return kAudioUnitErr_TooManyFramesToProcess + } + for channel in 0..<2 { + if abl[channel].mData == nil { + abl[channel].mData = UnsafeMutableRawPointer(stereo.advanced(by: channel * router.pullScratchCapacity)) + abl[channel].mDataByteSize = UInt32(bytes) + } + guard abl[channel].mNumberChannels == 1, Int(abl[channel].mDataByteSize) >= bytes else { + for buffer in abl { if let data = buffer.mData { memset(data, 0, Int(buffer.mDataByteSize)) } } + msf_atomic_store(router.callbackFailure, 1) + return kAudioUnitErr_FormatNotSupported + } } + let left = abl[0].mData!.assumingMemoryBound(to: Float.self) + let right = abl[1].mData!.assumingMemoryBound(to: Float.self) + // Cap app-side latency: if the capture side has gotten ahead of us // by more than kMSFMaxFillFrames + this cycle's frames, discard the // excess oldest frames before reading. Without this the steady-state @@ -495,41 +542,33 @@ final class AudioRouter: @unchecked Sendable { // produced, which just sits in the pipe forever as pure delay. let targetFill = kMSFMaxFillFrames + frames let currentFill = router.ringBuffer.fillFrames() + if !router.renderPrimed { + guard currentFill >= frames + StereoMix.reserveFrames else { + memset(left, 0, bytes) + memset(right, 0, bytes) + return noErr + } + router.renderPrimed = true + } if currentFill > targetFill { router.ringBuffer.skip(frameCount: currentFill - targetFill) } let read = router.ringBuffer.read(scratch, frameCount: frames) + let fill = Float(router.ringBuffer.fillFrames()) + let previous = msf_atomic_float_load(router.bufferedFrames) + msf_atomic_float_store(router.bufferedFrames, previous + 0.01 * (fill - previous)) if read < frames { + router.renderPrimed = false // Zero-fill the tail of scratch where we have no data. let tailStart = read * kMSFChannelCount let tailCount = (frames - read) * kMSFChannelCount memset(scratch.advanced(by: tailStart), 0, tailCount * MemoryLayout.size) } - // Downmix 8ch interleaved -> stereo interleaved. - // Channel order (matches driver's preferred layout): - // 0: L 1: R 2: C 3: LFE 4: Ls 5: Rs 6: Lsr 7: Rsr - let cgain = msf_atomic_float_load(router.centerGain) - let sgain = AudioRouter.surroundGain - let rgain = AudioRouter.rearGain - var s = 0 - var d = 0 - for _ in 0.. Bool { - return FileManager.default.fileExists(atPath: driverInstallPath) - && SystemAudio.isInstalled() + guard let bundled = bundledDriverPath(), + let expected = version(at: bundled), expected == version(at: driverInstallPath) else { return false } + return SystemAudio.macStereoFixDriverVersion() == expected } - /// Returns the path to the bundled driver inside our app's Resources, or - /// nil if it's missing (which should never happen in a properly built app). - private static func bundledDriverPath() -> String? { - guard let resPath = Bundle.main.resourcePath else { return nil } - let candidate = (resPath as NSString).appendingPathComponent("MacStereoFix.driver") - return FileManager.default.fileExists(atPath: candidate) ? candidate : nil + private static func version(at path: String) -> String? { + // Read the plist directly: Bundle caches metadata across reinstalls. + let url = URL(fileURLWithPath: path).appendingPathComponent("Contents/Info.plist") + guard let data = try? Data(contentsOf: url), + let plist = try? PropertyListSerialization.propertyList(from: data, format: nil) as? [String: Any] else { return nil } + return plist["CFBundleVersion"] as? String } - // MARK: - Install / uninstall + private static func bundledDriverPath() -> String? { + Bundle.main.resourceURL?.appendingPathComponent("MacStereoFix.driver").path + } - /// Install (or reinstall) the driver. Prompts the user for an admin - /// password via the standard macOS authentication dialog. Returns nil on - /// success or an error message on failure. static func installDriver() -> String? { - guard let src = bundledDriverPath() else { - return "Bundled driver not found inside MacStereoFix.app/Contents/Resources." - } - let escapedSrc = shellEscape(src) - let escapedDst = shellEscape(driverInstallPath) - let shell = """ - mkdir -p '/Library/Audio/Plug-Ins/HAL' && \ - rm -rf '\(escapedDst)' && \ - cp -R '\(escapedSrc)' '\(escapedDst)' && \ - xattr -dr com.apple.quarantine '\(escapedDst)' 2>/dev/null; \ - chown -R root:wheel '\(escapedDst)' && \ - killall coreaudiod 2>/dev/null || true - """ - return runPrivileged(shell: shell, failureLabel: "Install failed.") + guard let source = bundledDriverPath() else { return "Bundled driver not found." } + // Generated Swift constants are sealed in the app's signed executable. + let shell = "set -- \(shellQuote(source)) \(shellQuote(signingRequirement))\n" + InstallerScripts.install + return runPrivileged(shell: shell, failureLabel: "Installation failed.") } - /// Uninstall the driver. Same admin prompt flow. static func uninstallDriver() -> String? { - let escapedDst = shellEscape(driverInstallPath) - let shell = """ - rm -rf '\(escapedDst)' && (killall coreaudiod 2>/dev/null || true) - """ - return runPrivileged(shell: shell, failureLabel: "Uninstall failed.") + runPrivileged(shell: InstallerScripts.uninstall, failureLabel: "Removal failed.") } - // MARK: - Privileged shell helper + static func shellQuote(_ value: String) -> String { + "'" + value.replacingOccurrences(of: "'", with: "'\\''") + "'" + } - /// Wrap `shell` in a `do shell script ... with administrator privileges` - /// AppleScript and run it. Returns nil on success or an error message. - private static func runPrivileged(shell: String, failureLabel: String) -> String? { - // Escape the shell string for embedding inside a double-quoted - // AppleScript literal: backslashes first, then double quotes. - let escaped = shell - .replacingOccurrences(of: "\\", with: "\\\\") + static func appleScript(shell: String) -> String { + // A fixed shell and a single quoted script argument prevent any path + // (including spaces, quotes and newlines) from becoming executable code. + let command = "/bin/bash -c " + shellQuote(shell) + let escaped = command.replacingOccurrences(of: "\\", with: "\\\\") .replacingOccurrences(of: "\"", with: "\\\"") - let appleScript = """ - do shell script "\(escaped)" with administrator privileges - """ - guard let scriptObj = NSAppleScript(source: appleScript) else { - return "Could not create AppleScript." - } - var errorDict: NSDictionary? - _ = scriptObj.executeAndReturnError(&errorDict) - if let err = errorDict { - return (err["NSAppleScriptErrorMessage"] as? String) ?? failureLabel - } - return nil + .replacingOccurrences(of: "\n", with: "\\n") + .replacingOccurrences(of: "\r", with: "\\r") + return "do shell script \"\(escaped)\" with administrator privileges" } - /// Single-quote-escape a path so it's safe to embed inside a `'...'` shell - /// literal (closes the quote, inserts an escaped quote, reopens). - private static func shellEscape(_ s: String) -> String { - return s.replacingOccurrences(of: "'", with: "'\\''") + private static func runPrivileged(shell: String, failureLabel: String) -> String? { + let process = Process() + let errorPipe = Pipe() + process.executableURL = URL(fileURLWithPath: "/usr/bin/osascript") + process.arguments = ["-e", appleScript(shell: shell)] + process.standardOutput = FileHandle.nullDevice + process.standardError = errorPipe + do { + try process.run() + // Drain before waiting so a large error cannot fill the pipe and deadlock. + let data = errorPipe.fileHandleForReading.readDataToEndOfFile() + process.waitUntilExit() + guard process.terminationStatus != 0 else { return nil } + let message = String(data: data, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) + return message.flatMap { $0.isEmpty ? nil : $0 } ?? failureLabel + } catch { return "\(failureLabel) \(error.localizedDescription)" } } } diff --git a/App/Info.plist b/App/Info.plist index 36b3241..0bf42e9 100644 --- a/App/Info.plist +++ b/App/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.2 + 1.3.0 CFBundleVersion - 3 + 4 LSMinimumSystemVersion 13.0 LSUIElement @@ -29,6 +29,6 @@ NSHumanReadableCopyright MacStereoFix NSMicrophoneUsageDescription - MacStereoFix will not use or access your microphone. macOS requires this prompt because MacStereoFix reads from its own virtual audio device. Nothing is accessed or recorded. + MacStereoFix reads audio routed to its virtual device to play it in stereo. It does not select your physical microphone, save recordings, or send audio over the network. macOS classifies virtual-device capture as microphone access. diff --git a/App/MSFAtomic.h b/App/MSFAtomic.h index 563404d..703ecce 100644 --- a/App/MSFAtomic.h +++ b/App/MSFAtomic.h @@ -10,6 +10,9 @@ #include #include +_Static_assert(ATOMIC_LLONG_LOCK_FREE == 2 && ATOMIC_INT_LOCK_FREE == 2, + "Audio callbacks require lock-free atomics"); + // MARK: - MSFAtomicU64 (ring-buffer read/write indices) typedef struct { @@ -17,7 +20,7 @@ typedef struct { } MSFAtomicU64; static inline void msf_atomic_init(MSFAtomicU64 *a, uint64_t v) { - atomic_store_explicit(&a->value, v, memory_order_relaxed); + atomic_init(&a->value, v); } static inline void msf_atomic_store(MSFAtomicU64 *a, uint64_t v) { @@ -40,7 +43,7 @@ typedef struct { static inline void msf_atomic_float_init(MSFAtomicFloat *a, float v) { uint32_t b; memcpy(&b, &v, sizeof(b)); - atomic_store_explicit(&a->bits, b, memory_order_relaxed); + atomic_init(&a->bits, b); } static inline void msf_atomic_float_store(MSFAtomicFloat *a, float v) { diff --git a/App/MacStereoFixApp.swift b/App/MacStereoFixApp.swift index 0834679..c23adb5 100644 --- a/App/MacStereoFixApp.swift +++ b/App/MacStereoFixApp.swift @@ -9,12 +9,28 @@ import SwiftUI struct MacStereoFixApp: App { @StateObject private var state = AppState() + init() { + // Hold the lock until process exit. O_CLOEXEC keeps the recovery helper + // from inheriting it; O_NOFOLLOW prevents following an unexpected link. + let path = FileManager.default.temporaryDirectory.appendingPathComponent("com.macstereofix.app.lock").path + let descriptor = open(path, O_CREAT | O_RDWR | O_CLOEXEC | O_NOFOLLOW, 0o600) + guard descriptor >= 0, flock(descriptor, LOCK_EX | LOCK_NB) == 0 else { + if descriptor >= 0 { close(descriptor) } + let alert = NSAlert() + alert.messageText = "MacStereoFix is already open or couldn't acquire its session lock." + alert.informativeText = "Use the speaker icon in your menu bar. If no copy is running, restart your Mac and try again." + alert.runModal() + exit(0) + } + } + var body: some Scene { MenuBarExtra { MenuBarView() .environmentObject(state) } label: { Image(systemName: state.isOn ? "hifispeaker.2.fill" : "hifispeaker.2") + .accessibilityLabel(state.isOn ? "MacStereoFix, Force Stereo on" : "MacStereoFix, Force Stereo off") } .menuBarExtraStyle(.window) } diff --git a/App/MenuBarView.swift b/App/MenuBarView.swift index 986ecbe..b8cc3be 100644 --- a/App/MenuBarView.swift +++ b/App/MenuBarView.swift @@ -26,19 +26,27 @@ struct MenuBarView: View { toggleSection Divider() outputPickerSection - if state.outputVolumeAvailable { - volumeSection - } + volumeSection + dialogueSection Divider() advancedSection } if let error = state.lastError { Divider() - Text(error) - .font(.caption) - .foregroundStyle(.red) - .fixedSize(horizontal: false, vertical: true) + ScrollView { + Text(error) + .font(.caption) + .foregroundStyle(.red) + .textSelection(.enabled) + .fixedSize(horizontal: false, vertical: true) + .frame(maxWidth: .infinity, alignment: .leading) + } + .frame(maxHeight: 110) } + if let message = state.statusMessage { + Text(message).font(.caption).fixedSize(horizontal: false, vertical: true) + } + if state.isBusy { ProgressView().controlSize(.small).accessibilityLabel("Working") } Divider() footer } @@ -61,9 +69,9 @@ struct MenuBarView: View { private var driverNotInstalledSection: some View { VStack(alignment: .leading, spacing: 8) { - Text("Driver not installed") + Text("Driver installation required") .font(.subheadline).bold() - Text("MacStereoFix needs to install a small audio driver. You'll be asked for your password once.") + Text("Install or update the audio driver. macOS will ask for an administrator password. All Mac audio will briefly stop while the driver loads; finish calls and recordings first.") .font(.caption) .foregroundStyle(.secondary) .fixedSize(horizontal: false, vertical: true) @@ -71,6 +79,7 @@ struct MenuBarView: View { state.installDriver() } .buttonStyle(.borderedProminent) + .disabled(state.isBusy) } } @@ -84,6 +93,7 @@ struct MenuBarView: View { .font(.subheadline).bold() } .toggleStyle(.switch) + .disabled(state.isBusy || state.availableOutputs.isEmpty) } } @@ -92,14 +102,10 @@ struct MenuBarView: View { Text("Send stereo to") .font(.caption) .foregroundStyle(.secondary) - Picker("", selection: Binding( + Picker("Send stereo to", selection: Binding( get: { state.selectedOutputUID ?? "" }, set: { newUID in - let uid = newUID.isEmpty ? nil : newUID - state.selectedOutputUID = uid - if state.isOn, let uid { - state.switchOutputDeviceLive(to: uid) - } + state.selectOutput(newUID) } )) { ForEach(state.availableOutputs) { dev in @@ -108,6 +114,11 @@ struct MenuBarView: View { } .labelsHidden() .pickerStyle(.menu) + .disabled(state.isBusy || state.availableOutputs.isEmpty) + if state.availableOutputs.isEmpty { + Text("Connect stereo speakers or headphones. Virtual and aggregate outputs aren't supported.") + .font(.caption).fixedSize(horizontal: false, vertical: true) + } } } @@ -126,15 +137,32 @@ struct MenuBarView: View { Image(systemName: "speaker.fill") .font(.caption2) .foregroundStyle(.secondary) - Slider(value: $state.outputVolume, in: 0...1) + Slider(value: $state.outputVolume, in: 0...1) { Text("Routing volume") } + .labelsHidden() Image(systemName: "speaker.wave.3.fill") .font(.caption2) .foregroundStyle(.secondary) } + Text("Controls routed audio. Turning Off returns to your device's normal volume.") + .font(.caption2).foregroundStyle(.secondary) + .fixedSize(horizontal: false, vertical: true) + Toggle("Mute routed audio", isOn: $state.isMuted).font(.caption) } .padding(.top, 8) } + private var dialogueSection: some View { + VStack(alignment: .leading) { + Text("Dialogue boost: +\(state.dialogueBoostDB, specifier: "%.0f") dB") + .font(.caption) + Slider(value: $state.dialogueBoostDB, in: 0...9, step: 1) { Text("Dialogue boost") } + .labelsHidden() + Text("Start with a low listening volume. More boost can distort loud scenes.") + .font(.caption2).foregroundStyle(.secondary) + .fixedSize(horizontal: false, vertical: true) + } + } + private var advancedSection: some View { DisclosureGroup("Advanced") { VStack(alignment: .leading, spacing: 6) { @@ -143,6 +171,9 @@ struct MenuBarView: View { Button("Refresh Devices") { state.refreshDevices() } } .padding(.top, 4) + .disabled(state.isBusy) + Text("Installing or removing the driver briefly interrupts all Mac audio.") + .font(.caption2).fixedSize(horizontal: false, vertical: true) } .font(.caption) } @@ -159,6 +190,7 @@ struct MenuBarView: View { } .buttonStyle(.plain) .font(.caption) + .disabled(state.isBusy) } } } diff --git a/App/PrivacyInfo.xcprivacy b/App/PrivacyInfo.xcprivacy new file mode 100644 index 0000000..5fd8303 --- /dev/null +++ b/App/PrivacyInfo.xcprivacy @@ -0,0 +1,11 @@ + + + + NSPrivacyTracking + NSPrivacyTrackingDomains + NSPrivacyCollectedDataTypes + NSPrivacyAccessedAPITypes + NSPrivacyAccessedAPITypeNSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasonsCA92.1 + + diff --git a/App/RingBuffer.swift b/App/RingBuffer.swift index de1c11b..b30d2ed 100644 --- a/App/RingBuffer.swift +++ b/App/RingBuffer.swift @@ -26,6 +26,7 @@ final class RingBuffer { // MARK: - Init / deinit init(frames: Int, channels: Int) { + precondition(frames >= 2 && frames <= 1 << 20 && channels > 0 && channels <= 64) // Round up to power of two for cheap modulo via bitmask. Not strictly // required, but helps consistency with the driver's ring size. var p = 1 @@ -83,6 +84,7 @@ final class RingBuffer { /// Caller is the single producer. @discardableResult func write(_ src: UnsafePointer, frameCount: Int) -> Int { + guard frameCount > 0 else { return 0 } let w = msf_atomic_load(writePtr) let r = msf_atomic_load(readPtr) let free = capacityFrames - 1 - Int(w &- r) @@ -110,6 +112,7 @@ final class RingBuffer { /// Caller is the single consumer. @discardableResult func read(_ dst: UnsafeMutablePointer, frameCount: Int) -> Int { + guard frameCount > 0 else { return 0 } let w = msf_atomic_load(writePtr) let r = msf_atomic_load(readPtr) let avail = Int(w &- r) diff --git a/App/StereoMix.swift b/App/StereoMix.swift new file mode 100644 index 0000000..645fde7 --- /dev/null +++ b/App/StereoMix.swift @@ -0,0 +1,40 @@ +import Foundation + +enum StereoMix { + static let reserveFrames = 512 + + /// Independent audio clocks drift. Keep a small reserve using Apple's + /// varispeed converter, with at most 0.1% correction (under two cents). + static func clockRate(bufferedFrames: Float) -> Float { + guard bufferedFrames.isFinite else { return 1 } + return 1 + min(max((bufferedFrames - Float(reserveFrames)) * 0.000002, -0.001), 0.001) + } + + static func centerGain(boostDB: Float) -> Float { + let boost = boostDB.isFinite ? min(max(boostDB, 0), 9) : 0 + return 0.707 * pow(10, boost / 20) + } + + /// L, R, C, LFE, Ls, Rs, Lsr, Rsr -> L, R. No allocation on the audio thread. + static func process(_ source: UnsafePointer, into output: UnsafeMutablePointer, + right: UnsafeMutablePointer? = nil, frames: Int, centerGain: Float, volume: Float) { + guard frames > 0 else { return } + let stride = right == nil ? 2 : 1 + let rightOutput = right ?? output.advanced(by: 1) + let gain = volume.isFinite ? min(max(volume, 0), 1) : 0 + let center = centerGain.isFinite ? min(max(centerGain, 0), 2) : 0 + for frame in 0.. Float { + sample.isFinite ? min(max(sample, -1), 1) : 0 + } +} diff --git a/App/SystemAudio.swift b/App/SystemAudio.swift index 87d42b8..294a619 100644 --- a/App/SystemAudio.swift +++ b/App/SystemAudio.swift @@ -43,14 +43,20 @@ enum SystemAudio { AudioObjectGetPropertyData(AudioObjectID(kAudioObjectSystemObject), &addr, 0, nil, &dataSize, buf.baseAddress!) } guard status == noErr else { return [] } - return ids + return Array(ids.prefix(Int(dataSize) / MemoryLayout.size)) } static func allOutputDevices() -> [AudioOutputDevice] { var result: [AudioOutputDevice] = [] for id in allDeviceIDs() { - guard hasOutputChannels(deviceID: id) else { continue } - let uid = stringProperty(deviceID: id, selector: kAudioDevicePropertyDeviceUID, scope: kAudioObjectPropertyScopeGlobal) ?? "" + guard hasOutputChannels(deviceID: id), + uintProperty(id, selector: kAudioDevicePropertyDeviceIsAlive) == 1 else { continue } + let transport = uintProperty(id, selector: kAudioDevicePropertyTransportType) + // An aggregate or virtual output can contain our input and create a loop. + guard transport != nil, transport != kAudioDeviceTransportTypeVirtual, + transport != kAudioDeviceTransportTypeAggregate, + transport != kAudioDeviceTransportTypeAutoAggregate else { continue } + guard let uid = deviceUID(id), !uid.isEmpty else { continue } let name = stringProperty(deviceID: id, selector: kAudioObjectPropertyName, scope: kAudioObjectPropertyScopeGlobal) ?? "(unknown)" result.append(AudioOutputDevice(id: id, uid: uid, name: name)) } @@ -69,13 +75,16 @@ enum SystemAudio { let raw = UnsafeMutableRawPointer.allocate(byteCount: Int(dataSize), alignment: 16) defer { raw.deallocate() } guard AudioObjectGetPropertyData(deviceID, &addr, 0, nil, &dataSize, raw) == noErr else { return false } + let header = MemoryLayout.offset(of: \.mBuffers)! + guard Int(dataSize) >= header else { return false } let bufferList = raw.assumingMemoryBound(to: AudioBufferList.self) + guard Int(bufferList.pointee.mNumberBuffers) <= (Int(dataSize) - header) / MemoryLayout.stride else { return false } let abl = UnsafeMutableAudioBufferListPointer(bufferList) var totalChannels = 0 for i in 0.. 0 + return totalChannels >= 2 } private static func stringProperty(deviceID: AudioDeviceID, selector: AudioObjectPropertySelector, scope: AudioObjectPropertyScope) -> String? { @@ -111,6 +120,12 @@ enum SystemAudio { return macStereoFixDeviceID() != nil } + static func macStereoFixDriverVersion() -> String? { + guard let device = macStereoFixDeviceID() else { return nil } + return stringProperty(deviceID: device, selector: kAudioObjectPropertyFirmwareVersion, + scope: kAudioObjectPropertyScopeGlobal) + } + // MARK: - Default output device static func defaultOutputDevice() -> AudioDeviceID { @@ -139,78 +154,44 @@ enum SystemAudio { return status == noErr } - // MARK: - Per-device output volume + static func deviceUID(_ id: AudioDeviceID) -> String? { + stringProperty(deviceID: id, selector: kAudioDevicePropertyDeviceUID, scope: kAudioObjectPropertyScopeGlobal) + } - /// Read the current output volume (0...1) for a device. Tries the main - /// element first; falls back to averaging channels 1 and 2 for devices - /// that only support per-channel volume. Matches `setDeviceVolume`, which - /// writes both channels in the same fallback path — reading only ch1 - /// while writing both would make the slider disagree with reality on - /// devices where L/R volumes have drifted apart. - /// Returns nil if the device exposes no volume control. - static func deviceVolume(_ deviceID: AudioDeviceID) -> Float? { - var addr = AudioObjectPropertyAddress( - mSelector: kAudioDevicePropertyVolumeScalar, - mScope: kAudioObjectPropertyScopeOutput, - mElement: kAudioObjectPropertyElementMain - ) - if AudioObjectHasProperty(deviceID, &addr) { - var vol: Float32 = 0 - var size = UInt32(MemoryLayout.size) - if AudioObjectGetPropertyData(deviceID, &addr, 0, nil, &size, &vol) == noErr { - return vol - } - } - var sum: Float = 0 - var count: Int = 0 - for ch: AudioObjectPropertyElement in [1, 2] { - addr.mElement = ch - if AudioObjectHasProperty(deviceID, &addr) { - var vol: Float32 = 0 - var size = UInt32(MemoryLayout.size) - if AudioObjectGetPropertyData(deviceID, &addr, 0, nil, &size, &vol) == noErr { - sum += vol - count += 1 - } - } - } - return count > 0 ? sum / Float(count) : nil + static func sampleRate(_ id: AudioDeviceID) -> Float64? { + var value: Float64 = 0 + var size = UInt32(MemoryLayout.size) + var address = AudioObjectPropertyAddress(mSelector: kAudioDevicePropertyNominalSampleRate, + mScope: kAudioObjectPropertyScopeGlobal, mElement: kAudioObjectPropertyElementMain) + guard AudioObjectGetPropertyData(id, &address, 0, nil, &size, &value) == noErr, + value.isFinite else { return nil } + return value + } + + private static func uintProperty(_ id: AudioObjectID, selector: AudioObjectPropertySelector) -> UInt32? { + var value: UInt32 = 0 + var size = UInt32(MemoryLayout.size) + var address = AudioObjectPropertyAddress(mSelector: selector, + mScope: kAudioObjectPropertyScopeGlobal, mElement: kAudioObjectPropertyElementMain) + return AudioObjectGetPropertyData(id, &address, 0, nil, &size, &value) == noErr ? value : nil } - /// Set the output volume (0...1) on a device. Tries the main element - /// first; falls back to all output channels for devices that only support - /// per-channel volume. Returns true if at least one element was updated. + /// Restore only the default owned by this app; preserve changes made in Sound settings. @discardableResult - static func setDeviceVolume(_ deviceID: AudioDeviceID, _ value: Float) -> Bool { - var v: Float32 = max(0, min(1, value)) - var addr = AudioObjectPropertyAddress( - mSelector: kAudioDevicePropertyVolumeScalar, - mScope: kAudioObjectPropertyScopeOutput, - mElement: kAudioObjectPropertyElementMain - ) - if AudioObjectHasProperty(deviceID, &addr) { - var settable: DarwinBoolean = false - if AudioObjectIsPropertySettable(deviceID, &addr, &settable) == noErr, settable.boolValue { - if AudioObjectSetPropertyData(deviceID, &addr, 0, nil, - UInt32(MemoryLayout.size), &v) == noErr { - return true - } - } - } - var anySuccess = false - for ch: AudioObjectPropertyElement in [1, 2] { - addr.mElement = ch - if AudioObjectHasProperty(deviceID, &addr) { - var settable: DarwinBoolean = false - if AudioObjectIsPropertySettable(deviceID, &addr, &settable) == noErr, settable.boolValue { - if AudioObjectSetPropertyData(deviceID, &addr, 0, nil, - UInt32(MemoryLayout.size), &v) == noErr { - anySuccess = true - } - } - } + static func restoreOutput(preferredUID: String?) -> Bool { + let current = defaultOutputDevice() + guard current != 0, let currentUID = deviceUID(current) else { return false } + guard currentUID == macStereoFixUID else { return true } + let outputs = allOutputDevices() + let preferred = outputs.first { $0.uid == preferredUID } + let systemID = uintProperty(AudioObjectID(kAudioObjectSystemObject), selector: kAudioHardwarePropertyDefaultSystemOutputDevice) + let system = outputs.first { $0.id == systemID } + var candidates = [preferred, system].compactMap { $0 } + candidates += outputs.filter { !candidates.contains($0) } + for device in candidates { + if setDefaultOutputDevice(device.id), defaultOutputDevice() == device.id { return true } } - return anySuccess + return false } // MARK: - Volume control bridge @@ -218,7 +199,7 @@ enum SystemAudio { /// Find the output-scope volume control owned by a device, if any. /// MacStereoFix exposes one so the helper app can observe hardware /// volume-key presses and mirror them to the real output device. - static func outputVolumeControlID(for deviceID: AudioDeviceID) -> AudioObjectID? { + static func outputControlID(for deviceID: AudioDeviceID, class expectedClass: AudioClassID) -> AudioObjectID? { var listAddr = AudioObjectPropertyAddress( mSelector: kAudioObjectPropertyControlList, mScope: kAudioObjectPropertyScopeGlobal, @@ -234,6 +215,7 @@ enum SystemAudio { AudioObjectGetPropertyData(deviceID, &listAddr, 0, nil, &size, buf.baseAddress!) } guard status == noErr else { return nil } + controls = Array(controls.prefix(Int(size) / MemoryLayout.size)) var classAddr = AudioObjectPropertyAddress( mSelector: kAudioObjectPropertyClass, @@ -249,7 +231,7 @@ enum SystemAudio { var classID: AudioClassID = 0 var classSize = UInt32(MemoryLayout.size) guard AudioObjectGetPropertyData(controlID, &classAddr, 0, nil, &classSize, &classID) == noErr else { continue } - if classID != kAudioVolumeControlClassID { continue } + if classID != expectedClass { continue } var scope: AudioObjectPropertyScope = 0 var scopeSize = UInt32(MemoryLayout.size) guard AudioObjectGetPropertyData(controlID, &scopeAddr, 0, nil, &scopeSize, &scope) == noErr else { continue } @@ -270,7 +252,7 @@ enum SystemAudio { var v: Float32 = 0 var size = UInt32(MemoryLayout.size) if AudioObjectGetPropertyData(controlID, &addr, 0, nil, &size, &v) == noErr { - return v + return v.isFinite ? min(max(v, 0), 1) : nil } return nil } @@ -278,6 +260,7 @@ enum SystemAudio { /// Write the 0...1 scalar value of a level/volume control object. @discardableResult static func setControlScalarValue(_ controlID: AudioObjectID, _ value: Float) -> Bool { + guard value.isFinite else { return false } var v: Float32 = max(0, min(1, value)) var addr = AudioObjectPropertyAddress( mSelector: kAudioLevelControlPropertyScalarValue, @@ -288,38 +271,16 @@ enum SystemAudio { UInt32(MemoryLayout.size), &v) == noErr } - /// Install a listener on a volume control's scalar-value property. - /// Returns the block that must be retained by the caller and passed - /// back to `removeControlScalarListener` for clean removal. - static func installControlScalarListener( - on controlID: AudioObjectID, - queue: DispatchQueue, - handler: @escaping () -> Void - ) -> AudioObjectPropertyListenerBlock? { - var addr = AudioObjectPropertyAddress( - mSelector: kAudioLevelControlPropertyScalarValue, - mScope: kAudioObjectPropertyScopeGlobal, - mElement: kAudioObjectPropertyElementMain - ) - let block: AudioObjectPropertyListenerBlock = { _, _ in - handler() - } - let status = AudioObjectAddPropertyListenerBlock(controlID, &addr, queue, block) - return status == noErr ? block : nil + static func controlMuted(_ controlID: AudioObjectID) -> Bool? { + uintProperty(controlID, selector: kAudioBooleanControlPropertyValue).map { $0 != 0 } } - /// Remove a previously-installed scalar-value listener. Must be called - /// with the exact same control ID, queue, and block used to install it. - static func removeControlScalarListener( - on controlID: AudioObjectID, - queue: DispatchQueue, - block: @escaping AudioObjectPropertyListenerBlock - ) { - var addr = AudioObjectPropertyAddress( - mSelector: kAudioLevelControlPropertyScalarValue, - mScope: kAudioObjectPropertyScopeGlobal, - mElement: kAudioObjectPropertyElementMain - ) - _ = AudioObjectRemovePropertyListenerBlock(controlID, &addr, queue, block) + @discardableResult + static func setControlMuted(_ controlID: AudioObjectID, _ muted: Bool) -> Bool { + var value: UInt32 = muted ? 1 : 0 + var address = AudioObjectPropertyAddress(mSelector: kAudioBooleanControlPropertyValue, + mScope: kAudioObjectPropertyScopeGlobal, mElement: kAudioObjectPropertyElementMain) + return AudioObjectSetPropertyData(controlID, &address, 0, nil, + UInt32(MemoryLayout.size), &value) == noErr } } diff --git a/Driver/Info.plist b/Driver/Info.plist index 9395c97..f1c0c10 100644 --- a/Driver/Info.plist +++ b/Driver/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable MacStereoFix CFBundleGetInfoString - MacStereoFix Driver 1.2 + MacStereoFix Driver 1.3.0 CFBundleIdentifier com.macstereofix.driver CFBundleInfoDictionaryVersion @@ -17,11 +17,11 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.2 + 1.3.0 CFBundleSignature ???? CFBundleVersion - 3 + 4 CFPlugInDynamicRegistration NO CFPlugInFactories diff --git a/Driver/MacStereoFixDriver.c b/Driver/MacStereoFixDriver.c index 70ecf74..4758b7c 100644 --- a/Driver/MacStereoFixDriver.c +++ b/Driver/MacStereoFixDriver.c @@ -10,7 +10,7 @@ // buffer indexed by the host's sample clock. All downmixing happens in the // MacStereoFix.app helper. // -// Modeled on Apple's NullAudio sample (Apple Sample Code License). +// Modeled on Apple's NullAudio sample. See ThirdParty/Apple-NullAudio-LICENSE.txt. #include #include @@ -18,6 +18,8 @@ #include #include #include +#include +#include #pragma mark - Configuration @@ -29,6 +31,7 @@ #define kDevice_ModelUID "MacStereoFixDevice_ModelUID" #define kDevice_Name "MacStereoFix" #define kDevice_Manufacturer "MacStereoFix" +#define kDriverVersion "4" #define kChannelCount 8 #define kSampleRate 48000.0 @@ -36,12 +39,11 @@ #define kRingBufferFrameCount 4096u #define kRingBufferSampleCount (kRingBufferFrameCount * kChannelCount) -// Client-requested IO cycle size. Clamped to [kBufferFrameSize_Min, Max] and -// must stay below the ring so writer/reader sample-time offsets never wrap -// past each other within a single IO cycle. -#define kBufferFrameSize_Min 32u -#define kBufferFrameSize_Max 2048u -#define kBufferFrameSize_Default 512u +// Fixed device configuration. IO-affecting changes require a host-coordinated +// configuration change; never mutate the buffer size from a property setter. +#define kBufferFrameSize_Min 128u +#define kBufferFrameSize_Max 128u +#define kBufferFrameSize_Default 128u enum { kObjectID_PlugIn = kAudioObjectPlugInObject, @@ -49,7 +51,8 @@ enum { kObjectID_Device = 3, kObjectID_Stream_Input = 4, kObjectID_Stream_Output = 5, - kObjectID_Volume_Output_Master = 6 + kObjectID_Volume_Output_Master = 6, + kObjectID_Mute_Output_Master = 7 }; #pragma mark - State @@ -63,22 +66,41 @@ static Boolean gBox_Acquired = true; static UInt64 gDevice_IOIsRunning = 0; static Float64 gDevice_HostTicksPerFrame = 0.0; -static UInt64 gDevice_NumberTimeStamps = 0; -static Float64 gDevice_AnchorSampleTime = 0.0; -static UInt64 gDevice_AnchorHostTime = 0; +static _Atomic UInt64 gDevice_AnchorHostTime = 0; +static _Atomic UInt64 gDevice_TimeStampSeed = 0; static UInt32 gDevice_BufferFrameSize = kBufferFrameSize_Default; -static bool gStream_Input_IsActive = true; -static bool gStream_Output_IsActive = true; - -// Interleaved Float32 ring buffer shared between WriteMix and ReadInput. -static Float32 gRingBuffer[kRingBufferSampleCount]; +static _Atomic bool gStream_Input_IsActive = true; +static _Atomic bool gStream_Output_IsActive = true; + +// Each slot carries its absolute sample time, so a missing write produces +// silence rather than replaying audio from a previous lap. Atomic samples and +// a sequence counter make overlapping read/write safe without a realtime lock. +// Sequential consistency keeps the two sequence checks ordered around samples. +_Static_assert(ATOMIC_LLONG_LOCK_FREE == 2 && ATOMIC_INT_LOCK_FREE == 2, + "The audio path requires lock-free 32/64-bit atomics"); +typedef struct { + _Atomic unsigned long long sequence; + _Atomic unsigned long long sampleTime; + _Atomic unsigned int samples[kChannelCount]; +} MSFFrame; +static MSFFrame gRingBuffer[kRingBufferFrameCount]; + +static void MSF_ClearRing(void) { + // Called before the host starts IO, never concurrently with audio callbacks. + for (UInt32 i = 0; i < kRingBufferFrameCount; ++i) { + atomic_store(&gRingBuffer[i].sequence, 0); + atomic_store(&gRingBuffer[i].sampleTime, ULLONG_MAX); + for (UInt32 c = 0; c < kChannelCount; ++c) atomic_store(&gRingBuffer[i].samples[c], 0); + } +} // Master output volume (0..1 linear scalar) exposed as a volume control // on the device. Written by coreaudiod on behalf of hardware volume keys // and by the helper app's slider; read by the helper app to mirror onto // the real output device. The driver itself does not attenuate audio. static Float32 gVolume_OutputMaster = 1.0f; +static _Atomic bool gMute_OutputMaster = false; // dB range reported by the output volume control. static const Float32 kVolume_MinDB = -96.0f; @@ -170,7 +192,7 @@ __attribute__((visibility("default"))) void* MacStereoFix_Create(CFAllocatorRef inAllocator, CFUUIDRef inRequestedTypeUUID) { (void)inAllocator; - if (!CFEqual(inRequestedTypeUUID, kAudioServerPlugInTypeUUID)) { + if (inRequestedTypeUUID == NULL || !CFEqual(inRequestedTypeUUID, kAudioServerPlugInTypeUUID)) { return NULL; } return gAudioServerPlugInDriverRef; @@ -182,6 +204,7 @@ static HRESULT MacStereoFix_QueryInterface(void* inDriver, REFIID inUUID, LPVOID { if (inDriver != gAudioServerPlugInDriverRef) return kAudioHardwareBadObjectError; if (outInterface == NULL) return kAudioHardwareIllegalOperationError; + *outInterface = NULL; CFUUIDRef theRequestedUUID = CFUUIDCreateFromUUIDBytes(NULL, inUUID); if (theRequestedUUID == NULL) return kAudioHardwareIllegalOperationError; @@ -189,7 +212,7 @@ static HRESULT MacStereoFix_QueryInterface(void* inDriver, REFIID inUUID, LPVOID HRESULT theAnswer = 0; if (CFEqual(theRequestedUUID, IUnknownUUID) || CFEqual(theRequestedUUID, kAudioServerPlugInDriverInterfaceUUID)) { pthread_mutex_lock(&gPlugIn_StateMutex); - ++gPlugIn_RefCount; + if (gPlugIn_RefCount < UINT32_MAX) ++gPlugIn_RefCount; pthread_mutex_unlock(&gPlugIn_StateMutex); *outInterface = gAudioServerPlugInDriverRef; } else { @@ -234,7 +257,7 @@ static OSStatus MacStereoFix_Initialize(AudioServerPlugInDriverRef inDriver, Aud gDevice_HostTicksPerFrame = theHostClockFrequency / kSampleRate; // Zero the ring buffer - memset(gRingBuffer, 0, sizeof(gRingBuffer)); + MSF_ClearRing(); // Default box name if (gBox_Name == NULL) { @@ -333,6 +356,7 @@ static Boolean MacStereoFix_HasProperty(AudioServerPlugInDriverRef inDriver, Aud case kAudioObjectPropertyBaseClass: case kAudioObjectPropertyClass: case kAudioObjectPropertyOwner: + case kAudioObjectPropertyFirmwareVersion: case kAudioObjectPropertyName: case kAudioObjectPropertyManufacturer: case kAudioObjectPropertyOwnedObjects: @@ -383,6 +407,7 @@ static Boolean MacStereoFix_HasProperty(AudioServerPlugInDriverRef inDriver, Aud break; case kObjectID_Volume_Output_Master: + case kObjectID_Mute_Output_Master: switch (inAddress->mSelector) { case kAudioObjectPropertyBaseClass: case kAudioObjectPropertyClass: @@ -390,12 +415,15 @@ static Boolean MacStereoFix_HasProperty(AudioServerPlugInDriverRef inDriver, Aud case kAudioObjectPropertyOwnedObjects: case kAudioControlPropertyScope: case kAudioControlPropertyElement: + return true; + case kAudioBooleanControlPropertyValue: + return inObjectID == kObjectID_Mute_Output_Master; case kAudioLevelControlPropertyScalarValue: case kAudioLevelControlPropertyDecibelValue: case kAudioLevelControlPropertyDecibelRange: case kAudioLevelControlPropertyConvertScalarToDecibels: case kAudioLevelControlPropertyConvertDecibelsToScalar: - return true; + return inObjectID == kObjectID_Volume_Output_Master; } break; } @@ -407,18 +435,13 @@ static OSStatus MacStereoFix_IsPropertySettable(AudioServerPlugInDriverRef inDri (void)inClientProcessID; if (inDriver != gAudioServerPlugInDriverRef) return kAudioHardwareBadObjectError; if (inAddress == NULL || outIsSettable == NULL) return kAudioHardwareIllegalOperationError; + if (!MacStereoFix_HasProperty(inDriver, inObjectID, inClientProcessID, inAddress)) + return kAudioHardwareUnknownPropertyError; *outIsSettable = false; switch (inObjectID) { case kObjectID_Box: - if (inAddress->mSelector == kAudioObjectPropertyName || - inAddress->mSelector == kAudioObjectPropertyIdentify || - inAddress->mSelector == kAudioBoxPropertyAcquired) { - *outIsSettable = true; - } - break; - case kObjectID_Device: - if (inAddress->mSelector == kAudioDevicePropertyBufferFrameSize) { + if (inAddress->mSelector == kAudioObjectPropertyIdentify) { *outIsSettable = true; } break; @@ -430,6 +453,9 @@ static OSStatus MacStereoFix_IsPropertySettable(AudioServerPlugInDriverRef inDri *outIsSettable = true; } break; + case kObjectID_Mute_Output_Master: + *outIsSettable = inAddress->mSelector == kAudioBooleanControlPropertyValue; + break; case kObjectID_Volume_Output_Master: if (inAddress->mSelector == kAudioLevelControlPropertyScalarValue || inAddress->mSelector == kAudioLevelControlPropertyDecibelValue) { @@ -447,6 +473,10 @@ static OSStatus MacStereoFix_GetPropertyDataSize(AudioServerPlugInDriverRef inDr if (inAddress == NULL || outDataSize == NULL) return kAudioHardwareIllegalOperationError; *outDataSize = 0; + if (inObjectID < kObjectID_PlugIn || inObjectID > kObjectID_Mute_Output_Master) + return kAudioHardwareBadObjectError; + if (!MacStereoFix_HasProperty(inDriver, inObjectID, inClientProcessID, inAddress)) + return kAudioHardwareUnknownPropertyError; switch (inObjectID) { case kObjectID_PlugIn: @@ -455,7 +485,7 @@ static OSStatus MacStereoFix_GetPropertyDataSize(AudioServerPlugInDriverRef inDr case kAudioObjectPropertyClass: *outDataSize = sizeof(AudioClassID); break; case kAudioObjectPropertyOwner: *outDataSize = sizeof(AudioObjectID); break; case kAudioObjectPropertyManufacturer: *outDataSize = sizeof(CFStringRef); break; - case kAudioObjectPropertyOwnedObjects: *outDataSize = sizeof(AudioObjectID); break; + case kAudioObjectPropertyOwnedObjects: *outDataSize = 2 * sizeof(AudioObjectID); break; case kAudioPlugInPropertyBoxList: *outDataSize = sizeof(AudioObjectID); break; case kAudioPlugInPropertyTranslateUIDToBox: *outDataSize = sizeof(AudioObjectID); break; case kAudioPlugInPropertyDeviceList: *outDataSize = sizeof(AudioObjectID); break; @@ -500,9 +530,10 @@ static OSStatus MacStereoFix_GetPropertyDataSize(AudioServerPlugInDriverRef inDr case kAudioObjectPropertyBaseClass: *outDataSize = sizeof(AudioClassID); break; case kAudioObjectPropertyClass: *outDataSize = sizeof(AudioClassID); break; case kAudioObjectPropertyOwner: *outDataSize = sizeof(AudioObjectID); break; + case kAudioObjectPropertyFirmwareVersion: *outDataSize = sizeof(CFStringRef); break; case kAudioObjectPropertyName: *outDataSize = sizeof(CFStringRef); break; case kAudioObjectPropertyManufacturer: *outDataSize = sizeof(CFStringRef); break; - case kAudioObjectPropertyOwnedObjects: *outDataSize = 3 * sizeof(AudioObjectID); break; + case kAudioObjectPropertyOwnedObjects: *outDataSize = 4 * sizeof(AudioObjectID); break; case kAudioDevicePropertyDeviceUID: *outDataSize = sizeof(CFStringRef); break; case kAudioDevicePropertyModelUID: *outDataSize = sizeof(CFStringRef); break; case kAudioDevicePropertyTransportType: *outDataSize = sizeof(UInt32); break; @@ -524,7 +555,7 @@ static OSStatus MacStereoFix_GetPropertyDataSize(AudioServerPlugInDriverRef inDr case kAudioObjectPropertyControlList: if (inAddress->mScope == kAudioObjectPropertyScopeGlobal || inAddress->mScope == kAudioObjectPropertyScopeOutput) { - *outDataSize = sizeof(AudioObjectID); + *outDataSize = 2 * sizeof(AudioObjectID); } else { *outDataSize = 0; } @@ -564,6 +595,7 @@ static OSStatus MacStereoFix_GetPropertyDataSize(AudioServerPlugInDriverRef inDr break; case kObjectID_Volume_Output_Master: + case kObjectID_Mute_Output_Master: switch (inAddress->mSelector) { case kAudioObjectPropertyBaseClass: *outDataSize = sizeof(AudioClassID); break; case kAudioObjectPropertyClass: *outDataSize = sizeof(AudioClassID); break; @@ -571,6 +603,7 @@ static OSStatus MacStereoFix_GetPropertyDataSize(AudioServerPlugInDriverRef inDr case kAudioObjectPropertyOwnedObjects: *outDataSize = 0; break; case kAudioControlPropertyScope: *outDataSize = sizeof(AudioObjectPropertyScope); break; case kAudioControlPropertyElement: *outDataSize = sizeof(AudioObjectPropertyElement); break; + case kAudioBooleanControlPropertyValue: *outDataSize = sizeof(UInt32); break; case kAudioLevelControlPropertyScalarValue: *outDataSize = sizeof(Float32); break; case kAudioLevelControlPropertyDecibelValue: *outDataSize = sizeof(Float32); break; case kAudioLevelControlPropertyDecibelRange: *outDataSize = sizeof(AudioValueRange); break; @@ -591,6 +624,23 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver (void)inClientProcessID; if (inDriver != gAudioServerPlugInDriverRef) return kAudioHardwareBadObjectError; if (inAddress == NULL || outDataSize == NULL || outData == NULL) return kAudioHardwareIllegalOperationError; + *outDataSize = 0; + + // One shared check covers every scalar, string and structure response. + // Lists may return a whole-element prefix that fits the caller's capacity. + UInt32 required = 0; + OSStatus sizeStatus = MacStereoFix_GetPropertyDataSize(inDriver, inObjectID, + inClientProcessID, inAddress, inQualifierDataSize, inQualifierData, &required); + if (sizeStatus != noErr) return sizeStatus; + bool isList = inAddress->mSelector == kAudioObjectPropertyOwnedObjects || + inAddress->mSelector == kAudioPlugInPropertyBoxList || + inAddress->mSelector == kAudioPlugInPropertyDeviceList || + inAddress->mSelector == kAudioBoxPropertyDeviceList || + inAddress->mSelector == kAudioDevicePropertyRelatedDevices || + inAddress->mSelector == kAudioDevicePropertyStreams || + inAddress->mSelector == kAudioObjectPropertyControlList || + inAddress->mSelector == kAudioDevicePropertyAvailableNominalSampleRates; + if (!isList && inDataSize < required) return kAudioHardwareBadPropertySizeError; UInt32 written = 0; OSStatus status = kAudioHardwareNoError; @@ -622,7 +672,8 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver case kAudioObjectPropertyOwnedObjects: { UInt32 count = inDataSize / sizeof(AudioObjectID); if (count >= 1) ((AudioObjectID*)outData)[0] = kObjectID_Box; - written = (count >= 1 ? 1 : 0) * sizeof(AudioObjectID); + if (count >= 2) ((AudioObjectID*)outData)[1] = kObjectID_Device; + written = (count >= 2 ? 2 : count) * sizeof(AudioObjectID); break; } case kAudioPlugInPropertyBoxList: { @@ -635,6 +686,7 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver if (inQualifierDataSize != sizeof(CFStringRef) || inQualifierData == NULL) return kAudioHardwareBadPropertySizeError; if (inDataSize < sizeof(AudioObjectID)) return kAudioHardwareBadPropertySizeError; CFStringRef uid = *((CFStringRef*)inQualifierData); + if (uid != NULL && CFGetTypeID(uid) != CFStringGetTypeID()) return kAudioHardwareIllegalOperationError; if (uid != NULL && CFStringCompare(uid, CFSTR(kBox_UID), 0) == kCFCompareEqualTo) { *((AudioObjectID*)outData) = kObjectID_Box; } else { @@ -658,6 +710,7 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver if (inQualifierDataSize != sizeof(CFStringRef) || inQualifierData == NULL) return kAudioHardwareBadPropertySizeError; if (inDataSize < sizeof(AudioObjectID)) return kAudioHardwareBadPropertySizeError; CFStringRef uid = *((CFStringRef*)inQualifierData); + if (uid != NULL && CFGetTypeID(uid) != CFStringGetTypeID()) return kAudioHardwareIllegalOperationError; if (uid != NULL && CFStringCompare(uid, CFSTR(kDevice_UID), 0) == kCFCompareEqualTo) { *((AudioObjectID*)outData) = kObjectID_Device; } else { @@ -781,6 +834,10 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver *((AudioObjectID*)outData) = kObjectID_PlugIn; written = sizeof(AudioObjectID); break; + case kAudioObjectPropertyFirmwareVersion: + *((CFStringRef*)outData) = CFSTR(kDriverVersion); + written = sizeof(CFStringRef); + break; case kAudioObjectPropertyName: *((CFStringRef*)outData) = CFSTR(kDevice_Name); written = sizeof(CFStringRef); @@ -791,10 +848,11 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver break; case kAudioObjectPropertyOwnedObjects: { UInt32 maxCount = inDataSize / sizeof(AudioObjectID); - if (maxCount > 3) maxCount = 3; + if (maxCount > 4) maxCount = 4; if (maxCount >= 1) ((AudioObjectID*)outData)[0] = kObjectID_Stream_Input; if (maxCount >= 2) ((AudioObjectID*)outData)[1] = kObjectID_Stream_Output; if (maxCount >= 3) ((AudioObjectID*)outData)[2] = kObjectID_Volume_Output_Master; + if (maxCount >= 4) ((AudioObjectID*)outData)[3] = kObjectID_Mute_Output_Master; written = maxCount * sizeof(AudioObjectID); break; } @@ -833,11 +891,13 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver break; } case kAudioDevicePropertyDeviceCanBeDefaultDevice: - *((UInt32*)outData) = 1; + *((UInt32*)outData) = inAddress->mScope == kAudioObjectPropertyScopeOutput ? 1 : 0; written = sizeof(UInt32); break; case kAudioDevicePropertyDeviceCanBeDefaultSystemDevice: - *((UInt32*)outData) = 1; + // Keep alerts on the user's physical system output. The app + // only owns the normal default output, never the input device. + *((UInt32*)outData) = 0; written = sizeof(UInt32); break; case kAudioDevicePropertyLatency: @@ -862,7 +922,8 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver inAddress->mScope == kAudioObjectPropertyScopeOutput) && maxCount >= 1) { ((AudioObjectID*)outData)[0] = kObjectID_Volume_Output_Master; - written = sizeof(AudioObjectID); + if (maxCount >= 2) ((AudioObjectID*)outData)[1] = kObjectID_Mute_Output_Master; + written = (maxCount >= 2 ? 2 : 1) * sizeof(AudioObjectID); } else { written = 0; } @@ -1036,15 +1097,16 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver } case kObjectID_Volume_Output_Master: + case kObjectID_Mute_Output_Master: switch (inAddress->mSelector) { case kAudioObjectPropertyBaseClass: if (inDataSize < sizeof(AudioClassID)) return kAudioHardwareBadPropertySizeError; - *((AudioClassID*)outData) = kAudioLevelControlClassID; + *((AudioClassID*)outData) = inObjectID == kObjectID_Mute_Output_Master ? kAudioBooleanControlClassID : kAudioLevelControlClassID; written = sizeof(AudioClassID); break; case kAudioObjectPropertyClass: if (inDataSize < sizeof(AudioClassID)) return kAudioHardwareBadPropertySizeError; - *((AudioClassID*)outData) = kAudioVolumeControlClassID; + *((AudioClassID*)outData) = inObjectID == kObjectID_Mute_Output_Master ? kAudioMuteControlClassID : kAudioVolumeControlClassID; written = sizeof(AudioClassID); break; case kAudioObjectPropertyOwner: @@ -1065,6 +1127,10 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver *((AudioObjectPropertyElement*)outData) = kAudioObjectPropertyElementMain; written = sizeof(AudioObjectPropertyElement); break; + case kAudioBooleanControlPropertyValue: + *((UInt32*)outData) = atomic_load(&gMute_OutputMaster) ? 1 : 0; + written = sizeof(UInt32); + break; case kAudioLevelControlPropertyScalarValue: { if (inDataSize < sizeof(Float32)) return kAudioHardwareBadPropertySizeError; pthread_mutex_lock(&gPlugIn_StateMutex); @@ -1095,6 +1161,7 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver // it with the equivalent dB value. if (inDataSize < sizeof(Float32)) return kAudioHardwareBadPropertySizeError; Float32 scalar = *((Float32*)outData); + if (!isfinite(scalar)) return kAudioHardwareIllegalOperationError; if (scalar < 0.0f) scalar = 0.0f; if (scalar > 1.0f) scalar = 1.0f; *((Float32*)outData) = MSF_VolumeScalarToDB(scalar); @@ -1106,6 +1173,7 @@ static OSStatus MacStereoFix_GetPropertyData(AudioServerPlugInDriverRef inDriver // with the equivalent scalar value. if (inDataSize < sizeof(Float32)) return kAudioHardwareBadPropertySizeError; Float32 dB = *((Float32*)outData); + if (!isfinite(dB)) return kAudioHardwareIllegalOperationError; *((Float32*)outData) = MSF_VolumeDBToScalar(dB); written = sizeof(Float32); break; @@ -1130,56 +1198,18 @@ static OSStatus MacStereoFix_SetPropertyData(AudioServerPlugInDriverRef inDriver (void)inClientProcessID; (void)inQualifierDataSize; (void)inQualifierData; if (inDriver != gAudioServerPlugInDriverRef) return kAudioHardwareBadObjectError; if (inAddress == NULL || inData == NULL) return kAudioHardwareIllegalOperationError; + Boolean settable = false; + OSStatus settableStatus = MacStereoFix_IsPropertySettable(inDriver, inObjectID, + inClientProcessID, inAddress, &settable); + if (settableStatus != noErr) return settableStatus; + if (!settable) return kAudioHardwareIllegalOperationError; switch (inObjectID) { case kObjectID_Box: switch (inAddress->mSelector) { - case kAudioObjectPropertyName: { - if (inDataSize != sizeof(CFStringRef)) return kAudioHardwareBadPropertySizeError; - CFStringRef newName = *((CFStringRef*)inData); - pthread_mutex_lock(&gPlugIn_StateMutex); - if (gBox_Name != NULL) CFRelease(gBox_Name); - if (newName != NULL) CFRetain(newName); - gBox_Name = newName; - pthread_mutex_unlock(&gPlugIn_StateMutex); - return kAudioHardwareNoError; - } case kAudioObjectPropertyIdentify: - return kAudioHardwareNoError; - case kAudioBoxPropertyAcquired: { if (inDataSize != sizeof(UInt32)) return kAudioHardwareBadPropertySizeError; - pthread_mutex_lock(&gPlugIn_StateMutex); - gBox_Acquired = (*(UInt32*)inData != 0); - pthread_mutex_unlock(&gPlugIn_StateMutex); return kAudioHardwareNoError; - } - } - break; - - case kObjectID_Device: - switch (inAddress->mSelector) { - case kAudioDevicePropertyBufferFrameSize: { - if (inDataSize != sizeof(UInt32)) return kAudioHardwareBadPropertySizeError; - UInt32 requested = *((const UInt32*)inData); - if (requested < kBufferFrameSize_Min) requested = kBufferFrameSize_Min; - if (requested > kBufferFrameSize_Max) requested = kBufferFrameSize_Max; - bool changed = false; - pthread_mutex_lock(&gPlugIn_StateMutex); - if (gDevice_BufferFrameSize != requested) { - gDevice_BufferFrameSize = requested; - changed = true; - } - pthread_mutex_unlock(&gPlugIn_StateMutex); - if (changed && gPlugIn_Host != NULL) { - AudioObjectPropertyAddress changedAddr = { - kAudioDevicePropertyBufferFrameSize, - kAudioObjectPropertyScopeGlobal, - kAudioObjectPropertyElementMain - }; - gPlugIn_Host->PropertiesChanged(gPlugIn_Host, kObjectID_Device, 1, &changedAddr); - } - return kAudioHardwareNoError; - } } break; @@ -1193,6 +1223,10 @@ static OSStatus MacStereoFix_SetPropertyData(AudioServerPlugInDriverRef inDriver if (inObjectID == kObjectID_Stream_Input) gStream_Input_IsActive = active; else gStream_Output_IsActive = active; pthread_mutex_unlock(&gPlugIn_StateMutex); + if (gPlugIn_Host != NULL) { + AudioObjectPropertyAddress changed = *inAddress; + gPlugIn_Host->PropertiesChanged(gPlugIn_Host, inObjectID, 1, &changed); + } return kAudioHardwareNoError; } case kAudioStreamPropertyVirtualFormat: @@ -1202,16 +1236,31 @@ static OSStatus MacStereoFix_SetPropertyData(AudioServerPlugInDriverRef inDriver if (fmt->mFormatID != kAudioFormatLinearPCM) return kAudioDeviceUnsupportedFormatError; if (fmt->mChannelsPerFrame != kChannelCount) return kAudioDeviceUnsupportedFormatError; if (fmt->mSampleRate != kSampleRate) return kAudioHardwareIllegalOperationError; + if (fmt->mFormatFlags != (kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked) || + fmt->mBytesPerPacket != kBytesPerFrame || fmt->mFramesPerPacket != 1 || + fmt->mBytesPerFrame != kBytesPerFrame || fmt->mBitsPerChannel != 32) + return kAudioDeviceUnsupportedFormatError; return kAudioHardwareNoError; } } break; case kObjectID_Volume_Output_Master: + case kObjectID_Mute_Output_Master: switch (inAddress->mSelector) { + case kAudioBooleanControlPropertyValue: { + if (inDataSize != sizeof(UInt32)) return kAudioHardwareBadPropertySizeError; + bool muted = *((const UInt32*)inData) != 0; + if (atomic_exchange(&gMute_OutputMaster, muted) != muted && gPlugIn_Host != NULL) { + AudioObjectPropertyAddress changed = *inAddress; + gPlugIn_Host->PropertiesChanged(gPlugIn_Host, inObjectID, 1, &changed); + } + return kAudioHardwareNoError; + } case kAudioLevelControlPropertyScalarValue: { if (inDataSize != sizeof(Float32)) return kAudioHardwareBadPropertySizeError; Float32 newScalar = *((const Float32*)inData); + if (!isfinite(newScalar)) return kAudioHardwareIllegalOperationError; if (newScalar < 0.0f) newScalar = 0.0f; if (newScalar > 1.0f) newScalar = 1.0f; bool changed = false; @@ -1239,6 +1288,7 @@ static OSStatus MacStereoFix_SetPropertyData(AudioServerPlugInDriverRef inDriver case kAudioLevelControlPropertyDecibelValue: { if (inDataSize != sizeof(Float32)) return kAudioHardwareBadPropertySizeError; Float32 newDB = *((const Float32*)inData); + if (!isfinite(newDB)) return kAudioHardwareIllegalOperationError; if (newDB < kVolume_MinDB) newDB = kVolume_MinDB; if (newDB > kVolume_MaxDB) newDB = kVolume_MaxDB; Float32 newScalar = MSF_VolumeDBToScalar(newDB); @@ -1276,10 +1326,9 @@ static OSStatus MacStereoFix_StartIO(AudioServerPlugInDriverRef inDriver, AudioO pthread_mutex_lock(&gPlugIn_StateMutex); if (gDevice_IOIsRunning == 0) { - gDevice_NumberTimeStamps = 0; - gDevice_AnchorSampleTime = 0.0; - gDevice_AnchorHostTime = mach_absolute_time(); - memset(gRingBuffer, 0, sizeof(gRingBuffer)); + atomic_store(&gDevice_AnchorHostTime, mach_absolute_time()); + atomic_fetch_add(&gDevice_TimeStampSeed, 1); + MSF_ClearRing(); } ++gDevice_IOIsRunning; pthread_mutex_unlock(&gPlugIn_StateMutex); @@ -1305,20 +1354,16 @@ static OSStatus MacStereoFix_GetZeroTimeStamp(AudioServerPlugInDriverRef inDrive if (inDeviceObjectID != kObjectID_Device) return kAudioHardwareBadObjectError; if (outSampleTime == NULL || outHostTime == NULL || outSeed == NULL) return kAudioHardwareIllegalOperationError; - // No lock here: GetZeroTimeStamp is on the audio realtime path. The host - // serialises calls per device, and gDevice_NumberTimeStamps / - // gDevice_AnchorHostTime are only ever written from this function (or - // reset under lock in StartIO before IO begins). + // Derive the timestamp from elapsed time so sleep or a delayed callback + // catches up in one call instead of advancing one period at a time. UInt64 currentHostTime = mach_absolute_time(); + UInt64 anchor = atomic_load(&gDevice_AnchorHostTime); Float64 hostTicksPerRingBuffer = gDevice_HostTicksPerFrame * (Float64)kRingBufferFrameCount; - Float64 hostTickOffset = ((Float64)gDevice_NumberTimeStamps + 1.0) * hostTicksPerRingBuffer; - UInt64 nextHostTime = gDevice_AnchorHostTime + (UInt64)hostTickOffset; - if (nextHostTime <= currentHostTime) { - ++gDevice_NumberTimeStamps; - } - *outSampleTime = gDevice_NumberTimeStamps * (Float64)kRingBufferFrameCount; - *outHostTime = gDevice_AnchorHostTime + (UInt64)((Float64)gDevice_NumberTimeStamps * hostTicksPerRingBuffer); - *outSeed = 1; + if (hostTicksPerRingBuffer <= 0 || currentHostTime < anchor) return kAudioHardwareIllegalOperationError; + UInt64 periods = (UInt64)((currentHostTime - anchor) / hostTicksPerRingBuffer); + *outSampleTime = periods * (Float64)kRingBufferFrameCount; + *outHostTime = anchor + (UInt64)(periods * hostTicksPerRingBuffer); + *outSeed = atomic_load(&gDevice_TimeStampSeed); return kAudioHardwareNoError; } @@ -1357,44 +1402,51 @@ static OSStatus MacStereoFix_DoIOOperation(AudioServerPlugInDriverRef inDriver, if (inDeviceObjectID != kObjectID_Device) return kAudioHardwareBadObjectError; if (ioMainBuffer == NULL || inIOCycleInfo == NULL) return kAudioHardwareIllegalOperationError; - if (inOperationID == kAudioServerPlugInIOOperationWriteMix && inStreamObjectID == kObjectID_Stream_Output) { - // Game writing into the device output goes into the ring buffer. - Float64 sampleTime = inIOCycleInfo->mOutputTime.mSampleTime; - UInt64 startFrame = ((UInt64)sampleTime) % kRingBufferFrameCount; - UInt32 framesRemaining = inIOBufferFrameSize; - const Float32* src = (const Float32*)ioMainBuffer; - UInt64 cursor = startFrame; - while (framesRemaining > 0) { - UInt32 framesUntilWrap = (UInt32)(kRingBufferFrameCount - cursor); - UInt32 chunk = framesRemaining < framesUntilWrap ? framesRemaining : framesUntilWrap; - memcpy(&gRingBuffer[cursor * kChannelCount], src, chunk * kBytesPerFrame); - src += chunk * kChannelCount; - framesRemaining -= chunk; - cursor += chunk; - if (cursor >= kRingBufferFrameCount) cursor = 0; - } + bool writing = inOperationID == kAudioServerPlugInIOOperationWriteMix; + bool reading = inOperationID == kAudioServerPlugInIOOperationReadInput; + if (!writing && !reading) return kAudioHardwareUnsupportedOperationError; + if (inStreamObjectID != (writing ? kObjectID_Stream_Output : kObjectID_Stream_Input)) + return kAudioHardwareBadObjectError; + if (inIOBufferFrameSize > kRingBufferFrameCount) return kAudioHardwareIllegalOperationError; + Float64 sampleTime = writing ? inIOCycleInfo->mOutputTime.mSampleTime : inIOCycleInfo->mInputTime.mSampleTime; + // Limit to exactly representable integral times and leave room for this cycle. + if (!isfinite(sampleTime) || sampleTime > 0x1p53 - kRingBufferFrameCount || + floor(sampleTime) != sampleTime) return kAudioHardwareIllegalOperationError; + // The host may preroll with a negative sample time at startup. There is + // no audio before our anchor; return silence without an invalid conversion. + if (sampleTime < 0) { + if (reading) memset(ioMainBuffer, 0, inIOBufferFrameSize * kBytesPerFrame); return kAudioHardwareNoError; } - - if (inOperationID == kAudioServerPlugInIOOperationReadInput && inStreamObjectID == kObjectID_Stream_Input) { - // Helper app reading from the device input pulls from the ring buffer. - Float64 sampleTime = inIOCycleInfo->mInputTime.mSampleTime; - UInt64 startFrame = ((UInt64)sampleTime) % kRingBufferFrameCount; - UInt32 framesRemaining = inIOBufferFrameSize; - Float32* dst = (Float32*)ioMainBuffer; - UInt64 cursor = startFrame; - while (framesRemaining > 0) { - UInt32 framesUntilWrap = (UInt32)(kRingBufferFrameCount - cursor); - UInt32 chunk = framesRemaining < framesUntilWrap ? framesRemaining : framesUntilWrap; - memcpy(dst, &gRingBuffer[cursor * kChannelCount], chunk * kBytesPerFrame); - dst += chunk * kChannelCount; - framesRemaining -= chunk; - cursor += chunk; - if (cursor >= kRingBufferFrameCount) cursor = 0; + UInt64 first = (UInt64)sampleTime; + Float32* samples = (Float32*)ioMainBuffer; + bool active = atomic_load(writing ? &gStream_Output_IsActive : &gStream_Input_IsActive); + for (UInt32 i = 0; i < inIOBufferFrameSize; ++i) { + UInt64 time = first + i; + MSFFrame* frame = &gRingBuffer[time % kRingBufferFrameCount]; + if (writing) { + // The host supplies one fully mixed output writer for this device. + atomic_fetch_add(&frame->sequence, 1); // odd: write in progress + for (UInt32 c = 0; c < kChannelCount; ++c) { + Float32 sample = active && isfinite(samples[i * kChannelCount + c]) + ? samples[i * kChannelCount + c] : 0; + unsigned int bits; + memcpy(&bits, &sample, sizeof(bits)); + atomic_store(&frame->samples[c], bits); + } + atomic_store(&frame->sampleTime, time); + atomic_fetch_add(&frame->sequence, 1); // even: complete + } else { + unsigned long long sequence = atomic_load(&frame->sequence); + bool valid = active && !(sequence & 1) && atomic_load(&frame->sampleTime) == time; + for (UInt32 c = 0; c < kChannelCount; ++c) { + unsigned int bits = atomic_load(&frame->samples[c]); + memcpy(&samples[i * kChannelCount + c], &bits, sizeof(bits)); + } + if (!valid || atomic_load(&frame->sequence) != sequence) + memset(&samples[i * kChannelCount], 0, kBytesPerFrame); } - return kAudioHardwareNoError; } - return kAudioHardwareNoError; } diff --git a/FRIENDS_README.txt b/FRIENDS_README.txt index bd35fb4..797ef03 100644 --- a/FRIENDS_README.txt +++ b/FRIENDS_README.txt @@ -1,104 +1,44 @@ -MacStereoFix — quick install -============================ - -What it does ------------- -Forces every app's audio on your Mac through a stereo downmix with a -"dialogue boost" so center-channel voices stop getting lost. Built mainly -to fix the "voices are super faint in this game" problem in CrossOver -games, but it works for any audio source. - -You'll do a one-time install dance the very first time you open it. -After that it's just "click menu bar icon → flip toggle → play game". - - -Step 1 — install the app ------------------------- -1. Drag MacStereoFix.app into your Applications folder. -2. Double-click MacStereoFix in Applications. -3. macOS will pop up a warning that says something like - "MacStereoFix can't be opened because Apple cannot check it - for malicious software." Click OK. -4. Open System Settings (Apple menu → System Settings). -5. Go to Privacy & Security in the sidebar. -6. Scroll down. You'll see a line that says - "MacStereoFix was blocked from use because it is not from - an identified developer." - Click the OPEN ANYWAY button next to it. -7. Confirmation dialog → click Open Anyway → enter your Mac password. -8. The app launches. A small speaker icon appears at the top right - of your screen, in the menu bar. There is no app window — that's - on purpose. The app lives entirely in the menu bar. - -You only ever do steps 3-7 ONCE. Forever after, MacStereoFix opens like -any normal app. - - -Step 2 — install the driver (one click) ----------------------------------------- -1. Click the small speaker icon in your menu bar. -2. A panel drops down showing "Driver not installed" and a big - "Install Driver" button. Click it. -3. macOS will ask for your password. Type it and press Enter. -4. Wait about 2 seconds. The panel refreshes and now shows the real UI: - a Force Stereo toggle, a "Send stereo to" picker, a Volume slider, - and a Dialogue boost slider. - -You only ever do this ONCE. The driver stays installed forever. - - -Step 3 — use it ---------------- -1. Click the menu bar icon any time you want to use it. -2. Under "Send stereo to", pick whatever you actually listen with — - MacBook speakers, AirPods, headphones, monitor speakers, etc. -3. Flip "Force Stereo" to ON. -4. The very first time you toggle ON, macOS will ask for microphone - permission. Click Allow. - (No actual microphone is involved. Our virtual audio device is - technically classified as an audio input by macOS, so it asks. - If you click "Don't Allow" by accident, fix it in - System Settings → Privacy & Security → Microphone → turn on - MacStereoFix, then quit and relaunch the app.) -5. If voices in your game are still too quiet, drag the - "Dialogue boost" slider to the right. Start at +3 dB. Go higher - only if you need to. -6. Launch your game. Audio routes through MacStereoFix automatically. -7. When you're done, click the menu bar icon and flip Force Stereo - to OFF. Your normal audio comes back exactly as it was. - - -Important rules ---------------- -- NEVER pick "MacStereoFix" manually in System Settings → Sound. The - app does that for you when you flip the toggle on. If you set it - manually, you'll get silence. -- Don't quit the app while the toggle is ON. Flip it OFF first, then - quit. (If you forget, the next launch auto-recovers.) -- The macOS volume keys won't work while Force Stereo is on, because - the active output is a virtual device. Use the Volume slider in - the menu instead. - - -If something goes wrong ------------------------ -- "I can't see the menu bar icon." - It's at the top-right of your screen, near the clock. It's a small - speaker icon. If your menu bar is full, hold Cmd and drag other - icons left to make room. - -- "I clicked Install Driver and nothing happened / it failed." - Quit the app, reopen it, try again. The most common cause is the - password dialog being dismissed too fast. - -- "I have no audio at all." - Open System Settings → Sound → Output and click your normal output - device (MacBook Pro Speakers, AirPods, etc). Audio comes back - immediately. - -- "Voices are still faint." - Push the Dialogue boost slider higher. The default is conservative. - -- "I want to remove it." - Click the menu bar icon → Advanced → Uninstall Driver. Then drag - MacStereoFix.app from /Applications to the Trash. +MacStereoFix — installation and recovery +======================================= + +Use a signed and notarized release from: +https://github.com/macprotips/MacStereoFix/releases + +1. Unzip and move MacStereoFix.app to Applications. +2. Open it. Click the speaker icon in the menu bar. +3. Finish calls and recordings before clicking Install Driver. macOS asks + for an administrator password. All Mac audio briefly stops while the + driver loads. The app reports when it is ready. +4. Select your real speakers or headphones, then turn Force Stereo on. +5. Allow the microphone permission prompt. MacStereoFix reads audio from + its virtual device, not your physical microphone. It does not save + recordings or send audio over the network. + +Start with a low listening volume. Dialogue boost can make voices clearer, +but high boost can distort loud scenes. Volume and Mute control routed +sound. Turning Force Stereo off returns to your device's normal volume. + +The app starts off each time. Sleep, an output disconnect, a routing error, +or a manual change in macOS Sound settings stops routing. Select the output +again and turn it on when you are ready. Some Bluetooth call modes are +mono and cannot be used as stereo outputs. + +If sound stops: +Open System Settings > Sound > Output and choose your normal speakers or +headphones. This bypasses MacStereoFix. Do not choose MacStereoFix manually +while the app is off. If a driver update does not load, restart the Mac. + +If capture permission was denied: +Open System Settings > Privacy & Security > Microphone and allow +MacStereoFix, then try again. + +To remove it: +Use Advanced > Uninstall Driver, then move the app to the Trash. Removal +requires an administrator password and briefly interrupts all Mac audio. + +A verified release should pass normal macOS security checks. If macOS says +it cannot verify the app, stop and get a verified release. Do not disable +Gatekeeper or SIP, or use quarantine-removal commands to run it. + +MacStereoFix only redirects apps that follow the macOS default output. +Apps using their own output, system alerts, and protected media may differ. diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 0000000..c8e064b --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,32 @@ +# Privacy + +MacStereoFix processes audio routed to its virtual output while Force Stereo is +on. That audio can include private conversations, notifications, or other app +content. It passes through temporary buffers in memory to create stereo output. +The app has no recording-to-file feature, analytics, advertising, network client, +or automatic updater. It does not transmit audio or select a physical microphone. + +macOS requires microphone permission to read the virtual input. This permission +is broader than the app's intended use: the implementation explicitly binds +capture to the MacStereoFix device before starting it. Denial does not enable +routing. Revoke permission in System Settings → Privacy & Security → Microphone. + +The virtual input is a system audio device. Other local applications with the +necessary macOS audio-input permission may also select it. It is not an encrypted +or exclusive channel for private audio. Turn Force Stereo off when it is not needed. + +The app saves the selected output UID, dialogue boost, routing volume and a +recovery output UID in its own preferences. It saves no audio history. The small +recovery helper receives the fallback device UID, waits for the app's pipe to +close, and attempts to restore output. It runs as the same user, has no elevated +privileges, and exits after recovery or normal disarming. + +Administrator authorization is used only for the explicit driver install and +remove actions. Those actions modify MacStereoFix's driver under +`/Library/Audio/Plug-Ins/HAL` and restart CoreAudio. They do not change SIP, +Gatekeeper, login items, or the user's hardware volume. macOS and Apple's signing +and notarization services may perform their own security checks independently. + +To remove local preferences after uninstalling, use +`defaults delete com.macstereofix.app` in Terminal. App removal alone may leave +preferences behind, as with other macOS applications. diff --git a/README.md b/README.md index e479bf1..22349dc 100644 --- a/README.md +++ b/README.md @@ -1,186 +1,136 @@ # MacStereoFix -A small Mac utility that **forces every app's audio through a stereo downmix**, with a **dialogue boost** so center-channel voices stop getting lost. Built specifically to fix the "voices are super faint in this game" problem in CrossOver bottles, but it works for *any* macOS audio source — games, players, browsers — because it sits at the system audio layer. - -It works by installing a small CoreAudio virtual device called **MacStereoFix**, then routing all audio through that device, downmixing 7.1 / 5.1 to 2 channels in real time, and sending the result to the speaker / headphones / AirPods you pick. - -This is a personal-use project for a small group of friends. It is not a polished commercial app. - ---- - -## Download - -Prebuilt signed + notarized app: -**[MacStereoFix v1.2](https://github.com/macprotips/MacStereoFix/releases/latest)** - -Unzip, drag `MacStereoFix.app` into `/Applications`, launch it, and click **Install Driver** in the menu bar popover. That's it. - ---- - -## What's in here - -``` -MacStereoFix/ -├── Driver/ # Audio server plug-in (C) -│ ├── MacStereoFixDriver.c # The HAL plug-in implementation -│ └── Info.plist # Driver bundle metadata -├── App/ # Menu bar app (Swift) -│ ├── MacStereoFixApp.swift # @main entry / MenuBarExtra -│ ├── AppState.swift # Toggle state, persisted prefs, observers -│ ├── MenuBarView.swift # SwiftUI menu UI -│ ├── AudioRouter.swift # Two HALOutput AUs + downmix DSP -│ ├── RingBuffer.swift # SPSC lock-free Float ring buffer -│ ├── SystemAudio.swift # Device enumeration & default-output control -│ ├── DriverManager.swift # Install/uninstall via authenticated AppleScript -│ ├── MSFAtomic.h # C atomic helpers (imported via bridging header) -│ └── Info.plist # App bundle metadata -├── build.sh # Builds driver + app into ./build/ -├── install.sh # sudo install of the driver -├── uninstall.sh # sudo remove of the driver -└── README.md # this file -``` - ---- - -## How it works (the short version) - -1. The **driver** is a CoreAudio audio server plug-in that exposes one virtual device, `MacStereoFix`, with one 8-channel input stream and one 8-channel output stream. Internally it's just a circular buffer: whatever an app writes to the output stream becomes available on the input stream a moment later. The driver does **no DSP**. - -2. The **menu bar app** owns two `kAudioUnitSubType_HALOutput` audio units: - - The **capture unit** is bound to MacStereoFix and pulls 8-channel Float32 audio out of it via an input callback. - - The **render unit** is bound to your chosen real output device (MacBook speakers, AirPods, monitor, etc.). Its render callback reads 8-channel frames from the ring buffer, **downmixes them to stereo with the current dialogue boost**, and sends them to the device. - -3. When you toggle **Force Stereo: ON**, the app: - - starts both audio units - - sets the system default output device to MacStereoFix - so that every app on your Mac (including CrossOver bottles, since Wine respects the macOS default output) sends its audio into our pipeline. - -4. When you toggle **OFF**, the app stops the audio units and restores the previous default output device. - -The downmix uses the standard ITU coefficients with an adjustable boost on the center channel: - -``` -Lo = L + Cgain·C + 0.707·Ls + 0.5·Lsr -Ro = R + Cgain·C + 0.707·Rs + 0.5·Rsr -``` - -`Cgain` defaults to 0.707 (-3 dB) and goes up to roughly 2.0 (+6 dB) at the top of the **Dialogue boost** slider. LFE is dropped. - ---- - -## Building - -You need: - -- macOS 13+ (the app uses SwiftUI's `MenuBarExtra`) -- Xcode Command Line Tools (`xcode-select --install`) — gives you `clang`, `swiftc`, `codesign`, `lipo` -- A few seconds - -```sh -./build.sh -``` - -This produces: - -``` -build/MacStereoFix.driver # the audio server plug-in bundle -build/MacStereoFix.app # the menu bar app, with the driver bundled inside -``` - -Both bundles are universal (arm64 + x86_64) and ad-hoc signed. - ---- - -## Installing - -You have two options: - -### Option A — let the app install the driver for you (recommended) - -1. Drag `build/MacStereoFix.app` into `/Applications`. -2. Launch it. It'll appear in your menu bar as a small speaker icon. -3. Click the icon. Because the driver isn't installed yet, you'll see an **Install Driver** button. Click it. -4. macOS will prompt for your administrator password (this is the standard "do shell script with administrator privileges" dialog). After you authorize it, the app: - - copies `MacStereoFix.driver` from `Contents/Resources/` into `/Library/Audio/Plug-Ins/HAL/` - - chowns it to `root:wheel` - - kicks `coreaudiod` so the device shows up immediately -5. Click the icon again — the toggle and device picker now appear. - -### Option B — install from the command line +MacStereoFix is a macOS menu bar utility that downmixes surround audio to stereo, +including the center channel that carries dialogue in many games. It is useful +when a game sends surround audio but you listen through stereo speakers or headphones. + +**Version 1.3.0 is an unreleased audit candidate.** The published +[v1.2 download](https://github.com/macprotips/MacStereoFix/releases/tag/v1.2) does not +contain the safety and recovery changes on this branch. A new release must pass +[the release checklist](docs/RELEASE_CHECKLIST.md) before distribution. + +## What it does + +The app installs a user-space CoreAudio HAL plug-in, not a kernel extension. +When you turn **Force Stereo** on, it reads eight-channel, 48 kHz PCM from that +virtual device, mixes it to stereo, and sends the result to your selected output. +Apps that follow the macOS default output then use this route. Apps that select +their own output, system alerts, and protected audio may behave differently. + +Supported destinations have at least two output channels at 32–192 kHz. +Apple's audio converter handles output sample-rate conversion and small clock +differences. Virtual and aggregate destinations are excluded to avoid feedback. +Bluetooth call modes with only one output channel are not supported. + +- **Dialogue boost:** 0–9 dB above the base center coefficient; default +3 dB. +- **Volume and mute:** attenuate routed audio without changing hardware volume + or left/right balance. Turning Off returns to the device's normal volume. +- **Off and Quit:** attempt to restore the previous output, with a connected + physical fallback if it disappeared. A small child process also attempts this + if the app crashes or is force-quit. It exits afterward and has no login item. +- **Sleep, device loss, routing errors, and manual output changes:** stop routing. + The app starts off at each launch and does not automatically resume capture. + +The mix is `L + Cgain*C + 0.707*Ls + 0.5*Lsr` and the corresponding right channels. +`Cgain = 0.707 * 10^(boost/20)`. LFE is omitted. Invalid samples are silenced and +mix peaks are clipped before software attenuation. More dialogue boost can +cause audible distortion in loud scenes; begin at a low listening volume. + +## Install a verified release + +1. Download a signed and notarized release from this repository, unzip it, and + move `MacStereoFix.app` to Applications. +2. Open it and use the speaker icon in the menu bar. +3. Finish calls and recordings, then click **Install Driver**. macOS asks for an + administrator password. Installing, updating, or removing the driver briefly + interrupts **all Mac audio** while CoreAudio restarts. +4. Select your speakers or headphones and turn **Force Stereo** on. +5. Allow the macOS microphone permission prompt. The app reads the virtual + device, not your physical microphone. Permission denial leaves normal output + in place. See [privacy details](PRIVACY.md). + +The app verifies the staged driver's signature and developer identity before +replacing an existing installation. It also checks that the current driver +version is actually loaded, not merely copied onto disk. + +If macOS reports an unidentified developer, damage, or an unverifiable app, +stop and download a verified release. Do not disable Gatekeeper, SIP, or other +macOS protections to install MacStereoFix. + +## If sound stops + +Open **System Settings → Sound → Output** and select your normal speakers or +headphones. This bypasses MacStereoFix immediately. Do not select MacStereoFix +manually while its app is off. + +If the app cannot start capture, check **Privacy & Security → Microphone**. +If an updated driver does not load, restart the Mac. For a Bluetooth device in +call mode, end the call or select another stereo output. Re-enable Force Stereo +only after the intended output is available. + +## Remove it + +Use **Advanced → Uninstall Driver**, then move the app from Applications to the +Trash. The app stops routing first. Removal needs administrator authorization +and briefly interrupts Mac audio. + +Developers can select a normal output, quit the app, then run `sudo ./uninstall.sh`. +The script removes only `/Library/Audio/Plug-Ins/HAL/MacStereoFix.driver` and +restarts CoreAudio. Preferences can optionally be removed with +`defaults delete com.macstereofix.app`. + +## Build and verify + +Requires macOS, Xcode 15 or newer (or matching Command Line Tools), Swift 5.9+, +and the system Python 3 supplied with those tools. The deployment target is +macOS 13. Both Apple Silicon and Intel binaries are built. Actual OS/device +coverage is tracked in the release checklist; cross-compiling alone is not proof +of compatibility. ```sh ./build.sh -sudo ./install.sh -cp -R build/MacStereoFix.app /Applications/ -``` - -Then launch the app from `/Applications`. - ---- - -## Using it - -1. Click the menu bar icon. -2. Pick your real output device under **Send stereo to** (your speakers, AirPods, etc.). -3. Flip **Force Stereo** to **ON**. -4. Play your game / movie / whatever. All audio now flows: app → MacStereoFix → MacStereoFix.app → real output, downmixed to stereo. -5. Flip **OFF** when you're done. The app restores your previous default output device. - -The first time you toggle ON, macOS will show a **microphone access** prompt. This is because the helper app is technically reading from MacStereoFix's input stream, which macOS classifies as audio input. Allow it. (No actual microphone is involved.) - -### CrossOver-specific notes - -No need to edit the registry of a bottle in CrossOver or install complicated audio applications. With MacStereoFix ON, anything playing inside a bottle automatically goes through the downmix. - ---- - -## Uninstalling - -From the app: **Advanced → Uninstall Driver**. You'll get the same admin prompt. - -Or from the command line: - -```sh -sudo ./uninstall.sh -rm -rf /Applications/MacStereoFix.app +./check.sh ``` ---- +Builds go into `build/`. With no signing identity, these are **local development +builds only**. The in-app installer intentionally rejects ad-hoc drivers. +Developers who trust their own checkout may explicitly use +`sudo ./install.sh --allow-adhoc` for local testing; this is not a distribution path. -## Troubleshooting +The automated checks do not install a driver, capture audio, change output +settings, or kill CoreAudio. They exercise the driver under AddressSanitizer, +UndefinedBehaviorSanitizer and ThreadSanitizer; the production mixer/converter; +routing failures; installer rollback and quoting; and crash recovery with test +doubles. GitHub Actions runs them on Apple Silicon and Intel. -**The MacStereoFix device doesn't appear in System Settings → Sound after install.** -1. Check the driver bundle exists: `ls /Library/Audio/Plug-Ins/HAL/MacStereoFix.driver` -2. Check ownership: `ls -ld /Library/Audio/Plug-Ins/HAL/MacStereoFix.driver` should show `root wheel`. -3. Restart coreaudiod manually: `sudo launchctl kickstart -k system/com.apple.audio.coreaudiod` -4. Look at the system log for plug-in load errors: - `log show --predicate 'subsystem == "com.apple.coreaudio"' --last 5m | grep -i macstereofix` -5. If the driver is **unsigned** or **signed by an unknown identity**, modern macOS may silently refuse to load it. Rebuild with a real `SIGN_IDENTITY` and re-install. +## Produce a release -**The toggle turns on but I hear no sound.** -- Check that your **Send stereo to** picker isn't pointing at MacStereoFix itself (it's filtered out, but if your selection is stale it could happen — use **Refresh Devices** in Advanced). -- Open System Settings → Sound and confirm the system output is `MacStereoFix` while the toggle is on. -- If macOS is asking for microphone permission, grant it — without that, the capture side is silent. +Complete [docs/RELEASE_CHECKLIST.md](docs/RELEASE_CHECKLIST.md) on the exact source +commit. Use your Developer ID Application certificate and an existing +`notarytool` Keychain profile. Do not put passwords or private keys in the repository. -**I want to remove everything.** ```sh -sudo ./uninstall.sh -rm -rf /Applications/MacStereoFix.app -defaults delete com.macstereofix.app 2>/dev/null || true +SIGN_IDENTITY='Developer ID Application: Your Name (TEAMID)' \ +NOTARY_PROFILE='your-saved-profile' \ +RELEASE_TESTED_COMMIT='the-full-tested-commit-sha' \ +./release.sh ``` ---- - -## Things this v1 deliberately does NOT do +The project pins installation to its current developer team, `MD83L42DNL`. +Changing that identity is an explicit trust change, not just a build setting. -- **No bitstream / passthrough.** PCM only. Dolby Digital and DTS streams are not handled. Almost every game and movie uses PCM through CoreAudio anyway. -- **No per-app routing.** It's a system-wide toggle. If you want one app on stereo and another on surround, you'd need a much fancier app. -- **No multiple sample rates.** The virtual device is locked to 48 kHz. macOS will sample-rate-convert for you when an app outputs 44.1 kHz. -- **No surround panning, EQ, virtualization, or HRTF.** Just an honest downmix. -- **No automatic launch at login.** Add it to System Settings → General → Login Items yourself if you want that. +The release script requires a clean checkout, builds and runs the checks, verifies +signatures, waits for Apple's acceptance, staples the ticket, checks Gatekeeper, +and verifies the extracted final ZIP. Only then does it emit a versioned archive +and SHA-256 checksum. It does not publish anything to GitHub. ---- +## Scope and licensing -## License +No per-app routing, bitstream passthrough, Dolby/DTS decoding, HRTF, automatic +updater, telemetry, or third-party runtime packages. macOS handles the input +conversion from app formats to the virtual device's 48 kHz PCM stream. -For personal use among friends. Driver structure is modeled on Apple's `NullAudio` sample (Apple Sample Code License). The rest is freshly written. +The existing project policy is personal use among friends; this audit does not +add a new open-source license or grant additional reuse rights. The driver is +modeled on Apple's NullAudio sample. Its notice is preserved in +[ThirdParty](ThirdParty/README.md) and included in the built app and driver. diff --git a/Recovery/main.swift b/Recovery/main.swift new file mode 100644 index 0000000..45f3cef --- /dev/null +++ b/Recovery/main.swift @@ -0,0 +1,16 @@ +import Foundation + +// This helper runs as the logged-in user. It changes only an output still set +// to MacStereoFix, and exits as soon as the owning app closes its pipe. +let preferredUID = CommandLine.arguments.dropFirst().first +var disarmed = false +while let line = readLine() { + if line == "disarm" { disarmed = true } +} +if !disarmed { + // CoreAudio may be restarting at the same time the app exits. + for _ in 0..<25 { + if SystemAudio.restoreOutput(preferredUID: preferredUID) { break } + Thread.sleep(forTimeInterval: 0.2) + } +} diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..cc03d92 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,18 @@ +# Security reports + +MacStereoFix installs a user-space CoreAudio plug-in and processes system audio. +A driver defect can interrupt audio beyond this app, so report memory safety, +privileged installation, signing, or unexpected capture problems as security issues. + +Use **Security → Report a vulnerability** to +[send a private report](https://github.com/macprotips/MacStereoFix/security/advisories/new). +Private reporting is enabled. Include the app/driver version, macOS version, +steps to reproduce, and whether normal output can be restored. Do not attach +private recordings, passwords, signing keys or notarization credentials. + +For ordinary audio compatibility bugs, use GitHub Issues. If sound is stuck, +select your speakers or headphones in System Settings → Sound → Output. + +The 1.3.0 audit candidate has automated safety checks but is not yet a public +release. Older published binaries do not receive fixes until a new release is +built, verified and published. No release is a guarantee against all vulnerabilities. diff --git a/Scripts/install-driver.sh b/Scripts/install-driver.sh new file mode 100755 index 0000000..66f7679 --- /dev/null +++ b/Scripts/install-driver.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# Compiled into the app by build.sh. Do not execute a mutable resource script as root. +set -euo pipefail +export PATH=/usr/bin:/bin:/usr/sbin:/sbin +umask 077 +[[ $EUID -eq 0 ]] || { echo 'Administrator authorization is required.' >&2; exit 1; } +[[ $# -eq 2 ]] || { echo 'Expected driver path and signing requirement.' >&2; exit 1; } +source_driver=$1 +requirement=$2 +hal=/Library/Audio/Plug-Ins/HAL +destination=$hal/MacStereoFix.driver + +# All ancestors must be real, root-owned directories that other users cannot write. +for directory in /Library /Library/Audio /Library/Audio/Plug-Ins "$hal"; do + [[ ! -L "$directory" ]] || { echo "Refusing linked directory: $directory" >&2; exit 1; } + if [[ ! -e "$directory" ]]; then /usr/bin/install -d -o root -g wheel -m 755 "$directory"; fi + [[ -d "$directory" && $(/usr/bin/stat -f %u "$directory") == 0 ]] || exit 1 + acl=$(/bin/ls -lde "$directory") + [[ "$acl" != *" allow "* ]] || { echo "Unexpected directory access rules: $directory" >&2; exit 1; } + mode=$(/usr/bin/stat -f %Lp "$directory") + (( (8#$mode & 0022) == 0 )) || { echo "Unsafe directory permissions: $directory" >&2; exit 1; } +done +[[ -d "$source_driver" && ! -L "$source_driver" ]] || { echo 'Bundled driver is missing or linked.' >&2; exit 1; } +[[ ! -L "$destination" ]] || { echo 'Installed driver is a symbolic link; refusing to replace it.' >&2; exit 1; } + +# Copy into a private, root-owned staging directory before verification. A change +# to the app's user-writable source after this point cannot alter the verified copy. +stage=$(/usr/bin/mktemp -d /Library/Audio/.MacStereoFix.XXXXXX) +backup=0 +committed=0 +cleanup() { + if [[ $backup == 1 && $committed == 0 && ! -e "$destination" ]]; then + /bin/mv "$stage/previous" "$destination" || { + echo "Could not restore the previous driver. Backup retained at $stage/previous" >&2 + return + } + fi + /bin/rm -rf "$stage" +} +trap cleanup EXIT +trap 'exit 1' HUP INT TERM +/usr/bin/ditto --noqtn --noextattr --noacl "$source_driver" "$stage/driver" +unsafe=$(/usr/bin/find -P "$stage/driver" \( -type l -o \( ! -type f -a ! -type d \) -o \( -type f -a -links +1 \) \) -print) +[[ -z "$unsafe" ]] || { echo 'Driver contains links or special files.' >&2; exit 1; } +[[ $(/usr/bin/plutil -extract CFBundleExecutable raw -o - "$stage/driver/Contents/Info.plist") == MacStereoFix ]] || exit 1 +[[ $(/usr/bin/plutil -extract CFBundleIdentifier raw -o - "$stage/driver/Contents/Info.plist") == com.macstereofix.driver ]] || exit 1 +if [[ "$requirement" == --allow-adhoc ]]; then + /usr/bin/codesign --verify --strict "$stage/driver" +else + /usr/bin/codesign --verify --strict -R "$requirement" "$stage/driver" +fi +/bin/chmod -RN "$stage/driver" +/usr/sbin/chown -R root:wheel "$stage/driver" +/bin/chmod -R u=rwX,go=rX "$stage/driver" +if [[ -e "$destination" ]]; then + [[ -d "$destination" ]] || { echo 'Existing driver path is not a directory.' >&2; exit 1; } + /bin/mv "$destination" "$stage/previous" + backup=1 +fi +/bin/mv "$stage/driver" "$destination" +committed=1 +# Failure to restart must be reported, even though the copy succeeded. +if /usr/bin/pgrep -x coreaudiod >/dev/null; then + /usr/bin/killall coreaudiod || { echo 'Driver installed. Restart your Mac to load it.' >&2; exit 1; } +fi diff --git a/Scripts/uninstall-driver.sh b/Scripts/uninstall-driver.sh new file mode 100755 index 0000000..ff7a186 --- /dev/null +++ b/Scripts/uninstall-driver.sh @@ -0,0 +1,21 @@ +#!/bin/bash +set -euo pipefail +export PATH=/usr/bin:/bin:/usr/sbin:/sbin +[[ $EUID -eq 0 ]] || { echo 'Administrator authorization is required.' >&2; exit 1; } +for directory in /Library /Library/Audio /Library/Audio/Plug-Ins /Library/Audio/Plug-Ins/HAL; do + [[ ! -L "$directory" ]] || { echo "Refusing linked directory: $directory" >&2; exit 1; } + [[ -e "$directory" ]] || exit 0 + [[ -d "$directory" && $(/usr/bin/stat -f %u "$directory") == 0 ]] || exit 1 + acl=$(/bin/ls -lde "$directory") + [[ "$acl" != *" allow "* ]] || { echo "Unexpected directory access rules: $directory" >&2; exit 1; } + mode=$(/usr/bin/stat -f %Lp "$directory") + (( (8#$mode & 0022) == 0 )) || { echo "Unsafe directory permissions: $directory" >&2; exit 1; } +done +destination=/Library/Audio/Plug-Ins/HAL/MacStereoFix.driver +if [[ -e "$destination" || -L "$destination" ]]; then + # rm does not traverse a symlink passed as its final path component. + /bin/rm -rf "$destination" + if /usr/bin/pgrep -x coreaudiod >/dev/null; then + /usr/bin/killall coreaudiod || { echo 'Driver removed. Restart your Mac to finish.' >&2; exit 1; } + fi +fi diff --git a/Tests/audio_tests.swift b/Tests/audio_tests.swift new file mode 100644 index 0000000..4a09e68 --- /dev/null +++ b/Tests/audio_tests.swift @@ -0,0 +1,148 @@ +import AudioToolbox +import CoreAudio +import Foundation + +@main +struct AudioTests { + static func main() throws { + testDownmix() + testRing() + testConcurrentRing() + try testConverter() + testClockDrift() + } + + static func testClockDrift() { + // Model an output clock +/-500 ppm from the virtual clock for 30 minutes, + // with the same once-per-second correction used by the app. + for ppm: Float in [-500, -100, 0, 100, 500] { + var fill = Float(StereoMix.reserveFrames) + for _ in 0..<1800 { + let ratio = StereoMix.clockRate(bufferedFrames: fill) + fill += 48000 - 48000 * (1 + ppm / 1_000_000) * ratio + assert(fill > 128 && fill < 1024) + } + } + assert(StereoMix.clockRate(bufferedFrames: .nan) == 1) + print("Clock correction simulation stayed bounded for 30 minutes at +/-500 ppm") + } + + static func testDownmix() { + let expected: [(Float, Float)] = [(0.25, 0), (0, 0.25), (0.17675, 0.17675), (0, 0), + (0.17675, 0), (0, 0.17675), (0.125, 0), (0, 0.125)] + for channel in 0..<8 { + var source = [Float](repeating: 0, count: 8) + source[channel] = 0.25 + var output = [Float](repeating: 0, count: 2) + StereoMix.process(source, into: &output, frames: 1, centerGain: 0.707, volume: 1) + assert(abs(output[0] - expected[channel].0) < 0.00001) + assert(abs(output[1] - expected[channel].1) < 0.00001) + } + for bad: Float in [.nan, .infinity, -.infinity, .greatestFiniteMagnitude, -.greatestFiniteMagnitude] { + let source = [Float](repeating: bad, count: 8) + for volume: Float in [0, 0.5, 1, .nan, .infinity] { + var output = [Float](repeating: 99, count: 2) + StereoMix.process(source, into: &output, frames: 1, centerGain: .infinity, volume: volume) + assert(output.allSatisfy { $0.isFinite && abs($0) <= 1 }) + if volume == 0 { assert(output == [0, 0]) } + } + } + assert(StereoMix.centerGain(boostDB: .nan).isFinite) + assert(StereoMix.centerGain(boostDB: 100) == StereoMix.centerGain(boostDB: 9)) + var muted = [Float](repeating: 1, count: 2) + StereoMix.process([Float](repeating: 1, count: 8), into: &muted, frames: 1, centerGain: 2, volume: 0) + assert(muted == [0, 0]) + print("Eight channel impulses, LFE exclusion, gain limits, mute and non-finite samples passed") + } + + static func testRing() { + let ring = RingBuffer(frames: 8, channels: 2) + let source = (0..<32).map(Float.init) + var output = [Float](repeating: -1, count: 32) + assert(ring.write(source, frameCount: -1) == 0) + assert(ring.read(&output, frameCount: -1) == 0) + assert(ring.write(source, frameCount: 16) == 7) + assert(ring.fillFrames() == 7) + assert(ring.read(&output, frameCount: 5) == 5) + assert(Array(output.prefix(10)) == Array(source.prefix(10))) + assert(ring.write(source, frameCount: 5) == 5) + assert(ring.read(&output, frameCount: 7) == 7) + assert(Array(output.prefix(14)) == Array(source[10..<14]) + Array(source.prefix(10))) + assert(ring.read(&output, frameCount: 1) == 0) + assert(ring.skip(frameCount: 20) == 0) + ring.write(source, frameCount: 4) + assert(ring.skip(frameCount: 10) == 4) + ring.reset() + assert(ring.fillFrames() == 0) + print("Ring overflow, underflow, wrap, skip, reset and negative lengths passed") + } + + static func testConcurrentRing() { + let ring = RingBuffer(frames: 1024, channels: 2) + let group = DispatchGroup() + let frames = 200_000 + group.enter() + DispatchQueue.global().async { + var position = 0 + while position < frames { + let count = min(37, frames - position) + var source = [Float](repeating: 0, count: count * 2) + for i in 0.. OSStatus in + let list = AudioBufferList.allocate(maximumBuffers: 2) + defer { free(list.unsafeMutablePointer) } + list[0] = AudioBuffer(mNumberChannels: 1, mDataByteSize: UInt32(bytes.count / 2), mData: bytes.baseAddress) + list[1] = AudioBuffer(mNumberChannels: 1, mDataByteSize: UInt32(bytes.count / 2), mData: bytes.baseAddress!.advanced(by: bytes.count / 2)) + return AudioUnitRender(unit, &flags, ×tamp, 0, 512, list.unsafeMutablePointer) + } + assert(status == noErr, "Converter failed at \(rate): \(status)") + } + assert(output.allSatisfy { $0.isFinite && abs($0) <= 0.11 }) + assert(output.filter { abs($0 - 0.088375) < 0.0001 }.count > 700, + "Center channel missing after conversion at \(rate)") + assert(!router.audioFailed) + router.stop() + } + print("Production audio callback and Apple converter passed at 32, 44.1, 48, 96 and 192 kHz (offline)") + } +} diff --git a/Tests/driver_tests.c b/Tests/driver_tests.c new file mode 100644 index 0000000..3c1d625 --- /dev/null +++ b/Tests/driver_tests.c @@ -0,0 +1,222 @@ +#include +#include +#include +#include +#include "../Driver/MacStereoFixDriver.c" + +static AudioObjectPropertyAddress address(AudioObjectPropertySelector selector) { + return (AudioObjectPropertyAddress){selector, kAudioObjectPropertyScopeGlobal, + kAudioObjectPropertyElementMain}; +} + +static OSStatus read_property(AudioObjectID object, AudioObjectPropertySelector selector, + UInt32 size, UInt32 *written, void *data) { + AudioObjectPropertyAddress a = address(selector); + return MacStereoFix_GetPropertyData(gAudioServerPlugInDriverRef, object, 0, + &a, 0, NULL, size, written, data); +} + +static OSStatus set_property(AudioObjectID object, AudioObjectPropertySelector selector, + UInt32 size, const void *data) { + AudioObjectPropertyAddress a = address(selector); + return MacStereoFix_SetPropertyData(gAudioServerPlugInDriverRef, object, 0, + &a, 0, NULL, size, data); +} + +static void test_property_bounds(void) { + const AudioObjectPropertySelector selectors[] = { + kAudioObjectPropertyBaseClass, kAudioObjectPropertyClass, kAudioObjectPropertyOwner, + kAudioObjectPropertyName, kAudioObjectPropertyModelName, kAudioObjectPropertyManufacturer, + kAudioObjectPropertyOwnedObjects, kAudioObjectPropertyIdentify, + kAudioObjectPropertySerialNumber, kAudioObjectPropertyFirmwareVersion, + kAudioPlugInPropertyBoxList, kAudioPlugInPropertyDeviceList, kAudioPlugInPropertyResourceBundle, + kAudioBoxPropertyBoxUID, kAudioBoxPropertyTransportType, kAudioBoxPropertyHasAudio, + kAudioBoxPropertyHasVideo, kAudioBoxPropertyHasMIDI, kAudioBoxPropertyIsProtected, + kAudioBoxPropertyAcquired, kAudioBoxPropertyAcquisitionFailed, kAudioBoxPropertyDeviceList, + kAudioDevicePropertyDeviceUID, kAudioDevicePropertyModelUID, kAudioDevicePropertyTransportType, + kAudioDevicePropertyRelatedDevices, kAudioDevicePropertyClockDomain, + kAudioDevicePropertyDeviceIsAlive, kAudioDevicePropertyDeviceIsRunning, + kAudioDevicePropertyDeviceCanBeDefaultDevice, kAudioDevicePropertyDeviceCanBeDefaultSystemDevice, + kAudioDevicePropertyLatency, kAudioDevicePropertyStreams, kAudioObjectPropertyControlList, + kAudioDevicePropertySafetyOffset, kAudioDevicePropertyBufferFrameSize, + kAudioDevicePropertyBufferFrameSizeRange, kAudioDevicePropertyNominalSampleRate, + kAudioDevicePropertyAvailableNominalSampleRates, kAudioDevicePropertyIsHidden, + kAudioDevicePropertyZeroTimeStampPeriod, kAudioDevicePropertyIcon, + kAudioDevicePropertyPreferredChannelsForStereo, kAudioDevicePropertyPreferredChannelLayout, + kAudioStreamPropertyIsActive, kAudioStreamPropertyDirection, kAudioStreamPropertyTerminalType, + kAudioStreamPropertyStartingChannel, kAudioStreamPropertyLatency, + kAudioStreamPropertyVirtualFormat, kAudioStreamPropertyPhysicalFormat, + kAudioStreamPropertyAvailableVirtualFormats, kAudioStreamPropertyAvailablePhysicalFormats, + kAudioControlPropertyScope, kAudioControlPropertyElement, kAudioBooleanControlPropertyValue, + kAudioLevelControlPropertyScalarValue, kAudioLevelControlPropertyDecibelValue, + kAudioLevelControlPropertyDecibelRange, kAudioLevelControlPropertyConvertScalarToDecibels, + kAudioLevelControlPropertyConvertDecibelsToScalar + }; + const AudioObjectPropertyScope scopes[] = {kAudioObjectPropertyScopeGlobal, + kAudioObjectPropertyScopeInput, kAudioObjectPropertyScopeOutput}; + unsigned checks = 0; + for (AudioObjectID object = kObjectID_PlugIn; object <= kObjectID_Mute_Output_Master; ++object) { + for (size_t s = 0; s < sizeof(selectors) / sizeof(selectors[0]); ++s) { + for (size_t scope = 0; scope < sizeof(scopes) / sizeof(scopes[0]); ++scope) { + AudioObjectPropertyAddress a = address(selectors[s]); + a.mScope = scopes[scope]; + if (!MacStereoFix_HasProperty(gAudioServerPlugInDriverRef, object, 0, &a)) continue; + UInt32 size = 0; + assert(MacStereoFix_GetPropertyDataSize(gAudioServerPlugInDriverRef, object, 0, + &a, 0, NULL, &size) == noErr); + for (UInt32 capacity = 0; capacity <= size; ++capacity) { + void *data = calloc(1, capacity ? capacity : 1); + UInt32 written = UINT32_MAX; + OSStatus status = MacStereoFix_GetPropertyData(gAudioServerPlugInDriverRef, + object, 0, &a, 0, NULL, capacity, &written, data); + assert(written <= capacity); + if (capacity == size) assert(status == noErr && written == size); + if (status == noErr && written == sizeof(CFStringRef)) { + switch (selectors[s]) { + case kAudioObjectPropertyName: case kAudioObjectPropertyModelName: + case kAudioObjectPropertyManufacturer: case kAudioObjectPropertySerialNumber: + case kAudioObjectPropertyFirmwareVersion: case kAudioPlugInPropertyResourceBundle: + case kAudioBoxPropertyBoxUID: case kAudioDevicePropertyDeviceUID: + case kAudioDevicePropertyModelUID: + if (*(CFStringRef *)data) CFRelease(*(CFStringRef *)data); + } + } + free(data); + ++checks; + } + } + } + } + printf("Driver property bounds: %u cases passed\n", checks); +} + +static OSStatus io(UInt32 operation, double time, UInt32 frames, Float32 *data) { + AudioServerPlugInIOCycleInfo cycle = {0}; + cycle.mInputTime.mSampleTime = cycle.mOutputTime.mSampleTime = time; + return MacStereoFix_DoIOOperation(gAudioServerPlugInDriverRef, kObjectID_Device, + operation == kAudioServerPlugInIOOperationWriteMix ? kObjectID_Stream_Output : kObjectID_Stream_Input, + 0, operation, frames, &cycle, data, NULL); +} + +static void test_loopback(void) { + Float32 written[32 * kChannelCount], read[32 * kChannelCount]; + for (unsigned i = 0; i < 32 * kChannelCount; ++i) written[i] = (Float32)i / 256; + assert(io(kAudioServerPlugInIOOperationWriteMix, 4090, 32, written) == noErr); + assert(io(kAudioServerPlugInIOOperationReadInput, 4090, 32, read) == noErr); + assert(memcmp(written, read, sizeof(read)) == 0); + assert(io(kAudioServerPlugInIOOperationReadInput, 4090 + kRingBufferFrameCount, 32, read) == noErr); + for (unsigned i = 0; i < 32 * kChannelCount; ++i) assert(read[i] == 0); + assert(io(kAudioServerPlugInIOOperationReadInput, -1, 32, read) == noErr); + for (unsigned i = 0; i < 32 * kChannelCount; ++i) assert(read[i] == 0); + const double invalid[] = {NAN, INFINITY, 0.5, 0x1p64}; + for (unsigned i = 0; i < sizeof(invalid) / sizeof(invalid[0]); ++i) { + assert(io(kAudioServerPlugInIOOperationWriteMix, invalid[i], 32, written) != noErr); + assert(io(kAudioServerPlugInIOOperationReadInput, invalid[i], 32, read) != noErr); + } + assert(io(kAudioServerPlugInIOOperationWriteMix, 0, kRingBufferFrameCount + 1, written) != noErr); + puts("Loopback wrap, stale audio, invalid timestamps and frame limits passed"); +} + +static void test_formats_and_volume(void) { + int number = 42; + CFNumberRef invalidUID = CFNumberCreate(NULL, kCFNumberIntType, &number); + AudioObjectID result; + UInt32 resultSize; + AudioObjectPropertyAddress lookup = address(kAudioPlugInPropertyTranslateUIDToDevice); + assert(MacStereoFix_GetPropertyData(gAudioServerPlugInDriverRef, kObjectID_PlugIn, 0, + &lookup, sizeof(invalidUID), &invalidUID, sizeof(result), &resultSize, &result) == kAudioHardwareIllegalOperationError); + CFRelease(invalidUID); + AudioStreamBasicDescription fmt; + UInt32 size = 0; + assert(read_property(kObjectID_Stream_Output, kAudioStreamPropertyPhysicalFormat, + sizeof(fmt), &size, &fmt) == noErr); + assert(set_property(kObjectID_Stream_Output, kAudioStreamPropertyPhysicalFormat, + sizeof(fmt), &fmt) == noErr); + AudioStreamBasicDescription bad = fmt; + bad.mFormatFlags |= kAudioFormatFlagIsNonInterleaved; + assert(set_property(kObjectID_Stream_Output, kAudioStreamPropertyPhysicalFormat, + sizeof(bad), &bad) == kAudioDeviceUnsupportedFormatError); + bad = fmt; bad.mBytesPerFrame = 1; + assert(set_property(kObjectID_Stream_Output, kAudioStreamPropertyPhysicalFormat, + sizeof(bad), &bad) == kAudioDeviceUnsupportedFormatError); + bad = fmt; bad.mBitsPerChannel = 16; + assert(set_property(kObjectID_Stream_Output, kAudioStreamPropertyPhysicalFormat, + sizeof(bad), &bad) == kAudioDeviceUnsupportedFormatError); + Float32 invalid = NAN; + assert(set_property(kObjectID_Volume_Output_Master, kAudioLevelControlPropertyScalarValue, + sizeof(invalid), &invalid) != noErr); + invalid = INFINITY; + assert(set_property(kObjectID_Volume_Output_Master, kAudioLevelControlPropertyDecibelValue, + sizeof(invalid), &invalid) != noErr); + puts("Strict stream format and finite volume validation passed"); +} + +static _Atomic unsigned long long published_time; +static _Atomic bool writer_finished; +static void *concurrent_writer(void *unused) { + (void)unused; + Float32 frame[kChannelCount]; + for (UInt64 time = 100000; time < 300000; ++time) { + for (unsigned c = 0; c < kChannelCount; ++c) frame[c] = (Float32)time; + assert(io(kAudioServerPlugInIOOperationWriteMix, (double)time, 1, frame) == noErr); + atomic_store(&published_time, time); + } + atomic_store(&writer_finished, true); + return NULL; +} + +static void test_concurrent_io(void) { + pthread_t writer; + assert(pthread_create(&writer, NULL, concurrent_writer, NULL) == 0); + do { + UInt64 time = atomic_load(&published_time); + if (time == 0) continue; + Float32 frame[kChannelCount]; + assert(io(kAudioServerPlugInIOOperationReadInput, (double)time, 1, frame) == noErr); + // Under contention a frame may be silenced, but never contain a mix + // of old/new channels or samples from another lap of the ring. + assert(frame[0] == 0 || frame[0] == (Float32)time); + for (unsigned c = 1; c < kChannelCount; ++c) assert(frame[c] == frame[0]); + } while (!atomic_load(&writer_finished)); + assert(pthread_join(writer, NULL) == 0); + puts("200,000 concurrent loopback writes passed"); +} + +static void test_clock_and_controls(void) { + Float64 sampleTime; + UInt64 hostTime, seed; + UInt64 anchor = mach_absolute_time() - (UInt64)(gDevice_HostTicksPerFrame * kSampleRate * 5); + atomic_store(&gDevice_AnchorHostTime, anchor); + assert(MacStereoFix_GetZeroTimeStamp(gAudioServerPlugInDriverRef, kObjectID_Device, 0, + &sampleTime, &hostTime, &seed) == noErr); + assert(sampleTime >= kSampleRate * 4.9 && hostTime >= anchor); + assert(MacStereoFix_StopIO(gAudioServerPlugInDriverRef, kObjectID_Device, 0) == noErr); + assert(MacStereoFix_StartIO(gAudioServerPlugInDriverRef, kObjectID_Device, 0) == noErr); + UInt64 nextSeed; + assert(MacStereoFix_GetZeroTimeStamp(gAudioServerPlugInDriverRef, kObjectID_Device, 0, + &sampleTime, &hostTime, &nextSeed) == noErr && nextSeed != seed); + UInt32 value = 1, result = 0, size = 0; + assert(set_property(kObjectID_Mute_Output_Master, kAudioBooleanControlPropertyValue, + sizeof(value), &value) == noErr); + assert(read_property(kObjectID_Mute_Output_Master, kAudioBooleanControlPropertyValue, + sizeof(result), &size, &result) == noErr && result == 1); + value = 0; + assert(set_property(kObjectID_Stream_Input, kAudioStreamPropertyIsActive, sizeof(value), &value) == noErr); + Float32 frame[kChannelCount] = {1, 1, 1, 1, 1, 1, 1, 1}; + assert(io(kAudioServerPlugInIOOperationWriteMix, 100, 1, frame) == noErr); + assert(io(kAudioServerPlugInIOOperationReadInput, 100, 1, frame) == noErr); + for (unsigned c = 0; c < kChannelCount; ++c) assert(frame[c] == 0); + puts("Clock catch-up, restart seed, mute and inactive input passed"); +} + +int main(void) { + assert(MacStereoFix_Initialize(gAudioServerPlugInDriverRef, NULL) == noErr); + assert(MacStereoFix_StartIO(gAudioServerPlugInDriverRef, kObjectID_Device, 0) == noErr); + test_property_bounds(); + test_loopback(); + test_formats_and_volume(); + test_concurrent_io(); + test_clock_and_controls(); + assert(MacStereoFix_StopIO(gAudioServerPlugInDriverRef, kObjectID_Device, 0) == noErr); + return 0; +} diff --git a/Tests/installer_quote_tests.swift b/Tests/installer_quote_tests.swift new file mode 100644 index 0000000..f67dc25 --- /dev/null +++ b/Tests/installer_quote_tests.swift @@ -0,0 +1,30 @@ +import Foundation + +enum SystemAudio { static func macStereoFixDriverVersion() -> String? { nil } } +@main +struct QuoteTests { + static func main() throws { + for path in ["", "/Applications/MacStereoFix.app", "spaces and 'single' and \"double\" quotes", + "literal $(echo INJECTED); `echo BAD`; $HOME & | > < ! \\ backslash", + "new\nline\rreturn\ttab", "日本語 🎧"] { + let shell = "printf '%s' " + DriverManager.shellQuote(path) + let script = DriverManager.appleScript(shell: shell) + .replacingOccurrences(of: " with administrator privileges", with: "") + let process = Process() + let pipe = Pipe() + process.executableURL = URL(fileURLWithPath: "/usr/bin/osascript") + process.arguments = ["-e", script] + process.standardOutput = pipe + try process.run() + let data = pipe.fileHandleForReading.readDataToEndOfFile() + process.waitUntilExit() + assert(process.terminationStatus == 0) + // do shell script normalizes LF to CR by default; osascript prints + // the result plus a trailing LF. Compare that documented behavior. + let actual = String(data: data, encoding: .utf8)! + let expected = path.replacingOccurrences(of: "\n", with: "\r") + assert(actual == expected + "\n", "Quoting changed a literal path: \(actual.debugDescription)") + } + print("Shell + AppleScript quoting passed for spaces, quotes, metacharacters, newlines and Unicode (no administrator access)") + } +} diff --git a/Tests/installer_tests.py b/Tests/installer_tests.py new file mode 100644 index 0000000..75a5efb --- /dev/null +++ b/Tests/installer_tests.py @@ -0,0 +1,113 @@ +"""Exercise the real installer control flow in temporary directories, without sudo. + +Only root identity/ownership checks, system paths and process-control commands are +substituted. Copying, signature verification, link checks, modes and rollback use +macOS's actual tools. Nothing accesses the system HAL directory or coreaudiod. +""" +import os +from pathlib import Path +import shutil +import subprocess +import tempfile + +ROOT = Path(__file__).resolve().parents[1] +SCRIPT = (ROOT / "Scripts/install-driver.sh").read_text() +UNINSTALL = (ROOT / "Scripts/uninstall-driver.sh").read_text() +FIXTURE = ROOT / "build/MacStereoFix.driver" +assert FIXTURE.is_dir(), "Run ./build.sh first" + + +def run_case(name, setup=None, environment=None, succeed=False, strict=False): + with tempfile.TemporaryDirectory(prefix="msf-installer-") as temporary: + base = Path(temporary) + library = base / "Library" + hal = library / "Audio/Plug-Ins/HAL" + hal.mkdir(parents=True) + destination = hal / "MacStereoFix.driver" + destination.mkdir() + (destination / "old-marker").write_text("previous driver") + source = base / "App with 'quotes' $() `literal` and spaces.driver" + shutil.copytree(FIXTURE, source) + # Keep the rejection test meaningful even when release.sh built with a + # real Developer ID. Only this disposable fixture is re-signed. + subprocess.run(["/usr/bin/codesign", "--force", "--sign", "-", "--timestamp=none", str(source)], + check=True, capture_output=True) + tools = base / "tools" + tools.mkdir() + wrappers = { + "/usr/sbin/chown": "exit 0", + "/usr/bin/pgrep": 'exit "${MSF_TEST_PGREP_EXIT:-1}"', + "/usr/bin/killall": 'exit "${MSF_TEST_KILL_EXIT:-0}"', + "/bin/mv": '''if [[ ${MSF_TEST_MOVE_FAIL:-0} == 1 && "$1" == */driver ]]; then exit 73; fi +exec /bin/mv "$@"''', + "/usr/bin/ditto": '''if [[ ${MSF_TEST_COPY_FAIL:-0} == 1 ]]; then exit 73; fi +/usr/bin/ditto "$@" +result=$? +if [[ $result == 0 && ${MSF_TEST_MUTATE_SOURCE:-0} == 1 ]]; then + /bin/chmod u+w "${@: -2:1}/Contents/MacOS/MacStereoFix" + /usr/bin/printf 'tampered after copy' > "${@: -2:1}/Contents/MacOS/MacStereoFix" +fi +exit "$result"''', + } + for index, (command, body) in enumerate(wrappers.items()): + wrapper = tools / str(index) + wrapper.write_text("#!/bin/bash\n" + body + "\n") + wrapper.chmod(0o755) + wrappers[command] = str(wrapper) + def sandboxed(text): + text = text.replace("/Library", str(library)) + text = text.replace("$EUID -eq 0", f"$EUID -eq {os.geteuid()}") + text = text.replace('$(/usr/bin/stat -f %u "$directory") == 0', + f'$(/usr/bin/stat -f %u "$directory") == {os.geteuid()}') + for command, replacement in wrappers.items(): + text = text.replace(command, replacement) + return text + script = base / "install.sh" + script.write_text(sandboxed(SCRIPT)) + if setup: + setup(base, source, destination, hal) + requirement = ('identifier "com.macstereofix.driver" and anchor apple generic and ' + 'certificate leaf[subject.OU] = "MD83L42DNL"') if strict else '--allow-adhoc' + result = subprocess.run(["/bin/bash", str(script), str(source), requirement], + capture_output=True, text=True, env={**os.environ, **(environment or {})}, timeout=20) + assert (result.returncode == 0) == succeed, (name, result.returncode, result.stderr) + if succeed: + assert not (destination / "old-marker").exists() + subprocess.run(["/usr/bin/codesign", "--verify", "--strict", str(destination)], check=True) + for item in destination.rglob("*"): + assert not item.is_symlink() and item.stat().st_mode & 0o022 == 0 + removal = base / "uninstall.sh" + removal.write_text(sandboxed(UNINSTALL)) + subprocess.run(["/bin/bash", str(removal)], check=True, timeout=10) + assert not destination.exists() + elif name == "restart failure is reported": + assert (destination / "Contents/MacOS/MacStereoFix").exists() + elif name != "destination link is refused": + assert (destination / "old-marker").read_text() == "previous driver" + assert not list((library / "Audio").glob(".MacStereoFix.*")), "Staging directory leaked" + print(f"Installer: {name} passed") + + +run_case("successful staged install and uninstall", succeed=True) +run_case("copy failure preserves existing driver", environment={"MSF_TEST_COPY_FAIL": "1"}) +run_case("replacement failure rolls back", environment={"MSF_TEST_MOVE_FAIL": "1"}) +run_case("source changes after copy cannot change installed payload", + environment={"MSF_TEST_MUTATE_SOURCE": "1"}, succeed=True) +run_case("invalid signature preserves existing driver", + setup=lambda b, s, d, h: (s / "Contents/MacOS/MacStereoFix").write_bytes(b"tampered")) +run_case("unsigned developer build rejected by distribution requirement", strict=True) +run_case("nested symlinks are refused", + setup=lambda b, s, d, h: (s / "Contents/Resources/link").symlink_to("/etc/passwd")) +run_case("writable HAL directory is refused", setup=lambda b, s, d, h: h.chmod(0o777)) +run_case("directory ACLs are refused", setup=lambda b, s, d, h: subprocess.run( + ["/bin/chmod", "+a", "everyone allow add_file", str(h)], check=True)) +run_case("restart failure is reported", environment={"MSF_TEST_PGREP_EXIT": "0", "MSF_TEST_KILL_EXIT": "1"}) + + +def destination_link(base, source, destination, hal): + shutil.rmtree(destination) + victim = base / "untouched" + victim.mkdir() + (victim / "keep").write_text("keep") + destination.symlink_to(victim) +run_case("destination link is refused", setup=destination_link) diff --git a/Tests/recovery_harness.swift b/Tests/recovery_harness.swift new file mode 100644 index 0000000..d1b08fe --- /dev/null +++ b/Tests/recovery_harness.swift @@ -0,0 +1,12 @@ +import Foundation +@main +struct RecoveryHarness { + static func main() throws { + let recovery = AudioRecovery() + try recovery.arm(preferredUID: "test-headphones") + FileHandle.standardOutput.write(Data("ready\n".utf8)) + let command = readLine() + if command == "disarm" { recovery.disarm() } + // Otherwise closing the owner (or SIGKILL from the test) triggers recovery. + } +} diff --git a/Tests/recovery_system_audio.swift b/Tests/recovery_system_audio.swift new file mode 100644 index 0000000..f82541d --- /dev/null +++ b/Tests/recovery_system_audio.swift @@ -0,0 +1,9 @@ +import Foundation +// The recovery binary uses this double in tests; no CoreAudio calls are linked. +enum SystemAudio { + static func restoreOutput(preferredUID: String?) -> Bool { + guard let path = ProcessInfo.processInfo.environment["MSF_RECOVERY_TEST_LOG"] else { fatalError("Missing test log") } + try! Data((preferredUID ?? "nil").utf8).write(to: URL(fileURLWithPath: path), options: .atomic) + return true + } +} diff --git a/Tests/recovery_tests.py b/Tests/recovery_tests.py new file mode 100644 index 0000000..ef9e3e3 --- /dev/null +++ b/Tests/recovery_tests.py @@ -0,0 +1,31 @@ +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import time + +harness = Path(sys.argv[1]).resolve() +with tempfile.TemporaryDirectory(prefix="msf-recovery-") as temporary: + for action in ["disarm", "close", "kill"]: + log = Path(temporary) / action + process = subprocess.Popen([str(harness)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, + env={**os.environ, "MSF_RECOVERY_TEST_LOG": str(log)}) + assert process.stdout.readline() == b"ready\n" + if action == "kill": + process.kill() + process.stdin.close() + else: + if action == "disarm": + process.stdin.write(b"disarm\n") + process.stdin.flush() + process.stdin.close() + process.wait(timeout=5) + for _ in range(100): + if log.exists(): + break + time.sleep(0.02) + assert log.exists() == (action != "disarm"), action + if log.exists(): + assert log.read_text() == "test-headphones" + print(f"Recovery helper: {action} passed (no audio settings changed)") diff --git a/Tests/release_tests.py b/Tests/release_tests.py new file mode 100644 index 0000000..a56a7e0 --- /dev/null +++ b/Tests/release_tests.py @@ -0,0 +1,28 @@ +import os +from pathlib import Path +import plistlib +import re +import subprocess + +root = Path(__file__).resolve().parents[1] +base = {k: v for k, v in os.environ.items() if k not in ["SIGN_IDENTITY", "NOTARY_PROFILE", "RELEASE_TESTED_COMMIT"]} +cases = [({}, "SIGN_IDENTITY"), ({"SIGN_IDENTITY": "-"}, "Ad-hoc"), + ({"SIGN_IDENTITY": "Developer ID Application: Example"}, "NOTARY_PROFILE"), + ({"SIGN_IDENTITY": "Developer ID Application: Example", "NOTARY_PROFILE": "example"}, "RELEASE_TESTED_COMMIT"), + ({"SIGN_IDENTITY": "Developer ID Application: Example", "NOTARY_PROFILE": "example", + "RELEASE_TESTED_COMMIT": "not-the-tested-commit"}, "exact commit")] +for variables, expected in cases: + result = subprocess.run(["/bin/bash", str(root / "release.sh")], cwd=root, + env={**base, **variables}, capture_output=True, text=True, timeout=10) + assert result.returncode != 0 and expected in result.stderr, result + +app = plistlib.loads((root / "App/Info.plist").read_bytes()) +driver = plistlib.loads((root / "Driver/Info.plist").read_bytes()) +for key in ["CFBundleShortVersionString", "CFBundleVersion"]: + assert app[key] == driver[key] +assert "virtual" in app["NSMicrophoneUsageDescription"] +runtime_version = re.search(r'#define kDriverVersion\s+"([^"]+)"', (root / "Driver/MacStereoFixDriver.c").read_text()).group(1) +assert runtime_version == driver["CFBundleVersion"] +entitlements = plistlib.loads((root / "App/MacStereoFix.entitlements").read_bytes()) +assert entitlements == {"com.apple.security.device.audio-input": True} +print("Release gates refuse missing signing, ad-hoc identity, missing notarization and untested source; metadata and entitlements passed") diff --git a/Tests/state_tests.swift b/Tests/state_tests.swift new file mode 100644 index 0000000..08bd237 --- /dev/null +++ b/Tests/state_tests.swift @@ -0,0 +1,256 @@ +import AppKit +import CoreAudio +import Foundation + +// Test doubles replace CoreAudio and installer side effects. AppState itself is +// the production file; no test changes the Mac's output or requests permission. +struct AudioOutputDevice: Identifiable, Hashable { + let id: AudioDeviceID + let uid: String + let name: String +} +enum SystemAudio { + static let speakers = AudioOutputDevice(id: 10, uid: "speakers", name: "Speakers") + static let headphones = AudioOutputDevice(id: 11, uid: "headphones", name: "Headphones") + static var devices = [speakers, headphones] + static var current: AudioDeviceID = 10 + static var rejectDefault = false + static var virtualWrites = 0 + static func allOutputDevices() -> [AudioOutputDevice] { devices } + static func macStereoFixDeviceID() -> AudioDeviceID? { 99 } + static func defaultOutputDevice() -> AudioDeviceID { current } + static func deviceUID(_ id: AudioDeviceID) -> String? { devices.first { $0.id == id }?.uid } + static func sampleRate(_ id: AudioDeviceID) -> Float64? { 48000 } + static func setDefaultOutputDevice(_ id: AudioDeviceID) -> Bool { + if rejectDefault { return false } + current = id + if id == 99 { virtualWrites += 1 } + return true + } + static func restoreOutput(preferredUID: String?) -> Bool { + if current != 99 { return true } + guard let target = devices.first(where: { $0.uid == preferredUID }) ?? devices.first else { return false } + return setDefaultOutputDevice(target.id) + } + static func outputControlID(for id: AudioDeviceID, class expectedClass: AudioClassID) -> AudioObjectID? { + expectedClass == kAudioMuteControlClassID ? 21 : 20 + } + static func setControlScalarValue(_ id: AudioObjectID, _ value: Float) {} + static func controlScalarValue(_ id: AudioObjectID) -> Float? { 0.5 } + static func setControlMuted(_ id: AudioObjectID, _ muted: Bool) {} + static func controlMuted(_ id: AudioObjectID) -> Bool? { true } + static func reset() { devices = [speakers, headphones]; current = 10; rejectDefault = false; virtualWrites = 0 } +} +final class AudioObservation { + static var handlers: [AudioObjectPropertySelector: @MainActor () -> Void] = [:] + init?(object: AudioObjectID = AudioObjectID(kAudioObjectSystemObject), + selector: AudioObjectPropertySelector, handler: @escaping @MainActor () -> Void) { + Self.handlers[selector] = handler + } +} +final class AudioRouter { + static var failStart = false + static var startCount = 0 + static var stopCount = 0 + static var volume: Float = 1 + var audioFailed = false + var outputSampleRate: Float64 = 48000 + var progress: (capture: UInt64, render: UInt64) { (1, 1) } + func start(outputDevice: AudioDeviceID) throws { + Self.startCount += 1 + if Self.failStart { throw NSError(domain: "Injected audio failure", code: 1) } + } + func stop() { Self.stopCount += 1 } + func setDialogueBoostDB(_ value: Float) {} + func setOutputVolume(_ value: Float) { Self.volume = value } + func updateClockDrift() {} +} +final class AudioRecovery { + static var failArm = false + var isRunning = false + func arm(preferredUID: String?) throws { + if Self.failArm { throw NSError(domain: "Injected recovery failure", code: 1) } + isRunning = true + } + func disarm() { isRunning = false } +} +enum DriverManager { + static var installed = true + static func isInstalled() -> Bool { installed } + static func installDriver() -> String? { "Injected installer failure" } + static func uninstallDriver() -> String? { "Injected removal failure" } +} + +@main +struct StateTests { + @MainActor static func main() async { + let suite = "com.macstereofix.tests.\(UUID().uuidString)" + let defaults = UserDefaults(suiteName: suite)! + defer { defaults.removePersistentDomain(forName: suite) } + func reset() { + defaults.removePersistentDomain(forName: suite) + SystemAudio.reset() + AudioRouter.failStart = false + AudioRouter.startCount = 0 + AudioRouter.stopCount = 0 + AudioRecovery.failArm = false + DriverManager.installed = true + } + reset() + do { + defaults.set("headphones", forKey: "selectedOutputUID") + let state = AppState(defaults: defaults, requestPermission: { true }) + assert(state.selectedOutputUID == "headphones") + assert(defaults.string(forKey: "selectedOutputUID") == "headphones") + } + reset() + do { + SystemAudio.current = 99 + defaults.set("headphones", forKey: "recoveryOutputUID") + defaults.set(true, forKey: "wasOn") + let state = AppState(defaults: defaults, requestPermission: { true }) + assert(!state.isOn && SystemAudio.current == 11 && AudioRouter.startCount == 0) + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { false }) + state.turnOn() + await settle(state) + assert(!state.isOn && state.lastError != nil && SystemAudio.current == 10 && AudioRouter.startCount == 0) + } + reset() + do { + AudioRecovery.failArm = true + let state = AppState(defaults: defaults, requestPermission: { true }) + state.turnOn() + await settle(state) + assert(!state.isOn && SystemAudio.virtualWrites == 0 && state.lastError != nil) + } + reset() + do { + AudioRouter.failStart = true + let state = AppState(defaults: defaults, requestPermission: { true }) + state.turnOn() + await settle(state) + assert(!state.isOn && SystemAudio.virtualWrites == 0 && AudioRouter.stopCount > 0) + } + reset() + do { + SystemAudio.rejectDefault = true + let state = AppState(defaults: defaults, requestPermission: { true }) + state.turnOn() + await settle(state) + assert(!state.isOn && SystemAudio.current == 10 && state.lastError != nil) + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { true }) + state.turnOn() + await settle(state) + assert(state.isOn && SystemAudio.current == 99) + state.outputVolume = 0.3 + state.isMuted = true + assert(AudioRouter.volume == 0) + state.isMuted = false + assert(AudioRouter.volume == 0.3) + state.turnOff() + assert(SystemAudio.current == 10 && !state.isOn) + // A second Off must not override a later manual output selection. + SystemAudio.current = 11 + state.turnOff() + assert(SystemAudio.current == 11) + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { true }) + state.turnOn() + await settle(state) + AudioRouter.failStart = true + state.selectOutput("headphones") + await settle(state) + assert(!state.isOn && SystemAudio.current != 99 && state.lastError != nil) + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { true }) + state.selectOutput("headphones") + state.turnOn() + await settle(state) + SystemAudio.devices = [SystemAudio.speakers] + state.refreshDevices() + assert(!state.isOn && SystemAudio.current == 10) + SystemAudio.devices = [] + state.refreshDevices() + assert(state.selectedOutputUID == nil) + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { true }) + state.turnOn() + await settle(state) + SystemAudio.current = 11 + AudioObservation.handlers[kAudioHardwarePropertyDefaultOutputDevice]?() + assert(!state.isOn && SystemAudio.current == 11) + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { + try? await Task.sleep(nanoseconds: 100_000_000) + return true + }) + state.turnOn() + state.turnOff() + try? await Task.sleep(nanoseconds: 200_000_000) + assert(!state.isOn && !state.isBusy && AudioRouter.startCount == 0) + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { true }) + state.turnOn() + await settle(state) + state.installDriver() + await settle(state) + assert(!state.isOn && SystemAudio.current == 10 && state.lastError == "Injected installer failure") + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { + try? await Task.sleep(nanoseconds: 100_000_000) + return true + }) + state.selectOutput("headphones") + state.turnOn() + SystemAudio.devices = [SystemAudio.speakers] + state.refreshDevices() + await settle(state) + assert(!state.isOn && AudioRouter.startCount == 0 && SystemAudio.virtualWrites == 0) + } + reset() + do { + let state = AppState(defaults: defaults, requestPermission: { true }) + state.turnOn() + await settle(state) + SystemAudio.devices = [] + state.refreshDevices() + assert(!state.isOn && state.selectedOutputUID == nil && state.lastError?.contains("System Settings") == true) + } + reset() + do { + SystemAudio.devices = [] + SystemAudio.current = 99 + let state = AppState(defaults: defaults, requestPermission: { true }) + state.uninstallDriver() + await settle(state) + assert(state.lastError == "Injected removal failure") // removal was attempted + } + print("15 routing scenarios passed: preferences, startup recovery, permissions, start failures, mute, Off, switching, disconnect, manual change, cancellation, reinstall, startup device loss and removal without an output") + } + + @MainActor static func settle(_ state: AppState) async { + for _ in 0..<200 { + if !state.isBusy { return } + try? await Task.sleep(nanoseconds: 5_000_000) + } + assertionFailure("State did not finish its operation") + } +} diff --git a/ThirdParty/Apple-NullAudio-LICENSE.txt b/ThirdParty/Apple-NullAudio-LICENSE.txt new file mode 100644 index 0000000..16d25ca --- /dev/null +++ b/ThirdParty/Apple-NullAudio-LICENSE.txt @@ -0,0 +1,8 @@ +Copyright © 2024 Apple Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/ThirdParty/README.md b/ThirdParty/README.md new file mode 100644 index 0000000..9a8c16f --- /dev/null +++ b/ThirdParty/README.md @@ -0,0 +1,13 @@ +# Apple NullAudio attribution + +`Driver/MacStereoFixDriver.c` is modeled on Apple's NullAudio sample. The current +Apple distribution of that same C sample includes the notice preserved in +`Apple-NullAudio-LICENSE.txt`. + +Source: [Creating an Audio Server Driver Plug-in](https://developer.apple.com/documentation/coreaudio/creating-an-audio-server-driver-plug-in) + +Archive retrieved September 9, 2026: +[Apple sample download](https://docs-assets.developer.apple.com/published/430ad6501f6f/CreatingAnAudioServerDriverPlugIn.zip) + +This notice covers Apple's sample code. It does not change the licensing of +the independently written portions of MacStereoFix. diff --git a/build.sh b/build.sh index b26e3c0..a17d420 100755 --- a/build.sh +++ b/build.sh @@ -24,7 +24,13 @@ APP_BUNDLE="$BUILD_DIR/MacStereoFix.app" MIN_MACOS="13.0" ARCHS=( "arm64" "x86_64" ) -SIGN_IDENTITY="${SIGN_IDENTITY:--}" # `-` means ad-hoc +SIGN_IDENTITY="${SIGN_IDENTITY:--}" # `-` means local development only +SIGN_FLAGS=( --force --sign "$SIGN_IDENTITY" --options runtime ) +if [[ "$SIGN_IDENTITY" == - ]]; then + SIGN_FLAGS+=( --timestamp=none ) +else + SIGN_FLAGS+=( --timestamp ) +fi echo "==> Cleaning $BUILD_DIR" rm -rf "$BUILD_DIR" @@ -40,6 +46,7 @@ mkdir -p "$DRIVER_BUNDLE/Contents/MacOS" mkdir -p "$DRIVER_BUNDLE/Contents/Resources" cp "$DRIVER_SRC_DIR/Info.plist" "$DRIVER_BUNDLE/Contents/Info.plist" +cp "$ROOT_DIR/ThirdParty/Apple-NullAudio-LICENSE.txt" "$DRIVER_BUNDLE/Contents/Resources/" ARCH_FLAGS=() for a in "${ARCHS[@]}"; do @@ -49,7 +56,7 @@ done clang \ -bundle \ -O2 \ - -Wall \ + -Wall -Wextra -Werror \ -Wno-unused-parameter \ -fvisibility=hidden \ "${ARCH_FLAGS[@]}" \ @@ -60,10 +67,7 @@ clang \ "$DRIVER_SRC_DIR/MacStereoFixDriver.c" # Sign the driver bundle. Drivers loaded by coreaudiod must be signed. -codesign --force --sign "$SIGN_IDENTITY" \ - --timestamp \ - --options runtime \ - "$DRIVER_BUNDLE" +codesign "${SIGN_FLAGS[@]}" "$DRIVER_BUNDLE" ##################################################################### # 2. Build the SwiftUI app (.app bundle) @@ -75,12 +79,26 @@ mkdir -p "$APP_BUNDLE/Contents/MacOS" mkdir -p "$APP_BUNDLE/Contents/Resources" cp "$APP_SRC_DIR/Info.plist" "$APP_BUNDLE/Contents/Info.plist" +cp "$APP_SRC_DIR/PrivacyInfo.xcprivacy" "$APP_BUNDLE/Contents/Resources/" +cp -R "$ROOT_DIR/ThirdParty" "$APP_BUNDLE/Contents/Resources/" # Bundle the freshly-built driver inside the app's Resources so the in-app # installer can copy it into /Library/Audio/Plug-Ins/HAL when the user clicks # "Install Driver". cp -R "$DRIVER_BUNDLE" "$APP_BUNDLE/Contents/Resources/MacStereoFix.driver" +# Embed the installer in the signed executable, never run a writable script +# from Resources with administrator privileges. +INSTALL_SCRIPT=$(/usr/bin/base64 < "$ROOT_DIR/Scripts/install-driver.sh" | /usr/bin/tr -d '\n') +UNINSTALL_SCRIPT=$(/usr/bin/base64 < "$ROOT_DIR/Scripts/uninstall-driver.sh" | /usr/bin/tr -d '\n') +cat > "$BUILD_DIR/InstallerScripts.swift" < Build complete:" echo " $DRIVER_BUNDLE" echo " $APP_BUNDLE" echo -echo "Next:" -echo " sudo ./install.sh # install the driver system-wide" -echo " cp -R build/MacStereoFix.app /Applications/" +echo "Next: ./check.sh" +if [[ "$SIGN_IDENTITY" == - ]]; then + echo "Local development only. Explicit local install: sudo ./install.sh --allow-adhoc" +else + echo "Signed test build. Hardware validation and Apple notarization are still required before distribution." +fi diff --git a/check.sh b/check.sh new file mode 100755 index 0000000..6c67ab0 --- /dev/null +++ b/check.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# All checks run without sudo, hardware capture, or changes to Mac audio settings. +set -euo pipefail +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$ROOT_DIR" +[[ -f build/InstallerScripts.swift && -d build/MacStereoFix.app ]] || { + echo 'Run ./build.sh before ./check.sh.' >&2; exit 1; +} +CHECK_DIR="$ROOT_DIR/.checks" +mkdir -p "$CHECK_DIR" +for script in build.sh release.sh install.sh uninstall.sh check.sh Scripts/*.sh; do /bin/bash -n "$script"; done +for plist in App/Info.plist App/MacStereoFix.entitlements App/PrivacyInfo.xcprivacy Driver/Info.plist; do + /usr/bin/plutil -lint "$plist" +done +xcrun clang --analyze -Xanalyzer -analyzer-output=text -Wno-unused-parameter Driver/MacStereoFixDriver.c +xcrun clang -g -O1 -Wall -Wextra -Werror -Wno-unused-parameter \ + -fsanitize=address,undefined -fno-omit-frame-pointer \ + -framework CoreAudio -framework CoreFoundation Tests/driver_tests.c -o "$CHECK_DIR/driver-tests" +"$CHECK_DIR/driver-tests" +xcrun swiftc -g -sanitize=address -D MSF_TESTING -import-objc-header App/MSFAtomic.h \ + -framework CoreAudio -framework AudioToolbox App/RingBuffer.swift App/StereoMix.swift \ + App/AudioRouter.swift App/SystemAudio.swift Tests/audio_tests.swift -o "$CHECK_DIR/audio-tests" +"$CHECK_DIR/audio-tests" +xcrun swiftc -g -framework AppKit -framework AVFoundation -framework CoreAudio \ + App/AppState.swift Tests/state_tests.swift -o "$CHECK_DIR/state-tests" +"$CHECK_DIR/state-tests" +xcrun swiftc -g App/DriverManager.swift build/InstallerScripts.swift Tests/installer_quote_tests.swift \ + -o "$CHECK_DIR/quote-tests" +"$CHECK_DIR/quote-tests" +python3 Tests/installer_tests.py +HELPER_DIR="$CHECK_DIR/RecoveryTests.app/Contents/MacOS" +mkdir -p "$HELPER_DIR" +xcrun swiftc Recovery/main.swift Tests/recovery_system_audio.swift -o "$HELPER_DIR/MacStereoFixRecovery" +xcrun swiftc App/AudioRecovery.swift Tests/recovery_harness.swift -o "$HELPER_DIR/RecoveryTests" +python3 Tests/recovery_tests.py "$HELPER_DIR/RecoveryTests" +# ThreadSanitizer is separate from AddressSanitizer and instruments the C atomics. +xcrun clang -g -O1 -fsanitize=thread -framework CoreAudio -framework CoreFoundation \ + Tests/driver_tests.c -o "$CHECK_DIR/driver-tsan" +"$CHECK_DIR/driver-tsan" +xcrun swiftc -g -sanitize=thread -D MSF_TESTING -import-objc-header App/MSFAtomic.h \ + -framework CoreAudio -framework AudioToolbox App/RingBuffer.swift App/StereoMix.swift \ + App/AudioRouter.swift App/SystemAudio.swift Tests/audio_tests.swift -o "$CHECK_DIR/audio-tsan" +"$CHECK_DIR/audio-tsan" +python3 Tests/release_tests.py +/usr/bin/codesign --verify --deep --strict build/MacStereoFix.app +for binary in build/MacStereoFix.app/Contents/MacOS/MacStereoFix \ + build/MacStereoFix.app/Contents/MacOS/MacStereoFixRecovery \ + build/MacStereoFix.driver/Contents/MacOS/MacStereoFix; do + architectures=$(/usr/bin/lipo -archs "$binary") + [[ "$architectures" == 'x86_64 arm64' || "$architectures" == 'arm64 x86_64' ]] || { + echo "Missing universal architectures in $binary" >&2; exit 1; + } +done +echo 'All automated checks passed. Physical-device release checks are in docs/RELEASE_CHECKLIST.md.' diff --git a/docs/AUDIT.md b/docs/AUDIT.md new file mode 100644 index 0000000..c01f87b --- /dev/null +++ b/docs/AUDIT.md @@ -0,0 +1,117 @@ +# MacStereoFix safety and release audit + +Audit date: September 9, 2026. Baseline: `45624be` on `main` (v1.2 source). +Candidate: 1.3.0, build 4, on `codex/ship-readiness-audit`. + +**Decision: do not approve v1.2 for new distribution. The corrected candidate is +not yet approved for public release.** Its local automated checks pass, but actual +installation/audio-device validation and notarization of the new binary remain. +The published v1.2 ZIP has not been replaced. + +## Findings and repairs + +| Priority | Finding in the original source | Repair | +|---|---|---| +| High | Many driver property getters wrote scalars/strings without checking the caller's buffer length. A one-byte buffer reproduced a heap overflow under AddressSanitizer. | Central size validation, safe partial lists, initialized output lengths, strict format/CF-type/finite-value validation. | +| High | The driver reused circular-buffer slots without tracking the sample time, so missing writes could replay old audio. Shared float storage also lacked synchronization. | Absolute frame timestamps, lock-free atomic samples and sequence checks; stale, incomplete and inactive input returns silence. | +| High | Installation could mask failures with shell chaining, delete the existing driver before a successful copy, and copy a mutable bundle without verifying its identity. | Protected root-owned staging, post-copy signature/team verification, refusal of links/special files/unsafe parent permissions or ACLs, controlled permissions, replacement rollback, and real error propagation. The command is compiled into the signed app. | +| High | Failed output switching could destroy rendering while the UI stayed on and the default still pointed to the virtual device. | Stop and restore before switching; establish the new route only after both callbacks run; cancel if the intended device/default changes while starting. | +| High | Permission denial or delayed authorization could leave the app trying to route silent capture. | Explicit microphone authorization before routing; cancellation and device changes invalidate a pending start. | +| High | A crash could leave normal output stuck until the next launch. Restoration used transient device IDs and ignored failures. | Same-user recovery child triggered by pipe closure, including SIGKILL; persistent device UIDs; physical fallback; errors include manual Sound-settings recovery. No persistent daemon/login item. | +| High | The render code incorrectly assumed AUHAL would convert a 48 kHz client stream to every physical device rate. Independent device clocks could also exhaust/fill the buffer. | Apple's varispeed converter at the real output rate, supported planar formats, a small startup reserve and bounded clock correction. Hardware formats and buffer sizes are not changed. | +| High | The volume bridge wrote to physical devices, could use a stale baseline and did not implement a mute control. | Software attenuation/mute, virtual volume and mute controls, and no hardware volume/balance writes. The UI explains that Off restores normal device loudness. | +| Medium | Partial audio-unit initialization leaked buffers; destruction did not reliably stop all units. | Central cleanup on every start failure; stop/dispose units before releasing callback storage. | +| Medium | Driver IO configuration changed directly in a property setter without the host configuration-change protocol. Timestamp catch-up advanced only one period per call. | Fixed virtual configuration; elapsed-time timestamps and a new seed after restart. Negative preroll safely returns silence. | +| Medium | Disk installation status could say the new driver was ready while CoreAudio still had the old binary loaded. | Read and compare the loaded driver's build number as well as the bundled and installed versions. | +| Medium | Startup enumeration could overwrite a saved output preference; no-device handling retained a stale selection. | Read preferences first, clear vanished selections, stop on disconnection, and permit removal even with no physical output. | +| Medium | Release packaging defaulted to ad-hoc signing, removed extended attributes and called the ZIP ready without notarization. Recursive signing could also apply the app's entitlements to nested code. | Sign inside out, verify each component, gate packaging on tests/clean tested commit/Developer ID/Apple acceptance/stapling/Gatekeeper, then verify the extracted final ZIP and write a checksum. | +| Medium | The user instructions recommended bypassing macOS security and described controls/behavior the UI did not have. | Updated instructions and privacy statement, restored bounded dialogue boost, labeled controls, visible install interruption notices and bounded error display. | +| Maintenance | There was no test suite/CI or included Apple sample notice. | Repeatable native tests, Apple Silicon/Intel CI with a pinned checkout action and read-only token, and Apple's current NullAudio notice included in the source and bundles. | + +The heap-overflow reproduction calls the driver directly in an isolated test +process. It establishes a memory-safety defect; this audit did not demonstrate +remote exploitation or bypass of CoreAudio's client/host boundary. + +Apple documents AUHAL's sample-rate requirements in +[TN2091](https://developer.apple.com/library/archive/technotes/tn2091/_index.html). +The SDK's `AudioServerPlugIn.h` specifies host-coordinated IO configuration changes +and nonblocking real-time operations. The implementation was checked against the +installed SDK and Apple's [driver sample](https://developer.apple.com/documentation/coreaudio/creating-an-audio-server-driver-plug-in). + +## Verification completed locally + +- Universal arm64/x86_64 app, driver and recovery executable build successfully + with the project's Developer ID Application identity and hardened runtime. +- Strict recursive signature verification passes. Only the app has the + `com.apple.security.device.audio-input` entitlement. +- **3,479 property-size cases** pass, plus format, finite-volume, CF-type, mute, + inactive-input, timestamp, preroll, frame-limit, wrap and stale-audio checks. +- **200,000 concurrent driver writes** pass under AddressSanitizer, + UndefinedBehaviorSanitizer and ThreadSanitizer. +- **200,000 concurrent application ring-buffer frames** pass; overflow, underflow, + wrap, reset, skip and negative lengths are covered. +- Production downmix/channel mapping and Apple's converter run **offline at + 32, 44.1, 48, 96 and 192 kHz**. The drift-control model stays bounded for 30 + simulated minutes at clock errors up to ±500 ppm. This is not a hardware soak test. +- **15 routing scenarios** exercise saved preferences, startup recovery, + permission denial, helper/audio/default failures, volume/mute, Off, switching, + disconnects, manual defaults, cancellation, reinstall, startup device loss and + removal without an output. CoreAudio/installer effects are replaced with doubles. +- **11 installer scenarios** pass using the actual copy/signature/permission/ + rollback logic in temporary directories. Root identity, system paths and + process control are substituted. No real HAL installation is performed. +- Shell and AppleScript quoting pass for quotes, spaces, command metacharacters, + newlines and Unicode, without administrator access. +- The production recovery-owner code and child are tested for disarm, normal + owner closure and SIGKILL, with a fake output setter. +- Release-gate rejection tests, metadata/version/entitlement checks, shell/plist + validation and Clang static analysis pass. +- Light and dark menu views were rendered offscreen and inspected. Interactive + keyboard/VoiceOver testing is still required. +- Read-only live enumeration found this Mac's built-in stereo output at 48 kHz; + its current output UID was readable. No MacStereoFix driver was loaded. +- A search across the repository's existing history found no matches for the + tested common private-key, GitHub-token, AWS-key and OpenAI-key patterns. + No third-party runtime package dependencies were found. + +Run `./build.sh && ./check.sh` to reproduce the automated checks. They do not +install a driver, request capture permission, change sound settings, or restart +CoreAudio. The local CLT 27 toolchain emits an Intel compatibility-packs linker +warning while still building both slices; native Intel CI and OS-specific testing +are separate checks. + +## Existing download and GitHub settings + +The published v1.2 ZIP was inspected without launching it. Its app is universal, +signed by the project's Developer ID team `MD83L42DNL`, and its stapled +notarization ticket validates. Thus the distribution-script gap is about +reproducibility, not a claim that the existing download is unsigned. The ZIP's +published SHA-256 is `42d436c9df06e2af30a8477f33bb5de072e3c6a3ca120db004e0ffcfd02285c5`. + +Private vulnerability reporting was disabled and has been enabled. GitHub secret +scanning and push protection were already enabled. CI results and any subsequent +branch-protection changes are recorded in the handoff report. No main-branch +merge, public release, or driver installation was performed during the audit. + +## What still prevents release approval + +1. **Actual macOS installation and audio tests.** Test fresh install, v1.2 upgrade, + permission denial/grant, normal output, volume/mute, Force Quit, sleep/wake, + unplugging, switching, reinstall/removal, and at least an hour of real playback. + Only built-in speakers are currently available here; USB/Bluetooth and the + minimum advertised macOS versions need real coverage. Follow + [RELEASE_CHECKLIST.md](RELEASE_CHECKLIST.md). This step briefly interrupts all + Mac audio and requires the local administrator/permission prompts. +2. **Notarization of the corrected binary.** The signing certificate is available. + A usable saved notarization profile has not been identified. The old v1.2 + ticket does not cover the new build. Apple acceptance, stapling and Gatekeeper + checks must pass for the exact new artifact. +3. **Maintainer sign-off and publication.** Merge only the verified change; publish + a release with matching source/checksum after the physical checklist and final + artifact checks. Existing v1.2 users do not receive these changes automatically. + +The project still targets macOS 13; a successful cross-compile does not establish +that minimum-version support. Licensing remains the existing personal-use policy; +this audit did not silently relicense the independently written application. +Apple's notarization is an automated security/signing check and is not a guarantee +that software has no bugs. [Apple's explanation](https://developer.apple.com/documentation/security/notarizing-macos-software-before-distribution) diff --git a/docs/RELEASE_CHECKLIST.md b/docs/RELEASE_CHECKLIST.md new file mode 100644 index 0000000..0d39f4c --- /dev/null +++ b/docs/RELEASE_CHECKLIST.md @@ -0,0 +1,76 @@ +# Release checklist + +Status for 1.3.0: **not signed off for public release**. Passing automated checks +is necessary; it does not replace tests through the actual macOS audio system. +Record the tested commit SHA, app/driver build number, macOS version, Mac model, +output device and result for each hardware test. Re-test affected cases after a +code change. Never reuse a checklist from an older binary. + +## Automated gates + +- [ ] Both GitHub Actions jobs pass on the exact commit (Apple Silicon and Intel). +- [ ] A clean local `./build.sh && ./check.sh` passes. +- [ ] The new app, recovery executable and driver contain both architectures. +- [ ] Source, bundled driver, installed driver and loaded driver versions agree. + +## Fresh installation and privacy + +Use a spare/test Mac or a controlled session with calls and recordings finished. +Keep System Settings → Sound → Output available for immediate recovery. Begin +with the physical device at a low volume. The installer needs a local administrator. + +- [ ] Fresh signed build launches using normal Gatekeeper settings. +- [ ] Install succeeds; cancelling authorization leaves the old driver intact. +- [ ] New install and upgrade from v1.2 both load the current driver. +- [ ] Deny microphone access: routing stays off and normal sound continues. +- [ ] Grant access and start: the selected physical output receives stereo. +- [ ] Physical microphone/default input remains unchanged. +- [ ] No unknown network activity, audio files, login items or elevated helper persist. + +## Sound and recovery + +- [ ] Stereo left/right and 5.1/7.1 channel-identification clips route correctly. +- [ ] Center dialogue is present; LFE omission and high-boost clipping are understood. +- [ ] Volume keys, mute key, UI volume and mute work, including a fixed-volume output. +- [ ] Turning Off returns to the device's normal volume; channel balance is unchanged. +- [ ] Repeated On/Off, Quit, relaunch and a second app instance behave correctly. +- [ ] Keyboard and VoiceOver can operate the toggle, picker, sliders, mute and recovery instructions. +- [ ] Force Quit while on restores normal output without relaunching the app. +- [ ] Change output in Sound settings: routing stops and preserves the new selection. +- [ ] Switch outputs; unplug the active one; disconnect all available outputs. +- [ ] Reconnect, sleep/wake, logout/login, reboot, and a CoreAudio restart recover. +- [ ] Reinstall and uninstall while on first stop routing and restore output. +- [ ] Run a representative game for at least 60 minutes: no accumulating latency, + repeated dropouts, clicks, excessive CPU, or unexpected loudness changes. + +## Compatibility matrix + +Minimum advertised OS remains macOS 13. Do not claim a version/device tested +unless a physical test was actually performed. If coverage is unavailable, +restrict the advertised support rather than assuming it works. + +| Mac / OS | Built-in speakers | Wired / USB | Bluetooth stereo | 44.1 kHz | 48 kHz | 96/192 kHz | +|---|---|---|---|---|---|---| +| Apple Silicon / macOS 13 | Pending | Pending | Pending | Pending | Pending | Pending | +| Intel / macOS 13 | Pending | Pending | Pending | Pending | Pending | Pending | +| Apple Silicon / current public macOS | Pending | Pending | Pending | Pending | Pending | Pending | +| Intel / supported public macOS | Pending | Pending | Pending | Pending | Pending | Pending | + +Bluetooth mono call modes, virtual/aggregate destinations and per-app-selected +outputs are intentionally outside the supported routing path. + +## Final artifact + +- [ ] Record the hardware sign-off for the exact commit above. +- [ ] Run `release.sh` with Developer ID, the saved notarization profile and + `RELEASE_TESTED_COMMIT` equal to that full commit SHA. +- [ ] Apple reports Accepted; the ticket is stapled and Gatekeeper accepts the app. +- [ ] Download the final ZIP on a clean Mac and open it under normal security settings. +- [ ] Check the SHA-256 checksum against the published file. +- [ ] Publish accurate release notes and the matching source; no security-bypass instructions. + +The release script deliberately refuses to package an ad-hoc, unnotarized, dirty, +or unacknowledged source revision as a release. A signing certificate alone does +not meet these gates. Apple's notarization is an automated malicious-content and +signing check, not App Review or a guarantee of bug-free behavior. +[Apple's notarization documentation](https://developer.apple.com/documentation/security/notarizing-macos-software-before-distribution) diff --git a/install.sh b/install.sh index 3bf9bc2..c7b9c23 100755 --- a/install.sh +++ b/install.sh @@ -1,45 +1,14 @@ -#!/usr/bin/env bash -# -# install.sh — copy MacStereoFix.driver into the system HAL plug-in directory -# and restart coreaudiod so the device shows up immediately. -# -# This is the manual install path. The app's "Install Driver" button does the -# same thing through an authenticated AppleScript prompt. -# -# Usage: -# ./build.sh -# sudo ./install.sh - +#!/bin/bash +# Developer-only manual installation; prefer the signed app's Install Driver button. set -euo pipefail - -if [[ $EUID -ne 0 ]]; then - echo "install.sh must be run as root." - echo "Try: sudo $0" +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +requirement='identifier "com.macstereofix.driver" and anchor apple generic and certificate leaf[subject.OU] = "MD83L42DNL" and certificate leaf[field.1.2.840.113635.100.6.1.13] exists' +if [[ ${1:-} == --allow-adhoc ]]; then + requirement=--allow-adhoc +elif [[ $# -ne 0 ]]; then + echo 'Usage: sudo ./install.sh [--allow-adhoc]' >&2 exit 1 fi - -ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -SRC="$ROOT_DIR/build/MacStereoFix.driver" -DST_DIR="/Library/Audio/Plug-Ins/HAL" -DST="$DST_DIR/MacStereoFix.driver" - -if [[ ! -d "$SRC" ]]; then - echo "Driver bundle not found at $SRC" - echo "Run ./build.sh first." - exit 1 -fi - -echo "==> Installing MacStereoFix driver to $DST" -mkdir -p "$DST_DIR" -rm -rf "$DST" -cp -R "$SRC" "$DST" -chown -R root:wheel "$DST" - -echo "==> Restarting coreaudiod" -# launchctl kickstart is blocked by SIP for coreaudiod on modern macOS. -# killall is the supported way: launchd respawns coreaudiod automatically. -killall coreaudiod 2>/dev/null || true - -echo -echo "Done. Open System Settings > Sound > Output and you should see" -echo "'MacStereoFix' in the device list. Then launch MacStereoFix.app." +echo 'Installing the driver will briefly interrupt all Mac audio.' +/bin/bash "$ROOT_DIR/Scripts/install-driver.sh" "$ROOT_DIR/build/MacStereoFix.driver" "$requirement" +echo 'Driver installed. Open MacStereoFix to select your output.' diff --git a/release.sh b/release.sh index f5f1ff8..e20e078 100755 --- a/release.sh +++ b/release.sh @@ -1,44 +1,55 @@ -#!/usr/bin/env bash -# -# release.sh — produce a friend-distributable MacStereoFix.zip. -# -# Builds the app + driver, ad-hoc signs them, drops a plain-English -# instructions file next to the app, zips the whole thing. -# -# Output: ./build/MacStereoFix.zip -# -# Friends unzip, follow MacStereoFix-INSTRUCTIONS.txt, and they're done. - +#!/bin/bash +# Produce a distributable archive only after signing, tests, notarization and Gatekeeper pass. set -euo pipefail - -ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -BUILD_DIR="$ROOT_DIR/build" -RELEASE_DIR="$BUILD_DIR/release" -ZIP_OUT="$BUILD_DIR/MacStereoFix.zip" - -echo "==> Building app + driver" -"$ROOT_DIR/build.sh" - -echo "==> Staging release directory" -rm -rf "$RELEASE_DIR" "$ZIP_OUT" -mkdir -p "$RELEASE_DIR" -cp -R "$BUILD_DIR/MacStereoFix.app" "$RELEASE_DIR/MacStereoFix.app" -cp "$ROOT_DIR/FRIENDS_README.txt" "$RELEASE_DIR/MacStereoFix-INSTRUCTIONS.txt" - -# Strip any extended attributes (quarantine, etc.) from the staged copy so -# the zip is as clean as possible. Friends' Macs will re-quarantine on -# download anyway, but starting clean avoids weird leftover xattrs. -xattr -cr "$RELEASE_DIR/MacStereoFix.app" 2>/dev/null || true - -echo "==> Zipping into $ZIP_OUT" -( cd "$RELEASE_DIR" && zip -qry "$ZIP_OUT" . ) - -rm -rf "$RELEASE_DIR" - -echo -echo "Release ready:" -echo " $ZIP_OUT" -ls -lh "$ZIP_OUT" -echo -echo "AirDrop or send this file to a friend. They follow the instructions" -echo "inside MacStereoFix-INSTRUCTIONS.txt." +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +: "${SIGN_IDENTITY:?Set SIGN_IDENTITY to your Developer ID Application identity.}" +[[ "$SIGN_IDENTITY" != - ]] || { echo 'Ad-hoc builds cannot be released.' >&2; exit 1; } +: "${NOTARY_PROFILE:?Set NOTARY_PROFILE to the saved notarytool Keychain profile name.}" +: "${RELEASE_TESTED_COMMIT:?Complete docs/RELEASE_CHECKLIST.md and set RELEASE_TESTED_COMMIT to the tested commit SHA.}" +cd "$ROOT_DIR" +[[ "$RELEASE_TESTED_COMMIT" == "$(git rev-parse HEAD)" ]] || { echo 'The hardware checklist must cover this exact commit.' >&2; exit 1; } +[[ -z "$(git status --porcelain --untracked-files=normal)" ]] || { echo 'Commit the complete tested source before releasing.' >&2; exit 1; } + +./build.sh +./check.sh +APP="$ROOT_DIR/build/MacStereoFix.app" +VERSION=$(/usr/bin/plutil -extract CFBundleShortVersionString raw -o - "$APP/Contents/Info.plist") +TEAM_REQUIREMENT='anchor apple generic and certificate leaf[subject.OU] = "MD83L42DNL" and certificate leaf[field.1.2.840.113635.100.6.1.13] exists' +/usr/bin/codesign --verify --deep --strict -R "$TEAM_REQUIREMENT" "$APP" +/usr/bin/codesign --verify --strict -R "$TEAM_REQUIREMENT" "$APP/Contents/Resources/MacStereoFix.driver" +/usr/bin/codesign --verify --strict -R "$TEAM_REQUIREMENT" "$APP/Contents/MacOS/MacStereoFixRecovery" + +SUBMISSION="$ROOT_DIR/build/notary-submission.zip" +/usr/bin/ditto -c -k --keepParent "$APP" "$SUBMISSION" +xcrun notarytool submit "$SUBMISSION" --keychain-profile "$NOTARY_PROFILE" \ + --wait --timeout 30m --output-format json > "$ROOT_DIR/build/notary-result.json" +[[ $(/usr/bin/plutil -extract status raw -o - "$ROOT_DIR/build/notary-result.json") == Accepted ]] || { + echo 'Apple did not accept the build. See build/notary-result.json.' >&2; exit 1; +} +xcrun stapler staple "$APP" +xcrun stapler validate "$APP" +/usr/bin/codesign --verify --deep --strict "$APP" +/usr/sbin/spctl --assess --type execute --verbose=2 "$APP" + +STAGE="$ROOT_DIR/build/release" +mkdir -p "$STAGE" +/usr/bin/ditto "$APP" "$STAGE/MacStereoFix.app" +cp "$ROOT_DIR/FRIENDS_README.txt" "$STAGE/MacStereoFix-INSTRUCTIONS.txt" +cp -R "$ROOT_DIR/ThirdParty" "$STAGE/ThirdParty" +cp "$ROOT_DIR/PRIVACY.md" "$STAGE/PRIVACY.md" +{ + git rev-parse HEAD + xcrun swiftc --version + xcrun --show-sdk-version +} > "$STAGE/BUILD-INFO.txt" +ZIP="$ROOT_DIR/build/MacStereoFix-$VERSION.zip" +/usr/bin/ditto -c -k "$STAGE" "$ZIP" +# Validate the artifact users will actually extract, not only the build directory. +VERIFY="$ROOT_DIR/build/release-check" +/usr/bin/ditto -x -k "$ZIP" "$VERIFY" +xcrun stapler validate "$VERIFY/MacStereoFix.app" +/usr/bin/codesign --verify --deep --strict "$VERIFY/MacStereoFix.app" +/usr/sbin/spctl --assess --type execute --verbose=2 "$VERIFY/MacStereoFix.app" +(cd "$ROOT_DIR/build" && /usr/bin/shasum -a 256 "MacStereoFix-$VERSION.zip" > "MacStereoFix-$VERSION.zip.sha256") +echo "Verified release archive: $ZIP" +echo 'Publishing to GitHub is a separate step.' diff --git a/uninstall.sh b/uninstall.sh index 29ca471..5a89d88 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -1,30 +1,6 @@ -#!/usr/bin/env bash -# -# uninstall.sh — remove the MacStereoFix driver from /Library/Audio/Plug-Ins/HAL -# and restart coreaudiod. Does not touch /Applications/MacStereoFix.app. -# -# Usage: sudo ./uninstall.sh - +#!/bin/bash set -euo pipefail - -if [[ $EUID -ne 0 ]]; then - echo "uninstall.sh must be run as root." - echo "Try: sudo $0" - exit 1 -fi - -DST="/Library/Audio/Plug-Ins/HAL/MacStereoFix.driver" - -if [[ -d "$DST" ]]; then - echo "==> Removing $DST" - rm -rf "$DST" -else - echo "Driver not installed at $DST — nothing to remove." -fi - -echo "==> Restarting coreaudiod" -# launchctl kickstart is blocked by SIP for coreaudiod on modern macOS. -killall coreaudiod 2>/dev/null || true - -echo -echo "Done. You can also drag MacStereoFix.app out of /Applications if you want." +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +echo 'Quit MacStereoFix and select a physical output in Sound settings before removing the driver.' +/bin/bash "$ROOT_DIR/Scripts/uninstall-driver.sh" +echo 'Driver removed. You may move MacStereoFix.app to the Trash.' From fa3e6687f57cba42989876c55a760d4de2a90b5d Mon Sep 17 00:00:00 2001 From: Josh M Date: Wed, 9 Sep 2026 10:22:13 -0400 Subject: [PATCH 2/4] Polish menu controls, setup, recovery messages and app artwork --- App/AppIcon.icns | Bin 0 -> 555113 bytes App/Info.plist | 2 + App/MenuBarView.swift | 331 ++++++++++++++++++++++------------- README.md | 13 +- Scripts/make-icon.swift | 60 +++++++ build.sh | 1 + docs/AUDIT.md | 10 +- docs/images/stereo-dark.png | Bin 0 -> 96147 bytes docs/images/stereo-light.png | Bin 0 -> 94005 bytes 9 files changed, 289 insertions(+), 128 deletions(-) create mode 100644 App/AppIcon.icns create mode 100644 Scripts/make-icon.swift create mode 100644 docs/images/stereo-dark.png create mode 100644 docs/images/stereo-light.png diff --git a/App/AppIcon.icns b/App/AppIcon.icns new file mode 100644 index 0000000000000000000000000000000000000000..cba2f4a621a14069dd03ca4c41dee533b4f4db78 GIT binary patch literal 555113 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

BUm68CBg3v8#r*+`b5T$7KP{M(&MosO+fu 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 CFBundleExecutable MacStereoFix + CFBundleIconFile + AppIcon CFBundleIdentifier com.macstereofix.app CFBundleInfoDictionaryVersion diff --git a/App/MenuBarView.swift b/App/MenuBarView.swift index b8cc3be..eed04da 100644 --- a/App/MenuBarView.swift +++ b/App/MenuBarView.swift @@ -1,196 +1,279 @@ -// MenuBarView.swift -// -// The dropdown shown when the user clicks the menu bar icon. Big toggle, an -// output device picker, a dialogue boost slider, and driver install controls. - import SwiftUI struct MenuBarView: View { - @EnvironmentObject var state: AppState + @Environment(\.colorScheme) private var colorScheme + + private var accent: Color { + colorScheme == .dark ? .cyan : Color(red: 0, green: 0.38, blue: 0.43) + } + private var mutedColor: Color { + colorScheme == .dark ? .orange : Color(red: 0.6, green: 0.29, blue: 0) + } + private var errorColor: Color { + colorScheme == .dark ? .red : Color(red: 0.7, green: 0.12, blue: 0.12) + } - /// Shown in the footer. Pulled from Info.plist so bumping the version - /// there is enough — no source change needed. - private static let appVersion: String = + private static let appVersion = (Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String) ?? "?" - // MARK: - Body + private var isSilent: Bool { state.isMuted || state.outputVolume == 0 } + private var statusColor: Color { + state.isOn ? (isSilent ? mutedColor : accent) : .secondary + } + private var statusLabel: String { + if state.isBusy { return "Working…" } + return state.isOn ? (isSilent ? "Muted" : "On") : "Off" + } var body: some View { - VStack(alignment: .leading, spacing: 12) { - header - Divider() - if !state.driverInstalled { - driverNotInstalledSection - } else { - toggleSection - Divider() - outputPickerSection - volumeSection - dialogueSection - Divider() - advancedSection - } - if let error = state.lastError { - Divider() - ScrollView { - Text(error) - .font(.caption) - .foregroundStyle(.red) - .textSelection(.enabled) - .fixedSize(horizontal: false, vertical: true) - .frame(maxWidth: .infinity, alignment: .leading) + ScrollView { + VStack(alignment: .leading, spacing: 14) { + header + if state.driverInstalled { + routingSection + VStack(alignment: .leading, spacing: 14) { + outputSection + Divider() + volumeSection + Divider() + dialogueSection + } + .padding(14) + .background(.quaternary.opacity(0.45), in: RoundedRectangle(cornerRadius: 12)) + } else { + setupSection } - .frame(maxHeight: 110) - } - if let message = state.statusMessage { - Text(message).font(.caption).fixedSize(horizontal: false, vertical: true) + messages + driverSection + Divider() + footer } - if state.isBusy { ProgressView().controlSize(.small).accessibilityLabel("Working") } - Divider() - footer + .padding(18) } - .padding(14) - .frame(width: 320) + .frame(width: 360) + .frame(maxHeight: min(680, (NSScreen.main?.visibleFrame.height ?? 768) - 40)) + .tint(accent) } - // MARK: - Sections - private var header: some View { - HStack(spacing: 8) { - Image(systemName: state.isOn ? "hifispeaker.2.fill" : "hifispeaker.2") - .font(.title2) - .foregroundStyle(state.isOn ? .green : .secondary) - Text("MacStereoFix") - .font(.headline) - Spacer() - } - } - - private var driverNotInstalledSection: some View { - VStack(alignment: .leading, spacing: 8) { - Text("Driver installation required") - .font(.subheadline).bold() - Text("Install or update the audio driver. macOS will ask for an administrator password. All Mac audio will briefly stop while the driver loads; finish calls and recordings first.") - .font(.caption) - .foregroundStyle(.secondary) - .fixedSize(horizontal: false, vertical: true) - Button("Install Driver") { - state.installDriver() + HStack(spacing: 11) { + Image(systemName: "hifispeaker.2.fill") + .font(.system(size: 21, weight: .medium)) + .foregroundStyle(accent) + .frame(width: 42, height: 42) + .background(accent.opacity(0.1), in: RoundedRectangle(cornerRadius: 11)) + .accessibilityHidden(true) + VStack(alignment: .leading, spacing: 3) { + Text("MacStereoFix").font(.system(size: 17, weight: .semibold)) + Text("Surround sound, in stereo.") + .font(.caption).foregroundStyle(.secondary) } - .buttonStyle(.borderedProminent) - .disabled(state.isBusy) + Spacer(minLength: 0) } } - private var toggleSection: some View { - HStack { - Toggle(isOn: Binding( - get: { state.isOn }, - set: { _ in state.toggle() } - )) { - Text("Force Stereo") - .font(.subheadline).bold() + private var routingSection: some View { + VStack(alignment: .leading, spacing: 9) { + HStack { + Text("Force Stereo").font(.headline) + Spacer() + Text(statusLabel) + .font(.caption.weight(.semibold)) + .foregroundStyle(statusColor) + .padding(.horizontal, 8).padding(.vertical, 4) + .background(statusColor.opacity(0.1), in: Capsule()) + Toggle("Force Stereo", isOn: Binding( + get: { state.isOn }, set: { _ in state.toggle() } + )) + .labelsHidden() + .toggleStyle(.switch) + .disabled(state.isBusy || state.availableOutputs.isEmpty) + .help("Mix surround audio into your selected stereo output") } - .toggleStyle(.switch) - .disabled(state.isBusy || state.availableOutputs.isEmpty) + Text(state.isBusy ? (state.statusMessage ?? "Preparing audio. Check for a macOS permission prompt.") + : state.isOn + ? (state.isMuted ? "Audio is muted. Tap the speaker button to listen again." + : isSilent ? "Volume is at 0%. Raise it to hear your stereo mix." + : "Your stereo mix is playing through the output below.") + : "Turn on to hear surround channels through two speakers or headphones.") + .font(.caption).foregroundStyle(.secondary) + .fixedSize(horizontal: false, vertical: true) } + .padding(14) + .background(statusColor.opacity(state.isOn ? 0.08 : 0.04), in: RoundedRectangle(cornerRadius: 12)) } - private var outputPickerSection: some View { - VStack(alignment: .leading, spacing: 4) { - Text("Send stereo to") - .font(.caption) - .foregroundStyle(.secondary) - Picker("Send stereo to", selection: Binding( - get: { state.selectedOutputUID ?? "" }, - set: { newUID in - state.selectOutput(newUID) - } + private var outputSection: some View { + VStack(alignment: .leading, spacing: 7) { + Label("Stereo output", systemImage: "headphones") + .font(.subheadline.weight(.medium)) + Picker("Stereo output", selection: Binding( + get: { state.selectedOutputUID ?? "" }, set: { state.selectOutput($0) } )) { - ForEach(state.availableOutputs) { dev in - Text(dev.name).tag(dev.uid) + if state.selectedOutputUID == nil { Text("No output connected").tag("") } + ForEach(state.availableOutputs) { device in + Text(device.name).tag(device.uid) } } .labelsHidden() .pickerStyle(.menu) + .frame(maxWidth: .infinity, alignment: .leading) + .help(state.availableOutputs.first { $0.uid == state.selectedOutputUID }?.name ?? "Connect stereo speakers or headphones") .disabled(state.isBusy || state.availableOutputs.isEmpty) if state.availableOutputs.isEmpty { - Text("Connect stereo speakers or headphones. Virtual and aggregate outputs aren't supported.") - .font(.caption).fixedSize(horizontal: false, vertical: true) + Text("Connect stereo speakers or headphones, then refresh. Virtual and aggregate outputs aren't supported.") + .font(.caption).foregroundStyle(.secondary) + .fixedSize(horizontal: false, vertical: true) + Button("Refresh outputs") { state.refreshDevices() } + .controlSize(.small).disabled(state.isBusy) } } } private var volumeSection: some View { - VStack(alignment: .leading, spacing: 4) { + VStack(alignment: .leading, spacing: 7) { HStack { - Text("Volume") - .font(.caption) - .foregroundStyle(.secondary) + Text("Volume").font(.subheadline.weight(.medium)) Spacer() Text("\(Int((state.outputVolume * 100).rounded()))%") - .font(.caption.monospacedDigit()) - .foregroundStyle(.secondary) + .font(.caption.monospacedDigit()).foregroundStyle(.secondary) } - HStack(spacing: 6) { - Image(systemName: "speaker.fill") - .font(.caption2) - .foregroundStyle(.secondary) + HStack(spacing: 10) { + Toggle(isOn: $state.isMuted) { + Label("Mute routed audio", systemImage: state.isMuted ? "speaker.slash.fill" : "speaker.wave.2.fill") + } + .labelStyle(.iconOnly) + .toggleStyle(.button) + .controlSize(.small) + .help(state.isMuted ? "Unmute routed audio" : "Mute routed audio") Slider(value: $state.outputVolume, in: 0...1) { Text("Routing volume") } .labelsHidden() - Image(systemName: "speaker.wave.3.fill") - .font(.caption2) - .foregroundStyle(.secondary) + .accessibilityValue("\(Int((state.outputVolume * 100).rounded())) percent") } - Text("Controls routed audio. Turning Off returns to your device's normal volume.") + .disabled(state.isBusy) + Text("Applies while Force Stereo is on. Off returns to your device’s normal volume.") .font(.caption2).foregroundStyle(.secondary) .fixedSize(horizontal: false, vertical: true) - Toggle("Mute routed audio", isOn: $state.isMuted).font(.caption) } - .padding(.top, 8) } private var dialogueSection: some View { - VStack(alignment: .leading) { - Text("Dialogue boost: +\(state.dialogueBoostDB, specifier: "%.0f") dB") - .font(.caption) + VStack(alignment: .leading, spacing: 7) { + HStack { + Text("Dialogue boost").font(.subheadline.weight(.medium)) + Spacer() + Text("+\(Int(state.dialogueBoostDB)) dB") + .font(.caption.monospacedDigit()).foregroundStyle(.secondary) + } Slider(value: $state.dialogueBoostDB, in: 0...9, step: 1) { Text("Dialogue boost") } .labelsHidden() - Text("Start with a low listening volume. More boost can distort loud scenes.") + .accessibilityValue("\(Int(state.dialogueBoostDB)) decibels") + .disabled(state.isBusy) + Text("Raises the center channel in surround audio. Start at a low volume; high boost can distort loud scenes.") .font(.caption2).foregroundStyle(.secondary) .fixedSize(horizontal: false, vertical: true) } } - private var advancedSection: some View { - DisclosureGroup("Advanced") { - VStack(alignment: .leading, spacing: 6) { - Button("Reinstall Driver") { state.installDriver() } - Button("Uninstall Driver", role: .destructive) { state.uninstallDriver() } - Button("Refresh Devices") { state.refreshDevices() } + private var setupSection: some View { + VStack(alignment: .leading, spacing: 12) { + Text("Set up stereo audio").font(.title3.weight(.semibold)) + Text("Install the audio driver to bring dialogue and surround effects into your stereo mix.") + .font(.subheadline).foregroundStyle(.secondary) + Label { + Text("All Mac audio will briefly stop during installation. Finish calls and recordings first.") + } icon: { + Image(systemName: "speaker.wave.2.bubble") } - .padding(.top, 4) + .font(.caption) + .padding(10) + .frame(maxWidth: .infinity, alignment: .leading) + .background(.orange.opacity(0.08), in: RoundedRectangle(cornerRadius: 8)) + Button(action: state.installDriver) { + Text("Install Audio Driver…").frame(maxWidth: .infinity) + } + .buttonStyle(.borderedProminent) + .controlSize(.large) .disabled(state.isBusy) - Text("Installing or removing the driver briefly interrupts all Mac audio.") - .font(.caption2).fixedSize(horizontal: false, vertical: true) + Text("macOS asks for an administrator password. Microphone access is requested when you first turn on Force Stereo to read the virtual audio device.") + .font(.caption2).foregroundStyle(.secondary) + } + .fixedSize(horizontal: false, vertical: true) + } + + @ViewBuilder private var messages: some View { + if let error = state.lastError { + VStack(alignment: .leading, spacing: 8) { + Label("Needs attention", systemImage: "exclamationmark.circle.fill") + .font(.caption.weight(.semibold)).foregroundStyle(errorColor) + ScrollView { + Text(error) + .font(.caption) + .textSelection(.enabled) + .fixedSize(horizontal: false, vertical: true) + .frame(maxWidth: .infinity, alignment: .leading) + } + .frame(maxHeight: 100) + Button("Open System Settings…") { + NSWorkspace.shared.open(URL(fileURLWithPath: "/System/Applications/System Settings.app")) + } + .controlSize(.small) + } + .padding(12) + .background(.red.opacity(0.06), in: RoundedRectangle(cornerRadius: 10)) + } + if state.isBusy || state.statusMessage != nil { + HStack(alignment: .top, spacing: 8) { + if state.isBusy { + ProgressView().controlSize(.small).accessibilityLabel("Working") + } else { + Image(systemName: "info.circle").foregroundStyle(.secondary) + } + Text(state.statusMessage ?? "Preparing audio…") + .font(.caption).fixedSize(horizontal: false, vertical: true) + } + } + } + + private var driverSection: some View { + DisclosureGroup("Driver & help") { + VStack(alignment: .leading, spacing: 10) { + Label(state.driverInstalled ? "Audio driver ready" : "Current audio driver needed", + systemImage: state.driverInstalled ? "checkmark.circle" : "info.circle") + HStack { + Button("Reinstall…", action: state.installDriver) + Button("Uninstall…", role: .destructive, action: state.uninstallDriver) + } + .controlSize(.small).disabled(state.isBusy) + Text("Installing or removing the driver briefly interrupts all Mac audio.") + .foregroundStyle(.secondary) + Divider() + Text("Audio is processed on this Mac. No recordings or uploads. Microphone permission lets macOS capture the virtual device; your physical microphone is not selected.") + .foregroundStyle(.secondary) + } + .fixedSize(horizontal: false, vertical: true) + .padding(.top, 10) } .font(.caption) } private var footer: some View { HStack { - Text("v\(Self.appVersion)") - .font(.caption2) - .foregroundStyle(.secondary) + Text("v\(Self.appVersion)").foregroundStyle(.secondary) Spacer() + Button("Refresh", action: state.refreshDevices) + .help("Refresh audio outputs and driver status") + .keyboardShortcut("r", modifiers: .command) + .disabled(state.isBusy) Button("Quit") { if state.isOn { state.turnOff() } NSApplication.shared.terminate(nil) } - .buttonStyle(.plain) - .font(.caption) + .keyboardShortcut("q", modifiers: .command) .disabled(state.isBusy) } + .buttonStyle(.borderless) + .font(.caption) } } diff --git a/README.md b/README.md index 22349dc..2d1f7e7 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,15 @@ when a game sends surround audio but you listen through stereo speakers or headp contain the safety and recovery changes on this branch. A new release must pass [the release checklist](docs/RELEASE_CHECKLIST.md) before distribution. +## Interface preview + + + + +
MacStereoFix in light appearanceMacStereoFix in dark appearance
+ +Rendered from the candidate interface with a sample output; hardware testing is pending. + ## What it does The app installs a user-space CoreAudio HAL plug-in, not a kernel extension. @@ -41,7 +50,7 @@ cause audible distortion in loud scenes; begin at a low listening volume. 1. Download a signed and notarized release from this repository, unzip it, and move `MacStereoFix.app` to Applications. 2. Open it and use the speaker icon in the menu bar. -3. Finish calls and recordings, then click **Install Driver**. macOS asks for an +3. Finish calls and recordings, then click **Install Audio Driver…**. macOS asks for an administrator password. Installing, updating, or removing the driver briefly interrupts **all Mac audio** while CoreAudio restarts. 4. Select your speakers or headphones and turn **Force Stereo** on. @@ -70,7 +79,7 @@ only after the intended output is available. ## Remove it -Use **Advanced → Uninstall Driver**, then move the app from Applications to the +Use **Driver & help → Uninstall…**, then move the app from Applications to the Trash. The app stops routing first. Removal needs administrator authorization and briefly interrupts Mac audio. diff --git a/Scripts/make-icon.swift b/Scripts/make-icon.swift new file mode 100644 index 0000000..6e0068e --- /dev/null +++ b/Scripts/make-icon.swift @@ -0,0 +1,60 @@ +// Original vector artwork, rendered with AppKit; no fonts or external assets. +// Regenerate: swift Scripts/make-icon.swift +// Then: iconutil -c icns -o App/AppIcon.icns +import AppKit + +let destination = URL(fileURLWithPath: CommandLine.arguments[1], isDirectory: true) +try FileManager.default.createDirectory(at: destination, withIntermediateDirectories: true) +let artwork = NSImage(size: NSSize(width: 1024, height: 1024), flipped: false) { _ in + let background = NSBezierPath(roundedRect: NSRect(x: 92, y: 92, width: 840, height: 840), xRadius: 184, yRadius: 184) + NSGraphicsContext.saveGraphicsState() + let shadow = NSShadow() + shadow.shadowColor = NSColor.black.withAlphaComponent(0.22) + shadow.shadowBlurRadius = 20 + shadow.shadowOffset = NSSize(width: 0, height: -8) + shadow.set() + NSColor(calibratedRed: 0.04, green: 0.2, blue: 0.23, alpha: 1).setFill() + background.fill() + NSGraphicsContext.restoreGraphicsState() + NSGradient(starting: NSColor(calibratedRed: 0.04, green: 0.18, blue: 0.21, alpha: 1), + ending: NSColor(calibratedRed: 0.12, green: 0.46, blue: 0.48, alpha: 1))! + .draw(in: background, angle: 90) + + for x: CGFloat in [252, 552] { + let cabinet = NSBezierPath(roundedRect: NSRect(x: x, y: 282, width: 220, height: 460), xRadius: 34, yRadius: 34) + NSGraphicsContext.saveGraphicsState() + shadow.shadowOffset = NSSize(width: 0, height: -12) + shadow.set() + NSColor.white.setFill() + cabinet.fill() + NSGraphicsContext.restoreGraphicsState() + NSGradient(starting: NSColor(calibratedWhite: 0.81, alpha: 1), ending: .white)! + .draw(in: cabinet, angle: 90) + for (y, radius): (CGFloat, CGFloat) in [(626, 30), (434, 73)] { + let cone = NSBezierPath(ovalIn: NSRect(x: x + 110 - radius, y: y - radius, width: radius * 2, height: radius * 2)) + NSColor(calibratedRed: 0.08, green: 0.24, blue: 0.27, alpha: 1).setFill() + cone.fill() + NSColor(calibratedRed: 0.30, green: 0.70, blue: 0.71, alpha: 1).setStroke() + cone.lineWidth = 6 + cone.stroke() + NSColor(calibratedRed: 0.20, green: 0.46, blue: 0.49, alpha: 1).setFill() + NSBezierPath(ovalIn: NSRect(x: x + 110 - radius * 0.35, y: y - radius * 0.35, width: radius * 0.7, height: radius * 0.7)).fill() + } + } + return true +} +for size in [16, 32, 128, 256, 512] { + for scale in [1, 2] { + let pixels = size * scale + let bitmap = NSBitmapImageRep(bitmapDataPlanes: nil, pixelsWide: pixels, pixelsHigh: pixels, + bitsPerSample: 8, samplesPerPixel: 4, hasAlpha: true, isPlanar: false, + colorSpaceName: .deviceRGB, bytesPerRow: 0, bitsPerPixel: 0)! + NSGraphicsContext.saveGraphicsState() + NSGraphicsContext.current = NSGraphicsContext(bitmapImageRep: bitmap) + artwork.draw(in: NSRect(x: 0, y: 0, width: pixels, height: pixels)) + NSGraphicsContext.restoreGraphicsState() + let suffix = scale == 2 ? "@2x" : "" + try bitmap.representation(using: .png, properties: [:])! + .write(to: destination.appendingPathComponent("icon_\(size)x\(size)\(suffix).png")) + } +} diff --git a/build.sh b/build.sh index a17d420..97c2d1e 100755 --- a/build.sh +++ b/build.sh @@ -79,6 +79,7 @@ mkdir -p "$APP_BUNDLE/Contents/MacOS" mkdir -p "$APP_BUNDLE/Contents/Resources" cp "$APP_SRC_DIR/Info.plist" "$APP_BUNDLE/Contents/Info.plist" +cp "$APP_SRC_DIR/AppIcon.icns" "$APP_BUNDLE/Contents/Resources/" cp "$APP_SRC_DIR/PrivacyInfo.xcprivacy" "$APP_BUNDLE/Contents/Resources/" cp -R "$ROOT_DIR/ThirdParty" "$APP_BUNDLE/Contents/Resources/" diff --git a/docs/AUDIT.md b/docs/AUDIT.md index c01f87b..acd33e1 100644 --- a/docs/AUDIT.md +++ b/docs/AUDIT.md @@ -66,8 +66,14 @@ installed SDK and Apple's [driver sample](https://developer.apple.com/documentat owner closure and SIGKILL, with a fake output setter. - Release-gate rejection tests, metadata/version/entitlement checks, shell/plist validation and Clang static analysis pass. -- Light and dark menu views were rendered offscreen and inspected. Interactive - keyboard/VoiceOver testing is still required. +- Redesigned menu views were rendered offscreen in light and dark appearances + for setup, Off, On, muted, no output, permission denial, busy and long device-name + states, with test doubles for audio operations. The view uses native labeled + controls, explicit status text, readable accent colors, a bounded scroll area, + recovery links, and Command-R / Command-Q shortcuts. Original speaker artwork + supplies all Finder icon sizes; it uses AppKit drawing without external assets. + Interactive keyboard and + VoiceOver testing is still required. - Read-only live enumeration found this Mac's built-in stereo output at 48 kHz; its current output UID was readable. No MacStereoFix driver was loaded. - A search across the repository's existing history found no matches for the diff --git a/docs/images/stereo-dark.png b/docs/images/stereo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..f28b9cc7869bfad016f3adc5873b71a379f70802 GIT binary patch literal 96147 zcmeGDWmH^C^9Ks!gEM$=4Fq?$0TSGTyIXKVaJN8khu}^K?(XjH?rtHt-N{Lw|H)bF z{rG;m>$3LDZ1zldS65e6SN*E`i-Mdu3L-ut1Ox<%q{LfA2neWg2nZNjcsTGAn+S;o z2nb~552B(9lA@xd3LkAvKUkSSKuCOvR|BXk4dA3}P5O*O!Al^tNTSm~<^~YEiI=0t zKx73Z0hPNyGt$=MDATJ?yhHCn4So}X692B^rpGU&k`br)jcp7>W3%U(r){h4>En%% z*)xyB>9V^Sgu;OVQsBZjS_mFL{`WFbOr9c&tZ6?nqI}5|;F8C|zXB|yty zeIFo6!saI)oA^y-o>r#IFQFIy^|%m~7%2==08j(TkDnfLywmR|{O5(+caTUEM*HZf zsS}Yd6oVPEB7ug5f)rQOX+PUO9grK9V`(%L#DdpVDhYJl}d&Xk@%1!M_55Jj5qGbt)5CW zguh*2xA2?=?BdTNPj8Rp>1UGO0!VqTTL{y^E}$Fud!qfgRJR9OiY^ag0=iLuq-8HB zWxW#2{bI};)z@zoO;7yo3!X&f=GPw;%zenjmI|1mZ~B9!1Jof6Z3KnLpbSldVK+OHoWb8ctChX1cmqNMp-8|zlNR3Y;^$T=~wRo2}c3Ry?0m^HY2R5@Xr`c@doRe}ulJ z$VLXFDG1pyn-vP}A#(*KkJdAtBFtp5mIfX{X)Pl}bal6E^p8e8@jP#sd%KDFYhnQq zrSRTeWT{8=3+gOrF1V_{OYX~XAd94Pa-`9 zyMg+WE8vPz_!xV-=uQi*dQie~C_<@`4#TwBgwnIwEe(V4gKUDl8W~yj0Z|4+ zOX?$r2||}TpeLasc6cZtOLZWY!&yOSwL6s~9m4{I1n}IN-1`^0I0lB0H!4T1;f&EaqSTv%Xq)Sm2+YleI zcmlOSyit7p6uAVhp&r64$_O){tM?Am#3q?C>{#KV)Hw(H?9~uD!HlAFS@HYC)u;l2 zx+1ojY5R25XwXUI`GI%_wXdKryT~hy=}|BZ9Lh0@35&WdD#UJ6%M8-g(XR2RH`!Ao zmO5wf!}_)eJ@5qqdLg#$&Kr)mc#rtc@Mk@3nBQOo{7^d5+R0@|b20NVLlAZXXgkq6 zHEvfwp$h`Pyk*FSoxpB&mh6_P zJ|W|XEsbfE$mkC-7OkY${5e~64q<#?Qln6*>=J}KS2G(vn^xMSaZ_wFW*$C4oWqkNEk;773eF#6$ zVGF_QqVKXQS#Yh2+{M}bvKu;lG@_?&u2oKtNN+)Zs-?)#!cd^0s;OH?uE|ndSD?HSIo4O$;rs+ks`}UWCU-t+za2U9MND>WIR+oQdd&pX1mG|WOaE3aHx`4_@cp9!kLcm&UZnZUE7cm<_*oWA6wDoNZs&9m7j`=h^HXL*8 zL)DbES+Ya@CHWrCo-Jc3BYC1`qK%r;9M)WTY27RQus6MmVnqZUBXicJTCq!J&bT-H zH~y#IuJdljuE*CdEUSk6wvQ1P^8Dcf3+YSzd@cLBG`dRZnvFM$f{}ub)pK4549 zFP;oMDvBAyi2AH7+$uJARpqMSnB-i%x7RHMV>s&w}BPumRls zeYt`3j~?F#m9M8oX#(Q9<5p;%jwPI4H!;P>H?q_uZuMylx%OObl+ z{

NvTAf3B))JMyV)up_m`3G+X%lco~1q|-9@GRJ1 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 literal 0 HcmV?d00001 diff --git a/docs/images/stereo-light.png b/docs/images/stereo-light.png new file mode 100644 index 0000000000000000000000000000000000000000..c55cbecaa2642f265b2c4e853436064eb16be8cb GIT binary patch literal 94005 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 literal 0 HcmV?d00001 From cbaa1223c00ef59e74ca99d5e1daf020011368dc Mon Sep 17 00:00:00 2001 From: Josh M Date: Wed, 9 Sep 2026 12:35:30 -0400 Subject: [PATCH 3/4] Move optional dialogue boost to Advanced and default it off --- App/AppState.swift | 2 +- App/MenuBarView.swift | 18 ++++++++++-------- README.md | 5 +++-- Tests/state_tests.swift | 4 ++++ docs/AUDIT.md | 2 +- docs/images/stereo-dark.png | Bin 96147 -> 75871 bytes docs/images/stereo-light.png | Bin 94005 -> 73759 bytes 7 files changed, 19 insertions(+), 12 deletions(-) diff --git a/App/AppState.swift b/App/AppState.swift index 81605bc..3868ec9 100644 --- a/App/AppState.swift +++ b/App/AppState.swift @@ -15,7 +15,7 @@ final class AppState: ObservableObject { @Published var selectedOutputUID: String? { didSet { defaults.set(selectedOutputUID, forKey: "selectedOutputUID") } } - @Published var dialogueBoostDB: Float = 3 { + @Published var dialogueBoostDB: Float = 0 { didSet { router.setDialogueBoostDB(dialogueBoostDB) defaults.set(dialogueBoostDB, forKey: "dialogueBoostDB") diff --git a/App/MenuBarView.swift b/App/MenuBarView.swift index eed04da..cb2ac82 100644 --- a/App/MenuBarView.swift +++ b/App/MenuBarView.swift @@ -36,8 +36,6 @@ struct MenuBarView: View { outputSection Divider() volumeSection - Divider() - dialogueSection } .padding(14) .background(.quaternary.opacity(0.45), in: RoundedRectangle(cornerRadius: 12)) @@ -45,7 +43,7 @@ struct MenuBarView: View { setupSection } messages - driverSection + advancedSection Divider() footer } @@ -163,14 +161,14 @@ struct MenuBarView: View { HStack { Text("Dialogue boost").font(.subheadline.weight(.medium)) Spacer() - Text("+\(Int(state.dialogueBoostDB)) dB") + Text(state.dialogueBoostDB == 0 ? "Off" : "+\(Int(state.dialogueBoostDB)) dB") .font(.caption.monospacedDigit()).foregroundStyle(.secondary) } Slider(value: $state.dialogueBoostDB, in: 0...9, step: 1) { Text("Dialogue boost") } .labelsHidden() - .accessibilityValue("\(Int(state.dialogueBoostDB)) decibels") + .accessibilityValue(state.dialogueBoostDB == 0 ? "Off" : "\(Int(state.dialogueBoostDB)) decibels") .disabled(state.isBusy) - Text("Raises the center channel in surround audio. Start at a low volume; high boost can distort loud scenes.") + Text("Optional center-channel boost. Off keeps the standard stereo mix. High boost can distort loud scenes.") .font(.caption2).foregroundStyle(.secondary) .fixedSize(horizontal: false, vertical: true) } @@ -236,9 +234,13 @@ struct MenuBarView: View { } } - private var driverSection: some View { - DisclosureGroup("Driver & help") { + private var advancedSection: some View { + DisclosureGroup("Advanced") { VStack(alignment: .leading, spacing: 10) { + if state.driverInstalled { + dialogueSection + Divider() + } Label(state.driverInstalled ? "Audio driver ready" : "Current audio driver needed", systemImage: state.driverInstalled ? "checkmark.circle" : "info.circle") HStack { diff --git a/README.md b/README.md index 2d1f7e7..e40db14 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,6 @@ Apple's audio converter handles output sample-rate conversion and small clock differences. Virtual and aggregate destinations are excluded to avoid feedback. Bluetooth call modes with only one output channel are not supported. -- **Dialogue boost:** 0–9 dB above the base center coefficient; default +3 dB. - **Volume and mute:** attenuate routed audio without changing hardware volume or left/right balance. Turning Off returns to the device's normal volume. - **Off and Quit:** attempt to restore the previous output, with a connected @@ -39,6 +38,8 @@ Bluetooth call modes with only one output channel are not supported. if the app crashes or is force-quit. It exits afterward and has no login item. - **Sleep, device loss, routing errors, and manual output changes:** stop routing. The app starts off at each launch and does not automatically resume capture. +- **Optional dialogue boost:** under **Advanced**, 0–9 dB above the base center + coefficient. Off (0 dB) by default; an explicitly saved setting is retained. The mix is `L + Cgain*C + 0.707*Ls + 0.5*Lsr` and the corresponding right channels. `Cgain = 0.707 * 10^(boost/20)`. LFE is omitted. Invalid samples are silenced and @@ -79,7 +80,7 @@ only after the intended output is available. ## Remove it -Use **Driver & help → Uninstall…**, then move the app from Applications to the +Use **Advanced → Uninstall…**, then move the app from Applications to the Trash. The app stops routing first. Removal needs administrator authorization and briefly interrupts Mac audio. diff --git a/Tests/state_tests.swift b/Tests/state_tests.swift index 08bd237..abc4dd1 100644 --- a/Tests/state_tests.swift +++ b/Tests/state_tests.swift @@ -102,6 +102,10 @@ struct StateTests { let state = AppState(defaults: defaults, requestPermission: { true }) assert(state.selectedOutputUID == "headphones") assert(defaults.string(forKey: "selectedOutputUID") == "headphones") + assert(state.dialogueBoostDB == 0, "Dialogue boost must be opt-in") + state.dialogueBoostDB = 6 + let restored = AppState(defaults: defaults, requestPermission: { true }) + assert(restored.dialogueBoostDB == 6, "Keep an explicitly saved boost") } reset() do { diff --git a/docs/AUDIT.md b/docs/AUDIT.md index acd33e1..8756373 100644 --- a/docs/AUDIT.md +++ b/docs/AUDIT.md @@ -25,7 +25,7 @@ The published v1.2 ZIP has not been replaced. | Medium | Disk installation status could say the new driver was ready while CoreAudio still had the old binary loaded. | Read and compare the loaded driver's build number as well as the bundled and installed versions. | | Medium | Startup enumeration could overwrite a saved output preference; no-device handling retained a stale selection. | Read preferences first, clear vanished selections, stop on disconnection, and permit removal even with no physical output. | | Medium | Release packaging defaulted to ad-hoc signing, removed extended attributes and called the ZIP ready without notarization. Recursive signing could also apply the app's entitlements to nested code. | Sign inside out, verify each component, gate packaging on tests/clean tested commit/Developer ID/Apple acceptance/stapling/Gatekeeper, then verify the extracted final ZIP and write a checksum. | -| Medium | The user instructions recommended bypassing macOS security and described controls/behavior the UI did not have. | Updated instructions and privacy statement, restored bounded dialogue boost, labeled controls, visible install interruption notices and bounded error display. | +| Medium | The user instructions recommended bypassing macOS security and described controls/behavior the UI did not have. | Updated instructions and privacy statement, optional bounded dialogue boost under Advanced (off by default), labeled controls, visible install interruption notices and bounded error display. | | Maintenance | There was no test suite/CI or included Apple sample notice. | Repeatable native tests, Apple Silicon/Intel CI with a pinned checkout action and read-only token, and Apple's current NullAudio notice included in the source and bundles. | The heap-overflow reproduction calls the driver directly in an isolated test diff --git a/docs/images/stereo-dark.png b/docs/images/stereo-dark.png index f28b9cc7869bfad016f3adc5873b71a379f70802..2426aec712381b7dfd2005c41dc8eba3e2300a0c 100644 GIT binary patch literal 75871 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

G-rXT3+{?>Fe%RNGscX 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 literal 96147 zcmeGDWmH^C^9Ks!gEM$=4Fq?$0TSGTyIXKVaJN8khu}^K?(XjH?rtHt-N{Lw|H)bF z{rG;m>$3LDZ1zldS65e6SN*E`i-Mdu3L-ut1Ox<%q{LfA2neWg2nZNjcsTGAn+S;o z2nb~552B(9lA@xd3LkAvKUkSSKuCOvR|BXk4dA3}P5O*O!Al^tNTSm~<^~YEiI=0t zKx73Z0hPNyGt$=MDATJ?yhHCn4So}X692B^rpGU&k`br)jcp7>W3%U(r){h4>En%% z*)xyB>9V^Sgu;OVQsBZjS_mFL{`WFbOr9c&tZ6?nqI}5|;F8C|zXB|yty zeIFo6!saI)oA^y-o>r#IFQFIy^|%m~7%2==08j(TkDnfLywmR|{O5(+caTUEM*HZf zsS}Yd6oVPEB7ug5f)rQOX+PUO9grK9V`(%L#DdpVDhYJl}d&Xk@%1!M_55Jj5qGbt)5CW zguh*2xA2?=?BdTNPj8Rp>1UGO0!VqTTL{y^E}$Fud!qfgRJR9OiY^ag0=iLuq-8HB zWxW#2{bI};)z@zoO;7yo3!X&f=GPw;%zenjmI|1mZ~B9!1Jof6Z3KnLpbSldVK+OHoWb8ctChX1cmqNMp-8|zlNR3Y;^$T=~wRo2}c3Ry?0m^HY2R5@Xr`c@doRe}ulJ z$VLXFDG1pyn-vP}A#(*KkJdAtBFtp5mIfX{X)Pl}bal6E^p8e8@jP#sd%KDFYhnQq zrSRTeWT{8=3+gOrF1V_{OYX~XAd94Pa-`9 zyMg+WE8vPz_!xV-=uQi*dQie~C_<@`4#TwBgwnIwEe(V4gKUDl8W~yj0Z|4+ zOX?$r2||}TpeLasc6cZtOLZWY!&yOSwL6s~9m4{I1n}IN-1`^0I0lB0H!4T1;f&EaqSTv%Xq)Sm2+YleI zcmlOSyit7p6uAVhp&r64$_O){tM?Am#3q?C>{#KV)Hw(H?9~uD!HlAFS@HYC)u;l2 zx+1ojY5R25XwXUI`GI%_wXdKryT~hy=}|BZ9Lh0@35&WdD#UJ6%M8-g(XR2RH`!Ao zmO5wf!}_)eJ@5qqdLg#$&Kr)mc#rtc@Mk@3nBQOo{7^d5+R0@|b20NVLlAZXXgkq6 zHEvfwp$h`Pyk*FSoxpB&mh6_P zJ|W|XEsbfE$mkC-7OkY${5e~64q<#?Qln6*>=J}KS2G(vn^xMSaZ_wFW*$C4oWqkNEk;773eF#6$ zVGF_QqVKXQS#Yh2+{M}bvKu;lG@_?&u2oKtNN+)Zs-?)#!cd^0s;OH?uE|ndSD?HSIo4O$;rs+ks`}UWCU-t+za2U9MND>WIR+oQdd&pX1mG|WOaE3aHx`4_@cp9!kLcm&UZnZUE7cm<_*oWA6wDoNZs&9m7j`=h^HXL*8 zL)DbES+Ya@CHWrCo-Jc3BYC1`qK%r;9M)WTY27RQus6MmVnqZUBXicJTCq!J&bT-H zH~y#IuJdljuE*CdEUSk6wvQ1P^8Dcf3+YSzd@cLBG`dRZnvFM$f{}ub)pK4549 zFP;oMDvBAyi2AH7+$uJARpqMSnB-i%x7RHMV>s&w}BPumRls zeYt`3j~?F#m9M8oX#(Q9<5p;%jwPI4H!;P>H?q_uZuMylx%OObl+ z{

NvTAf3B))JMyV)up_m`3G+X%lco~1q|-9@GRJ1 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 diff --git a/docs/images/stereo-light.png b/docs/images/stereo-light.png index c55cbecaa2642f265b2c4e853436064eb16be8cb..08e1d1a174fbaebc62d41ff3865c2e3b83b476b8 100644 GIT binary patch literal 73759 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ⅆ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 literal 94005 zcmeFZWmp`|)-{Z~43Gr3Kp+Y3t`nR9!QI{6-QC?SxVyW%ySr=f0Pp0^eNJ-zem}qK znX89snx5*a>Ro&9wbpKeq$Grp5pWQ|z`&42guh6Gfk8}wfkAzSg8>~e4;Nkp14EKE z0s^H(fIuQCYYTlNQ#~*+;h;DLSVft^cj+oqo)Zvo!tkvkXrI7yeF>a}D$t_AvV0Q( zvOWIPpBvuEQYuagp!K2zehfyA6R5oF^$xD0epm9*A{wlz#qHe9qRry$=N*s13!BZ^ zii-i5)S(ul-(taMFg9<_Z{m?OZv4{pX+O{-y@;h?k~`8z(GZiqebWMq&$>O|?f&X1 zylhe@UFuQ)I-lLQ8^i`i^bL@2-J6ORhzjXhZ|$4S2^Q!V$&!>#9=lZvFbUN31Q5n= z*|M3(ZOO8=(Od_GT>3O%f>oiXP>I6wHWFU_aFt-6`8MgZz}K;hNEAQTPeD$efOsh# zNR<@<&@SXAxgk&c(QcH7Vp6qu*saKosYLvA-P>h)JMzka|JuBxE9T!<;VbtE_y&(8 zjbTK^Lf*XK4F$O8miJ7caNsPl{H~4Oi?nGfF?@K!Q;q~)CE*D6gg2{VD*iCePQK;h zOBSG;GwXeNM+Dmdjo3DeaQP6~F|zGK2x!gL0LYy^@%P#hn|Z z%O2T3U>Ze9P!NPIT(y;SRY}{AL|`I?5%O^$P|Q~mT-%(RhZsUzFA#dGWMP6Yqstqq zJ&>3%id2xDMka9B(VJ*}Gf}{c&gaFBZ7YjY(+t~HzK6&?F#!#eavXPVSZjDIz^3!j z31UyGEdH_wqsxD24UY1loQ- z$_>?!529RIL<0PE_STNomR!o;tEs=Vxx z90Me|xK1Iid~~w#v%ELoY-R}bGQ}C+gaOHO4i6Y>z|;b%f%92$2Lv@JTz=~O7MW=W z6g8-jiSP6Lu(j&2Ag{aMSL#wCV`$k_pqJnk_ZU|S-lvvpr75D`Vv}z%riL$f&Ekai zZ{xY*aKmZ@TXZ;V+TCOS#Cd@`?`_8@fa3B-?o8`=FHV$;k%tiszw7(C3$07(e$5t* z8xZt`DjRz8ZJUEgkN6hlmh=|c7WbBjHtZ#QWyF{Fhmoej>AAw_DX~JI$x6vjiJ4-` zqML*>27+~gRU~YYsp9V2kOUKLDOW}M<_@owF zj$n-N4j~=E3Ly#M`t97Ona`Wsgb!sv*P! zJZG9>Kwyr>GGj1ic{DcF!n07-Z5hA!3i5{UCLPtS6$ue3FU&G(Fv>CtJ5*x`#_p!< zHZ5Irs*c!uw->Y*GIBhsp=hX5L5VJ?hoX$!gT%T-sqh7J@aLs6aX{DQPz8L(a_dO9rp;;bGyGDLGmL97eVLP^^+5fTx=Jg1Ygo(TTHIQMo49KOw;cC)lKhDH z9>Jc82CPQZIof)J`TC7|(xLn3xM&HLn#rcZB&%zU8 zJYx)_bC54cCUR{`N1LPb6cQ)Jrbep9t+3E(ZY2k)#iWwIm26^L)V>NG#LPR87)-Zz zEgF)&odJIGjqQnD{q%eyZ2zH|CN8dtt~O!2UuoE>_hz$f&;FXzNv~z!DBVcUh-Qjw zTH(8cfuljJ!H*UH6gTk)(nt;@pXdBr~>H+lBL8gJUsAb|B zw0DRc`Hhk)45bQhJ{O^rYz=Ptb0Rk!TEr-dx<_#i-3^rwyfSiWJ!WAWGe9vc=_`+` z(qB9AX?9vvUnr$2QTYk_T_X~X>W{54!zRVB=j)XXuK3wB??I0)GihkK&;48v!3!P= zUZW9KooJBq*lh8WbccWZo~PKTDC=qx)t^lja@qT{_f)KpN~wLv1-^bqyAWvPWb`UM zHWkty{%p5e4mms(UrXbl)aC?j<)_&@8n;H_5LX!YHkM22ZCjB!lbhY((Va^M%v%KOIH|BZs$#v>nog?I~c^YQf;Q=zW#>vlT#;Sxepe0W1Vr_@4@aNBVO& za|SaG%%n`Vc*tx^QwNidJBh26X!-xmhx$Z`Fqj7paX+K4UOC^Q6L4(yf%Bu1udiZ-2^L`ykJIAYg?&|l} zv#R4=e+qL29F9JR)P^Isn;E88ll`*lGL0rQtDJ59pQFq5WUEIlqpi#^jFr?CwEipvgP%u2N4097&#$ z3fZ%s13Z%qoVOX`4i#h9KtPFaXI}*y;uU^)Jf;f5fx6aGl5iE$fu$a7p&b&;rl6c2 z-t*&UFe`H~d=~Qtl(b`A11TfouIkRY0gFPm!VSXUpRSKGDgrKl@O>t^qcp)vgTsfVUJ@ zvH=5o_u#~u_@6D)bC2uqvv?us0GXcQ;O`th{B;)5ujU~Cv<3Rc|22pHe{=W$-B1Pw8KItT zPh*OXa0<%`=cbe0n51Q@C5>mCpCw1Tjb9aHYPplWS&#@L-g8i|U7h>SslPxu8F53Foa>&ASP}$oJh{X{9)&Y_=Kv#FQASQ3QmV zOq5#G`I!G+1`M7wo>v*+!1!(Uw+mH^RrJc z58g)o_sX6caJgZg)YMclS3{!hme+Dz2-Y^=^{VsQiZCdEe^z^vC=r#n;iglbBZ?cM zH!{}b-~Itzvf~Z{hi)8cInb5F6HW1d|0vcm57ETDEa;>SuPb$U!S93px62{2f^wzG zB!*+qOik!f;}RMi5bu&gfqg?A{il!pP_7i2bixSSH4AW&DyA(BEbxrJ9d%~Qx&GL3#k2He>>OaN@x_3%YZr9UR;@l;Z9ZNdXWd3ps?g-y zm?$ZsOky@mwmn;6s|aWKeOr@6Iuan9@6xS56&DPMZ;2SoP5*Q?Qdf+;s2)w{QlW0S z=yKkFcs}=_*-y2RXua8#=T#+ezu&BKak%K74kAzg=&RCvXubaJ}IB zL_ravSdT^`I8a)@_8Ay}64pTDV2I@ZI*#b3FM4qlgP1*~4B3B4i-u7tRcwE+;jXqv* z*5Y)%vtlzoyCznDB$>u82ZN0B=7&<7YvXd6YQh%?P@haE79Vepg)Z^F_#*xqbz~!y zD<))E2`=1bCQ~RFmbYFJKV;j(9`0(T@kWQ&Hx^QYNqoCak)=zP_J=UnpO^h~8Kt6j ziO++Q?(a3hDot_g*hYI++2?K8oS@2DZU_-7!z^? zdvyMRuG`g%^w%kVRa(m^OcTQ0{t)A1#_vmKA{V=z@1hy{BI3^Qmp)u8_qtM7jEsu7 z;@K7ibG`n&_EuP%TnK(k0aZRfy%-s^8Kh>k?l%)R zt!9_1{-V3J&4*b+dS_E{mv{tMiDAnQL)lEnyEl^Uu{;`9QFyEs76WcFtyxWZ%GMw3 zARcEGG~zOzPYj|H5-`!Ad+eK*#b{b(%i;4=t%Ju#G#L(-YKub&dDJD?4@s#?98MO{ zSk3oFlB(RE?2VS|%rx;0(8V@trX>)2n8tru1|o!lOF6S~hZ zj7hF8_-(0`s=mZit9`yWd;b)G&%miaf;BigiY)hK!dX|2R}G-kVzn*!iHd4geOn@p z{SYO*AKxLh#$uiO0IPcAU4rW<)4Z>%Cl;q;g{t%6_pAE$=g~J=`EVY5&l!$e@U5l> z&a@odFZbI`>WYHPfETo(4eWkMgrj=*XXiBgQn3VT_7o^~!|ZMS0x7~=hZ=!6<`tC&9LtN0Y@Cr|O+ziDCs+D?dDspO-g9labdPh(KI*$4zLrRx3AAQBhk# zjGFxpNYvQD7;@MK)`%PDhgFC5*;AI?_ss}c8>L-tcdPk=(8wqPz(CleL&lZY154w8 z-JPACfe4SEI(+*7`gzaSUvoQua;^XI$VkI&`;(b2wu!ppM=CiuA&EKn^0O_wV?E(= zg7oy^;;t6$#mGmZJeFur!DJS=O-1A_ltpg)vlXRtDUQ^wNFYj7`|I=hRFPb<^Hb7W zKs?K;ZH(*9tb)FrW|LMo4AuLnXcX^%bD{aD3pt20MWwta0X+epi2SX>{RiJ&sHcI={xZ>9rq93rd1 z)J^2v+>?kQ>@hfmRc7-`N2Ab{;#VL>Q1q#u_tzVDx zXz=I~)sUuU>3sGrk>TWsxV-v#!46DJb{TS_cEMI(@pwMgp!axjJ)QM4;Cy?#y#6A; z{&W$E+YPxcfT>2BBNV}0{DbQbWKvM^bkj|CCY_gzzccMu^o!M}PMjOqB}8DLKuvr` z3P}#^kEred)cCSf6CFv8I`dDc>K<_`FV7*mKLd%4$kQk7%M}HOCr@C{bImrlQiy}~ zM-tH%T0st>UZbB7K24w-;Ilz0Zxr+LBu z$&c=W8Ex!Wiu7waj6<3|TZzDwp}DyXLJJWR`}N6uA8WUL7EEF_E~v2y%#W_(sL4%KrFI$Y$JfG-a&$*7)_gONcuGtGtt(-IFb!ypr%ATa5%?sjey>QB&cFP!fLz9zK) z{9yP5${Hx#o^EH4J7(Wa21fY9&M|W;{(Knsn9Ct}uaBdy=8LhQ1q0{D_YQD^IY^|6 zb{=Z~<8WFig1|`nowJiW?dw_dxp$F{b{pN&2duFq2BCoL4d;d1gPe$?i!7~f|Ha}M zW{)`~gF#%27Gh8!K}f}zhhB%})P1i{I6ui;^GSLjrj=*^ceW%A>~MfkE-cKAGR*Nk z?u{WUl2Bx;649Gq$WkA_J6=)>=Q;4~_~e3Z z6J*^9jR~@72Ky7m({BO=er6Y$IN)K{k)L{u26jW8v4Dxt+Ch`wCTrlAC&+x=GOw|a zfSe>Pki<~t{!;K95?HAd;WCn3a)A6(Mhx83cm7hK7mfWA-Z@ebADbgs2QOhCku!08 zls7UlWgl%KGUtuo=QW;KVz*@=Di>)M0agoVJHs5VowosI7NAcG)%H!V)Zv)cF0nib zyy40AyC?G@78zCY6_d&Z!j}tJdF%2_9KXzI_dxPPiF4v z0e>&aOCI&M=X1~XP*}>2#dvGpxa-Sgz;L2hEkC4Fu7xXH;e|YDjXWTFy-bm+-T7Xm z@n}b9*IOrC_~0S>+x?0*z32 zr{nmU80fF)(!-5tQA#!StxHZp?Ja5g*FwOiV@CxcH_?xa$PGNbaXg<-{`jaL(px!s zd|R(i!3ai7FHMi2Q8`G_NlJU zS=QsMx?x4iB{r*BSR-syB*?_}ABY(N{YLyBBaI-nXT#g=oIjhDmshtKCQy9-T;s{V zPu0T}z@RH?xzu2_omvbr4A*Jt%nFHntbf4_{%Mz}2Nd%>jz<7vw)$f_6)l#V{Hv2_ zi~QPejqIJw`2lOX2EqYseWm764U20YGT}*}l~vzxX_kK)N0RoilGEm^d_ z+zV+J6G}9x^D=}x_ZBxtvsVxM8Hg<%_q>4RMqB*md6ktaJ+W3h`$S-C7+p!nfxWOp zKneau4G9^poo@iMEPf>c3Q`u)Ck; zdPxlyGKBkYmd(J!PA~5Li>s@V$`dZ7pkeO08`NBEPreku{sw78ZohJolyHMV-up`y zL|KDQts)E!vBuMA8|WO&cXMIM3d-ulbq4I%H+1`oHDuODbk!COM)XQev)dqyg#>44 zDue~A?R&|Nuf%9d=XEb#uc%RPU3pfRpFUOIdzw`NJjFF`Ras)MXLQI4kI?7ZiXi`* zoXfL7sPq9~5t2H!;pL@l>a!uZ&xeN*u}J*+5-&n$!iYY0v-4xBlau@PZ5OvjE^+;8 zolp@*m-PyaXXSXvgJD-lYJZ|0XCm=iLhb%E|Lg5eU%}t0J~xyrd1g#dS$37^na9J| zM%^i>!@0^tF-+(hyfWFQ?YfnirVcUA_ON;Fhgo)d*l_pBQB00!)Z%g*fepUAqUlkN|M* zyc2&o!yYCMD%m2IeRq8}RapLN$%4X!eFqA}B>t|Tul0O(?`vVLhCtYmw}8y4iU75` z+Mv08()syj{-$+fPF+%BjQ=<6<|LmefMzs&|I~*+-bPuf!Wh%`8M1$MUNw(62U4qq zxym9cmHP}}G+pG!ZJU9hqFARD!+CQiRJDpDMJ(MYH(MC09xmIwPzS`q1rH-ZyF-#> zkaoldt`v!Q>CgEkXZxfuz%pu=(zP&t0rb4B((kwqK?x2NK+!WVzxhT}kM_VHHyL?T zz;gA4Lnl3IpIzO?1jC=KzgwJsWcZqdykQ!U=W~%LwfAoROkSd38>7}8gw$`?k&|sU zJJBo82Y&FA{KEzcqe6tK^QH{fROiYvpTj*LEuCN*vpe%@#G#)H8)a|dhiSEG)Kgn` zFXj)V$!J80Us9&r3NZ8*TlIM0NM8Ix6bAX|#*y%hZmYv04JL0DJj7&xHhr&^gaZ zeB4A+k$OEZM2JG9Kp{~TP8|>5H(#oxl$chQpdwmT>X1_*QNafQUakv!J`xU>$^RG_ zFo#2CIjN~@`fOyy%hsh3C5%_y>>4bnY0C?-aqJZKgKbsoZoG>3ms%st{NH553(3R* zv~7sKUlYlupD|+>2>FH`BOo743iNW$qi|lnq+0AOqH@O{YK$kex8FCJuBda|4@Ihn z)yGIR{7}7+N&yFEd!3(XyxI%I18$7bxf~gQg?bvGCE;{F&Kg zT1QjaWZI!E&k(;MkAGZ3Ja2p;`mWxxxBIXMu&TuUQ zc85p5EV(C?DG7^6*Y!Oo%ZbnVqt8Y2sj$ph7!lA|nND#=& zX5-8RA89R-!aFmmE~F?NPeibxT?(*z7=}6r#PjNbbvBsshImFbIcydB{I9+S6OPAYg^V2P2U)IP4$+wDu zkoF6NuO20{@yy3nkqL=fd3kxVz|y{cW=Hc=h5cJ*hKNKNIF0=Qua6j8^C&EI{hA0? z{)}#Qd|1SSOJ|Hhrymi$xuXmEDcnL8_eYYwR{Ac?IT*w<&GJTB$3p91y+UCj_XES= zSm=n!?OR7V9apXT@x81^9u@OJXhV24e8DrMo{K!f3$Cko~(B)-ViXiSgiOFGM-FqbX%7 z#}0hqa9M04e{SrESYKu7?CkHSQJ<>RPaU@_RfETV?kw0l3(zy z76LmBhXhm^1W_3w7^mniCb*wYs&8O8_*MaTcoDFe+6bF(#x4+Npw0O3%qZmcWrWVh3~dCF&N0A+c^B_fjlS;Kqgb&F9O~IByqp=(T$Sg`3GtIS5SG z+@DS}uh7bTH;>FXPHU!hcLt(vKR@SzK_vfsWtayVvLW&U(wUxVG-2;fgSMqE!i*LOGHQTZ~_^xsDGtH?OVaF-|^ zWM=@1Z(x$0J!KE~g>Kgqa^>^5$BPWDb#@Bh$@}n|wx=^2uJ&uJo`)`u2+LqgAE!+9 zfwVBU$U}%z+EgGiug#)ff{}zdDoq{%AjJ@abN`@bpOKtqzsknLW$_o!K;8O7di9;J zuCFo8l>^Xpdx_9-!)tFMvry%Ebq*T;jdrI~YNG`}bPH*<6IpH_I~XZ{AIq%Zu!&pPSW^w%2Z{1cvakE4<}pzN{Ay#2};^>-Bg#w%vVa(VguZ zodP1~UG0>Y&G(lsw#ZR8aoyKent08LI@XTMTFt60Q+&&Rp?wcy_cAm~f730g3nFn% z#xJT{+3jNcJs!3%I0PDNb<$uthgPSpS$eLs8Hm4738I@Gn7G)=0#S@&gUUe=kjr+! z-|2<`kyIC%4~Z!cD;Js{{>H~rz?I22T_#XKhI^|L4afVj)8+Jy<`_NTOpA3>F|}RT z&b!Cw>#x9^vpUcNo(JdD0YsEu+hp&x35%X|Pxtw~z^maHo3IS2%u7vJ4Gs~g(o5y6 z#;Mhs`CjOEKNu-Tl8?p-FO_w%Z(&D%I748Zf{ePQN}jQp-0~vo?Vz4SIYTc~&0Vyy zM?k9gs96RidpQf50Fu;eKP}lTJ%REx+hlP)l@oib^nb3FX@zcR3&GCA(lGcz&xN!7 zN^jQ%n(%*Qjy*I(Te^v6(P8hht&a3nfEnNKl;K~o(W?NCksZ8Mb9ae|7Vfa&r*Fo#xWjnknNB{@*odQf6=#RT0`^>Jmlhw1G3Y-MC6QMRD7MYuv)`D>`WMFGUuLL#DP=H-``Rb@M>DLH2v2i`!g+cX-ghz~-Okync`Y z+O@^E?Rjq2LNmWD*~-Y`3E9Uifum>};jkmU+>gZU{LJYWORyJ><=Enj)Y6g~KeOIm zjM*iP!~J(T{uWCk*M9j|^+M^n=l#*U@2(aCK4k=54DPOdgH!b;J7~x$1(T=|a*bJZ zfr$SjpSZy@ih_p?*J{q@^egeUg*3!4W8{hZv0KA|2v>}Q1tS=cSkFHZ7Q|Y zM?xh+b9J1ihbhbvy&AmLob!) z$G4d`s((w%7d&2?&m5cLTr71(FxxSF@Sqo<1{SKs&Kg5YjWh$rBduV`M>v-B(jniZ}D@> zRz!jZ(R8~y5ktEY5pLaiWbn{Xg#ujG+eu}+n>Od>cLfb5EW^Wv?QK;}OJ)jXf7|E< zn^)-DiH)@{b_*%A#sx2qZus`6)U%Z%_Kn*Cs8RXMZo1{sAOR73v0h<v13ma5aN&|;a*X>YmHpyR>Snr=dJJ>_{S*?CpvT64K7G)Y0k}(Tdjrs?C7o0Aakfl{| z-1;J($v5!+nmFDf_z6h-{kI>f$^p8omenVzrXacL;Bz_!Me$BAcJ&I%Hv8Y}ijio8 z13au@*S7Lb--AknN}a&Yu2`nYTT3Z=-kVoPP^Qjh~B%C(}* zrVB(I_9u}j`0T<7)M~j3DUPdff~0JVr5^4cSIvI~G@n{G&8k{{r$CJoA!(1ZxQ`ii;(3je!!2_83s?8|pY) z&6Nw$caG)vH8EYPl(EB7{d7M5An4Q^ozg^&-R2sY{z)cppiHg#i0){uwfUV7m8^lN zvLl2ehZk&At4lX34`EyEkF_IcA1;?$!*C+-^ujk28m^aqncM+*)`2_AZXc$e=qqo3 zC*Q%I=TJ2oWuoflriOJzHMZm8DTT!mA7fim@!}lV+vW!vwKx~uH+`IAWgQ3)HUwT^vf}cDy1bjTRX?BC+5cnMSv4}J+Qal}X zM$=^9!+IPv_s7!ct#^bG4r0~e(^G#r=oWH7is+A*pEqK@k1Gkzgto_f7w=i3l9LyX zy^s1S(!q1pLiTPNdn)sSiag$%U2gR%bCSqzM~hLz2kxx3x(o-Rk?g!YohO_w*B@Vm zXJ==Bk@wS!;q~NgcYlVsP9^?b3*z+!0HTM+q#>Hf(5S*HM}DrT9yJsHD(4$xullEw>al3y z<*$psGG$7YI&t|j)xu*4FCNPcUVIDF+fK&0$6wm&-e?N>c3;?Z|5yf(24D(;=I2JI z&yBMI66+DC!5E%Wm2S}O1c*FWMq%9mJ6vh3R*NgxYkxeV0I9iNrb{&<2(m+8Vy$}6 zgbuK54ZtVq6X|sPDb<=}$-X9&!gW@jra7!d*&WXff_Rb7AfBdD1TbE{HICSM{B??&)w0*D&N=K}*R>f?ZOhw7+9fSL_>b-b@> zm(1f_F-T#th(B+8l4#%kN6*rLe1m1Cw6}9m>}j*j;dQPK>hX^|$C-j}(t$|)zdfK= z1(fTj%?0nIB^w!By98o(UKbz9!Ei*w^ZL9DrKZ38MB( zBYHjZ&Kh_wxjZ+s-rVs}##dGFj0M@?dPQ&}IHvfbwhcR`=n^T zUSE`3I!#XE_$oFdeuCK94}jA;2b6udT6}G=8=nJikh~0?ZUCq1xTfxM%H#wRF>1+Y zIpKO#Gy+B8^chj;(bu36dq)VIIp zaz2ad_DlJ!F`oS_Me2LbFwU9dN4b?F$+`*UMzy)>aWzP;2hxnEYE2ZL-;r2GCVM&h zSM+s%CVozy6MSEAaQ!sJ8ML z9&(2U`>A9ek1u}K2NQf#%DrUWF+1P+7#+;k1)b7RV_#QnOU3b+Myj_kM$xl3ro?Dw zi6JkV_-433kji>q%>iCL2Pn*6;jATm3L{x8!t!XV(_7fCyT`v%(bNi|-l;4iNWaR}?1OWK` z;eA6oq~>~pFn0ZM&Ec+`4LBkz;B?3; zHHJ}(T(rHAN1&<@f`=ug{fQn0bkLBZdIYi`&uE(~x7VK8<{C@u$gx8Cq!PR-nm8u2Dx0%?v z0hSka{0)637j>JQS(G#Ofp4%{wj_WhhaedW+wsHM3c+v{gFF_h5{Pn94kQXoqPu=v zE#+1;fT~;MnR$bXZpfg1%JX9a$UY1?1`EC?j-6PD#9tXy!@Xp(D=$I0vKr2EJi^4c z(8sdwsw02=sf$i?Pkj>6?v?m<-Ka8N@3#MW3u(FolCI4Fj;BlIgDzv%?^=-tj6jXq zhJ^WzTDHZuV(C`q57Iy8IFumebqzjP05Dpt`(X83CePbn+s;~GB^j+Z`%I#G>X+?( z1$i~Qa`fA|S?p-jHYPq5XX&fwFYjhzq?iS22&hsXL0V)?Z-j-;O{n*cER#=(l#SOm)!T|HX`pioOzFs)1>-ZISxL5M6SYRwjz!G>5{3oL}f zGti&fa2T+{=%=tT4P9^HeDL-v)S=IhYFM_j;>Jrh@ebh76|;I`1%5rbI(bkWrhnon zry1%|L3d2QY}P7^aiji6w*`YgA^(*Q7HPfVQSOE#_0h`UcKadKYtecWe_OP~ zh}{jaK=NUEQ+T$qS<4~PNfI)GrjC1c)D=mFvQO(jzc%m*8Aw@B`DK2*r-J>sTDvzG zj6x>CQl`gz9pu=Y;p|9aE88!ta`5*yKgq)gvJy+yK1cf4_+Kge7Z=;8a3TSMeHPSc z#?DJ5DTga9g&N6rx*jgPVa06mR12+XQ_cem`wcSO$Usb3GbiYV=*uk_mFQ`Cv=Bo` zwv<*N6Y~ui`Y1YM5Qfnb`Dzot&0bEyescV0e7rjEH^jaxXIc{{C^hQiPD5W7m1-s$ z`s`ysIuY4!fM|?q$W$TQxrmFB4*N3QJ`6ZvFStgfFh;rHyYr_k2B^;ChMG~V{ z&JeG;>1>AEY-mBDMwho-1%qTQg#f0_W-zU=@Ly!9FA)uE8!8-fXB(g{P(ui(#gKBY zN~(_S4x~lqA47i&b3xz4b?m5>S=i*mG`i8eh~;RfnVgAw`c*c`ONM^&9TsO3wvi2K zJMhjQvRT)+GqZaVkOrk%q1g2PV1_akfn zRfIe(H^qcA-+p;@PM{ipk(O3_lMfa@*AM&%Rx9HAYa%VNVFiLry21^E9kWa<>ZP}> zOSeDr^mPGhON=5Y>5cjN_PqqLHQ*J=g8B<)OFY&pfWUAkhk(c3H8WHZyT)i*aDSw) zwwJ|${Pl}s_jF9;1T#B8(@wvr#e;0l~u>r#x z*v2Nn0{aAj)$+i*#L5ZE0O8%BiPF)UE`L?X5gKIRUS}O)nkW@ujD-b!*zxFN>bt{4 zg~L>L)RH1sfOFww-7JOiW&Sr^i08$)**;T~U`8!GlUo~3YZl|8th{_P+vHT88_-EK zhQSZ3PWj`apL~YURTbXR^Rge;BlS|mpI873N|kY6%=TIQL72lpJ)yrFY$a+Ha%+*Q z+qZf|5vzj(Ma!=qL4BV`s5M&)3@suO#x}nBua4?;PR` z8Y6(vqFb8^@oAeQgoVi54#*|tq4@p`T#fei7nt>8B;8N}M~(+f0H$gV;E8UrfANS( zykJ?Ra5A0CNc$BBNfX?4UcX5sF8F(T-|kG)EY6tE=$@cj_6i6F9C%#>FUKwx`tPTv zu>S`={iyg)H*jnW&>Y;*794qXUE{P_mT+x9qQK^K$rHKiDP4 zguS8VPHK0cVY>k{6W##2kz zDF0uh|DA#VpUx@UONo59NiC>86I6-+EyGPZCy&V(`_*`c9%=b9itH=Iu(SW`-)7W+ zZYZ6f5*sLuUKI4A*x;WXHj`VMN5LcXD8uDrEsAru1R3y zOI4)&%Qkr-;W{|d5>iN@ot%ag($?bVAevgLq=zVOi#m}0hm&Rpcsf!KjK_Gdtk@Qm zncz=L^OA7p)MWD)$rZr-4=wu)r&~M`uK)1BF3-MdoM8{)Y#|pH+j*SImbH9nKVH%H zUn3yhfCsmwH!W(JbYeS5p9Zf*la{&)S@da)V8Z?y0f4P!F@s4rji3EtIsv>1$)+tT)_3M(q7;MHsuo@!9EW*(Yh^FK<1D-X? z5{y4RCyn9#F3FTd18p03LFBg2<%Qwt37BIKb6%RB!%f zlflu!z;ukeO><=gdsf9{NMX1FJz4DSB@>Crt}^g320_kXS8P=II_e>0iUC|bRv zWa;r6?xO^6{v%9v8K%MS(!F0MPoxhKRU@8zN|!;~172rn&ynBC^#!d>@l^g!R$;^e zf_;|P(fv>71LHhX25eLUtbwHwH>sCr7QWSLsMXYK^tj7bpuyhunwnzzoc=d(3e!MH ztZLINUmM2REG|w7FQ+}F>`HCT$6^|DgtIJXFV3gZEXv5#>t?X5JbVP@c$>_Bt_8=} z@y=d|~%+sLXsLIr{*rw%`CS zEyFout#7ja%K&{pc*YvMefw6r)}dUs@L_03w6Lsfju5WWO*kRs)61tuv_-f3e_i9AQV&bY=i4h}`1oR~g?ipt|unKEJ$$R8daqQBS8 z66Dz1)0r~d+=fL8Lb~a{U`%jB_8k3pY2Byr8W|PFCM1X{DJ98%>P!`8*h1g89Mf4W znVx3vM9MOqcqLGPx+yy>tW9boj z1Yt%QWC-DysJ!WP%azSD)m4gs|JW<9KDwtuV{Y!3V286QvtY^eEJrb&ZRw0~HeOmj#;Xo?Mnse%3os?{+ zh;lQDiQGTu7m}z$%cP%RFvp~O)Z(v?T`$Hf3w!3HOqZ79YnxJMmMbtUf5XptOPH}l zi-2$d=K#$$fd*#9@Xs9Z_Mv(5mPuv7x)c}X78SAUoemEU#)J6oL4`G8IMen;^|$k& zr$_V)Wv6wM(HixGZEz<`0+Rd#<&PoM4O@}4)Q%_3^7ua_Q=l4a@p-)|VBKk1;T#+s zEew!sUj`ZS1i5+db(be$@&KUh#Q& zBR6+B*|H*)e2FyM5=P%@5P`J&v3UQ`{LKWKr8KV)SkJ$y5jGG^J6{|=HMlh>Y&i^8 z(OtcaQOuK1njWexe7PN*RWs`xmmQ0nBiJo7tep!Y0J6#`+6*6T`Z zOlPH?9&_S)F6Zc*wx!0m)OxGzp6nNE^g@bk>`E1sLFMi^H(x;icBSZyO1W+ZVkuC6 zpRtL-xgHbR7AhXpqyNs}5{4%jg8|&V_y+=IQ63&T$aIPyW`mYCQ-F@ zO-V-(znd#}%nXiZR@R1qQjX9|W`tiG zlpjsb>%l!`xopv(#oa_gQzJQDu1#=va~3N@@Dd>}mem4^C6q^&F4q~OA$ytfi?Z7q zmUAAIx)Eo8$|PBl`=6nq7sy_Ye)x>?wtQ-O^uoE_FL-xU&T49q-q+0ZTNX?q?ecc$ z_41m2t<-!a#=KR=kMn6EcDs|rU}IRsC#uWxGRR zm&9*|NPq6LfScRoQyUm3*KY&g!{A+j z;T%7t=9luQfjkw--Q*moi~6j-*K*4UxGTXa<3Rd6ejVur`Q5HqKIlu-Ox5JO8hCZP z)wQNN&;w+J)ML%Jo#1iwrnKu=VGvDp>UMQWzfqSF6cMBCNOiKlcPB&8EvYmw@wiQu z%&cECvtjXr;blqu)7@dpx2?q*!uL34GRP=_d#y#?6lL&cJfJ6d|3X9Q7`%01$`Rl9 z1@cRHYhX`BeTg}sU_?Y}lVG7pQi(r~y28d~Wy|!V6qadsjYZUDh2^yxK82rh$o@a> zzVffCu8USmx)lVZMWiL98wC`kyQRCkyHh$2-QC?S-Q8V>K6Kpe`@FA@_Yb&V?iYTC zea_x%t+{HiIma9${Jik-5X=7R@H1$v+!oq(3aiK_pti!G=JHJq1||OqUI1 z=91x}p>NgV)11Hb{oU0uxRxVpCL_$SXx+=iTLM&@Xm-`u%OnZ4tW;`?w4hul%;Qbz z^&jL)SnP|JUw`R}eZCKN$X&TN)npF*{3uPs2p(@q-pW=k&@nuzlPMSFMO6hzIEjQjn3B2m=Hiu?1`PM<4 z;4=~8D0v!1I0cWB39;<_4;PxzaQH)bz*|cwnUwVY^68Re^7XBQnC@8;q*6~YXlr*z zw6C^A_h=1jqDa>G0zC_aF|IL}%Hz`fq4$Exw$^|mldEuU?dYiY;+)6~oc~gGzWl4+ zXK9WM(oC9xK^W)-n=vCf5;$9Yb=o!sy9Jk%Ul!)Kv2wy^eH$$ftFf;K75jB0c_^Hm zoCLlnJ*@|v4>vn`+4T{5aKqVpzWn`WJ`vWgF}*&3tlDB!^l%krpnHG3b|V|}IORh8 zt3JbLE7#_Ip6Q-pHM1;i^%-~aAK2`|u3j0IJ07P`go5c;$z9|q zdFT27I7O%8`BtAnN(z>*A>~3y6cT~a9q zF;-!gCHO*b9qUcLLlJt9fIS+7{80$;wN3V>10O-xkl9M3O<{Hgk%OxiG4lmv zso`!82zq_6FmFYXAxA(}NDBv%^%*4Uuvx6Ub82v!D6lc$xGe9=4so^&?7>J~f2$8! z7a^LqW87AA-Pf}|Sv`)+0}!*tKc8D}h57kCKHZBINO>TPT`bi4A@9J;@P+Z7@)Js$ zS@gLUgA<;?b<}cs>{3Jh(&RZtllqmmzp!ov&q@mmV|3mVsz$&Zux@7USGq4d6CO-v z2*K|!=aq%>T#g0uk?HB>9C-c6Emm(5wm+I9Em5h78&T&Rtnca*15#vR?AC#>2mcNR zf3cxZNpZ8Fx!aM^yvp^WWB=Nd^?rrO*E%$?E$ul(pDX#O&)H2u2(JW zqY4;WKYaPp0yB74yBW^6N{@_7j}mh+*7i*2(XuH4M4GL%2#MYw!3Xsb-Ij4blzC7^ zX|}QP_+AoQJXgIbGJTzL6Vw%cp>Z ze6Dv`s@<^OAp)t$d&?>uvZKg%E6AF!);h1O%+&0_&|rR!I8ji-hJL0|&6f1BU3V1~ z3bRCFDYJA_t@3a!;35O8!e2Dt8Kk-T>Rq(_W{|HW$ux+%WH6$%;eEDaZ-HWo8Wmsj z9kp_uz1dt+yN%nd<`Wji=m==GOf_$yffM-66UKJD+XQ|clEQ&|HqylBw0q5PLp0EcXu6gMY&PcBX<tQs8<>PK5x zYLXicy=9v;)#`N)T2(Q=#n04{S# zT<(;>Oof&#G;3?w#%Xx?83LE8>Z_FAXUuxYhSp6Ly7@kkG7>kbBxBZC*Rc>~ix@U*V!5#GzL>pLHI z_hYTm;`@);`vz$vNatGQEE`WA4?<|1HyG+D+65k#w|ZV^ZhOrJ=bu{dN4NwuWPFLZ z@4BNWGIY%D$bD1QAdfWNu2gGIEtlss-E=73rB%lt^I^ArB(0tH(P|$IPy=z1(%$C zF!?I9h;`tY7fm_ko>;#!Z{Ma_q^kzwoGv8gk9+m2kJ#Z+TycLU6c0)-PLjjUnx9)| zxnDYK>*pXnTQbCU;l3u5#xSSm^ctQhM)tjAocVH-iNLhHllG61k6st_^&}*z6@(xn zOj%^BP;}0Gw@)sttcVkR^Hl7uM{!Fl?R-Ani8od*chtp=b$vatLQ_Mw7Yx zb{GNX-OLIb>)UawEBJHaiRgLXCkGu7%2%<{ug{5}Y+XpMKM`@dLy}j&As-4rgA8~R zZ>^-9eq$8@*OGOWiJO|slorL!cQidcm#YBYtsTADMKi;bR2A-IRPwvy6G@rcI`>ty zD&oAFHpmu+_zRC`L$XVLwo`hgDrb2q#QuRbmg4)-Hj|d(Ifcc<5grR|0N$p16NouN zc3COQAHi!W-tss`I$R>Va3D|PbM-|yR8iBJ!*Kb1Y*ZJk<6u?=?KJ83EWqa=BAJw} zlg}rE{wBj&mi+j-cJ)Dc;5udy&j9rL`8V`svf<;53df6-88tiV>JsH2sV#fIn$0a>#0C`B zJ*VkGH3UkgO94V34kUarLJvxG8U}(Vnw>Udz8f~xa-OAZA}ogzSmP7Vv7h*UpntOw z46fI@kJM-hh7K8V)OVx??WnZ1dEoPGDHq9W; z(PA432h-JKwb#~oWVTD|0f*=todzBpsxCvjBe&oB1h`xjH@(P+pul!qDaz8~Fm+sx zq@TNRn)La0UlG2o(Oeb z>g6kLS^h~F!gHcFh(lWhHG1_^rz%gtvOg)E176b9{Mm?HcdNi~qts;OM5R>nK}kT~ zlth>R&9UfiFk2tFAW1K=mG4tJ8Ahxqu|a@lx)23ZaKdSf^J}z<&O>`&?MQIHL2v+- zE>@5(!mQ;}xm*IJLtn=TB;y#d?}r+2xDkbc)`&k4d1%yh&2gwn^QIc7toOdk zaJ$V(uOe9#;%4PX)NnbCVbgH?j_#_>_qc3*!LXIJKMB*rcRD82n3YkLTE%-?pX%BB z!HFiGL2>`)dVll&61BFIBi-F&rd#cCtoi0DrBp|Y#wXYTg~FFYhO3rW1*y7|2r&ek zp}1f>edoXmq|{^c=8@jbMoC6``7HKMM!n}@$YnM!9g3OoqI{R#;q7s)a6j$;qM*(=@3d^bSK3K5djdHe1*BTA` zY;*)4&b!pbYNMh`v8nLLUG7~zApK=UF_A+Yp50NXtm%Nd;Q)R$zR2Sg<}pz=zJq)( zJKPVG+@}RxmLK4^N(I%Td!|iCi`fb_$}Dp`@4sH`!l~_(jKd08Z~rMW7+rATl3!Ae z%Uhxt2V<94)b54}xhpYm;09C3yLSBns%m$7;C1=0HgZ`8w~#5%4AOIetdr z(Eo&51slupAoLlUF0F4)e_ZrHMd4)<$_chX+jcAa z`uV{6S5hmeMtu~x8W=Hk_fdUmV^j}IBMrcDkS<&-IK+q50lXl;R^rgx^t^txxLv;~ zId<>Q$(osdswl*03VJ={_L;| zf;xL^LnFiYsLXP(mzF}wK(A&OAISeDPL)_Hog?+GrE93F)y&Gl^^MKb2 zkG=H(y>`#NPMOoG;11!G4Lm)N)y(`);+_agvIVaTt`g1XC+icp>!Rkdj#R7cYn$L* zG5Qu-l2mDld>zp4i-^T%YxtfjY?Sz~BrphDE-42^Bz%&04u{kMD0n1qFmgot`avDh zUgLxIcXXjJ523sA!})cQi`)cH+<3FO8N2P}Cx*-m=IkF`v*M`XY?qg}hv1IX&>XOh zf7}P~4d@wf@iqrL;8!YZMgDACv61BQ+H*zSP_vKoYk%ZAZWJ5gd3N3AFn?W*$HvCp zr>JgIf_2~k_wx87S4L`GfwPA5{I>TgTAl!kW^r@pXzQuAIOzWORPdNiXFhf0I@BHU zawdNV%{afC;*hFL$O6uif#F7vFlI!?*XIClT^RB2Yxmr5tq{$xq-hKeLOd^0Z!-{^3c4TlczSZr1275STL~oW^ zHO$`6^bJOd#+!|bcslh$op|JA9ODxf>mPj!Cb(9;H@-UY{r2q2B&h@y;C`Dhcnp+C ztgybf+iP>E12!!#4naiwb|i8m)xYY_YJ-!_2mdv@qJp z9eF+7Q(|X&x8a{yH$I`)GPNxFMm+N{hRj5Bdi#ZbhgGHda8gXbx4BNdux=(^jB#*m zROWTU;;d>cMGDg%2DVYnHTKeNJ=!Y0o6U@Go-T7P+3+|rsWn2NoFR4M_B27rUacFahjS*b<^h*@+7A31YoM2Gv!v} z*duECpxlJ&1$Z;TMR6|1o*Kh~iP6q-aoO8h#D9QAzk{6>uw%D{egk{a#~UyZ5iYFd zarE5|Emij|Kh8upq>y+zSt?6rk9FogP&GN>Y#n)*fbH%-c}W1W zTplL8T5e-9L_mbQKq}NPeI=i7AqqtZ-a1?Udkr3@MQ%R&4(Ufs>=vmoyhz0Lw}vna z-mG|Mp|u=Ugk`wLbq(m5!vaVg_Bv)RCM}KXFjNQUgt(!>urm3$r zSM1kf`NJt7+a^;72aOW5&$>{U%vR1P%8o|b=~o?1*^|Qdw8#Me)Uc}*!;p?z;Epi{ zdsVT4%mXo;tuHb^6d@D_+ds)lx^JNn_Jaq$%@=9pDay;|6}xdzw{l3LVtB7NJd&lD zy?MiLda*MsQ;=IwEk%ZJ$F%sd2R?N<*AMPsQVwYf=4!3`5d|Yw_Do>q$Q@3iFYxFV2O@U=dMVzEFg!%3u;Ka zM9hpT=r#?S6Iv07N_y7+H>#3_$PX(oPlG8Zo5M@ZqD8zz8h+57nAE}h&BzGNnHM(7 z^M%a);jL$#bT$8o@z0#xgwd$CpRninK0CQ9gsj^QDUQW^)V^_D!@dyg%1aYY00VV)2uj{E%k(=MZV9TCZ+p7$uQ)A(V~29vcVN8sGYdu+y@?nGg&$X(@2gnjF1yY`kF8OaB(tp4o zq91{17%Ytb*?%qdAA2Q!@r35ADy3BYiwpBzq!xg1Lwq^3@h=p^6P76iC`eyjvey4E zfCotj?1yx0l!TtYv-5OufP#h^Q%zC-7ybW@#`6XMa+GgAhWv{}`H!dZ)mWk(&piI$ zwTHz9wt|mZIDeVyU8FKl5c8pP<)^=EkN6&Fr&c@dKS{U$K}(8~R3S+58_Ym-P5zns z|NO-g2in=;sr-Kd1obh~J^!B>bd%KUH<+Wa@VvZxA@eFG)=49G6ay1QGVtF3NAMD@ng-wHmIMb?5Bz5=mnq2oT(L;cHgWq z(HH0-%CSA3F$~eNwyQ#JK8Uh%t!W~S6~YmfBp)3^+hwL4Wjp!4^8{=uz}geydVbbd zX}UiFn@Z6VvI0<}$;ruyIsqurqvbp z7x%iyouSl{HkkTe2{9bpU8m@pBl-Kz$8b4C#r+dWvX!-WA<>IYoi+1j9%ZwBO%_6+ z!JE5>x7oEyrW#Kmv$B7FHO2VTTE#EVOq3`$l?qYhRm{)?vt(47hY*H zE0GBKMJX_Qbl6~{2Y|OHD*dn)sNA=S#bT{_ERfp%ZB&Ct@8%R!MoQ_;Tp6$`2Dn$tR!p)7n5j-% zotitG%&3Q_uuEGMmX^l-b}tVnu|`{M_6^d$Hm@+A=DFMXkYj`sln=S3#t63((LovI z7VB6Ri*dDJ=j*79F8{AUAPMF^@tkb>wbhPRjrJ|me2q=~CE)sZrm+e>#}M4C_Cv<$ z4}LxPdU5(^axzVeGvuc`%$*3G{_aR3`NggWjZPm?Vd*5AfU3ReDk&kC-OnI^vzBnG zYocz|mE5K^sicg2fkkVLzh^%(y^#BHD*9)9GNl2?CS2orWYGdqV;v2jMHEfWf;_Y% z!TrG?gV?WQERL)CO*kU`#W78- zolv}q92;DYg9M$+_mpDA)rX<%Mkx*#JKrZVzaZQ3yxgCg2M}CMhL8S+sT+0Lw@Auu z?w~c)iNL6=OCG-ynYz+tUGK);jG+{pxZO@+Re5Di=6z7-Nl7>)TU8*b=qyW|FIPt?? zibIE=%FPdgN_74giUkFe)N-zLwcESk=W+i2K#e?iQPx5!WXB#GIru)&3SSJa(GMK~ zj*|clq|tbY^-Qrw37;?t?g_PmU18Y%a#5~x!$B50dy8v{ z?|x6bdhQowR$*Diho~1t8$Y$_;*h7idc5H-AO^rlx8CwayyM>CLtx;BZAXd;q@`Of zasOP`e>AT-V3e1J`EFx~ab%w!V(C*mT3GNqKXyML%KG&QvUKZu0fb2gk=}Nz3kDO2 ze>5q06c(B29%URvXo9>zk3PJnbCyo$L4A5Y+FtNTb$;{FZ%Q0+>j%7AOQHJ7ZM@33_mYM+DJsJ=lc?!CU+RBY;?B=UORsxG97|wHtJTi zGJw3N-dg15Mw7=`fvui1(QZhNbT7ShE=%WXE!Uwti2Kn*h>Xx?Wdkj$G12jRQ)nwz zrfy|FMLc%k3+e%6qj$1u%|$ChyU#0*LN*;|_3@Ugn;kDLkfemoCFoiGSh$bYQp=>T zUz$4nGB?U3N?#V_&~SX>aMNV5m{GGYy2pTY2yMgRYP>?&4&LFy802X&TU1y^bBzGi zD)T61gt-t}EuJw2<+_brO2@jfd3^XJNCN(E>j3 zhmLAZOF3e3hG!^NPFEbe#-nWRL%A)_sqI2{oi?)Dl{Bpu#F;$-s_Gp`_d?uVMIJ-h zI*W}7+LnWZx`$&#FfdY7BV@? zE*l@g%3XE2m)Fc5@?A<>wlOiXf>(0=9i|bz%gn>TR0s zU%f(86~GCHs4E$*+|RRlt8x&sh+dw2HZF32KHukk2Qqi!=>oxQ;H5rhMeqs-1o3O} z^4S$WZL&Q2phFY=sAD=UzwkRh=GRSgJ8nqgBU)-r8}mxYkLNPgVLRpIu*Zk9iV&2qQd zbfMfgDyY@GRA*>q7 zLav=8m0F^o{Aas+Ym1H$PXlX>r&T1__p|wFO^OsswrnArzQihyhePqJZ*fO2tC>f} ze!xd{GY|9Y z6&5q-$VwK;s_G6O7_c|`7Hdq(G`R>Y=$jESCd(-Xn2k*U7>Mcgzx6JM@zrl1^Y=mHR2n^Ww0}+HGe$VK2ZKJf+iBOs(TVq&O%R{t4g>mp z=GmAlA=UEy7v~Y#Qbk6s7xvQ)E)MJTI`SO)EXMVU9p7CAmI%1AKyR~142B&)(ZeTlWP^0GQDKyM8j4*M2%eW(fOs+;vCub3S+7+0qKb&yUu0Kel z;7PSXCdWn2V+(^-+qY~U$Cy*Ao!>2NTz`ptFWR#Xy&SxFWk91`Yn!MM;DSl|eU2Et z9-&1*tzp(aWy8E#&2jPLfhWu*6$aV1zWFLt*@@Av6G7*@nJbP_!eORP4K$vkkB{nI zExw1oF0b@$La!bAN`;s_lED|8y9DQiwsG6r=KxG$%0lL>DZqqLg+uj}B(zQ5{v|a- z=@;5-9#|HX6)Ql&${Vsjsn{0A)W+pV(q*BS)>_k-@Cd9ua)9E9y;OiAj;6{Rjhw}b zQY8cTOMpq2Z>3hikX(eNSzCB)VNoYBz%!6y)wV2?Or2X03Yg#W;C%r#Dp*8c7GF1( zmmSDLd$1Zk$>Ilf*s> zUK-W#SL|W+C2U{d(zZYAgI!1a_`n{(Y{|VJBl}6x(W2ILo;EAC{RrT!sPF1D?-D|P zL#A;b_52{x#;cyEVUS6GI)=yiwl=ac?8^Z!zl*6)9?rJV3v$yBG3)3w$FI9jg+kk- zL+d_jQc2nmo@)J zGl9Sa!M<$R>G_hnup~O@v1SzafNKrHW0r<}f%*eW>^@~T%)X&0_^U(Gx}iHv`Lbp3 zwnLwC>21r`ON*+D=8hJo8z!>sF1gy+wk{brIVCwa{NgN3M1fkQKAG5|c*}f7x z!lH%h`PIY`)2>%5@ZFZ$d3Ugnl&^&KC3=R7UQ(_Th`^AUw<5U!vkB z%im=8Rq@r6W4+UJi$m4`dYDucx;!5gc5lWiMm`2f;MY37lq;tr0Gi&Z5uc3vU>ST5 zqm92R(oAKoQl(#m&OZV{Rkoj@89gXkqn!nFMFzSo@LC8Zc2Dr$H&+Zbsnax#!Vd^? zZQL$f&5$d%4Ub%K#uMBDvtW0+QnlYlIbg*3BQWl{uX%`q*F!x6@GRU;%lT~Q*1ZET zA2b*=Th#(`OO&fro?l+d5e@?Hg~reo1=Vu1Gw{0>1%jWnn&e$8l4J87H4|iE8~tqM zW_{6dEou0sI3M~+?q4uD6w8#2V;+Xg{b|;LnF?-W;i8?q6AFGwJ6c96tHN z$z;_eY#4ys#p zYO2w3F=HoVGF_{KA4!WXgkf)O8?Du z*h{Lu@%Z0VnQph#Oxkf=hv?&3RerRU2+5^AYBQaeS;m~)?^r5tWv%Xx!5hBCt{LT` zwuQ;WDHz=uzE^ReJ}OIaVeCiKHain=C4&XaK~8-fJKZQxCa>kQSxeOGYFFrQ$b;?# zvlAp#A@(vfaa1RaD5O+-YkDX|6pp@2D2ydQPT1yL$p{nyYcXqem)Wy_@!?WV70wuO zkvN^`z9CU725}Ht_?c36!nNZ-bwm&(m9-6h?}bU;v=IBKMEq*V=Z_VK#KX;tC!#EU z^Y@NtP0>TEJCEu8BC`S%-~a$)qzM zC9vrsFnbB@(R_0LK*ai{^@pawNZ!vEI_Wyu5vc=?U&1KYM|n%YhK9lX0Zg{(f~FZk z5yB$W*&Us@#4X8T9fQF~NE&aR>YolX0=58f6Y4==hNeT&8^eUhU;-lOH||m(|F^>* ztKk|1!vwM)uGa&$0j#$z&&ZL1WCv0zG=d|FfC)h*d^)Xe;79$DFjM$79h8;tx~-l$ zchiL3w1T=ARRK%O*zbvQbYe9BAA@%q=cjxA+^{` zPU1@gNY>t|GX(WbalsY;VszVV`>}fcnaT?osePN|PC7q5htKJA4RW+Rd?g4L#@GNKP&J9=p)(R-D)*TX{X7 zqxiiM0Fp0qrS43!*BG5-7|%fx3U7KaK&_FbsM@zNzdB%2Nw8sMKmz@1@W^GE>oq>? zXPu`)lahALLP$(oceFBP)0h{*j*Jf^9T$c!RpO0g-EW^az2IR%&L5juP%5Sz7Xona zGCa6HJddt8c{WL>n7Nn|JLrT$=`@--pMb_(PUvFzKX}1HBa-?tK%G+%d!>yDqLRW2 zTI2$15M{Z50_ySyxO6zdagHSjy>gb7qCba{`AfBJ=u7*gPN z_N7&A1>SAp(#WfXJ{$}AtY`A-Fu#C^>@q6X+qriPCRmMd#kr_vbu-Vk&c^TMS-+x0 z4Z0onjn_%kXJSm_wKtG)GtDl_d&A-Q@R=ePN?@+vnUukc)tU=i|4I~DJ~FFQ&rla4 zkUn8PSXJgNFs7`0h=7#ILB`&Aj2R&A3rNFs?r}>gx!6lm*0%hVZ7@4JxQA}r1h~{& z^ZxjKlDc`;n@HT`G+vB2uE0h)+4)%rxE$YyDP|!zz)@3*Co;b-8F_?{0mb*- zdhvx|OZL0_fYNu-+VjfIg0q+*vPacev!L*LR$QB*oD`p&6@rCH^QL=&j3=jGJp%d0 zW0cEPw(8Rac{hzJL5&}3mWx372Bi~3}$mFI4VomJ%CftYu z%6q1f2ss(ZvtSLBtpUo}M)u*YX5Zuo|4-kd8^>i4j^BzgY)+}mA2G86yhlxRj|f(y zH_~XI*gu=%#eZ0`yI$_<@@jRBOOPM?u1;?HtB(^8DOO$qj>ocjPdV)B818^tLSR|d ztZ{zl2P}t}q|@Pa^WEBv2zgu`krWFPNSJ|!;@x1ZTKMEZ9i7JW7!3ML#zN<+00c9| zcn?Ljr?N3f#vO0CWPu% z2S2{;?~w|Z@k2Z%&60P$-D3f`kV)8*E(BB8ff|DyPq$ec5_uzysD=(N0(^8 zRHC+MQ!?qEQ)_gaUxA=kxn`OkHcTa_GX7sj03NbPx9Wp1VehVerX({*ysA%>lJPz=ifg5{wmBk)DubNDZ z+zRY|?3-vJ=hV7@*`^2#Xx|a*2hg?1y)iWIFV9d03(u6$&EK?$2?1@6FH@~iC z(jP;LbzbV8ao4AbQJapAVo1^m`O31}7}*Us7G3jFZ6DlY&%NaEHV^BfGN!PJ(e2HI zLgH3ki55NOuZQinVjVd}A+sDnAhn^`*7o7NEB1pS&4&|n4LQYVc~!l=J+SsWDB9~V zHJ&$HG!ZYqj>89FUEBqZDixv5nXJ0r@2Hf~_fBbq6gZ$xyDpxp`skTF6F;*nTEAA# zVP7YN5Ijd^nrZ}Mbf-q|Ys;2L%_Cy=4GKQ6oEqA}wv=9dIr&_x8lutyYn zv!^F!;+bF59I_T9JklgOFy7{nhQE=|42v1ybUO0mWewdt*qrNYc2rbiz<mVK3JUA*)T*4zItp+Lv6C4n%0ulN}VP;Ow&ZJ2%HV#Qp@F%5VuRGG;c# z7@qt|2y2~DxeMvE7$2fNdCwngr}E4>o&~fSdFS->qiYsn08qN~uF{-?TYZuP!Ttxa zu@5Iz5A%6x4OXpud!@^b{+NT86($c>(h33uT2Sw6%C=Ned}{cNzrFAZCy!*s4WB~X zJBxm=SnLoSUZh~{{Q{Qc1r!4R3uuh|mryNwZ^!B+KmDZV`koRnAlw&@;rZwLFi{dW zXijyIH;Z=iS_0{RZ}Q}KM#z>T$d%xC_^c?iZ-f~G3;pM&bPO*RVBuKpRc@?_-aJnvBjv|I@tRE%}(tFA`>}igXGX!Tg3lUdE%_ z?@t3kNx#cMg0npco+==qfQSEc--LL&DpCu!OrFB@tR}udPQwpr*8iC7_cO=v5Jj;k z&~2kWEl$zdHMaKu#76zg1TwG_g^02Ra!n2YpMH!aW$uL-l7806OYFec}~P5~)v@paQjAB!b@i z?kI5PE72drljy;+6sJ~esR$Xv*}j-%Zdsd9$%sMzQ>`g3FAWWtTqo0mDI`OA*Rtbf zbvEa%{A(M}bD=*4WFm^*e}&2A$X4M;R$EQwk)40mOrnXc{I?3u@6vhGavmp$WEj$? zz3hqAI3`xYKM?=vYC|?CqgLlPQVbAil~3bY1-~G|pX-{WfBtI&Kwr^_2lx$w9cen8 zOzX$MJ!eCi7|cHvjS=R@X8^m8o?+T0ZVNS&fiEUiRhG7lCe=Z&xxh+P|CY6934QJq zwdnV~hlDx*srkbarUjCMESiGo!q`Q!GRGd8BZv#CaXu|30DpE%e&#Zdk)%(uV(|pKzH~+7m8vw4+W4~?s zGX$X!Sl&ay+Um@3iTpcvNThyWO9Vh=f3=GdSab*g!5tuh|IY|#0~ey^&G)Ydo+bT<(pN--y&<(tS!k?9~r8XwIWA)ILmL-nVm>lz(G~ z%@q9KOoBqFj^KYC9tQfBEx}Ko$|Yd3i}7dG;P?CQ z4xV>Ll_dy~Wct(c7tj<~qFJosfcVv>tZ)!S-1e_#BVqpgmES>{?w{wqfc^F^QrIle zlfD8g2dL|Xca_3sdV0sWdhk`oHln->~9 z{+{%&8-D(`!ttMD`v0md#-0|iaH74Gu>b2KpuiI&|&1EN{r|Akk+YJd9T1+1|ku=>DW&1!lqFWb$k9|KAwmVgV+ z31hT&(Hoh5Z$?Q6wQiVou^y1;U9tlwab~r?j-~pm%is`f&-BlfUyJ5xe-%$+DbO~m zVaxcf&;_y?;W+*+YD--JNY{)!9w@e113I(j(q}=ie=18d#_9z?d}|2{V01{*FWTLo zZg-b0+%E{O0Y+}$Hw5PO8H<3%?ealU*)fii7S!z2)K=@`l`5NdH^TMJW<(Ppz0v-w zMF__*Xpi{$rq4;HbmgExHm?!T_-yimfmdL_mic$XAQT6d-O6i(z5P63wX_1DV z9ep<4ehh~Jsyx_rwfsG6FgrjqxeO5BVrPOJH-ZSsG65FlP5Oo{tm~^qi>3&^C-(aI zA-?Aa^Pbm=woS*4CK!)?1H=Emu|?VgUBzmgKLf2ojBpG9Z;lVk+U$!;8w$YdG0zmtlc|}JFaOSpb{Z@QsGheE2Zu-pt z3Q*&Q+W=CZgWVh#L(I$3lDzxQkb`YN8YOqgS)W>D4JgW{@2!ovD3G>-Zs&4TA+n9d zKu&ScjAD57&s%B%X(TJuu!wI^F6lVU87*7jZ|%`9AqEuWQO*EGa1)@6$m!;o|5#SP z5&Rh~Ryn4r|E!PrC1n;cc~Cuh=MRIO)yVPs=Md#44yzxo#P9cw7v# zt?P&exeD4Ly7uIh+2K?JHMsfu)7{`k%o+_7bWwH1Nf*)!R5#b3_yO+d<8j zn!AQJ(pBeSPm^g+TaC8+8^1Y}uLo$#Ue#z8L}|F+ZihO?`CU9eojfn0aUHF>UuF?E zkcYE(s@n{I>X203FNBY}g0*7I(D=rQ6<)cwi*#oXDJp9ns3}fmwN7n>Lv1t~KAZ?^CcAZU4oQ-3x`#R@)1lE7KE?kfM$we&vO6pNR>`T6O7Imx6{ z*<8lyIy$Y^4>GH{s?R(LDEdu2K3%stq`BV}RLv4q3J-SDuji8>A8H5wj|+hK1ei0l zL&Q#7QOBMzXb2Z~$pEjp>;u4MI@1C;!`3%NZ{=yqeoHRad+3tgClWd=F_z0ZxEGbw zs+2c-00ih>IlSf7B)u~f>D@&SHPa@)%$vY*b=O#68$bnxi-%>e>pNit@6M88R@f3i zJZ@1Hl%zz^ObdmO4?{eJGw`|#k>eY0Ii@OW3 zP)`B^(#~<>YfY09TpT>EZvpL=V?e2C)O1ojWd|tl5Jy=zD$=6DE;aTI^8c2rEecQ1 z@UdncO^}JM(5kQuwn753=pJGVQE*`zU+leWki$AAGz>wAzu*)$(hHZz= z_fXz+IU%-tr*r`jMccFi8n#te<3b~ol6-{j*54x|92kErR2z|+Kb&SfZdqro0@3_~ zclx;Mw&UW~obPpFiuy#jj^_j!XsqAHl(}0aV_AqP5~meLSRq&5@ZGHWWIXo6iK5fv z3~3YX8Z2(G41d!!1*ziyIR+Rezkue{zMN6D@S{KtomkOQFo1-TR_G|KUFDkG4{B3) z(2C{xrqR|{KAD$yyj<_?;{`H%|h01$610fsr8Q8A&*tEO){svJ8Egw3Tbq1I7d_jua% zNC`4fUIEOxDy0x4e;Yd3=mrc(E4_vn-1So+8Q5ZXp86;1bBJq#}_@4E!)vL|4jTpSAn1$6+L-RzI= zgz0EoE+<$Cax3e5mVO6^x6y$N*B~yyEY;0kT4cwm(GB^yln` zBb~nT07QxqqaY^^NkJJ=mM5j3 zBAX7XWbd*rM#HOj=@FJ-rW2B37CvTyf}AsmWbYQ{n~r>oTr!6LFI>;#9*qW2Lv?Ys1-!YWu>M zYl`gMd_w<5m1`7!=zL$X5#fyCrp(uHI<3JnXyj0V+Q98MrDEMU8jYR%%1}2SF!TXA z7r+z*;*>BBx1r$`yklUnNr!FkA5!Q&ApkqxjjcznI*}EsKX!xVG@vc~xYMj*)I-x^ zX@x;OLAwRM9~Q+hKIPX&s3%Zep3^s9UFpl2UDL%x=Bl}Y(D(Bzr12j5`!xTga07*e zE#^8Gtz3K+Y;cxi@D$qYXyx=xM$Eg{1+P#%k2W7mQhX{_R;nGnhYQ)~9aHov+Q);M zC#t2YI9OU(G-yxh&7J~VXQ@n9)fsmJ zHX%fExAW<h&S{i4y^_MPN;Szht@iiRqU z4K^f!L!q8t15%z#XEQ&RK8SqkFY|I=YDwSTo5Y$l19!9IkX?4xCNoTU)EIR{RV#%? z$-y^r6&A>a#t_;LNo_GxvW!;a4wSaBmt@|_Ce z?no4SAJT|41b-JbR4aUjg&S|fR$2b=8u(Ocd66MFWQFn+-|dmLm?0^nqseMoR|y#I zriXJT=`f!x`Fe=J28l#B4NNs^S)I()Gn=P0apPuBrC1@KofTQ-Kfyq>JXjQap+U;! zleyRPl`RWV!l~@CjM9#hbdH&)54vUDJ19cXeM>9fwZ4)f!52~(Inyq@Z_xh4cU?$vkNTGnI390{ z=IipREF*6nzN<66mLbJZ_OaNTqi9Bisuc9%?dMw8vfEH_U~0X>x)rAA?UV}}q`1CV z5e`8yJd95Fm+XkVR&03}C?zgql;W|$a=TfHS=Xb;PE?PAEad3wd2deMGkmf+IXoK4uMfe3;GJF0M_59L8WhQdm$CL$ z)tiRw1vi>Sap-C^a_U}a?y3^jL_#k4l9IyqV`8Tn+Z~LM7X*p1scD+T=HI@}kVMKu z<-++o13f|`e#edT?2ESW!|z&Tl3M0@eN3c(_gRDpQ^QWjf}WUQHHT&dU)y>soQqfU z!2$Z|(K2p-$te45<5FSVY|-~q5TLByy7z=f{rUQ-QCTmSpUhsjW|^}(Y(EYn!Km-pCSMritSdGy?q==JWmVGkG>$;9 z1K-i>9RqgF%=7qY#pNWcns~nc3bKvA!|95rN+{Fi;V1+;6BU88gN~V~X%<;0Jj(Khx+)^aA$-y%m)mK~K^ayvMf+ z`#eqSVBGul76oiZf#YpWK#em;N4jJDUxwAcmevo)39e3Y`yVpn1{xo?fBC7%Ld#&y z6tUDFFqo17h#9eNQuF?^Wyx>&_W@%Dui1#p_yZWsVFl1*kpIUge+1wwG=6^D(}?cD zKVUDFcmRyHh{)Xg4|9My;)#g3Zl5i!{sCt^0|Bv)0gUR8rVP{o*plD%(!uGU^8p~5 z_~09btV$pMXv*p|aN<(xe0cf(Xfqc0hWaDA&Oe&sWDC01r_=O=9T)eOEl*17IJWahI~GAR<=EA%1?5BdM_LhXSEosOoKhkrsE9|?(s!m zw7>c+!U_68SzF2{Cx8cL?2Hl?GP8E|WK3nu{BP$8riFGA`i4uhOh6r*V-4(4k{2R4 z&3tK?f3Fcs0C;(pHm@WQ+g40IS`&k{0u*thp5|{9`K#y+l&#z@=bLFOmK-cYZ$)e{ zR=vjD<$rTDC>Sb%BCXiwaB~C-E&xbZwb7h(5A>&N)<0z+arkHg)VnM&_ueFEmNYN9 zk~?bhY^<5=yWd~_r41g;?@zvUf3+Tsr-|PV?qH1kgCzi?BhDq6rpVl1z`lYRR&A4; zNB)5biu}|L)z9MCe*YJ+VZ2`#+lQ(>C`hxDgAPV4j=AC&pd|f7r0#=1VRS8`0FVbZ zhXHW$!Y*F@KNiW+ee;t&TPt|4s-t5#Kt3GRTER8hi&Afs)}VS`531%rhF4^#l-kjf z!z$l&>fls!3zIJSlx{8C2I9vRoV^-7yC^(E`H1p+wnpBHtf<&>ifU?SrFkEu)Lmz) z!$Sx4YL6wo=YA+AZW5&U!XQ3j5^z~v;DjIp5l@)U_H_@a%c===aB*bWu}Y`pnD!pl*}FPTG`d!*7Jd1?xdgBiQYWx4{LpbwjTejeA)E4uDi&Q#dr7B zGTjJ&a9@xGQ?G3{Vyr9Q?ABjC}4Sx?>R`*G#;|;l@uF#dj!f=SsphT;IMRW|i zU3Dw`V$l)d6aR_q_eY4{-ym4Mm-9w*>dL)8P$3}QQ<>X!|EjKzNllNMVI?D5(bWv@ z73cX40&7=H-X!%wFjckx*f4D~KtV-_>$fb@Z-1A&+L$30e0u-*F)Y{TdsvQCX(qnnp378qQa)r zZpVE&g9;`LCdFYgWd~2rUu^6dQ)|x!9eo;px8Hk=cVX|dO{0)tnOB;{caQC%oY)e^ z`y`%D64yE3=kqnW5cT7gz+-zzeo3j-`dDv@%Ycw=nW}o1@kzfYnM>U4xwL7*3?T;6in^Bx4Zv9>tWIP3GDI zpW~jXozsQW^onX9fs~+n;@(tYt$yFbYX1$f>*fOOt_$ItD&i`JZ@1eR#r zJiq(s<*CNBE=Hrz6;s+0Qd{+;fv)IDB zVIeVkdLGV_(-uh=4rVS1ON~UrLKqwB!jIPac;?&pYR+MvTMU8$`@r-U26Q&boEDr zbjNKI_M#j@XJ=D|A%p~HZ;Iopo>bvyxm~Yrka^OGd+wACrrRy)aA{1DG+q*He`Dgd z4`<;SsIz~6*P>}hSnSC}k=-f*i-P*O-sLWy!Kkbp^R`drg4%WtNtFwOr&Z;&+~PXS z+XP+Dy#qHv$Ig2lJsXD{e@xSb-gUZgs*ciiV#u|os@nB3eo5%^48q-vZ4eP(KZDh6 zd^FsniX%jN(Wp*ZS`Bfn$!x8Ry1e;qFHU=j=4I*=#)%cO1H7t{r-AI}v5>y_4_za0 z;o{AzQ^{?=UatMd#SQelhRCfS?P<gc4XJ&2kNs6opVz*b7NW_@#p(>d!pjq z)TXL-ntH~+yb>JPl!^Q~;~p{er6lW1c#5*;`2d!E3zfdtmM zo3Xwa;yz($+ln9OYQ-q{g>J8S{KrP!g3GLs@_zaZlQ9X4QWW3ukbc5d`_^$C$+#ZF zLL`N--d+84R!}Wke{X9z&rCzttN9duHpA!EBh2iW=7lJ@p4g+PT9Mo^x#jwJt8Fo{ zQTt{+-8HX_)e8q4m1D8|UQydS| zbuaqUer5`AB1OO?;B~t7s#s;*&8;3BVAqXD*kbOz?5sF6^pEVex2!zJD7bImAiO; zzM5xOXEsAJH*j&6{2%6D$S19P9++R| zDCr!o#chPW%wQq)-NU!7cb(F3x;nimAz8ouE`d9tK2L>LouqbA+hPh!Gf~QG&xEd< z!c2FyQr8i`YEHHry(+e`tYDuY?mwQaL*fQXO1Nz7cFOMQNYV9mO0jkeGr+zdnm zYs&G3P7EW_wd@h1GxCZ8J2U5-j@&=bjpB$>-B&Jqn0uMnTW`lE;19m^?6#2U45HMF zo;?YUbKCN2#&bgm{@tT!L_Q^TC0;+7%X=Q)~mc` z+klQn8)t`RaAx3nU6i>qN#)_MpsAM%PzP*v;r%b?D>^vnuL_-sFie}TE_JSj8npFx z&h}ESZ|ubsHI}TpXJ2|8Ip8(4X~BP8t~GJjmPPToG0S;)b|r8xe7}Xc&_w1A^IQsy zf;X@-de{*$gE?RjUYwp8Q#*E=*AgH}XP8J3)+HCX*mZ=GUXMJw zs()3tz9U#7(q5cBK5b_5N(`(wzZw?xyhSm>xlTQ&cPuoL<)=I8OXuF#f6u|Uahc$F zJ~Zm$c1YUW?fJ+ln~>_0#+B&(u7p_W2iVW9C$BQ(E=}F5VqRUL{7P4!eN!cTE_*`0 zuVZJ?G~d`>Dm23QRP(bqTCKC4O{j;F{pX#X^Y>|_kIwEyeSZ7X(XL?%es+kRFe-nA z67jd)kmmQ-X3n!_U0-m!)YQ#* zIxdzjC1Bep08I#Kj_>onS?W=#_j@NP^NJddDLnP(}YcJBg zsj0GFCgwZGzV@HVD5^Mm#VD+cmt_B-X_s}oO)b%=XR=(&q*hls_4`90CA<~^?Q4?+Xb)EXw+A9QpclsPR7$V ziE9&-zg)Yvrpy$1^xckJg0kBMhuvMDJ?$vFe(Xb($@-Whao+3T@NV8Ij8!JP+~n@p z1Dx579$f5l7iFG;%%3TX5{GhEH#NPjJ(eR}jqk2!2-PS~dzwl5G2Ue_`OVM6B+(v8 zXWqQ^TGPDI9UjQi^x)Q$)75UatBm>wwtj?Gpujq&p~GT)QNtUbsT7CNh(@z;HT${{ zG9^RGS^l?T0@9(-*`uq$1ut%Ec!Q#2c-1rEi^(Jdb35X;Ee+v`uv;u8FLj0`P_)h4vfC~ zcD&AJH#-Alp+4Ii_6zXKE4Qni$vFz&?v>~Q?%qo1mch>hm6FLxSNVI352>*CbveVaq zAU*!EIX8GbYuK7>p`rD1iUxKz?G+IV$KLT?oZ1lQHX3_*+>vKjQ{~04atYxv&Xb?+ zcS)?XlAM~Ep}(119!GwT#D{YP{mbuu8ES((UWtEf)!#0^AL!s@94`PVR^wNUh&*m* zuzQ2sZG(O)N>(>@ln}Ma@vXx)`>LsUN@1gLjdXWj)mv}{i$A|C_#Ez2*IOYodNIBc zeC`bid6~)(phwY-cr5i~bxhYq!}Q?P=VT`-&4an@Nq>iIV`S9%$P{JEx>VnVa#oL4 z$&%gGW?}=&abuD#7(1yi;jKZg(>u0q7YW6d73nW7V9yH3@PT3?eh~8tg$_z5G{d|@IF$}C!hz8{ z-X2H!ru$$1Qm&DR!0cwnxWAJ`tG?0%KGY5Da!avo>?u!s{uxMQyBqd4huwodtSdIt zLG)!ush#==e&dbaQpTDRXJ@Hd<#xqN__QyOyOX)pR^XUsQqIB!FMpA>Z&&K{4c=MW zsPiYYe-kV`qv+k#v%d8$AXs6>DHi`ypWZWwqR6HpizpQ`X0XIf@35c&!c#cCkdI@y zN719lwWR#U#Co=AQ9*fRKF_Q3^0};KSi0g$M-6JBWb2yH4wi|JscT9VGlO;czJu*)hYfXp@+J3(E265itGiC|qCI}$qBU{aLhO39aXS3Ylhvac zWAEcBZ&yU%kDe`G((G2RJ+zU7PH1D(7Pk;7XLj$|QQ;uR5=3tc1gMj5Wss4w2m*wD zwt@Ci5E!+BmBHKV$?#bmuj`)KbCj0^2%pb#EPOoGtcxu%{k44dT`DXh?e4DO+qNH0 zZy5*A_QgupD}3G~o>kmAo_Rje-((sWE~8v!YyT_Rft&E003A)2_qG`KUlG# z*oO=dpGn*xTb2Eguf%6xWrZ*M(HJ;*p8!;(AS0o42N`jvyccP0njKL;)5zh|%v*j# z{tI)pe(dyLtSb=-K%tC^U{9Mfz{{m^kRLcmKvA)5Py4GkKzC!V*Xq$b)e!10&gW_L z>x6tj6X0b(yfey1Xxfo@6uCEmw8}QbDfcKo508t`KR}bEh8k|YeZh-vb_sSaQK?)OJMw1@wc+3^>(q8 zn@{q{l_XFTaJ4+et?SFX-*R{kSiU?ay51B`s&5 z5-AfylbOr&3H>j;5xJ0HKhVyOwjc|*#%59Id`Y+E{#+7t(tsPdk3;;2Sdbh^u%`3| zQvZdJ{q>cHNY!*`NW`Ddb^yMhZ@C%w-!_7g#R8gc!tbq;e?Dsr_yV&7ea!!wbORL~ z*e~pP1Ij<2Ed{@oxflPT8@%Bk0JbvvUh#iwez3HEg5Q1$X#A0O;wK^sj9h@*1P18u zKik0H8vJHW%J>IOAp#=@TSrvD`j4^m6X62Cap6G!$Igfb)CxH%*FSt4avaH#a-aVj zzW@K>6Hz{TDn}yvD=W#?0hAzf4ri*2pR#W!;eRT(|KFwr`TYLDgabuQSG7nf<;}jk z+|vV>huOlt;YWZYw?|U96OBO5QLW<&=d_y^BQ9(>(mL*>O{)gFG-4DTjE7TyPvu={ zeIUl(1|n0ZS>NjhVxBiJi17!B>4EeYIzW)V{CN*Z>iR2~bxSr&yZb6;)%CpbokE95 zpBsk)#=^5+&Q$kDqg~_a52o?~G23r`C<%xjp7C8&kG0G=7vv4Qt(J)66fFbo%6_Fv&^&x$fl+m_I?mMX3{s59`y0oA(cFp z@+o|yaG-!qSkh*vO?CUcF_T-^hIE}2h{TX;t{Tvd(SnLGEys$eFg)7Yl{8=9I#f~Nj-Zwxw%75f-ay4En|Olf;T|ZAB1JTh5ra9)d-8 zr$`&9S51z=FMMJ0nmMEK$6&4HSDz9%;jYpv7TFy>TS5va-+jfwVX5D3DOL~~DGgwd z?y;J+sr*T^=sGAtSo45V@~sU+VfANz#E3E+DNc=5*Ig^DUH|&#J?`;-*xBWd?+#KM zai9ANNKC~-&o|5ZYXM=+jR7w00JnQwt`ou~$Qd?jFKJN;vEQ$elfz_2{S4{zcg`@uG=y1E#sCz6hUhvS(NQ za7Y{Q)(UPkW^EuxVZuHF%bgUhc)q(O`A((6q`1L!wLJw3q{!I;?*nYc`xqW5s3ZaPf)&`>NweY3 z2vg+WDu3?=WUCD+T}&w6K!jhzzf;eCVvsxj5$Km112Spp|2nxujPRm8g92v6fh=-q zt}Z`5)G3TZdKxbT(_FL2uIciK(P#!K*#|9c(r>7AqG~beRa?RIh+!hhCsTXmfOQn#lGx&3^k%IRq*2r=|5mud&ZTfv_Im<(#ysf{&@)_O;No#$S9^(l2!W zcAR<2rYeOW=y0AZ+U|`PCZsS3WQ?=o_Bu#uy272|kIj-lbc)ix7vJ&NC?I@$h#aRL zE`IlNG3X}Hhq745NL=Cgp1gR27?An05L5IipbZoI;-AxZz!ud3MKyX*fj}SLJ-QLR z-SFH8s9mj^`JR|j<&_0^V8mEuz4uSDE|obUkW({#Jm6$kMNX2z?6#C;zfn-dhiU39 zK&NLGwg(20+e_F)ODb4I^UKnZgir4z@Gu_aavUUAMX2Pq{Hl?SmkD;^pbc zPKJ-iWP~DP?6CGL~~-``;o$jf;Ut)LWLE%?jt zW{bX+)|jBS&mi~oo50~JHQbJ|*p&Ha9dD|Z6Rm>XFD;TWYs}Y~4nZ&CD&)_^3lsIc z_9WgM6q9lpKZ&7Z@0PEl%!XF0US6@RQy&LS ziwsg6vsa#vR~paamq@8a}Z&GZt3peCBbP{WKMb~J94vKrEWd(A#U@F9;g*dew2~=8`QSk9=ixKyOQmJ( zQ%R;S!ZgG`PUa%5esJ+gU?WfE%oDke#G-PW@QUDq;gK0!+J$y|jw0^S=SOQymDAk# zi+vPUk(HowJ=|QA9Hsmz#)<4~F zDAeDeZj8|xT6|}>;lQcnO%K_E;k5+_g-!$gyv>JyEsiRcKJ#ayAN=ak-9Z72g9Ib= zerUVE72zG%r*)80Ew;6@Nn2F0CGt>i1V@_j9ka2FIOizZUP=m*I&Yd`i*gg8r!PmU zFG3lUea_YrZ08J*?@krI3V1k@ljgb23n9tc$K#r{&~%(Cosdo5=+;2rkQQV-5!S3- z`lh#aAKN^lC;kqlRHV~y;pNY`rcR!J(?&tQSWQG1nI<#QK6hl`;aefBPtZ{G5^esG zgl5VpfsdnY1+@*TuC-Vtd6LOl%e@$MX=@ZOf{nSlv6#Cn?-m>CtXaZ%#2A2_EDQ=u zPPj|erm&#SKI6KA zLZke?(MP>Xub8hSRKK_<^aIJqs6RQQu7#;6w&5atLHb7vW-W{8eYw(Ofpab;7hRz#HWuI&uo(Q|&idK*CuIeD-?QN~ zF|);{bNJ53S7O3lw}F^md&99HTBE`XG}27;uI8nH8h zV;)Da2Dkiup2ASk4rw&VuBO_3_ubW^=VYI%7iQQ;ryVHz?Bj8JoxC|-iqpIGpkQl= zah+GrZu9_gBa3;1LqA;Hy|8L=T})BXS77fu9>raRxa91B<0>U=rMRO{0*65Bc%{p}Wu1a#gmsR(;NLnXfX*n2*gihH zCnM;vDqlH+niOtUIDNP`mmWe&bQq$|e7LN2KH)7iE~Hfjl44e-9)fyVz;_n7Q=6rL z?hv*afa$a!q2pzT>nM3grnz~n%&q{f>P!JjEPc^zz^j3vqR;m6W{mDW(@{uV+RVTq zQl;g~(uU8)#?YMq=XJiuC|6gH{ix1n|6rg^>FK?HJ!C(TUW_mDBE#5Hy@{ycQs;le z#Suynpb3rH!p~1ZQAY{)cORwc{l9dmvW4rYZ&D<@i5#wQZp#uC0IxCviY)$M_L|=VAwq&1 z+Lr&0jAbQ>Wtr7x)(iFLSQUOze0}Impe{=Vk?#IWnZF`zJ`@zZBEE-7{oD}?4?S0L zJE5t)NpC7StTp$nXDZo%%EwX)00#U=i+6rU+Vs@=EoyDU^-L>CRcg*=L%&iy*8~wP$-KzK9biIYwF{@B*?lY9uLnr?pp|(zZor|;1<(|`U z5u~b?j{i3vGVlS7$`Ic$J=t!i3xCIG!$DpiV@k!IgY5d_xu&)}&~b=tfu`U&v$lpW zt@ZZW7U~L`>Al1o+^}SGv_EcNCBxJXzjn5;uotX#b%odG{3fc+jZqVVj|Y6;Xa}+qg@Tx>jZWDRAZmnUEtCN$Y2r*jxXg&2f5qvl-<9iLwDH z>V0!GRNT+@toGK*c=hix+%bQG%*$F3WfE@PBE+8OVM&Uc`t^xkd3v!khTUDG=2Kb# zQ~PJljd>HfC~)E_=>R0MU)`3NhCDBvAD$cTug&{rMcP&H74Q~dd}uFOt)8V@D<`QJ zUY;Sa=WB*OtIlR8*s{sYTY8;yVJDXwG?I4 zNRxipCxifG7A$d(N<{j?U^cgu^Q;sSYZ#zId--WOv1?!8&9862#0Cci=Ib3}d&iue zYC6F5?b@nF+!MVN80XWz?1-@~y1uNdL*x=#>U@g!C5r!oiWUT3!pDh%IlwbfnzhWu zrvJ?^G1QD9PQ1JeroT;kj1`F;GIN}j9;*-pReP!RX~jidPz;13 zUv|#IV)=S!{dA#d{GMxTT7r>tDku9C(MQIKpSsp$?tRpwJ8WMhUw&-wMv~tCmUz-w zuOZN-D#bLR(Z0sjLsf#<&Mve0pU`lH&`>al5*QryewE=$66OR6(q%iW*HPCsGlILa z76dC2%W3@$$ER`IS?y^|&$IVGj|RxNQ=70L4NxqFzSv0C`U0=KAS8$JSxjtyRxGc_ zYoJS&rB*t3RnCM~_bniGX+GCGR@2>N@2wA{X%v%4YbS^YiV&l4z%}&4x0%Mq1+U7d ztYYqJA7|OxWPPZ_h{=|BG=sBF3!e939A7Td7rOu0q;OcnrnXU)a3>#lgl2j!Di`hH zydL$_6?5e}t#+4j++#@|Cpfh+d=QzvtMS<+Vob4R(&w2)qPVX|$E%MHm^p&EDV-70 zTP!v>&?QoJ>Z2DT>H&tS9FpFb1$7rQA#lRk$OH8Xwd40Ccr_rmqwZ++fUuBz9&v#QBBQ7jYCg!&PShp0m z@|^moAtJWrqMOVoSyLT{y;OiQbt65C4uGr0%cXMJ1OcZe3oRcepRJFeTO9=!M34y! zRpUCZ-(;Hq1v1)2o^f}D7&S7wju+2zSrsf3tj_ie?w?I1INiD%&zW{7ncTUy|W`#$>1Ixa3M!s17UU zhv1NN$9@EB6uu;6ilJ2qKD97~ci$I405^tM5xA_00Hr z&91B?g(I9_jyA|59A4aFS*^=Y8aC*P-)VHcdEPr*SkCXUa(b3&CK3=S!@c29p=hVUvW~6tJJcn-*?)XY1q5RXa5~z6)jqp`QGDtrMi!v9XREm zb@{n;OoCqW=|x=&S>Dq>Lv-1f)BhS<)LSI!{8j*O#pp;bHq8cmLo*L| zI}1!%-PPuvZBQGb{q;#(x@LmnZpKcE+ghxF^mhJTUIK+lS3+($&N;lvF7NzB_)f>g zQMTTl&mI~0as4Gy9_olaG9lf=aLQF|z6MqCPI6GAg(|TX(K{feVWoge;+xh zS`zGRDW!(5lNDq|<~48T?(PPo*S02AOFk4>S$zTj`eJI^OvRpXRk(fpw9-u1DFYzI z=eDIjI`{y6D<5ad(iZEAEWLE5ZfZOb`@EPbY`OzsI=)d)-yad%N+n zvHF1#f9ZFo8CU?0lN2s33#Lf~A6;Aoz$1}G1D<2eZJG}55}0$|i&!1`AS!5nahVec z?^M@b(RI7d_*_PM3T|1R_|MC!KF2y z<8sd%#Z@?^Hb{R1iz#>{VaYyQQqKQA`I-B z4{#hq)5Xgfi-*0<5Ebjhe9sg@db(CLk;P*8(YO=9N~fpQf67Ups%mXB>~U#K4ULBe zRm&XTyS~-0&D3LQeQy5M+xnTmwQ!B4`CC!E-ghz6vt3_o_UfTX2iOKUWq8xnRGguq z%$DpI=yqAm&@020BCP~$eZ#m~%{zp;z5?qjHF?6Mh|1>MfzHa_4<7=LRs@v>8f)^p ze3C24@~z0_ODaN0506gRG7rm?>98B5WDO5EPC2B&s*+aXLfs@*{9At)O1dlZ4XyMZ zCqZc?W3%x#!n;w01hZ`CH{*wQ7|5YoM2}05SxGSE95^)10J5% zulRoulVSjz3R*4xqqNiwR7}t@wEF~q@~}#wAT+yAQuz;r`kRCl1>Ee7mZ$$U1aPh( zQX>4^`d@Jp@Q+l;Nfy!gA3P@o_=K3##2M zUHUeX-83*!FuuGOQSR!Bc{l%_On3%>{Oak909?%37%$S3?{+?0%MMBEDy-XHSJSe{ zRDuFbbR1wy5Zf8|6=zW7GY?l>4w~=c7eFv0*|Uhvu|dmS(v95W9v72uL)3K9%r0GfNVT_mhgJ zqR5gmAxwbFE1a^-D{%O}Uae~Sp(NJ=~|iOL&R`bBAv}GUNk-Z*F>ZtN>zKMk)X(r_17t z46@4{+bNS}KZhO-;t`ei>xk)YdvkYnzR=z0sui9lbkv;zu5$cLnn1Bi;amKdBG|u)epLp zmc(QK8Digt&yeWC7Dj)q9bf^felVCG*S@1PIGlFu4|?7Y>h6eYtWF?A_K@sfoSx6m zwTkmd{_S{PX3boHeCHO|0}6G;I5tc>n?1s1dri9zaA557HFmR&wyOi_2B&~F!p3=k z+tJ_&?m_}Qn|8(5qtE1XUVuogJ@J>@Y9p0C`e{a11?q?NSNKZhyCJEXJ?rv8$rLpa z?v|RL4{U-2$o0WKl{7q3nb-UbGwV;CYhfl^c$Fa;L@fE#a;EKd!RyQ)>OX433ILDc z-mOn;oXMo7&rpc=n%Uoc&H1~Ez{CAmqlsbz6T*y#q&3fZ0Xv`#uGMm|>8dL%Sm>-W zN_TnHW&a76n>oB8=tIs2XZYKwp*pZm0piIT1d8WFtVCy=sRHpKk`a+eY;!+h4tsF0?dI>@;x61 z#^(IWIw5R)0*R!b#p#s<=yq<*U(JP()dD-fp6v(Clz(b87ewenY+dZ{c`_FQM^bOL zxN=MtpCBf&s-;IU*R!hXI`~6zqYCzVfGm6C_)&Q6c{d}T*EQA56jte-Mlfv(1cQLI z7G$W+4=e&i{>gyt=0r)lSLvh9B3AkuDTH{hHa3%j!6L7szNep+_%1loTSs(5|-M2 zZSV%xr@0GREJq*|cZ&u4cy0JXb>ZZPn9mv3#e)8+85*D3o~(lbR6G z#$_5WC+6=hQYHYh?rnXMH8kk{+4&k&6$*^X%d}}+@AP<9DfDjXwYA4Hb$Wzh`-kLZ z{^LnU<~H|+r{G$jYdeW+HA~aQbM0;?d1doF zuO)Clz$EmJSX*+^mLT`05BV*Rq-ZY&*Ven-Jl=W_9T}+=YaYNsXJu!$z~nSv3jrSE zbZ{eGcP{$HJxre?wiU7Q(PBK``*eZe{0zuakHr3{NGD_g9aG?Uq+(00A?5v!$?Tfkei&iTNKAq78%h9jVU%y_L*mDGRjCDQxsJo?l zKCTq4>k8{ABQw!=2l7v3glb(h2HX!9V-$m{EIcOYx#RhhNTUx~lNdUl7THM{izx9@ zPb4NLwjhQl{f=T_gNoyo)tk_)wg`y|oAB%(dZ#&FV~rzfOb@575W$1{qm61mPPAB{ z?0XbK#})96w+Z%f$1JVpu=5iH}L^oS0yKaF#snaM0{i zUzL@5s=|$euuRwGr&6I#wgb;bXESSgZthAub5-rdoq#b z@A+=|`MoUP9@KR6xqlbPHpFrun6F3WyaG$goj;7XyLYoRc@^)zD_R#X8f+8WG;UCi zBAd@W8@a3NoE5@}UZPC=I@(#w4);?qTI6K>WDAllj0>XMWIb1$cL$}|@8bA-C_5nQ zO_-d*yNMFZnb$-W1R10kb6;XLT`aM*o*LPyOe&MrRDVj;^;|dMg4V|zrOL@_d=?>F zU%QCd(8Nh8Elgl3^~eiDPdysFZRi0ToI-D~A81c|7Sp%TTd(H;!C920R3E627v19Y z!T#{xYX0@OVypyCZ|NAaoZL1jzIF#k!E&e6a3k?6mpu?(prLpHN8{~cr0~^=l7baW zr@%*0Aqau`nXB-kH(p8he7w=a^Q6f4l0m!ukepo3A>BwGN;&J$xZk!Ho?CTPSpZgw zY%=kBfvg>$^W}J;yq9;`ZMIm6ar_|J#m8lg9BCV8ujquP$d&FOmxfGHAHK28u!OFd zRuQfV=O@+ItrBDe$i-*quQ zAUB{zfx&L0YkqQ4=0IV}0%p$x-x_KfE83ztFHkw~-Mxxa?-@7{hK~;Vg@w&HoT=&Z z3IcR97^KCeM>I&f6N}D9^V}#>zgnp~3 z;JH@fl7eF_i$Y$!N1phU<;HaWNKLxu7qs$1_R{T*t+xS>EuHKtti&_--@7j-^*dj7 z5XK?y(?J1>&P5-leSm-%1mQow;9x1q2p97b?GWE(#|;6=fep+LYaho;(9px=zd*cn zIuIq$E*P-|Z}T)Im6j7;331ra$DM=#+iz!`TI6J6OIA>p)2z-Gx{bQ9onmEwVfeJX z2ty)svaI5~d^>YqBU%Qd(Y~^>bm)Z^Qk=`fzfSOv-RKuVj0oz53X^iKE9mNdl5K44i`DMdkDR1j;P-nhw3{^V+5R zooBg@toQf`RmePIU~V!f1-JKk=o-;00v!V1#-UY{!mxsPq70cjf`%AOlf*q=3s?y+ zOw1hVy?l(-)~Vj;mIllzt_?#U`*=N@)lNaamt=G ziA2ex4doI}h&9p6=IIEclGBnDl%9_iQjjADs(e8%eY_-EOf`qBQAjSA{7SqB9cT$t^`Ewv|w zNr++KDya0M6}%#UeF&EooH13I(N;vVMAG%qD3+z*i1@BGwzD47P(rz~uExPkc^>e7 zh``zfOIVHS8}0c+Rm9a-G&pFD&v71J&Y7rx3&)L$u_$vg&u5b==>U~^({PpEwE+V) zQWLR^exmAYaz6+7C{#4e$2z9rY*<1npQ+*@TL+()pQUp|^qCNLDcya@9dFa(?~|;B zmF!|nk#CeA>9Tn2R4y0fQDo~H`89bkTVhJGU-Nj6FQy=QLd0gGyfR4x?L$x5I}=qs z2%40Wmw{!GO{O`v2=kzUTz91``=nC&?aqK2OROhFZPRGqp1HbDui}RE3Io26JB@ zjLH)4Y<X139>E5Xj;o@JXR^+Blk4h`iuun&#K}9hwalpleQq$Q8&z#xQVmZ0^ zD|BT8-m@S2<N*Qm{C9D7PsU&VxKy#YR!NYCFW1_BEq`j( zmF-kk4d3JXvQ{IYDvD0l#o~FnL=t`(%g%iIbsE3gWTOnJ{Q@=B(2txKDz9H@N80nJ z$5dgE$kD?VYL_U{p7MxK@e_^bvz)pYV6omo@rt7=?jJZw8Y-&Euts z=d`y@pGApHp!d|#Y)_Pd%lE{axn{Bpb1k&&OJg2Xsa)0#_erlLejG$d6@zeBx64Krqn{`u^QvPNyKB!2iwxZdo3ckDEKxv zJ${;;+(!smx9fftBx^W zQ_9_2t8h21cET;;^iw9PciVBw`v^g?L#<4XemXSBJd^!(OrnB5sw+hPxaVW}*A3r& zV%oxruVqL@VRdI)p6cc_PcqkYIoa${>I@TR!lp}$%CYlQaiS3v5&Z?*K)IKN)HtLV zz9);6Hr_k6>G`COs3vRNGa>8Kms*^)AhzQj`&5+q4Xr?rHnDKZ6mpuZ)6{D}xU(_ZgT=&IxKgu!&1P8Fr7|pdsLE>Qgt*c zn{FUa*jYXOc05pU_e&Z_#!(Jm{;OAwwc#m^^Stls_$8!^M^7<7=C{{AohrYnXRO;y zD{z{u%{^8}yIO;bD`OxFFQsD1~;rJ)_lp;WFi>TxGM6yw+ErcnW$( zbLYffUf{HX+?vX?{&SITo$`*>x8$JryTcE?-SUu+3mLNuI(8KUsxn<3CnZGjbG|oM zu1<35R$zKfi2dO{Dn7f2woY`1sDLx6ZecqyJVETHiha<_5%FCFw0G=;L5{Oq>ATZ< zm_ry>fEWK&xY+QxOQ~(?=%#4d>e}P&Ea^#$M**lv1Z%~%1=(;jL+y3amGkT7Ce{@1 zY$FJl-^P!Q(25YIyoso5{YqU%vUChohuLQ7B15$BB`uM59NJfTLp54<`U)DS(PaREF}zY%x|2}9%zqM2NJp)O!QEap4KBuC z@YzIp7EklL?87$WB9@LFGk%8bLD2xz((Vmn%j=)-uJZ|V_-1O&rldN;jjC8?_z&3z z1+08lcsO@)PX#g0SD)5fLK1C`#w*{RzssizFw}f#TUe$uYo>3bl3Q)!Tb7qdwlCUgir&#urzWnNVDzkLG&XX;36bE;RCxP!&ike2 zlg#V{4^^>g32n~6iUq_O9^a~}nAY^d3W=XuTMpUEUUPKoXNG}b)$!%Ld zm5`kIJsI`Z@}VzFvyKnfSN$V*bfP$sWGXm=(Ug13c9lP~>Rt#fGc!wRYo*}*%*%IG zHbbb5nWJ7+B3>0*nakf3Uq%_`Za95&`3di71A@gqiY~W*ko@a=X1$ylJ)G_upN)_SP@)PZ9 zi1v@LvB0>b;@6&W+y5uiA%_6hYe%0q`Az98ztSY?tL?v&7GanG^^SZ8*YU56LJk`E z+f@#g1jq>dPM&~d!~f%TZ#06Sg*d?k+$=%M*u{o`==9G6QqSNv5$b|@E&%R77tA@2 zs|S^ImvQA*VGY9P90Z3(1Jb~Mas(6o3=wDJxr%c+^69N*zLc`+pP1tSgwqdHqxXp1 zZw{Hh&O-AG@zGa+^Noh4547KDZ_6etD7y)MKavL-P-V@>R|{0jS(ukE`+FY`v2k)5 zDkO4${P3Y^niWWH+k>2e^gw zg(`bv+x+{IP+3Fn={3F(0>3$iEGifzF+o_?7!TO1bMwHNR)ZMLXlMhRv^+%1$c)kA zF)!`FHU`qnCNo!P{1-ZPfHi-F;Ep)_Ohtpauy#G(7}NsDKnd#nzdG?PrJzvX@s%e6 z5m!ew?l(Y??#hJLJDHdDP;S{3J8Np)_o_5~T>)a%`^G>$I-#Gq6k5lT0h*U}?&A<& zz}_=u2q_fQ+Nvye-Fx2v$yIFf$A@*=tDFkabnHP020!Ok2Nw4+ka-C&kt=RE>NN%} zA|nah0wQZBP-CH^#_^oUc{khwpboa6h=Ss1c~+Wpjt$gU*njl5sd>W(eZI>bs4R+C z2Brl4RRlRL*qtR^dhQ_akgW||6N~{wA+xF)4U=+|U{OaC<5}0TKVa$hk^lUwB!f7p z=(2MH0Cf4n5j?(Gm_2~Ix#1NmINgB=x|I|7jq=K5j?Y~;$LF88T~G71r7u!J{oIu? zfNv8&AA-z}WMr`C=xYSRNNhEuZ!Wyk*!%^IV3gJtw?sPGAvaiGOjb8Vr8gcY{Yo4i zvfkic31U5BKGJYl^6?vF?j7nX+bc@4usf)MdqDy^P^S*@(~(jYmdJs;viE!i##iCF?+Z0~a6tY6rAs4YPLQ+kB$`f#YwiFLn-1q;?uCD|&p zGA8J|KrRv%ZYb~PK+VzCL*k2;r%TT^I?4+AKmke{UF!<2&}mvALoeA$u%(Os?x5r{ zv{py)?2wtt9Z|*G8qS-k0lggYA&$kZ@K zFq(jM!q9hO(r#ko#`DHsdpq=S46IXH&gN+-N+WIn^hAM_N?T9)CmcS;aAy|g}i+pXuwV~ zh^__Uj8Xj%*S-tyPcka#Po9S1iO5G+=ub@NqXaX+LAw0zn5G(_@kio^zK9Fh@yM(|i)%=|)$GsIcAX0W==PuBWHK))mrG_0o;JaT_!LPJR9; zx&q_^*M9=*gM(JO_S`9%S9@&6TbT@`$?3_6s?(qA$k=FPCzeA>Hq2pQpB{EEWh7Tiq+D|DQIB{wJlDkexdE_tr#2G7@j!<>hw z55M$7c40Rv`;Y=U)C6JEDVcudu;TiilxAT%oHl}b!w;`N`@c@Ca3Tzm)2rid1!>uo zw^*N1RlcA{)_i`0c<8nB)>!EYOt8_f^}e9fD39xQsHuXcR5aKMc0UU?fdKy|!>)4b zC>$E7@cCT}LP%pEdI1&PWP#}P^^XaF562crSBTG;l}pd7Y!Ih??4z&l_j)u-YsF4N zf>D)9|eONX`$$VRY`0L*LIdGAfE0!3N6=8L42`PZrD zUO48yeW>PMzj$Wg-mo!nra$(w+Re5M$s@|5{oOK{n=u~Pn@BbdpQ#$ICW@1nL-AWP zUy78RVOW{An0quMhJq4Qt+(w5e%(ShH;V`Y-O;+;` zZh?74tc^r_p?VVy6%Ib6yp3WlRzIZYA)JN+NE8RtG|hI&O^SPZ;x|#dMU+1?L*3#f6|@5xF++vo;|q zpp4dPo*|V#$g?qqaIhdEs2@({9h)_OL5lSm%{9WF`k@qF_u-_61LCo~_iHYZON70I z^qd%D2|-xQFb}wG%-B=dtK975UNS_T8vS>|`L4QgZ#9;_3^Obi2YQIy=umW0JdpSH zcp^!=9E{e&^QhM!LS9i;pggo!=`wMwkN*jA_OaC`!Ch#b(j{8B?=!r7^Ep*+i7E6^ zwAZ+fr5VXJ9q4Kktlsp>F1<>R*Ln6I`&TKG!dVgITXeZ?y8~i^LB7>4{v-<=n=3rA z?l!h1vksxBJ{;uTj&SW#XX*n_fjqeZ&ZAtLdxUXzd!s7D#Hv@H~$C^nfq zHzNx6ZrK9;npF?=(9k&C4xU)kE_7F`HWvTOOQRhlB? z)Kon5_!Yh11m~-@C1&Uh#0+c6LF#vc364T3ZOu1u`Ib+d?c;9y6MYE>xai1kpiLk6 z1$*QmnOYkgbcjA<_V#%e$Z#3Xc{el%d)SS2{^%y>(xU{W;Yt)z%zP+8ykjr0MmrXG zimrgD?h<_|%yf)_Pdw1!7lYwGY@jOZrra=%jpzV-YHIk1umWXo5UttNn?}G^SQY66 zhHj$`5fYCvjH1vwD&-uld}pNI&R+C(O*C*xSx9wRxZQs3eFnfJXdu(yQ*f z?(7&-!>}7(mEU9N1=C~L!Uf|{vTXQlyrwinAq^Jv7Q{JZhMLq&u{RaoeGfivk-;PS zKhNU1-Zd0R2;n{IZXlcxf$LyIX1RU{^Id)FtAqyZ=VVpllILVrrEsjWtgL$NyzRG< zj8s}T@MjT1vOG{_~JYt(lU`QpG3V* zp?d4AkB277wdV>-sL$e-6SF(IGEijFiY7RpA`Vj{?_u(vqol^d_<96NBTjICyqqJV z`x!n6h!H71uSC(utU_BntYW{VH1&8KZ>EP5z1-2A?5X&(O`l=Jo?;ut6KHFjjAo(M>NDF7ICSl!|%rjrZEB++4=RdCBiod`BL10Rcq<;S48I4z`1D+ji>GL;G%C6UU`-jckPds&oW7|oblD9AkS^K z&snn(Y5DGpqHo!>?7}K4GXKTR;aMimdE~dJ({Fw^fgtQNShZ9t4-$`gP_1fsjzDyv zYbQ){g!~a>xsq=Nk%k^o8!w8YD1`7vEX*S zrY-sc4UWRSCSXzR`%?>p8@FB+`aZy0ioZ?4cnA4uoiCWfyz=N+i1pQ*Il1UUCmF|r z0;+meB+pz39eGYJ{F6DF6QaD%chlJnB^$DUaZfo%QoO|ETcPB zbON|$oGoc|tN5;=9N*CN;<7{ExrgxeqW4ihZ0_$yVLn`kJ(OzxzQHGSN^quf-eFI- zGHatsv{Px>Y4y#M_C1j^2*uAzViG9>;6Vsw^M7Qxl(qaBgC6&q#8TPoV^Z_ zNN16`Pkqz-%QdGf==bp}B)LnBaGEFXHi=I(uMTEW!ar4;`rUQuSl2lYNpq}I{9gFn zNzgm<1a{-**&m&p9C3d7v!XzwAx{Rlc*<0}rOiD*5wmf3^b&*vFe+eRrTc!{5%v+!PXonR^uG_cwO<{VzF8Il&mVe*&;S zPrw1UGI;RP{aKoS|A6OL57@elrN6EB=LvP_a)O^=R(1dT&M-)ka8HLRP^bR=gkc|W zD>4b1GZd1NczX7}$W*pjAt?8A1q{rkhH zk*HH8pBMdaPe2B@;t2jv)BWz!KV#tky6HSG>j_d0{eA)B6rQ#yE%kr8$yZ#*=b19@ z2OIsEXza~WQx@cZ4HBj#xb@4uH?f1T?~b8PIC=H6{~EZl9dJcY6zW^z^_$Yij|R*NiDh(ocMnZn_+>%z}b9g=M`jjlmIN^Hq{H{~=EE z#oH_36BnC*P*vSXUs%%mctwM-@1OOn1%*7-BiU#eD!$;ljFl3bZVbF8lj*(ycIIUT zAd+SS421`vR*53lP*1Wga4b~izXuL;Qs9C?Vrf!cBy1EP$SQ5euf;ifNXffdf3fnpA} zfK8e$aFs3~0R_%vj-lrQwVZgE%jRvRVhI3vLr#Ya7L)~LZ9Sm^CBS}1iSSh$5>;Xt z6oat^gvD%?=Bo+CWeX@+1WLtwlAOIzIbv=4QIP}}lb!d){fL~5d=I@41@J| z0s?>M`Ia;)a6v82HT1xK67s2myp(_~jKdvzI)AT#i^&XMg$&M&8q-W{Yp10Gy z8Mbaz58u2(-f6&8E8=`v!n5Rqcnx5Cj$Y57H=StTpK2SANplWdU-%__=a?~zfU=f7 zXE`acYz;awpv8?;qUWHyegx&GJo^fr&z|2Ad4cfIRz`%3MDy*Q#ni7>_Q3!BF2^1OWs62c*@JR^}&Q)7G3Ax}O>Td^t}Mr)mv>(KKF% z+7sUPq}=pGHU=TypIP2>07)J5TGsoa`%3|=re0*ggnHlLfXY&v-to9tEZOC#=Y}V% zV=38QmwlskyJI2#2I=F95(=jWD6+SrwnJq?9D0kRS&nJob#|Ar-fBal0~qDx*l@a4<^_^mD`x@BW1 z(6BjyLO%j37`5q-AvI9LIGUbxb!eP^0#tFKYs#Lv4P1;*R!8gjO1E#6y!R+o!#evf;*_}R&eX0bD722m}|fi zx#YZXtyOo_OMA?Xf(yn@`3Z2A;%@|!2NsSp0%o;wu0RAq2252)qNE6>;##fqx~a9Q z%p@d0pqC`tT@4O!Z}`pyB#@2;N%*6K^cj9fH#+MWTtIMu{}L6Xp&U$5Y{2Tic7nm-G= zU6qqM)!k1FhEG(*xbdOx$&~x;)E49Y5#vX1U?OX%AjtYsSPBEZ661imRXk;i*kF-N z(AJuiR3{%t5|49I9C^eU6cBV3HMH{#62lUP2Ou&$OrK9h>y#p0kD9G zk)C^?s?+Uw2=5X4s;@=*OI?&fDv`itkL(d~@wY{YuiFnjO+&#BQ6e}Cs{;~O_;(e* zIGYZG+k>ezJji5^RxBaJ-f!yuHk=F6JNjmMEEHZ{k9__Wav8gxa-0=B%RD69uNHv1 zZVPbP_vBjaZrSF^=7$9N3GUe^A9|S|*`m?oxxG$Qc-B$)^>Y7H^DDg2IPUq&!A~DX zpjc=&quXKNrQKk4(`lg^?DOhy^dTTCq$q=oOl1s3eFvf^g`aT0xEAvXgx6zfXSEhM z`G#fy;|vy}_ocy64iK30==(!~J5lT+6b>uLB`*n)=9H`P>@xN%#=B+4QJ`iu8=;P{ z9A{fna!kRpj3>ZEx8r_)?w&G+Ov}ZIaP*d!Tmubgc(v0JMWW8naybYK-aLH5rBk+j zTjJyFZ#e&=0W3p9lg+aRP?!R6K4{p49;E{1A9J ziY|a~`-Kt%KZk_qxbB&1Cxmuzn~~^Q>yns(eo}=T zy?#MHqYGEi5AiE)ziYlfzo#^Oxun;&u>-iHgV8%63GiZRP@b~|pVrmIQEIN+E1cbc zimwTU@<5qHWCrT$SiS>y?KlU==}kLnq#-3Fc;3hH!Tfs+>Yh1`C9LeD)7rA`vtDgzH}%7%VfwrgP77UI=TDrnV81Emx?qblD=7pqm=- z79=7X3DKnLTbN`mARiKJEM*5@KWzPk3$w%M>BNkWgrf^b*9GaoD88^bCreeAPB{LK z=Ej6_0K(iA(Z$F zek`b4p7r&(#u(L_%0d>jGY>0~_2@Jt{Pbj-xPeP6hTa zaiZC?9}D7w)e^*?B<4+4;<>hSPt>An1FkCs&xc=TR+fiwE$f%LU&gq{-ISp3unR~I zY=)x2T0P3e>XoM>A2V6hTT#J6!iaHLZ8J@@zqCE_%3B{XPDp_JoYcZ*ktCAs@@Q7l zNJ)DT?Ne-b49lCj6$pEZPWv4fRCou*X{!zbf8Y^Cwqi8dcorZ=xi``oKRC+?PVK@#KCO81%IG$2T6p5UKsT{nA97h|{h37W5`MRCc}MB~ z;0HZw2;f#sUS1C5QLlV{ys&VDyCb#LDQX)e);B_ZSnvAghlCF6f;Bq{i(_Rwn`4a? z)7zO6Sc3)Q<@6pFreIl=$K5f4c(KpX0|h46lu6G%wmr^wX*Ls2`Q8fl!1)_L0S;b_ zK{^`p+qLqPTeJMMnm&cS6q4w9=o6(IkDIP>uPb5A^?i@Zuj zotHIM=ZkjTAe80%d5BTmzox+%nRZbzCX-N++||0PgE4i}&IJ?mD9b)@ipReZ zYp0*{do&P!{d$Z^a;m zW1EqOFSv%9wvtO|Ew|Z$oZp5Wf4hHzTwrToa5ONwDN5S*x1`wUrO(6{M z?bO6i$@1dfrbkg!YdZO>HMzZgpnyFqbYX=0O;XjGf`nvNh^;)>?kO@GSt!yhP?VeE z4d;Q4K=$ORc!>bZ>gMgO`sUz#Egd1tgLV$mO%A&po}*}r*7e1AxMJe0&5)`IB_ zEZkRf`mr=`b;w4IDxs#y$Frm3KFB!H{Z!JaQp_ueGm$XX!4oMo`>~@8S*7}vp%*&9 z>Y!M=s>b*LhK!TXP0HsrW*Wi#hzc&-Tk7k+ORO>E`ftJ>aqB+>*ILq)@jR#X0O(U;E!=98I=)!E!8|Qm0ZPWxTM3Rss zk09bMA=Z3tI1IMz-?@`CPDT=RkJZkHd4p>_u;)=O@R98kGGa#ab$xT+$BSs|OR+HH zWklN_7yiN8R5!nX0Xoa}Di8lSqUswR;|T*d9Ui7T5&sHAE8Qvt7jyMT42Wzl<<00sBX{D?j%OKjojRT)L`VJpBkk7(edXsrWGxKGJc{ z*^b>jV=T9|eGJKuQ;ctkbUyUdI!(O42)*wn-i^AxY*|XV+e+!xRGf@^oTFCl_JakD z4VEu05eGpMnfqb575O*0lkB`GcM09OKhPQ8YY((Z>*{vg$zC7wmp!Zr zhD=u^AFf-M`$T{7RoaMM*!Od)nH|_^j69Q#f{#|pOjelgneN^|aPdYe%W$JNVu(w0%?)0NWuxp+ zC57JFnrJZgUaS(%lm;CQTbHCQlX+Ytkc-2vwe|M;$UPgfP8@j=t<#jY_PJdpc1kd_ z*d}g4ec@`7ce}leu&Gm{V)gqYTmf~hWMM6-V&TQ*jn-g!T7xdVK}JS-}KKwm5 zSP|O060PG89J8$I15^Y2^Rv&lv4&waQzitN@uV@)mDu9= zt98H1cIUY~waEXnsNzFxOFI>*d^q>t8`e3XVCFIum389nH^c7_@swpEzF*>LL9le$ z>@FbjBe3yT96jkC-~0zI>(_*WxDC$$q>Abgn`;_dUK7=P>>=*_UkDc$$ukSd$Z!c) zoRyPvq>gxzy&67R>OYv76eEm#fR)o_Lj8ZCwU$@_w}q;DscQTSg4?11;D^@T`aft0 zIDIpH0P&Xoqz?Aqv{Eg1{O~_o0KYjBP5`3Ij%lv_7i1fR2Ls-v9KO5;6PE(U&BZWG zZo{x2L44ukUo=^o1i*hnv=DeCDJ)N!&$VNvWi^>bMahapv_sba^vfW4@XD-Hv?i=8 zdd?S(uQ~O_7WSlxeYX1Ab8JC>o7CtfXir7;P8)HZZa4{M$kT#n8y)uf`r$=?meYUZm9Ci7 zK9&XLboXL)6ZX5s5qAE|Ha$G<8H76qYSuxn1^9mv(v>%YFnltF2C5Xp2rzHxzCG>T zn&3wJA%!2}D29Cml^*!%0QuCIY((QKBx~Nu zJ_Ea?J%yW2r`n)X06=~E68quRAeHQL2Mh5*%HQuofqqwNI9(c?6R8IYMP#1>SIka( zK=b8BiU1UK3ZQWJpSuv=^ra5D04MB!P>NgIKda<(Y3E8B+lmrZKRNY9I1MJWV~nBUWG_#JGsbISDis44@J zSgIu~X|le!5X2AIBmWE!+$bBqP>e9F@qgo}r`l=v&v<SgB=l!qdt!ieO(=SixTKB+hM-3@X_cz)Ogn%s+3AjQF06Vw2uJ{Y4r?8}gs+~Nn=8F={bDk`6*g~pJ z)El-jLpOi>#SZlJjvPw}T&IViQdlQP^a2#5VrEaJi=^qrS>~?7SCm60`-7qz34?_U zKB%68sR&NUzw;}1aspfVBZF^J@=cHsTFXBA-@%ys86absJ&r;gu0H`<&kC^d0fqm53Sor-*B(K+j%0}qn$gW0lqkVBy>!H0T@@Koo8=}SC+n?r9F=*8^7sYvU)Fax?XXofEyWZf zi|QwIe-;O6u2`W(F!sfu3={kB2{t;|7JwjdyA>fbam0)K>dq|p$aE4?SgO6RKKi1+()^)$+k?0uP@%Tj(HUt#Tn^9WLG&Y-{2EDC!1Caa!j06adbcpi3I4ul<>a_RFD7>GD&o1Xb4K*&FvWU~FT*Wm07N9Mj@F_VU1)JeUJn(KM5AM0NPT7JC;&#fM zou$(SXDDY;19aKCQ=+wO4K{s_`~ozk&esR$Ms9Xtsu4gmy{7`q%nMrY=4{rX_F|9Q zrD}JoaOs6!DAUU|E}O`8s?O?_i3-(X@oy~9Ddv=N$c+;A*|qD&RNwt&m& z_4fCq^u$1in3Z;jgqhrn4?5w5+>JP9!NrTFKK)i2QfwX3*%O($eNSLuP9!f0eG%xO ziU8y|8Or_emLL-JG&VR>#h1@M^Y>0g+NeJHvl|OS_x!qyASzE^EWt2Lq1b52H#?Gy zjcj}DsVGSWL-Kycj5&{fk2n}4Tda}EH!8H_BPRD;J$xpjf%P#{5s(SDK8; zJ>oIzpaCe%6CDLS&*=OTD61}4tFxBhu9qKw2PGzJ3ZL|g4t)&7<)X@$-Y}%WU{N=1GQKtbwMTRmptje0k3AGx8tth@sTH z;a!>O(MH^Yi7>m_DlZ*m>*X4M1!r9Qp3j?YQs?Srn$tVaiXQTU`IQ&RU71OuBlau9 z&3>AeJ2$UZhDvHVnE7U$&MHoGu2Zl#<*_(ik)&8*ygx!R(y7f@(T)M1D~76D+v@wH z@|utpFS=4TAir_Uy_eS~LbHj`)AmnnGA6FmBrD^+MJLGq3m|ph>P+dXa5Qa4ZcJS6 z0<@XiebS8uG?*XzgBP?Sh;brUmi+#FXPh*IG~-f9kgmgDYnC3p@y5D9agpngJ7ou( zIfR;u{tT;xCnkEMJ4SzvXGR)%WpuD@o#Q_Z(NRUTP}Mm+ma)i)!I8^O7YHZvCiQ7s z>AZzF#xi7X`CSM1Mn}_j8Lu*@>k4#L3TxS=9IntN8~4$-KNmF>kVGWW6MpKK8l2Zv z`a`w>63S&4y~e#aDW1)%Or^QjjW#IEKK*zt*|?@KoPP5(qQPW5A6d z$b8av1_l{Nq;|EAJF3-o1xpr>ytSpoHDIcO!}~0TE^FRnl({Pr(Vmi=^D%e zC58uh8swJ%Uyv-Q4GXjYK=H{ZCnBi;F7M!4JME+dyO*VJ1pEyg`%e$SI$TsS_A?$3%HJTMv?BV}Owx3kpR;X^hs_k992OR5m^&WwqGq?}DQmt+Yc63_=Eo1lfMA zMNNXAiR(B9J4+-3$dQG>#$W8UAL<3tM^}M1l(10bP&2TWM*B8K3PpmhDR`Xy+}e;%-rPxr9LWaD<2kelpcZX?qzrZFtvIrbOs zFm5lEae{^CNdu60Dy&p?0y(3knz%)(0ov+E*btqg0@I>e%ENO|N3(%(O{;y`ySrZk z%ulFXa>$vcn*mpQEMMz1&#WipR)Zu4Sgh1tt|wsK8Lid=jjT**j-M}}#TyvrHUV}X zHy~A|o$;GyP_z8Scz}IM3dm!fW*mfeXMBR@vPF(A99P^MLAOx#`l?H0x0uo&E%CMj zy`ZQ*2)%p8Yb^--e(gpw-9^dj%AlZ|L246(bH8RK#CA&a(^|subF3oLV#fi~QBd8W zF0xl6le8Gn;oSf-vRnOneuVbj{68lmc5K?d_P0GMI%wWZ3mk1cpHGNrV+=!(xIobR zc6k)joVcLy#trI5a=Z=7Zj!HI@EgZ#`-v%Wv|X(CKjDLRCYVg^W{sY0F9u)1yO~b- zBdY+K33dXxBK(nc$kFqdJ5=3P6;Oh3ls-!etpXRuXyol&4IZ4a}mn=S=UW zn(yqcprsiR4jZo);-b||a(h;d9(q4nO7(go0oFLHeZTL7ed|y*XmL4JiVF)g+ut+g zo^<#2GL6{U6$6?_xj75EmNI^Un-OGpB{Jx;Onk$vGYckrfXcPTFO3w62>%&#)$`=r zHsU*`1w&BXu(vxXm*ou9*|MR&9_Bz5E1>!#h7-MEeiOEF2On)gD=&^!=E_xovt0Y0 z!6l%b%FItWRz>+fn~pYh|K@|;E6xv?!Iwmu=Z&ky+-rC@QN=D4 zd>|~T9UA?F>Va53SkD)bjT@^b1dotrw#{q42U31Yn_o)G1U1g-$GgGEFbDZJG9XrHt&M7V$z&v6@f69a-#bS=`|fQ5b2t4%;_ru|3)I>>Xlk7n zu3jv1#lKuOUey-AjjPET;@(JXN3d-4*4qDhqJ*o@mIJ@fPM~jv`7Omp#5vM6_(ZJU zsW_YOaz)=ZnZB_1nZZ`Yd-TA~<>b#8pPd;VmLN*fmA-N6Q=i97a8%uJ97djzagEZq z+s{{g3^5z07fs@M)+3`@n9vm&VPY}fc*kVl&i7yd!|P?TXKBhQlb-d!0Rf3sk**aK z`$MViv1%h5##j;Y!d+VzZef2&3x`H?lUqWqPui;RnW9{i1U0LQya6zt2DeCJOP)tO zQPy@b!2!e?mvZ3@vd!4j&p)wh5Yd@J`n&|~lmJs)0d!Ce% z$ag~PB-E>OyS^h3Cl*R_D+Ic?8|ny7qi{iMUT)CezEE%{ayobgw%_BQ721rmWRi3R z{#NizD1y|Sd%;$<;5fm8Pvk^={iDm~p2V^hBv(fW1n9VKC*zvFKR}S-rOrqDL2XF4 z#kl(R2cTDsfy{Y=55k%V%E*)5F0^J8#8?m*&du3n$+mE&CV4NHASks3TZ5^Ff;|Bz$?Xjwxpg+mmT@3UJQaJPmUL$lT zppu8QiA(WS1cKG=3?Qtylb8_v7ijneL~wMK8oY28-jJh`PF?0;bmNbnq%BB^!f_Zv z;TG-14AufmjN5N($&ySos!9cYGvkhqbyiv#=%tty9}z4))dh^V!2$=SS%5XtTP|YY zJjsw;)UuqfgPN1J>N>%~jgHDZC%zt|z2QkC=AX!ea&HpxMjPt)MI8pLz+-db^8*NZy4 z>BJQlZ3bvz(FHDBee6N_;*P?AVFNcSM~y)CJOuHVLp@gZc(4HCRCoS@!5mAKgg}vG zh+X}h6Og>S_pJ1=1nc!?SLx38oYq-iNbB_K& zkWyho*Q&qy9qLN*9OYJnGh}Twxufzm^)Kt$ogeFa_~#Pa1MEL!J;=|+di#$bkjvwK zL08epM|ro*Kf340ggB$@8pW}1t8K2bq18K5DAU%RuK9fL?A+;gsVU&K-!Mi7It~x{k3D% zGyI|o37Eo&v5n#Q(Gu%OkA77S`sddz$CbU|hd8C*m!{a!b?ymmZ3`uSHU4R@`+fDh z%z{1=!h8k#W?LbwYY|GOho3n6crfwlUX&?&vs=|pbg9yGqsDRJU~zr16XCld)2Zgq zv>Sd7>l#-WuE;Rb1oKr)+ZJNuUrKhtPa&i#osKK||1G6AseKIRl@(;%_sFBpL= zZ(3zKgeY1mE~dX+KEXmaf^Z*Zx3c)X60Na4@Mv?wE*yQr(LS8aP^Mp+p&nIVLxph(gCA9hNQ&YU^I;}#*ILn@xJ4cWomU?_@!n0SE zPmq79G?Wjt28$+cu6`CNcG_>9*$h-mrVrkg5vq4s+7T2TRuw7YQ;pDQ7-Jl@(?&<7YzNzrzZ_-ywd!?&egz(zj(Nz`55&?(Nt0*5|-Pd{|BxDA0JwR!4} za;Ev|b^kkje{iz@jP}Xj;r2V}O_-xWPdDHZGMmCT)x+`7l8acF@jgX=u7P3)yK&U# z-Jtbd^eHC_UDqth;l~x+&s;>xk-?WaGd?wVdX0;A#QRSpQ%*_=j+oM9W@9lnKhnzW zmn0rsRVPh+OKAC`a)(&Qqgzy2B)U z-OY3=jJJ&o&Oi)pReMdK-=>o<ye+bSK?Rc;vJ0{m-AM?IF}Z&786xbK!U28 zVzCbt;Ou425q#^%~W-nj@~K>)9}&8jgUb$m*=1 z`$;Z0rM02}{mpy2BgZ^oBfD_U|| za2Z(G-RP;-UK_A&d4t5C@l-G@zF2>I>sm+eY^`n-g>9GdL}N8Wsi~KW|C*YWtX>iE zNki-V)bHIquwEe-4<5(hkAAtZt9`3>%aAKt@g3TBbm3^OJ_!^}y#_ijdA;E$zo2sb zNacNJnuK5vsmBeA8YAwolcW7c`u5A!lj#`WcZtbgx7Okr=_^nc(-|XlYmiSO9b>w` zN4d4@G;MF7Si-I$_HE|$iN#qNu1s*;)lIPYELg|nt+kD)?97+9vGm@SJuRDcZj~Uo zd{Uk`GPvr+^s+e}N#*s?o*n#GYTEN|Vo={%iwY&@(F|cONA5fD3aI&PAE&BR6^`y! z6gL#xf8iA4&a*R#86t74kc_y!)o@SrgJh-1F%(7oulC+DEXwYU9u-7FK}rcxh7b`c zr9nzSkOmPL8l=0sq(Mrg8>N))ZcwDVyJMt>X5j4c_4W1t<$O4w&biKy4_p@yGf(Vi z$Gz9O*ScRnEbXnQ;;+D=>~Z#Q#=2NA&2An_u%^@24`Oa`ei!Z0Zf*PRH6am-g_GMm zMNSH{+X5H6@c2GAgZB_E-lSKwn({V;p}hEG3%6gSRK0UMDoyRtQYa1GWnwyXQw?AdH@?F->A((QxcQs^4y>$+q z@y>y#`H)#9xv@>1i`JHd4D(8$TaNub19C70Zik!ZZXdRv>X_e-xIeY>>`bgWne&44 zsn=!7m+OYl`LT8-f&18udm+HIuRl-Zx0PiB;%a4K*@cI`(}}) zor%+IP&5OtD#D)~RT8(<@+l3O_knHdxjNC<^zNcT!&2CDnVVt;V%j-HyIw8teQ@6d zYKM(sEr)Bdd!}AptR1vQ8tEz>BK>bw_PEzs2_fH<*zCC^7 zY@{8En=63pA6F4@;Ig8$s_2;PK&?fdC1uz?b<=H%bPG4V*S-_~bRN}L%fl^$6!F1J zoJ*N3(awC zI9=4qDQACBKp4KkRejYTZY3YQ!}uAJ|LhqiQ(i6J-WZuji}lsI zQlsY11SY-+&#{vM_xl|UycGEPE^)Y9fMV}Hc{|_vm-Mg%oA4#l=F+sfBd0Jcf#q;c zx#a2R>(8YmJFf+C;!F!yf3MDJB@s!EqsiRN8QOO4r=QXuHJ;dLnB1=O=o~1JY3)we zP#rlj>b%mir;B}M7fJMfM#I;^~U6V z6&K8H@$|m#18ZX3N|t)s(`w9dBAcJD<5 z`zO*|_Dl#`GCi&&MWFW_QjPZ9D25Q8n!_NRmH_|XG zLEa&QKy;zngUKyRN12(E^yPc{f%*m7dxbNX4)#xEwoVhWwRE0^z;O4ZJXa^f`g3^m zkD^yh9qWFI!C~uSa60sv={apJf1TK323i=&Ly`}R9==uBxy&mImv=sCBrkFuhl0K4 zv}{$@;*xlQX=jW2`NFE)>Vz!!(gid|-;Z5CYpc4wxJ^hrULvB6d+++2z~0A}86zg* zS9B`7A((sJwn1N?s<~7D^Aby>MrzuNWsXMz6*P_%!W`^#vK~w!mhsnOy1qCvaF6yK zwjYwjn4Z0&`>2wwMex+S&Hdrd?pzbvYJ3$bVjFSUB#uMtRrK&SZFzO%O?}a))=PBE z{+c#xZkhuF&AOdMGHVAecbh7h{-z3%EXq?M5RBrtup9rCsS_^-D4K)G;d{U6AmlBgV1;}DT#2uhbPc%| zQ1m=TED|@yT?Ea#7?Mf?)_1q-EpUG^yRnR`lC5Q9Cn z@{XrNoQ%jP`;|uWcK;%bk1~e3*J3g<+~s?TnpY8?s1rzW(Je33UncEpAc*Ip>kZd$ z+>jb`#^v1=tO3xx4YEiuB7`WEX340q1oHCgZO0zCYBq1?=$YMa9q>CJLb89zn%!mJ z@0kuiF&q|%DVMoto$*+5;t_T4;4<5hbKZoxd|H2s9==Z{)cj#d6 z=?mh1tRYoEAhXpHnDzMCOaOW(8xBDEY$T+#vxZU)K=W)Q>!P#5c>NG5`xyettq1@Z z6_m|;-!h;lCYrY&)2Iwd7)u2{D`u3Bb~I5T7%50*1mLM1g?-APl(?@X%F6p|Q%F&k zvn>#d_1#|@2U!QnMQt-kY!{6!Qe&vL9AcJ$o%en2(T5!{h6F zV?b*L|IXP^Y`9t2O^1eApxtx3px$v`@09OI)mmobl>B1Lpdhb^TRYB3B& zVPbqv*AF7X-5$mUxZc{5tOA}J`wb?i2h9mrUtqwKDqX|q5F>HJG2Cb^hm)q1{GMOh?ZYl%?xAg1N$H-}}+$d|;mU*a;WhOe z(w3dh!wVCVYDy|iyr}M{KuenNbL!_>&1yLCXG2-Vj_YdT^A*?(cohO(?$ZpwT-q6xdF?*MFI*aDhB z_7ilwNSpFKh!)9<@B;$6kZC3mBVM~>FmM=Ft5kH^zrXkWp;Hn1g4`*&1|x<)?<+Kh zu5TkdHRUD9nb(Mo0air}@9?vs1x2dVCU|TMS|RrID(VlBt#73 zypDkyqXBekxLot^%uaoX5fN2U#FEXGnDq*`#|X3x~^i!|8L1PF04*YNsCFycO;eaB`=7Z}P`RWYLumFdzc$8sLt zT58Ko4wMaavGz=p8IE@^GnbR5XZ6GEor|wg354q-wA zm%N&N;xN#0x$?3o({vrs$tMGSF{2=qLZ=H&xvr>8w|Lcym-n9T&}jQ%OS0-OeG=u# ze3`A`0%gG(#yIxDQ-XHk2?iEAc-1Tt2sZVg+#(-}-+TA6Y}mSVLEZO;Ql54Xn=3XI ziJ49W4$920Sy^9)LRe6b@+T&?9LdipccR$T$IRA&YVBgFECU?AC6?6Q+^Hznl~gbB z3gOIcB&U8;gzhQLw?D@<3_qFo_Az>hRLE5`28H9TOn$DPym5wOF0Q?M5A{LrL;EmT z+RSOO0JP-6wsev#1jlou3d3$`LRL+b+e$+RPYwqW>wP=?_x zky~Z)ZPJ0bmnaD45zMPI;+lWEEGev%yrt!_Njj>F9u##w23x`ft2y6dD%MyTCPz*- z>Jk-RC&U}c;ZAA**I(R?`C8YzxhjyyLD{Hz<}{o;g7D&`8o}Fx%^oja)F8^o;I3ay zqrQQZ?tTUk+yxyqb^21APV{-iXl+rYwc7YR4h?t$;lnR-ipHfr+S_e53Erhg+~elx zZt|(o_`-iJcj`ph|D8ynUvy=HCR8lv+;zg=nBC5nI`AaWBk!B9(qhp_16Qm*`%cj# zo4ih6_bnmlLf6s-#ci*Bot3w>V;%#hZu_l^!TLA?_UH~(t-AqD?H{LtO>b@}3S$#( zOxcsjA1lak>)Y(gNf*vIl;ggc%9(NgNh^!G^}7CYJd1Ht-4%NqY3h@`<9T(?Ej`Qj zZR!#F7w9wC?RV$KUFtzWp8Aa;?yc%J^#R`+6t!-9zD4JUGonw|`-8!KI=Zzq9PEnr zNwI$4YjKX^xSj`5o(hMJmVfcj1?iowAVt`7jshBw-(PpH?fu=t<(4z4GN<~G^8Dy; z{s>q^WGQD85J;i~>Td-y*t_O#y$zD6iE7rBgx zn||OLNYTGXNit5XG_Hy47ahS~gavo&aMHpT6Qv;EKKu7Ep%N^NSq8GmH!8W;CNM$v zDV2%PRUJJbZvRZFHH?xswdaSIXG-|xY^NE2_s014>?)Kv}Jq)w32u`(L z>~S!PF0abj$bzVWEfh+TwkSUA)vvXfEu&*ld277--21rk3UR9YYEYPq1<&Yij&syB zdNplXXR!Oo#pE~B^2WMZwQAmHP84zhMeD~dmiLqr<-%&*>+*=_Oy9JABi2efe}axL zL<&h+;R`=}@o(eQRD=UFV=*fnv}`p?yQ= z=qBptC*(QKV!@u!bE*fcUO2%|-X@IgUK{=P$q$CGP#e+%)Pp9lxmYTxy#@(Fs=1R}O$2gmnwEjjdxr%xc3zybcf15< zW~%+Kbr-YdU!O7Om|!DT5n0SsE5=V|1C`MBHQs5RaSP%c{hP73+gRL_FTIPhJOc`O zjf3ddZBiY7CFqy6zS{#AYcoiD_ex^dEem-pQL zTwY$(9P{;V(7-=>6xy$l|ABlT92hp_ zixq3@6Bl6kC0%pRDhcE1!DGjB6Y}62{9}P+xeQsvXisCT8#)%If-fa5xd;YC zc7KzP{Guwg4OjdF?jpYj+>dT!F?x$a|BEdX>RoymGTymRq98w7?)ymz*z@qshpck< z-9+M=37Tojf3nu&a`m8!|zM&}EBaZ7}#-COs=9xpQs(WcN;zSzc!P-f^z#Z^2#2Lk!j{46Q0aZ~M^ zyqkW(H~mozcq!!^L2tXhX{21?TF;4-EA6tiWDQBzyoi%^!+UVplA~Vpt=Ha#3b*B>gLB- z^9%8Le8t%dQT*VAyQOtVxKpkLznALVxIuN`N;C@njWb;8Bw79pm|8O?vvjJs+YgQ(J^U@=xGxaEQU6??|1B{$YpC_^KL?&#Y` zIs)UNDuH3^l|cAgaaHv(bx!Q}UolW41>&Bqf1aKu?Cggj!+pAgCu6P~VD|hXIULNP z_pZ%7Z@C`?BAtp^_~&nd0UI(D>6D^SKOU~We@BE{9dz^|VeJ$w`jI!ZeH(P`dIf>r z)>yoC#lDnpa&SM@*i+!3F~roqt{Ua@?014bbv}{9u;?FYg30CCpH#&N_^F3-{xoOk zg$fA|M{OKL5G#?c8XJ%=%VSJpdIbvR4)xX}=Td4Y{y>=uW}XA~t3=5meSCC`#OrzIh@54Ls7^lO{#*$XX>>rE~+D_z9_dSZO5fPL19L8+7*iW+l z>i4doCM%@obGLa&A#;q8+qYBt>xH36k7%3N|6Jp=3xLU6-`(z|L@dbCZZnjbC|YNj zsOwQfA~dmB@W6{`ROrHb@7s5+>3{LbcW7BY@A&(NUd-_Rg;1IhlEefGP5E^~vFiU!8;XtU$^VjhS8GwLIxdJK6KaeFdGkrZsa0$(h zum{eE&tCEuI@*uPCQrrz3de_5VEu)1zS2fRyGNUr$kj=L;usnA-+8{gNDG>jL(xcI z2>C5)`URfy0pOLriWC2J=v%Uv|D>fO9}t`+;R_C#q1WozD)wL4Ex|iM!g8IZVG}|z zQU|TSZheEYU&MTz3uUHF{yW@`*f#pVEC2JX22leda{tFyswJ;Uf4Ncf=m6x878*#U z|Me8zZ&0O2d_zkGhfor3nr1o3!2WR&MBYiltF*5PMa8H!L91tv92mO(gMtmHP|DI! zYuaNpKy^PC-qt@FQP7U8eu9zZ+SH8wY!?8yn|qbL7e7dsAMmF^fl@NB&!{=e|NBj& zCU)oLfnoG=^*;};J&l!ylK8WC3W_4#dcBWs>pOy==;F`6)A&)!w1z^zgc9|qX#%ir zlaMp(&zV0oK?zAPw#J-LdLHZD7YwtPE#Lj`n)Vep(+(3Z7PM8?it+mIkZ6&-w41Q|&jQdZ{>8P>F}udKk8s|`WXzSYtinc6wsHd` z&6>JAWBjdaM5-bLaZszwLxNYhb66cv6TE>(RhNoLDcf)P!!L*&;&sw%e%~!6*RK7w zpcsuNKn2?7;z$S5PyUr20$e_i8n5y2nG6%zi0D026ls0DzAF328M)H1ia&P^f=RsI zDpR&ovDce;WUeS0O8WrGli1646%+sdpUdIXW32g;WT{6#((zx&r=kx=1kwglh@Om1%%7thO1YfGNt3R#K(Q2gMI;@8^~- zA?@6dn0o>!$}tF7faq6+9SgwFO&VDOpaw7zHY$KrgCUIpkJXnWWq9b^S6NekNo0nA zzg#NZ&7+bK6y}I+69mVmi`Poupom+&;;_EQYU{A=qHT317qs8(q~8)wF)b( zgM_i=C8Y1w6j%OjUV#3qtXuyCc&$mPjt z-i&e&-Q55Q2c3(~NNgPf)ILMVx___`c4uHJD4A$h(qVVE$L-G)Be;acrYb1R%+L$O z)uiX=G<6^kJVO|l&#rR=RK|8YtMojt{G}Ya)ro{NvBvysK0$~BYm9MOHLHp)R-q%S<)lY z8p;jw>W7dJH$Si}%LL3JV=VDl2*_1oTJRsFt3%RIp!>=qNlgNnFDT2(&#VlT4Rt@) zAo>D_!wLrhslZfHbrRSW4vF#aN0>zyW+_*uj2w(J!NO{>t|tSAfUi+;9F&VV&`#Un zU(erM`Qx$r-KPnPX(UG#V;zp!I3piq#E*J0)rgp4comPb48#NGM_5QRfl_VFw?Q-| zi5M$TusW6oi?baftCw(*>wtbNjdYf~6n+)60E{HXl{KC9CjnbW>v*;1d1-hyy~ZC~ ziT{ps)=Afa{uB@#@%f8x%Oof$-KSMmc;Q7rosxy*GC!ATEM7@D0~3}@y4vJ<7aQO= zp9wJKFSM1>EZ5P|s_Kz$Ovd1755(l{MplxW9@JlRQzeBMChvH1wM;9}v31=vZ|wpB zytpKg6wMIoEe5>os{g`4Ve0;MHYAYz5tGyX?v&HPSi(aWes z!pk4j;Tb@2Q>;N?`!nDM#E?oGX&MOsD(n8F9Vu-hV2u)4uS~J_s21VXO{NtipnYPaa8?<-CR0e7-;E zvy2Y_+iMIc!#r}6+R$Lkm_5u4Papx7sj&`6Bd`oj1w?U#F{xu9kM^dd&4rL7#n{7tE~`hYUkOhnoS>#h!pu?t{GC*P)ED{;RDX zd4X^kQ+3t&cJ9+_qBJSuWb||jlY6I43~cjo8Cy zy6#Qn)zyt(MHxcn3%dom8G{l5q2lpiIS1mcC+XPc?s12Da*8;CCX)abIb`{FRi^OL zAv7w(g-_q>j#CIIq9FEWgb!v#AcM z0j;+(=BsNQ|6N`ltiLxB=r$!NIi)IbvIK*}Pmp%Jb|6VWc7LT^Bn$)zbfxZ6a083%qq>#TVsr(C6%6znO-=PwM#S^0-kT zyF+l{Qvi9Vz$_>{Q596wV@Blmw8PG^6}vT$mWcy6U|pre(I!H2be;&H-!F6-$ps4R zR)$LBKifnvihd)M2Y!0o413+})@UMh3au}-XARLv7w-=Iz_pE{>K4)uu*2s8f5>tyB`F%5g}%dXcH`o{i#ls6P*S1@KM(at+fBWt;>V6~0`en|t%AXhwIcGgU(cltoAC3C^Tohnm zg>CjG_rI2p|j~OUt*Z&iCf`lKWS&E-!zbzipbLLLJf>qV;%*J0I_d;5TC7(LI`ERHRqAGy#l09!F{P(eBkcj#G zVDHO+!wO)Z04|knUhx0>7!M(+ld-xa|KAY*^}z2^yjyYpK4$j_II?uNr~lnxaY$2* z8v$g0A6u6Ku1oRZVt-9751#@TjQ<}t;L=s4Bg9Hcag4m3Skc9DFhkk+vk1P(`{S|ihf9`zAOeh%s*2uh3i@>sEhC294nadZSnuP%lV|H0(T6v+0F6}-u;zcePyM`mN)iS#T^*yW?h*bVB1eQQ?%)^P_E6=U96A z?nyQiZJJxe?<*7U^i7>^d6=G`l*TZcDxEL;(dJn-)X}9Rs^DH25v;Ft#ZIjcq`U7Y z2zYwHrYbGfS0!T@iX*7SCLP83t%;tz`BCGrWkMqn6_}d}GGE7unAGFer@ty>t5#af zw(iL0X?#kmKhwsgSEw_3zt(0uUw9?Z%pdpkn~h$V zfi!HmgeSTna7~~1Fv&+OETQ3Yrr6_L2DaBeW)4fSjMO*_hlG{QCR-GrKQEJUU|_^K z55He5yxr=xSVU$QBApf>mGlJc z*ZgF6A%;eh$aK1@Sn-Qoa~MRx!gj5<+#WVM0qSS!g7;FIw@vuke{AV;v4p`3}!|M!E^VZLFstuC+KHt~dqoHuA6@+4L` zRWqtIcGU14m*61g8kA~`BJOCqU#?EjE1gHCYz_4Auvyq$5?{RP8+V;gJ9OK?N#%`Y zQff;Ws~s%JSM1@~nl@J;W-PUg$uCnD3n^dpyE!gvS;aJS^US^BunXe?({5t%8^Iy# zdL*-1*EZki!kOu-G{O$O-AGDd|M9a!SiW|%_h^m1DH(?ubXqx%(=tV%Qlr+vVMI}x zrmjFKUv;$6({rlUvCw?FYJheW3nTKvs?GiVJx+@xOY^yg`jId4tyk*hCW>UdPDRWc zaZh!;%gv`aI_RDM9ZGwcZ|dqY4$T~GKP#~F`-xDpizS$$g|X*xi}EGBV!ryv*b~ZnkpWPi|Brjn&pt z%XO)lQ;pS*yHjzkT3Vk7&_VR1VV>fR?aa;Wa}O>J<)z*i*B zeXjl(Mm15?2cLEW|Ct)lF_-%yr+7H)N72JbEm>ppC1M0Ud2CbMtF40E>+Spsr_9xB z{mU)gLKPVf3kSQKmuRO9nNDYait^sYJ%;FUml#$~C1@BX7hDA;Uu;L&d+zlqRSELD zu8&r5Xv4EPT)*9`t#Q$J{W?~UwL_I+`jYl)sjJYfrSa_&kyfilx;iOrq&QTON#h9* z&A?KFaKKhM{?fF)^3;NEd!9%1dk5uQgV8jTOp!H>^~g*MHqV7g9Hst|=;NIO+hFOG z^oAW9{kxK!W+ma-?z%3JVk~%5@sjywOXlcKSlA_b`q=v3x5io)<*{Sd84VQ}_m%7A zZcgL(cL6)c*|!sUXGA^OyBxOWc2ckUU_K0nVL!KzC#O}}^VX(VhAO3E1x-=svZNEG z2+tDOO;>5rM73)jcQ~RYm%C#7WCs;$3D)QfxYTkp^mrJp4|;+GdPECHGFouRI8L&` z+!CJP6YhGHgpgFOwpr0@myCX*?|iVzewaOo*U9w}f8h80Tyx{|Ls@Z4Gwk~Z@%8%y z(788Up8U$2#REinDmxz=HjWku5d@ulM-cwEQ%679r4tm)90^xT47*GM!jkg)__iJq z_i9#ukIG}7Dw^QfnbfVeSuN6imMhlg%6M29p+@sw0y~<^(gqQFZV)CNSKEJiWVECG z`eHuUa&lVHG~cNim8qI{zKi}5GxY5aq9*(+I&b>hV%FDXMsn>RV-(vomr@cf;aFvz zhHrIeMjvprtGL4mE;EYX4iR}uMN*~5mAjQYhNi$g@4#!h>^I9SC-=4{=DvYfn6AJw zqPr+y9X~%BWo2>$C*SB3bF_lUr-ZjJXKL&TH$SE?bMw&hg=bG|-KW`dnJ(51=t*Gj z3V%Z1JgV0+EF@k}m3c5+fTp@;tdEQOdzE8SpYM)muJ8U-DpanL2FBC%~+VtbF7>5rhx%C7M}&8cxnu!`no2;lm$q zIUk&=PZkM9#ZPI zhG}?wOy^hE6MO`X*8^z}HCl_ww(RZ=q+i z47a=xXIg{nqowvF7^<$y&|q-3J?vj+ zT3EPnNc;VCYh;%1W3)=fimC*cY;7X*qG+3Bvf53VU=rSCf|CNqgqpz!v*zc{gY~$K zl-Y9olbNT7{9dC3wxp!F9F~VOijLGvUth{_P8KG>6%#8bYz&=yXjC~<=m^(MMsie` zjytSZI-|1`IimVa&>Yu#le0gs$#@_h3$zo8Ei>-m++kC11$*WuoVqS2zNM6tzGSk&zs zQ;MZYY=bWOUFuu#G%<*ceZMeb-&H=eLNtS&bpKPYxpaE1ICU!7axhMGmU@UBU%5#f zyHFv|dX$j;k}9>T{hH#mja{tC!z*ch0xX(Ni8RFue42jM2he3 z9!Niu+TeK^oT5?3ClRIFr(izh!I}8x>ZL-}ZsVnQdrE8H?+Eil&AUy%@_mszt{QyB zoBmg9W>FfR`qGUlMPYQ}ib6R{mIC`}D-PH7K0UTYF%=aoLyx~IfsorcPGSU_JRGCrDw>ahmRO>RF<|C0di?;DqxB*2%V+RiKTzQ@O;3n zB*U7eKL(xznLLn66f{-gG7rdS3EP^gJnwKH$yGj1jMhUdF^QdXTEbC4b-O|s#>xe4 zaXzUJlwf-s{_XO9C78n$?ulY@~LoTg5Rc< zm=t2t!g7@B)6k?v@XpuZm^1uAbc>G4VA75H7?b$JOxzn1X*=f%p6718ZmyT`WUSza z>fPtJ5A*W}?rK$u#}TeFyn^yr^?3_6c# zABm?YsP|WwHbKOnnCQL01>&7#C-w@~bf3#K==DxXAGPY3JH>JquX?!pv z<4=ljTpgp-V{`$Gv(L*b32g9ZgcmNH5&3tl?WfnKPPwSJxik5r`W+n;Gaq{#j%p{u zI=Syi!$wO|%Z+u!!cvQv8eKcyTz=NL39&L&ZujpryQ45YIVCndSTB!_c$;G^UgIR( zh4zG~%6yvDR&NsD=o6ie63+f;z8WHS|Bod465_ z-4pK{w=RgL+tv5#2=r+N67opYZ2261LIvWj#|kt?)5UP-Qaf3B9DW*IN5?LrQ^-2O zw>4kMA0*62CnD6YRZh>?zr<$6!u(H(0iTu9BdeJWAQnOyfHl@{pQ}am-{OtpMTi12b`b)U9Den(9KlCx@R7 z(UyNbzlzb|4j=V4BcHnw;hlWB&v#`&Mftmp`p4z$xl@zoQ|^x0({FE8YsAA6-Cb3l zRWjL|sjoTEym3FWseBTtl zjAln-kyTA^6W@ptB^zJU&m?t;(MRqz8QEmgOL}vo(2b8Yl8^2WR!q&*Iv#g*8As!q zZ{=%Tzbi2t{m^tM=JDsY+Si#9@{yizNX4>ck}ufbSg<&5tEcjshMH`}z4~vy`s~>g zd0AVK!nRP*Cp&d2b9J;KGQ`vM-prz5xC_^z^2%(s?PjfKtD<3Eena_1vV?#p%so|r z`ABWplPI{r>BuNbMz4oJCU(#!f3d(H3KKBZFrmrtnW-3uNXP5=srMYQTJWu1$&@Ho zZ$GRlY&*U;qqgW8%12u-0CQo!xUc|y>MQevoW@ZcY3W6V*x}dX+>XR2uvhm~O?H^w zT~u#W4yB3a3dD1d#h6cPO|zJjA0}NVJa*1M$rO)v zcHXp-@b8YkDO`L$-#Ya?88xwLMD{K1t;@JsUEUo(G#+xA-oLz7t>al0nz>oM#8Ib}ZZSVgJ@9_0i From 053a9d993c0c90f479ba7eb7d1a9b260d47167d2 Mon Sep 17 00:00:00 2001 From: Josh M Date: Wed, 9 Sep 2026 19:02:11 -0400 Subject: [PATCH 4/4] Simplify project documentation and release notes --- CHANGELOG.md | 23 +++++ FRIENDS_README.txt | 44 -------- INSTALL.txt | 35 +++++++ LICENSE | 4 + PRIVACY.md | 76 ++++++++------ README.md | 204 +++++++++++++------------------------- SECURITY.md | 29 +++--- build.sh | 13 +-- docs/AUDIT.md | 123 ----------------------- docs/DEVELOPMENT.md | 75 ++++++++++++++ docs/RELEASE_CHECKLIST.md | 20 ++-- release.sh | 2 +- 12 files changed, 279 insertions(+), 369 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 FRIENDS_README.txt create mode 100644 INSTALL.txt create mode 100644 LICENSE delete mode 100644 docs/AUDIT.md create mode 100644 docs/DEVELOPMENT.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d40e12f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,23 @@ +# Changelog + +## 1.3.0 — Unreleased + +- Fixed driver buffer handling and cases that could replay old audio. +- Added output recovery for crashes and failed routing starts. +- Improved device switching, sample-rate conversion, and sleep handling. +- Added volume and mute controls without changing hardware volume or balance. +- Added driver signature checks and rollback if installation fails. +- Updated the menu layout, setup instructions, error messages, and app icon. +- Dialogue boost is now optional under Advanced and off by default. + +## 1.2 — April 14, 2026 + +- Reduced audio buffering to lower playback latency. +- Limited queued audio to prevent startup delays from persisting during playback. + +Reinstall the audio driver after upgrading to 1.2; replacing the app alone does +not update it. + +## 1.0 — April 11, 2026 + +Initial release with surround-to-stereo mixing and a menu bar output selector. diff --git a/FRIENDS_README.txt b/FRIENDS_README.txt deleted file mode 100644 index 797ef03..0000000 --- a/FRIENDS_README.txt +++ /dev/null @@ -1,44 +0,0 @@ -MacStereoFix — installation and recovery -======================================= - -Use a signed and notarized release from: -https://github.com/macprotips/MacStereoFix/releases - -1. Unzip and move MacStereoFix.app to Applications. -2. Open it. Click the speaker icon in the menu bar. -3. Finish calls and recordings before clicking Install Driver. macOS asks - for an administrator password. All Mac audio briefly stops while the - driver loads. The app reports when it is ready. -4. Select your real speakers or headphones, then turn Force Stereo on. -5. Allow the microphone permission prompt. MacStereoFix reads audio from - its virtual device, not your physical microphone. It does not save - recordings or send audio over the network. - -Start with a low listening volume. Dialogue boost can make voices clearer, -but high boost can distort loud scenes. Volume and Mute control routed -sound. Turning Force Stereo off returns to your device's normal volume. - -The app starts off each time. Sleep, an output disconnect, a routing error, -or a manual change in macOS Sound settings stops routing. Select the output -again and turn it on when you are ready. Some Bluetooth call modes are -mono and cannot be used as stereo outputs. - -If sound stops: -Open System Settings > Sound > Output and choose your normal speakers or -headphones. This bypasses MacStereoFix. Do not choose MacStereoFix manually -while the app is off. If a driver update does not load, restart the Mac. - -If capture permission was denied: -Open System Settings > Privacy & Security > Microphone and allow -MacStereoFix, then try again. - -To remove it: -Use Advanced > Uninstall Driver, then move the app to the Trash. Removal -requires an administrator password and briefly interrupts all Mac audio. - -A verified release should pass normal macOS security checks. If macOS says -it cannot verify the app, stop and get a verified release. Do not disable -Gatekeeper or SIP, or use quarantine-removal commands to run it. - -MacStereoFix only redirects apps that follow the macOS default output. -Apps using their own output, system alerts, and protected media may differ. diff --git a/INSTALL.txt b/INSTALL.txt new file mode 100644 index 0000000..44b4e77 --- /dev/null +++ b/INSTALL.txt @@ -0,0 +1,35 @@ +MacStereoFix + +1. Unzip and move MacStereoFix.app to Applications. +2. Open it and click the speaker icon in the menu bar. +3. Finish calls and recordings, then click Install Audio Driver… and approve + the administrator prompt. All Mac audio briefly stops while the driver loads. +4. Choose your speakers or headphones and turn Force Stereo on. +5. Allow microphone access when macOS asks. This reads the virtual audio device, + not your physical microphone. The app does not record or upload audio. + +Start at a low listening volume. Volume and Mute affect routed audio. Turning +Force Stereo off returns to your device's normal volume. Dialogue is part of +normal stereo mixing; optional Dialogue boost is under Advanced and defaults +to Off. + +The app starts off each time you open it. Sleep, a disconnected output, or a +manual output change stops routing. Choose your output and turn it on again. + +If sound stops: +Choose your speakers or headphones in System Settings > Sound > Output. Do not +select MacStereoFix manually while the app is off. + +If microphone permission was denied: +Allow MacStereoFix in System Settings > Privacy & Security > Microphone. + +If an updated driver has not loaded: +Restart the Mac. + +To uninstall: +Choose Advanced > Uninstall…, then move the app to the Trash. Removing the driver +requires administrator approval and briefly interrupts all Mac audio. + +Download releases from https://github.com/macprotips/MacStereoFix/releases. +If macOS cannot verify the app, download a signed, notarized release. Keep +Gatekeeper and other macOS security settings enabled. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6bcaa04 --- /dev/null +++ b/LICENSE @@ -0,0 +1,4 @@ +For personal use among friends. + +The audio driver is based on Apple's NullAudio sample. The Apple sample notice +is included in ThirdParty/Apple-NullAudio-LICENSE.txt and applies to that code. diff --git a/PRIVACY.md b/PRIVACY.md index c8e064b..23cc09f 100644 --- a/PRIVACY.md +++ b/PRIVACY.md @@ -1,32 +1,48 @@ # Privacy -MacStereoFix processes audio routed to its virtual output while Force Stereo is -on. That audio can include private conversations, notifications, or other app -content. It passes through temporary buffers in memory to create stereo output. -The app has no recording-to-file feature, analytics, advertising, network client, -or automatic updater. It does not transmit audio or select a physical microphone. - -macOS requires microphone permission to read the virtual input. This permission -is broader than the app's intended use: the implementation explicitly binds -capture to the MacStereoFix device before starting it. Denial does not enable -routing. Revoke permission in System Settings → Privacy & Security → Microphone. - -The virtual input is a system audio device. Other local applications with the -necessary macOS audio-input permission may also select it. It is not an encrypted -or exclusive channel for private audio. Turn Force Stereo off when it is not needed. - -The app saves the selected output UID, dialogue boost, routing volume and a -recovery output UID in its own preferences. It saves no audio history. The small -recovery helper receives the fallback device UID, waits for the app's pipe to -close, and attempts to restore output. It runs as the same user, has no elevated -privileges, and exits after recovery or normal disarming. - -Administrator authorization is used only for the explicit driver install and -remove actions. Those actions modify MacStereoFix's driver under -`/Library/Audio/Plug-Ins/HAL` and restart CoreAudio. They do not change SIP, -Gatekeeper, login items, or the user's hardware volume. macOS and Apple's signing -and notarization services may perform their own security checks independently. - -To remove local preferences after uninstalling, use -`defaults delete com.macstereofix.app` in Terminal. App removal alone may leave -preferences behind, as with other macOS applications. +## Audio + +While Force Stereo is on, MacStereoFix reads audio sent to its virtual device +and mixes it in memory. That audio may include conversations or other private +content from apps using the default output. + +The app does not save recordings or send audio over the network. It has no +analytics, advertising, or automatic updater. + +## Microphone permission + +macOS requires microphone permission to read the virtual audio input. +MacStereoFix selects its own virtual device for capture, not your physical +microphone. If permission is denied, routing stays off. + +You can revoke access in **System Settings → Privacy & Security → Microphone**. + +The virtual input is a system audio device. Other local apps with the necessary +audio permission may also select it. Turn Force Stereo off when you no longer +need it. + +## Saved settings + +The app saves the selected output device, volume, dialogue boost, and the output +to restore after a failure. These settings stay in the app's local preferences. +It does not keep an audio history. + +A recovery helper receives the fallback output identifier and watches for the +app to close. It runs as your user account and exits after recovery or a normal +shutdown. It has no administrator privileges or login item. + +## Administrator access + +Installing or removing the driver requires administrator approval. These actions +modify MacStereoFix's driver in `/Library/Audio/Plug-Ins/HAL` and restart CoreAudio. +They do not change hardware volume, Gatekeeper, SIP, or login items. + +## Removing saved settings + +After uninstalling, preferences can be removed in Terminal with: + +```sh +defaults delete com.macstereofix.app +``` + +Deleting the app alone may leave these preferences on your Mac. diff --git a/README.md b/README.md index e40db14..5ab5597 100644 --- a/README.md +++ b/README.md @@ -1,146 +1,80 @@ # MacStereoFix -MacStereoFix is a macOS menu bar utility that downmixes surround audio to stereo, -including the center channel that carries dialogue in many games. It is useful -when a game sends surround audio but you listen through stereo speakers or headphones. +A Mac menu bar app that mixes surround audio into stereo. It can help when +voices or sound effects are missing in games played through stereo speakers +or headphones. -**Version 1.3.0 is an unreleased audit candidate.** The published -[v1.2 download](https://github.com/macprotips/MacStereoFix/releases/tag/v1.2) does not -contain the safety and recovery changes on this branch. A new release must pass -[the release checklist](docs/RELEASE_CHECKLIST.md) before distribution. +[Downloads](https://github.com/macprotips/MacStereoFix/releases) · +[Changelog](CHANGELOG.md) · [Report a problem](https://github.com/macprotips/MacStereoFix/issues) -## Interface preview +**Version 1.3 is in development.** The current v1.2 download does not include +the driver and recovery fixes described below. Live audio testing and Apple +notarization for 1.3 are still pending. - - + +
MacStereoFix in light appearanceMacStereoFix in dark appearanceMacStereoFix in light modeMacStereoFix in dark mode
-Rendered from the candidate interface with a sample output; hardware testing is pending. - -## What it does - -The app installs a user-space CoreAudio HAL plug-in, not a kernel extension. -When you turn **Force Stereo** on, it reads eight-channel, 48 kHz PCM from that -virtual device, mixes it to stereo, and sends the result to your selected output. -Apps that follow the macOS default output then use this route. Apps that select -their own output, system alerts, and protected audio may behave differently. - -Supported destinations have at least two output channels at 32–192 kHz. -Apple's audio converter handles output sample-rate conversion and small clock -differences. Virtual and aggregate destinations are excluded to avoid feedback. -Bluetooth call modes with only one output channel are not supported. - -- **Volume and mute:** attenuate routed audio without changing hardware volume - or left/right balance. Turning Off returns to the device's normal volume. -- **Off and Quit:** attempt to restore the previous output, with a connected - physical fallback if it disappeared. A small child process also attempts this - if the app crashes or is force-quit. It exits afterward and has no login item. -- **Sleep, device loss, routing errors, and manual output changes:** stop routing. - The app starts off at each launch and does not automatically resume capture. -- **Optional dialogue boost:** under **Advanced**, 0–9 dB above the base center - coefficient. Off (0 dB) by default; an explicitly saved setting is retained. - -The mix is `L + Cgain*C + 0.707*Ls + 0.5*Lsr` and the corresponding right channels. -`Cgain = 0.707 * 10^(boost/20)`. LFE is omitted. Invalid samples are silenced and -mix peaks are clipped before software attenuation. More dialogue boost can -cause audible distortion in loud scenes; begin at a low listening volume. - -## Install a verified release - -1. Download a signed and notarized release from this repository, unzip it, and - move `MacStereoFix.app` to Applications. -2. Open it and use the speaker icon in the menu bar. -3. Finish calls and recordings, then click **Install Audio Driver…**. macOS asks for an - administrator password. Installing, updating, or removing the driver briefly - interrupts **all Mac audio** while CoreAudio restarts. -4. Select your speakers or headphones and turn **Force Stereo** on. -5. Allow the macOS microphone permission prompt. The app reads the virtual - device, not your physical microphone. Permission denial leaves normal output - in place. See [privacy details](PRIVACY.md). - -The app verifies the staged driver's signature and developer identity before -replacing an existing installation. It also checks that the current driver -version is actually loaded, not merely copied onto disk. - -If macOS reports an unidentified developer, damage, or an unverifiable app, -stop and download a verified release. Do not disable Gatekeeper, SIP, or other -macOS protections to install MacStereoFix. +Interface previews for 1.3, shown with a sample output. + +## Using MacStereoFix + +1. Unzip a release and move `MacStereoFix.app` to Applications. +2. Open the app and click its speaker icon in the menu bar. +3. Click **Install Audio Driver…** and approve the macOS administrator prompt. + Installation briefly interrupts all Mac audio, so finish calls and recordings first. +4. Choose your speakers or headphones, then turn **Force Stereo** on. +5. Allow microphone access when macOS asks. This lets the app read its virtual + audio device; it does not select your physical microphone. + +Start with your device at a low listening volume. **Volume** and **Mute** affect +routed audio. Turning Force Stereo off returns to your device's normal volume. + +Dialogue is included in the standard stereo mix. An optional **Dialogue boost** +is available under **Advanced** and is off by default. + +The app starts off each time you open it. Sleep, device disconnection, a routing +error, or a manual output change stops routing. Select your output and turn it +on again when you're ready. + +## How it works + +MacStereoFix installs a virtual CoreAudio device and mixes its surround channels +into two output channels. Apps that use the macOS default output follow this +route; apps that choose their own output may bypass it. System alerts and +protected media may behave differently. + +The destination must have at least two output channels. Virtual and aggregate +outputs and Bluetooth mono call modes are not supported. The app handles PCM +audio; it does not decode Dolby or DTS bitstreams. + +Audio is processed in memory on your Mac. There are no recordings, uploads, +analytics, or ads. See [Privacy](PRIVACY.md) for permission and storage details. ## If sound stops -Open **System Settings → Sound → Output** and select your normal speakers or -headphones. This bypasses MacStereoFix immediately. Do not select MacStereoFix -manually while its app is off. - -If the app cannot start capture, check **Privacy & Security → Microphone**. -If an updated driver does not load, restart the Mac. For a Bluetooth device in -call mode, end the call or select another stereo output. Re-enable Force Stereo -only after the intended output is available. - -## Remove it - -Use **Advanced → Uninstall…**, then move the app from Applications to the -Trash. The app stops routing first. Removal needs administrator authorization -and briefly interrupts Mac audio. - -Developers can select a normal output, quit the app, then run `sudo ./uninstall.sh`. -The script removes only `/Library/Audio/Plug-Ins/HAL/MacStereoFix.driver` and -restarts CoreAudio. Preferences can optionally be removed with -`defaults delete com.macstereofix.app`. - -## Build and verify - -Requires macOS, Xcode 15 or newer (or matching Command Line Tools), Swift 5.9+, -and the system Python 3 supplied with those tools. The deployment target is -macOS 13. Both Apple Silicon and Intel binaries are built. Actual OS/device -coverage is tracked in the release checklist; cross-compiling alone is not proof -of compatibility. - -```sh -./build.sh -./check.sh -``` - -Builds go into `build/`. With no signing identity, these are **local development -builds only**. The in-app installer intentionally rejects ad-hoc drivers. -Developers who trust their own checkout may explicitly use -`sudo ./install.sh --allow-adhoc` for local testing; this is not a distribution path. - -The automated checks do not install a driver, capture audio, change output -settings, or kill CoreAudio. They exercise the driver under AddressSanitizer, -UndefinedBehaviorSanitizer and ThreadSanitizer; the production mixer/converter; -routing failures; installer rollback and quoting; and crash recovery with test -doubles. GitHub Actions runs them on Apple Silicon and Intel. - -## Produce a release - -Complete [docs/RELEASE_CHECKLIST.md](docs/RELEASE_CHECKLIST.md) on the exact source -commit. Use your Developer ID Application certificate and an existing -`notarytool` Keychain profile. Do not put passwords or private keys in the repository. - -```sh -SIGN_IDENTITY='Developer ID Application: Your Name (TEAMID)' \ -NOTARY_PROFILE='your-saved-profile' \ -RELEASE_TESTED_COMMIT='the-full-tested-commit-sha' \ -./release.sh -``` - -The project pins installation to its current developer team, `MD83L42DNL`. -Changing that identity is an explicit trust change, not just a build setting. - -The release script requires a clean checkout, builds and runs the checks, verifies -signatures, waits for Apple's acceptance, staples the ticket, checks Gatekeeper, -and verifies the extracted final ZIP. Only then does it emit a versioned archive -and SHA-256 checksum. It does not publish anything to GitHub. - -## Scope and licensing - -No per-app routing, bitstream passthrough, Dolby/DTS decoding, HRTF, automatic -updater, telemetry, or third-party runtime packages. macOS handles the input -conversion from app formats to the virtual device's 48 kHz PCM stream. - -The existing project policy is personal use among friends; this audit does not -add a new open-source license or grant additional reuse rights. The driver is -modeled on Apple's NullAudio sample. Its notice is preserved in -[ThirdParty](ThirdParty/README.md) and included in the built app and driver. +Open **System Settings → Sound → Output** and choose your normal speakers or +headphones. Do not select MacStereoFix manually while its app is off. + +- **Permission denied:** allow MacStereoFix in **Privacy & Security → Microphone**. +- **Driver update has not loaded:** restart the Mac. +- **Bluetooth is in call mode:** end the call or choose another stereo output. +- **macOS cannot verify the app:** download a signed, notarized release. Keep + Gatekeeper and other macOS security settings enabled. + +## Uninstall + +Choose **Advanced → Uninstall…**, then move the app to the Trash. Removing the +driver requires administrator approval and briefly interrupts Mac audio. + +## Development + +Builds target macOS 13 and include Apple Silicon and Intel binaries. OS and device +coverage is tracked in the [release checklist](docs/RELEASE_CHECKLIST.md). + +Build instructions, tests, and release commands are in +[Development](docs/DEVELOPMENT.md). Security issues can be +[reported privately](SECURITY.md). + +[Usage terms](LICENSE) · [Apple sample attribution](ThirdParty/README.md) diff --git a/SECURITY.md b/SECURITY.md index cc03d92..57c0c48 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,18 +1,19 @@ -# Security reports +# Security -MacStereoFix installs a user-space CoreAudio plug-in and processes system audio. -A driver defect can interrupt audio beyond this app, so report memory safety, -privileged installation, signing, or unexpected capture problems as security issues. +Please report security issues through +[GitHub's private reporting form](https://github.com/macprotips/MacStereoFix/security/advisories/new). +Include the app version, macOS version, and steps to reproduce the problem. +Do not include private recordings, passwords, or signing credentials. -Use **Security → Report a vulnerability** to -[send a private report](https://github.com/macprotips/MacStereoFix/security/advisories/new). -Private reporting is enabled. Include the app/driver version, macOS version, -steps to reproduce, and whether normal output can be restored. Do not attach -private recordings, passwords, signing keys or notarization credentials. +Memory errors in the audio driver, unsafe installation behavior, and unexpected +audio capture are security issues. For other audio problems, use +[GitHub Issues](https://github.com/macprotips/MacStereoFix/issues). -For ordinary audio compatibility bugs, use GitHub Issues. If sound is stuck, -select your speakers or headphones in System Settings → Sound → Output. +If sound stops, choose your speakers or headphones in +**System Settings → Sound → Output**. -The 1.3.0 audit candidate has automated safety checks but is not yet a public -release. Older published binaries do not receive fixes until a new release is -built, verified and published. No release is a guarantee against all vulnerabilities. +## Versions + +Version 1.3 is in development and includes driver, installation, and recovery +fixes that are not in the published v1.2 app. There is no automatic updater; +users must download a new release to receive fixes. diff --git a/build.sh b/build.sh index 97c2d1e..bb8cd34 100755 --- a/build.sh +++ b/build.sh @@ -1,15 +1,8 @@ #!/usr/bin/env bash # -# build.sh — builds MacStereoFix.driver and MacStereoFix.app from source. -# -# Output goes into ./build/. After running this you can: -# sudo ./install.sh # copy driver into /Library/Audio/Plug-Ins/HAL -# and then drag build/MacStereoFix.app into /Applications. -# -# To produce a signed build for distribution to friends, set: -# SIGN_IDENTITY="Developer ID Application: Your Name (TEAMID)" -# in your environment before running. Without that, the build is ad-hoc signed -# (works on your own Mac but friends will see Gatekeeper warnings). +# Build the universal app and audio driver into build/. +# Set SIGN_IDENTITY to a Developer ID Application identity for a signed build. +# Without it, the build is ad-hoc signed for local development. set -euo pipefail diff --git a/docs/AUDIT.md b/docs/AUDIT.md deleted file mode 100644 index 8756373..0000000 --- a/docs/AUDIT.md +++ /dev/null @@ -1,123 +0,0 @@ -# MacStereoFix safety and release audit - -Audit date: September 9, 2026. Baseline: `45624be` on `main` (v1.2 source). -Candidate: 1.3.0, build 4, on `codex/ship-readiness-audit`. - -**Decision: do not approve v1.2 for new distribution. The corrected candidate is -not yet approved for public release.** Its local automated checks pass, but actual -installation/audio-device validation and notarization of the new binary remain. -The published v1.2 ZIP has not been replaced. - -## Findings and repairs - -| Priority | Finding in the original source | Repair | -|---|---|---| -| High | Many driver property getters wrote scalars/strings without checking the caller's buffer length. A one-byte buffer reproduced a heap overflow under AddressSanitizer. | Central size validation, safe partial lists, initialized output lengths, strict format/CF-type/finite-value validation. | -| High | The driver reused circular-buffer slots without tracking the sample time, so missing writes could replay old audio. Shared float storage also lacked synchronization. | Absolute frame timestamps, lock-free atomic samples and sequence checks; stale, incomplete and inactive input returns silence. | -| High | Installation could mask failures with shell chaining, delete the existing driver before a successful copy, and copy a mutable bundle without verifying its identity. | Protected root-owned staging, post-copy signature/team verification, refusal of links/special files/unsafe parent permissions or ACLs, controlled permissions, replacement rollback, and real error propagation. The command is compiled into the signed app. | -| High | Failed output switching could destroy rendering while the UI stayed on and the default still pointed to the virtual device. | Stop and restore before switching; establish the new route only after both callbacks run; cancel if the intended device/default changes while starting. | -| High | Permission denial or delayed authorization could leave the app trying to route silent capture. | Explicit microphone authorization before routing; cancellation and device changes invalidate a pending start. | -| High | A crash could leave normal output stuck until the next launch. Restoration used transient device IDs and ignored failures. | Same-user recovery child triggered by pipe closure, including SIGKILL; persistent device UIDs; physical fallback; errors include manual Sound-settings recovery. No persistent daemon/login item. | -| High | The render code incorrectly assumed AUHAL would convert a 48 kHz client stream to every physical device rate. Independent device clocks could also exhaust/fill the buffer. | Apple's varispeed converter at the real output rate, supported planar formats, a small startup reserve and bounded clock correction. Hardware formats and buffer sizes are not changed. | -| High | The volume bridge wrote to physical devices, could use a stale baseline and did not implement a mute control. | Software attenuation/mute, virtual volume and mute controls, and no hardware volume/balance writes. The UI explains that Off restores normal device loudness. | -| Medium | Partial audio-unit initialization leaked buffers; destruction did not reliably stop all units. | Central cleanup on every start failure; stop/dispose units before releasing callback storage. | -| Medium | Driver IO configuration changed directly in a property setter without the host configuration-change protocol. Timestamp catch-up advanced only one period per call. | Fixed virtual configuration; elapsed-time timestamps and a new seed after restart. Negative preroll safely returns silence. | -| Medium | Disk installation status could say the new driver was ready while CoreAudio still had the old binary loaded. | Read and compare the loaded driver's build number as well as the bundled and installed versions. | -| Medium | Startup enumeration could overwrite a saved output preference; no-device handling retained a stale selection. | Read preferences first, clear vanished selections, stop on disconnection, and permit removal even with no physical output. | -| Medium | Release packaging defaulted to ad-hoc signing, removed extended attributes and called the ZIP ready without notarization. Recursive signing could also apply the app's entitlements to nested code. | Sign inside out, verify each component, gate packaging on tests/clean tested commit/Developer ID/Apple acceptance/stapling/Gatekeeper, then verify the extracted final ZIP and write a checksum. | -| Medium | The user instructions recommended bypassing macOS security and described controls/behavior the UI did not have. | Updated instructions and privacy statement, optional bounded dialogue boost under Advanced (off by default), labeled controls, visible install interruption notices and bounded error display. | -| Maintenance | There was no test suite/CI or included Apple sample notice. | Repeatable native tests, Apple Silicon/Intel CI with a pinned checkout action and read-only token, and Apple's current NullAudio notice included in the source and bundles. | - -The heap-overflow reproduction calls the driver directly in an isolated test -process. It establishes a memory-safety defect; this audit did not demonstrate -remote exploitation or bypass of CoreAudio's client/host boundary. - -Apple documents AUHAL's sample-rate requirements in -[TN2091](https://developer.apple.com/library/archive/technotes/tn2091/_index.html). -The SDK's `AudioServerPlugIn.h` specifies host-coordinated IO configuration changes -and nonblocking real-time operations. The implementation was checked against the -installed SDK and Apple's [driver sample](https://developer.apple.com/documentation/coreaudio/creating-an-audio-server-driver-plug-in). - -## Verification completed locally - -- Universal arm64/x86_64 app, driver and recovery executable build successfully - with the project's Developer ID Application identity and hardened runtime. -- Strict recursive signature verification passes. Only the app has the - `com.apple.security.device.audio-input` entitlement. -- **3,479 property-size cases** pass, plus format, finite-volume, CF-type, mute, - inactive-input, timestamp, preroll, frame-limit, wrap and stale-audio checks. -- **200,000 concurrent driver writes** pass under AddressSanitizer, - UndefinedBehaviorSanitizer and ThreadSanitizer. -- **200,000 concurrent application ring-buffer frames** pass; overflow, underflow, - wrap, reset, skip and negative lengths are covered. -- Production downmix/channel mapping and Apple's converter run **offline at - 32, 44.1, 48, 96 and 192 kHz**. The drift-control model stays bounded for 30 - simulated minutes at clock errors up to ±500 ppm. This is not a hardware soak test. -- **15 routing scenarios** exercise saved preferences, startup recovery, - permission denial, helper/audio/default failures, volume/mute, Off, switching, - disconnects, manual defaults, cancellation, reinstall, startup device loss and - removal without an output. CoreAudio/installer effects are replaced with doubles. -- **11 installer scenarios** pass using the actual copy/signature/permission/ - rollback logic in temporary directories. Root identity, system paths and - process control are substituted. No real HAL installation is performed. -- Shell and AppleScript quoting pass for quotes, spaces, command metacharacters, - newlines and Unicode, without administrator access. -- The production recovery-owner code and child are tested for disarm, normal - owner closure and SIGKILL, with a fake output setter. -- Release-gate rejection tests, metadata/version/entitlement checks, shell/plist - validation and Clang static analysis pass. -- Redesigned menu views were rendered offscreen in light and dark appearances - for setup, Off, On, muted, no output, permission denial, busy and long device-name - states, with test doubles for audio operations. The view uses native labeled - controls, explicit status text, readable accent colors, a bounded scroll area, - recovery links, and Command-R / Command-Q shortcuts. Original speaker artwork - supplies all Finder icon sizes; it uses AppKit drawing without external assets. - Interactive keyboard and - VoiceOver testing is still required. -- Read-only live enumeration found this Mac's built-in stereo output at 48 kHz; - its current output UID was readable. No MacStereoFix driver was loaded. -- A search across the repository's existing history found no matches for the - tested common private-key, GitHub-token, AWS-key and OpenAI-key patterns. - No third-party runtime package dependencies were found. - -Run `./build.sh && ./check.sh` to reproduce the automated checks. They do not -install a driver, request capture permission, change sound settings, or restart -CoreAudio. The local CLT 27 toolchain emits an Intel compatibility-packs linker -warning while still building both slices; native Intel CI and OS-specific testing -are separate checks. - -## Existing download and GitHub settings - -The published v1.2 ZIP was inspected without launching it. Its app is universal, -signed by the project's Developer ID team `MD83L42DNL`, and its stapled -notarization ticket validates. Thus the distribution-script gap is about -reproducibility, not a claim that the existing download is unsigned. The ZIP's -published SHA-256 is `42d436c9df06e2af30a8477f33bb5de072e3c6a3ca120db004e0ffcfd02285c5`. - -Private vulnerability reporting was disabled and has been enabled. GitHub secret -scanning and push protection were already enabled. CI results and any subsequent -branch-protection changes are recorded in the handoff report. No main-branch -merge, public release, or driver installation was performed during the audit. - -## What still prevents release approval - -1. **Actual macOS installation and audio tests.** Test fresh install, v1.2 upgrade, - permission denial/grant, normal output, volume/mute, Force Quit, sleep/wake, - unplugging, switching, reinstall/removal, and at least an hour of real playback. - Only built-in speakers are currently available here; USB/Bluetooth and the - minimum advertised macOS versions need real coverage. Follow - [RELEASE_CHECKLIST.md](RELEASE_CHECKLIST.md). This step briefly interrupts all - Mac audio and requires the local administrator/permission prompts. -2. **Notarization of the corrected binary.** The signing certificate is available. - A usable saved notarization profile has not been identified. The old v1.2 - ticket does not cover the new build. Apple acceptance, stapling and Gatekeeper - checks must pass for the exact new artifact. -3. **Maintainer sign-off and publication.** Merge only the verified change; publish - a release with matching source/checksum after the physical checklist and final - artifact checks. Existing v1.2 users do not receive these changes automatically. - -The project still targets macOS 13; a successful cross-compile does not establish -that minimum-version support. Licensing remains the existing personal-use policy; -this audit did not silently relicense the independently written application. -Apple's notarization is an automated security/signing check and is not a guarantee -that software has no bugs. [Apple's explanation](https://developer.apple.com/documentation/security/notarizing-macos-software-before-distribution) diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md new file mode 100644 index 0000000..df63e37 --- /dev/null +++ b/docs/DEVELOPMENT.md @@ -0,0 +1,75 @@ +# Development + +## Build + +Use Xcode 15 or newer, or the matching Command Line Tools, with Swift 5.9+ and +Python 3. Both Apple Silicon and Intel binaries target macOS 13. + +```sh +./build.sh +./check.sh +``` + +The app and bundled driver are written to `build/`. Without `SIGN_IDENTITY`, +builds use ad-hoc signatures and are for local development. The in-app installer +requires the project's Developer ID. To test your own ad-hoc build locally: + +```sh +sudo ./install.sh --allow-adhoc +``` + +Installation restarts CoreAudio and briefly interrupts all Mac audio. Select a +normal output and quit the app before running `sudo ./uninstall.sh`. + +## Tests + +`check.sh` covers driver property bounds, concurrent audio buffers, channel +mixing, sample-rate conversion, routing failures, installer rollback, quoting, +and crash recovery. It runs AddressSanitizer, UndefinedBehaviorSanitizer, +ThreadSanitizer, static analysis, and bundle checks. + +Tests use temporary directories and substitutes for system-changing operations. +They do not install a driver, request microphone permission, or change the Mac's +audio settings. Real device testing is recorded in the +[release checklist](RELEASE_CHECKLIST.md). CI runs on Apple Silicon and Intel. + +## Audio path + +The virtual device carries eight-channel, 48 kHz PCM. The app reads it through +AUHAL, mixes to stereo, and uses Apple's converter at the physical output rate. +The supported output range is 32–192 kHz. Bounded clock correction compensates +for small differences between the virtual and physical device clocks. + +Channel order is `L, R, C, LFE, Ls, Rs, Lsr, Rsr`. The mix is: + +```text +Left = L + Cgain*C + 0.707*Ls + 0.5*Lsr +Right = R + Cgain*C + 0.707*Rs + 0.5*Rsr +Cgain = 0.707 * 10^(boost_dB / 20) +``` + +Boost defaults to 0 dB and ranges from 0 to 9 dB. LFE is omitted. Invalid samples +are silenced; peaks are clipped before software volume attenuation. Higher boost +can cause audible distortion in loud scenes. + +## Release + +Complete the hardware checklist on the source revision being released, then run: + +```sh +SIGN_IDENTITY='Developer ID Application: Your Name (TEAMID)' \ +NOTARY_PROFILE='your-saved-keychain-profile' \ +RELEASE_TESTED_COMMIT='full-tested-commit-sha' \ +./release.sh +``` + +The script requires a clean checkout, rebuilds and tests the app, checks the +signatures, submits to Apple, staples the notarization ticket, and checks +Gatekeeper. It also verifies the final extracted ZIP and writes a SHA-256 +checksum. Publishing that ZIP to GitHub is a separate step. + +Driver installation is pinned to Developer ID team `MD83L42DNL`. Changing the +signing team also requires updating that verification requirement. + +Keep signing keys and notarization credentials out of the repository. Use a saved +Keychain profile for `notarytool`. diff --git a/docs/RELEASE_CHECKLIST.md b/docs/RELEASE_CHECKLIST.md index 0d39f4c..9c03208 100644 --- a/docs/RELEASE_CHECKLIST.md +++ b/docs/RELEASE_CHECKLIST.md @@ -1,10 +1,9 @@ # Release checklist -Status for 1.3.0: **not signed off for public release**. Passing automated checks -is necessary; it does not replace tests through the actual macOS audio system. -Record the tested commit SHA, app/driver build number, macOS version, Mac model, -output device and result for each hardware test. Re-test affected cases after a -code change. Never reuse a checklist from an older binary. +Version 1.3: hardware testing and notarization pending. + +For each release, record the commit, app and driver versions, macOS version, +Mac model, output device, and test result. Re-run affected tests after code changes. ## Automated gates @@ -45,9 +44,8 @@ with the physical device at a low volume. The installer needs a local administra ## Compatibility matrix -Minimum advertised OS remains macOS 13. Do not claim a version/device tested -unless a physical test was actually performed. If coverage is unavailable, -restrict the advertised support rather than assuming it works. +The build targets macOS 13. Record actual hardware results below; successful +compilation alone does not establish compatibility. | Mac / OS | Built-in speakers | Wired / USB | Bluetooth stereo | 44.1 kHz | 48 kHz | 96/192 kHz | |---|---|---|---|---|---|---| @@ -69,8 +67,6 @@ outputs are intentionally outside the supported routing path. - [ ] Check the SHA-256 checksum against the published file. - [ ] Publish accurate release notes and the matching source; no security-bypass instructions. -The release script deliberately refuses to package an ad-hoc, unnotarized, dirty, -or unacknowledged source revision as a release. A signing certificate alone does -not meet these gates. Apple's notarization is an automated malicious-content and -signing check, not App Review or a guarantee of bug-free behavior. +The release script checks the tested revision, clean checkout, signatures, +notarization, and final archive. Notarization does not replace the hardware tests. [Apple's notarization documentation](https://developer.apple.com/documentation/security/notarizing-macos-software-before-distribution) diff --git a/release.sh b/release.sh index e20e078..f3837cb 100755 --- a/release.sh +++ b/release.sh @@ -34,7 +34,7 @@ xcrun stapler validate "$APP" STAGE="$ROOT_DIR/build/release" mkdir -p "$STAGE" /usr/bin/ditto "$APP" "$STAGE/MacStereoFix.app" -cp "$ROOT_DIR/FRIENDS_README.txt" "$STAGE/MacStereoFix-INSTRUCTIONS.txt" +cp "$ROOT_DIR/INSTALL.txt" "$STAGE/MacStereoFix-INSTRUCTIONS.txt" cp -R "$ROOT_DIR/ThirdParty" "$STAGE/ThirdParty" cp "$ROOT_DIR/PRIVACY.md" "$STAGE/PRIVACY.md" {

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¨{+S*6ETsl?t|oUQr8*DVz`1Ld zN`Tg3?O)x?>+jO&2L?heNeKHD=8OB;<=t3-b1{NH?v)sKUqY&-WQX4iYs*;+E&C1k zev?HjIkhETd1bIeWSP@-uRsyp_yI>rc4>L=LRa``u>WEgSIK_r_xIH?*2h<>2Z4C@ z981P%N7a|FS)JbygmD50^ukg6b1LGRGH!Py_e zXYjy`cPjR^@A)+dO7E z|CmnP-G%_Xt0&W4oIH}qO837}m98t2=39QE@>FfamBAlrwDtb?K4B9q(`Oe`8J3^P z4g4YB=8A`p*>bxa&wK657P8mr302wGlNI2VBo%-EvslccR&s@e;V!$kL$;FbUqFI) z&kTl`r%6nv1shHT^xP$xm!Ej*XlET|l&T~&w&557w0}|AS5vcVJ-N6)3Ezp$q9k9x zCgy#%>y5&Oby~RMX_c%9{?J3}jA&KJG538pVkogHYK$*s?c!CWZ(e9$?+v*_iso}t zvzWtA;!L?_tze`fx|8S57T-c|^SQ+rq)DttL8vTLj@W{4EO!}a#9zsvO|Zhzg8nkHtmr^cv-?wi#$uocfB4 z|3aviYEn)i;dzJxUT)Im%g^Vto%hPW`t=k}Xoq$VC}|2iMhMkL?<50Vn!^K9D$Pr6 zTx=@>-_=&Wn86QeeP#_r`c^kM4BQFMHJ*#AK@M?O$&1`jA=d^S4*kicjUs-L*<2|Z zI)>z4AkNS(loMue05|3XTTGA1Fy#;HMAziu91si16_1uIa<6sV2)c!PtFXqZpkdG- zRmw8>o%#&o_^X|G`f5NKC7L8|l7~M3!U;5gSuyms;%=}=5FvFd>-rl7%{J!^7cR1! zgsa?-`PhTZre9>cr(*U@2=5{l``p}YJ}x_edp4x=z(qYtdd&OGT9fjj@jlb+&u^+1 z-O%eZTaiB!cv5*w$~oG!TRJv0WT2wue%H+};45oh)*g3`Piz{7PGX0d8 zXdn*DT^*+>rm1uMTx%xV^9T=fC9>Cj6zI4HhowVSL?%5}q%!v&U4lRzPG)@My06@N z3=M{;S#E~KwDc_j*1P`S)>V1cAqy%tas@# z79|?y(fHsnC@bp5=Q2Rpnc=UI^D6L;uvEifdeq3(srF?$uHD2bDi(2H`GLz)W!~)7WFzuYuIUT+ zTP59n*UAn97yI?nFWy?VIFxk1d95lU+f@C1vct`@Ll@cWcWS?iZ@)hdH>Te6I`G8d z!y&b#-oIbEdbN$~iz&?{#1fi<3z?cu4B@Ig4Kz8hP`7n)51Jb;jw-dh4aYe#ivN?} zDz~{H6ci01|FHVj8Qj``5`N3RY-sDZ>C}qr9YpP&*x-x*HP^I1m}ImcNc)$izdw6e z`1A(-pIMol34Ndu6;$5x_|~f@{&JFP)EVo+bCRVYG24PEh}L+)N0}2BL84iW!7AYD zqvi6YWn_aLcHPviK}PT*C6R3%W*~Fe<+jknqBW)=}fZc}$i@vfiAF)oRwG?~li zWW42pcjZW@V&Jdm6f?baf-k5r-Dh4C;FqkDD{5AZZjEInkc-+iDE8o5&m(dxjR189 zak!H12uuE^R6V#aw@3k&{X_|#>fm)WA8Wgv3wq@qweacr>eMgKllkwy^-sE6!L!>r z@7CXeo0+#Y$fFkrM7G`pJMY~PVQ^AhzQt(RLx~Jer06Xqg*m0=$v5qDPc8ntwTrx? z=0s1|=_rczmxg}tcCuZ|J$sbl@J07eNc4n{G&-Qd+ceqLH8aPLT(76%jY>+!XOdV+ zB;aX&z^Cmc0|!4cE2S5X?p%B=BI_1dbPGu>kvu^t9X)V6tMR|~rd0Mr8;LqS=0UYC z)|lS5hfm#`k+qADqN#$^S2oM6T$%JW+w9h^x>2+4tKXn27k^3PhRu+0Zi4JNNpJba z)3V9|cZ?KS+31B@@d&19&|DObwL@VI@`6;UbL1L<;0-f$PI0!9OQ{cc=q6D1f^@SE zTpKb5uiiN`h2ovY=dfhO&e{BrDb+uw`Z^X&wg#H+nXcdceBn6PNbIy?S)=vHeQ%V- zR|lkSi=ZJ96u=WIA{;gZ9!=hw$_63Ay%%RBV~v-`yx z>BZhSOXI?%Wh>z-JUu6G=vvMSbH|EibmBfMTcS_j^GQO&*3BGHv~|cWsOYRAYX<*K z{&4>{1G-`aJD~~gLG1H-U%jB1{?vpv+!+hEyg0hmqJztBzoKAt^J-Suenf9Y)Ek+a zCUa)6rtPAHs>J^c|MZBF)Ma3fs=_m;Dbp}j zsxZ`LZ<_LXr{q(j-QNCp>UySq-W`kJy^_`ym+bf$<&*_4Pj52U%Q;gqO%Ew?j4h`r2;8C%#ZK)?Om5&96C+%oyr!oGr~OO`J~EM$>%FY!}9{;^QNI z_yz+R3~xPJW8!u1RRy`RQ#v6^>xk!a85a_vn@!MjM1U&CaR>Zb$0eYnn7*K4tUJ#^ z5)(qH)vjem0L?~C%*d}DuFGKPM3M0>s+io0vA?RSoQ6ohiHSqQ; zUx&G7%8nP?8Vc)N#Blq)DQNiZqhouEHAh*~wakm{cF1t>q~uS7NN=v?n(XSu_oLh5 z5C9^RQg7-D9|2~q@a&M_%CG{>Q?9YV*LX_l)AHI+&BPTGZ&W#9JMjeYrwJmba&tlv zPL9f24e78NLZka#Z|(cOeH{~TOeJZFy=9J>8kU!3>SFX8N&U>GJ_Wpo_@Nu@Q4(bA z*MN(o8GsKeQ2)lwVZ+w+}?+rmtwY(8f-u@7u9YUuuZxQ1V~3 z=1HDfAv?mCs)g!Gi5HJ4Y5MZV(zg>CKw5tA!}1-2Kv6*t{vEY%(x!D#Z0 z^G3l>UiT^|eKL@t$x97PQARKxYs`zQa<+N3CYzdyIX;-$0Zzar+D$^p*~1&hvtVg! zMHwi2qWLR~T?YC;(s~V>lXF0#LaA8z^K}h9v+)r;*2yTd&}ho&<4QJr?J4oHGuBdeTP>P%|2_GR-MwKIgF7>CdbQ*M z5222C7Rbd)A|=Q`#p#J&-QLh>&?O?#a+`qWKIGOA{c{|BP1ZlK2as}oe!HEhU{`vt zQn%tQ^9sGS`wa!SRJ**ySxjq}R;H;cE9D+Cbz;e-ucKeIuySrlXu61tEHXlJ1E2+k zR|YL)2lH3NLlzu+wA$5PVGCfM>h@f~c_ZSg0^#1cWzFZtXxANSNel&_+82BCR_uPU ztJ&I zzvPuKL0h5-N^GkT?)VW&Z2lYg1#@QT59v0ED)?-(4oUaMpBqL5aD%2YIM4|Ue^tE9 z-hw%a=C8-KOG`=zEZ;%DIkt8oV&uB!H#ApwSE~6V$!;;G ztu+V=K7oGEh<9e}VV45y$SYdGFbzC1j$d|XzF=e!54=vXSDQK~Z=Y~qV>eCmzs2>> z2&0FW1D9lFov;VL-}b=KHZR)H%vQ|yT;`tUmi^doQme&jIo#ZAq;+-Di-@wJ`b`JA z`qOvBBg_!5Ap-(bL-5ipd?}t>{6(l)I?h&t$1)1%)zCKFt!4*)@K* zmbx3XZwZ}ha=%&)FXNy#8uBW)**K!D*FB{y?1-_at%8S;T#GUH+C|LwSi$@+M`Gzg zA-<=C&Ah@N3FlbI*0ui^B=AdXu$@)!hFZ808;@K9qGV=)6f=s_EL`|$963F5EWmBQ zi@06vo&9PVjFjE&UU!Sf`rVaZ4%3ioIjAf%cJvliDdwnvxAs`il5*#cefUvkf&%9= zABcTed|H;{Dfa?Iy!x(Q6Vmy&b-I%8fBKUX9`$d$DIW4{&O5Y^9)J0q+Li#Q)|p&7fmEL%hwa%!oLUOP-jf&x5`%FPV5-5hk^G@q zasDO-B=kkbX3ToToMro>1cg9}b?t6=3`9dZg_BWa_Tz4xOd!tO)61itqa2X*VmZ$wI)JeArgi0pcN5RH6 zbi-obb$p_C+I%Lj->CRk2oU%(=&rm&DxOEADEol?um2vg`-meLwVQG!zVLjq$n0n# z&&Qolm>+g+ggh~tLo|NFxco)A0d%OAhIh;lfV{+v8~x<>P9WF5KPW+>sj`B$Wa zxB6!i&@9=A`n7uIV=wYA-Ri`vm7n0;O5fp=gwuoi^K zED;byVnG|PaP1}y=1U2}l+*M8X68*wKz9F82QdGr zm)Lgq_tlJRekf?3!+*{#Q0MlF=>PkLNuhsw_Jd#F*v8!f=&3yG z)o(Jxa)0cu@Ew=FKNJBpH@ziD1$|7mAZ)^Jpp$xEo6u4@!cfjCyk`jD?dy}D{fDNx zyfcs?#!j&CU-{z__4opx=|lb<7nkAxLRZhPmhW58mlslGnZoDph=CyNXFYtaiS&1) zKd1FKTF|RKHGzxG7a8b9sM?XaLdSGfauoUrMQ7Jerq;UAk6fifq0J1$W`^C39Fv8r z>Gl#cOSd)Jm z%-wSTaiVzfhjkrzR7brcs1qP?Z5E^)de1vq;c&6%;yxLCD`F*+5|=Y~9>!XytjkIW zfKeMWZ^}00jexa5i03P@FJN}&t13JIJ&_P*w~w%?5d+v*o0iD2Cg6@&K*b=?n8~! zjNv#S_jv;Nfeo4?IB$#_rx*~0>FmPfl|{jw`yTXJ#OfYh*47gc2~hL`=eqVg+MHTx z!!%BKznr|EZ~it%`?3Q6)MjyVF{QFiBpRCxq%!C@&3Bq^PxNPa#=o2lc7mPBt(8RK zIa4E)n$}nfXdLpnm8KGNRz=Olfvpgn`Kzdb3TCg;(zr{LNDqm`Dz0IXjVCpvwxB^= zk*MDH+fswm=mhh|s9^a6`kD-54Q><84ogLM)&_SFF5+RhFP;a{&W1%lsCE1!s~_k_ zBoi*xa;Q)1>qZd%-f2yvd<7O4(faY) z2t>_qG7Fna*UyAJ1B<9L8meE{P`P#VV%t%cX#<`n-JWFL?1B4+eVXq{(wMO-2x}OD zII=!f*D9Z+#;QOy)LlABL{1{hSd(|4G3Hd`Sg{A7_gd6xHwAF z^Vl?|AvQ&TbPq-cu5sO+hs17z%kJrNEBRgEO`m?yu1_Ohz(cH(1w-zpbm^GADqD=f zc}f)T!Hg69P1C)o{i-$T4N6Xj4Y^2$V7b&%$0@8ahC!m!kY!W0H~kPj`PW>zPir#1 zA0n@2r&dp&@kGt@?2BnCFCwUoZyOUa1%e=YJqcxq{bW>y7{qvb3I_37>{2~pwla`D zrRfn&ge}Fao+-?n`j^FBj>I}G#f7#DovL}Jh5g)QhZQ##i##FvtQ0n7$u;82y%n4; zqY#6-+<)OT4?5AY zVAm}exvyWKhF&AgVXW3wKpMt27mG_n6J4Z~R8Fm(h%mO3Fn}(nRevEr?Y&8RyziGR zv*}A!#uH4gpy({+KHrtKEy#2{Hh`*|r*oOpl)69~ore@!y5RTu57?c~U=Xj4bqyee z-{bwJgS{}*S~CO54+VzbYL1d*x;#-?+QG&oAl(x%<0Y-XrDe0Zhp=h&b~mionYX7J zrPq`RU5`evuR3xwX~@goLrP6I1}WjE>SDMEX8g$Hv#XE<5}?)n$khpRWg>b_wvx3% zez*`*)&>`}0H}P$jeB7lSt}gGd=RS#ig(LLjQL$A^9KFo$6Cp*)cWN0a8cU3$@<^R zJ3yLu#!&|=z6T%A?9xS`{=EIlux%B4H`b4Wl=|JAE3=M?R`ye8NPQ7x(Ok`&zjU@^ zh4mZoS1VuE1Wj!aq(?g1O9urkhl%t8pTXfyB%l|>4-TsP2sL8eK@ALdOgV;*nC4HV zJx4EuP@LoRjoO-pK!6^ZFxW2sdNqronIS$CC;S>yGmVCLMyxe*d)-1-=BI(`0weaO z2rcO5?xum{0_{@6drPC-W^o|fBnBm+81O;a)Y;gkqP3azvJ+ewXqKjryCf z4{Hr36Mn#7n3nBmS@_|`#g*B?GcL!d?6@uTW@@9H=VaDa|`Sp{V@7&BpO zc8x0EN)q`79#iMjN4Mx zF%`4Mx_=mXKI{9)^|_{b=n@HZXIp5v5jMonchg?MnW<8p?4!-NbHejq_bbg;*SgX6 zzQQW_U6xB~!&f95DV6TrNw?Duv*)C`|LNb_;xOFM=8qQgAy2uDl5HFvaj>?=fR{XV7$lXpH1a^hy;pgu zJ57Ie-?GJEX3Y#b{-0YbD>%Ja4X+Rs8(|Z=7|==^tLAai3B^-w_5WM(4_a?`FMIU0 zCiIb@3Bw^e>|YT?&hhN5dWGa;H*@~UJqxY?hx}4j+!|?`c=@0os8)=)2h=cb?pBgv z#G^NNrLfQ2Dm0W5)|4K_nNp{We`%7Hc29hBt$hxt_>O*$-@nvXMN7sz=BXz32jvT| zreOJnnIaT?b_4Hsl-=+(z|$Rbw<~UX6dGlEUGp|<(^^Fwd`&V3F5ggjGsqO{U{FP5ywWO zpFjPZxApO(?^rqby-Loj6KZ{>NqZHjKc~8eMt|bKySpQS=)QJ!EP_X^Zs8Pw1E zb}uh+3nR{lvvIMF&q-6_Y;g{Ax^~p>;Ff1y0X|nrZulhWJ@YRg0l;(%l0!BPoLR$D zp+2VKg_-=$*4zgxaeyW5|78hHF1egW)uA;wA<3<^|GySK!te(7yqwY?3I2?z{H)9g zuT&`~=K_FCyUxsw5@jO&*LM=L;o!&J4rUKpaj^EJwgK8?_jmG}nlF%xk9eHWV{OUW zBcgQ(8@KnwYThH2;?8t;da`?Bap84-C&T55JG}5Z<%-Kc%gT!XWMmK8YuPN_J^{AP z(-TihBImugxHlnqWH-QjWYyn?gJsJctGH@UHtw(m3`z_t1qozF*YY9zlp8iV0i@ZBu&sk(9Bitl65i9wH4Se{y;6RlqK6#2#h9FwY@VHZUQTfgL2b)#UJ$ z?&_T+T`gBjsqk*k@ynTeow5e^X$sX=a>`2hQ@Rug(?h2B!5<&7;)AMS`Q@xON)JIy zc?oe-KRWM;y?bB$Q*K&>ou_}<1SeY5pgb-A+WuVq$9YqCUf+;jevry0hzHB%rxxGX zz5TYi_kG@38dsVyh&5fz7UnInDwxnpP)H`-pZwC`Gx>|>5wfd7)bqyZ zwmUI#WSxa2Ia@{&*^UlrDCPrkIrLK288hJxdNXS}fKnRf4Kj|$L~(XqZ#DmOa4;5p zidXnprPYM;5Q4=D`t0x+?gI_Ms@RiAGlFEUg@tHoh}zhT?|OR%k;!g+#z$&;;906Q z`w_zOwt22KsP5bh)HUuyaT=$jNX`{eN8t4v2{Z(4bBq0y3>RWCTe;hM% zJ`s=k*`up0Kb|jI;pC8T_Lp8*L*?H78%F9&R?gh=Sj);!V2UH^XhqBt=lyw0)?>z* zDIMMF!t#m(h$PwM(Lcp-`b`0@TCQU*{AD>21s3JS>%K=y7 zR{KD*)^j4t&b`oYI?S4)0OqX{VHHq+CMQ-ld_ znd2EB^gLoiSAY%1WCM*mNMA^$q-Nh_jF^6H>rna4?0sh^T}UCwTp79HR&6zSIM zm$$et9aaL1f@5A~Uwxsw%6oc{*PPUEh(MmsZdW-{>jhW%@es%p?L#TTy&xeoZzOo_ zuWIOeh7W}?;o{bUG_w!P7hDzU^lw{la%d<@C|4F>x_%u6BH5t_(5|fESYlAyX;|ls z>C|*Xo1?qYm^iL+qXVQhYzJvIc}K!-ew+ylM=1HfRv7!$e$~}xv%WGZ)mvBWz51*UTEqfj2&L(^(| zLh(KL9cWEUH~L*0^0(*(v7~Dwf!PS9axv*>>k<%GT%&kHUm=32clM}ry2bhY2eUyH z;gOhhcSe7XUi#ig;mxmF{vE%bFzimjvoR>Mk9)?B-TyZ_7KJS zwwwpFS8D0@j+Nc9HD$^(7$depgllJ(J}I-tjkTX^`KgpxSOvcPzu z_fp~t1l%Hg)|CgnAbT0;^eC+sqWEZh65DVx#5{iZoY3(E&PJ~aqqPrga*(Kt5j6_)vKg7F+?N_ zuO%Oi>+af$w|<^mbA;c=k;anJXXcozyc4^2crE$p59{JT*KnN8^=KkLEQhE50!u~w zA^bKrjQAbjW5+T^%D_W$%#(vlQkIAID05{u7P5<^8HY$I@)g4sI8+ z7N}oT!LZpy z-05BA52I(t93w~}{3!OM^rb=EEPq2Bdqv~_#9S)Y5umL>9$kRHh33Ut5H0_+)JHl| zTXyFPi#ovZcr1&tRScVb5xK47*NI+)P(Z}TJ${>|_w1lBC?iRoJ1f>d;NqFFq!7@1 zQ0gt7+!`sXzSY!ySQ9b~Ho5_s7kry!6B&;PbNiVTqI~XkLEY7i=cwh zR`6|+*!b%rsQ2RM9DJqjhKPRK=g1n%y!p5^2irLljV(VU0PH-o>z58nnN9zh0ZmWi z&-2i@nJZWO1ajY#lW|>_fMV8Z1aaePO2FTMcDh>rIr6UPsoZw`vr+b%KQ{%8bhky{ z**PGFqIoL_kM=xy`NPKCGscOhl@A3n=1&XvJzn$?II;*(c|y96YACG2@TpVOgrLS9 z+QFHR$Y@pA5&OC$Xvephu1&Pe4!ckfBEj47gO6L#ni*cZR?*uz%_$gcwTyarRv>PZ zL*vzvc@lr%H{Nu! zVn|-bXrQ`J=@6EWO(_a0zNItmNSYu_?`d_L`wU$#x401;Islv{Q~yG&)&p7WZawJ} zT7k@|X4f^Wy1p66IfFH6B!=K|U}+mryIGtcyGI4uJX{1S4HYJolqk7UBM&h4eK5=e zZN&L}6+|kcRSBt9y(+y=Q`PCHG>tlB6*0~0o`4^lY&gVs+m~MkBPa~k)74_ap!Y|T zw0bA(Q&9G-RA7--!QB}`A8zFlG`p4lTB5n-S1krdQ_wa9$iv|vF{*ig{pi(J1kLX-9cF6GMO)zrSvaC3bMol#AQ8M2vpSljSyc+}xvuk>{CgE%4#X;YfMf#C zsDazId6FqwP;bl7(~=T#Nf<1(l2v$-!=YfI`weEhtm;@Z1iT_1w zeZ$Q^GYrw$!c~4BOSW=-nK-1p`D#C)qkom{e%5$5{m9xy#l*Ph55q@Tha7>ZTJFjJ zi?Z(kYHADDRZ%%dN>oG?1XNU1j-b*J2#SIQ1f)rg2-1u6Ku98@fFMLgL~1BXhe+>< zNS6|j5_;$@Kxj!IA=z(p?!E85xo_sqywS-FOWAv^y|VV-zVG{8Kx&iXT_EFId28*Q z4!Mg0GiNmu68@Da(6xeWn2UT#cm@CEuIUJQz$rsyT9mp@%b~s@!ts6GF?yGN={(8| zE<73=s^(kqAP%%6y#2vQ?i!jD?eTXXFZ*7fWJ%!>XP;nY!0T*>oHXbuwt6V+R<%IY zN85B0KN0*$$qiY+FRWftVx-Zkxu&Rj-axI~MvA>Kdyj~bD7u+&v$Hx0)DG~J0;{XJ z8OKUWR8?HxoLJ|H=--PPA%FDLRsTdcq-(g^M94SGEUn5~Z7^wv!bbaOk~E$e5M3WN z{qLptKnIFkRGSsAB?VS2ckNq1czucVyk}<9atgXs!1~wD{Ah^s)~R=+=Bo1zB@fCy zhwUb!#(}4bUrAoK3ec7mt)%aJxib)Y488CED}8#6J7Qp;?UbqQ!w-(FcGG?e+z4i; z>uE3E3^j6S{3Y?{ew=&ld{yJ%@tF4EdCbA6?@OZlEP`;oC~ zvKh2OfqU#QNDQfY`A2jGl+!17d^y*0eR$LD>tg!?FgH5ZM?)md@;V#`=cRRpYLE$u z&G0w->V0AUeMCstxf?xAEd#hYT002(c1{GpyQrb3j7TJxAS7Ayc}9&Lmh{;vsKHj9 za-(ij549vf->~lgfIk$iE?}@3TL{0itf45&36BpQgJ-Cr8mSA4B`;bPv=Dec*%f>g zwMyZF#}6U9e-%w|kN=N+ixoYeHEuorQshrieW7QPP(>8l^F}B~T6L}Oa7dxPjK^a> z*{IQ#81(F=l3i^X#~k#W9lvN+}5){-d4 z*~4?AJ>=VZcj6Qta)!7mhi}B&6ft&nZhv)heNUOWT(M{koKm=J`qin=t3yW|wC^Av z0-3Ekf4>VXtBMA#YWl378zV6L1VDq0%p-E9h!FpBurUXzvZ(Smt%R`cJ@%~>Y$NZ| z-%824G&QgGyVOoNK5p^Ds&xqn=kEXu!;*>{1((%)ehh^zOl1v&l%puUc~ASMHz&PL zip)J7q&_QZA-ueSzjICz;d)*@AX{2sCE$|Pa%{#zk=Ql=Eq{HUv-9AhT#+j&KUX>W zLh(30pO)Q@eJS7wA4nC@ntP%0t%j5z<0Q9t{@S8~q#i;eeRJ7H{>3sPfVKvW{>3vAtQw_-Es<0jTy5-VzS zCh8<{(Did^_z)%=ezxeqWb@dsPW`F)Iab zmEvi=t0w%m-8yej@D;m|xuIAM?6a#rB$U&*=KZ7;JnN=B$PVH#HMu@@IPTEno*cba z8rLrTJjS4UXx#fo%7~6&U>IUX$3Zsy!{y@@V5i%dR@01xMI|%BzUpi&C!+XPb)#merB}cd%Bh_ zYZVY%6t;xWn#!t)+29e`D4V%=CaAOWZI^Eid~ou)splg)Xb<+!Zc_VZ-p_8WHE-9P zbK&G#vbGG3H+1CFB1-T?_UGA7d_{fA(= zZ^)osKHX(!>@&qwtzs`jO*r(gjvC7GU5-|2&ssDjsvBnG@l?VSA%9zB9NMRpP-y3@ z)TqC?7E0PmbK*4~AASEL6E~NZ%YzR#qmrHv=73vUhcRx zfG!ubnid6R@I$h;d*dTfXVladzFcv$UeG4X6aW&R-7^YS-N{Qht8STB@5Vk1=newN zW9AtH>9i5y5f=7tpQV>$n%0;e{cp=&sLASWhNZK*3nwoR)J;*Q9PR;;rvNHV{Z3RF zJC9{N4=PhwuV6Z}n7x)4z63B8R_40klP7-!PinRWi~{F#Iy(6-$7NWSM*V=CD6rI^ zUzPxqoqJ#ynYMMVxg^zk37LqDq7!;Io1SY3!2HsSaN*0GnpI)WY8L7*#ar8pShja0 z)EKS3qjG&q0EnIbv&}#)#5B~A3Rn7qX)^tkr^+aeSqWxe8vD;Pva|Z97eM!~{77UI z__Eu&2^s!m@KpSd%bWSj@tci$#Zqd(Lk*|FN6N3$*^q??Umt76-&WL>t()QC&gO== z?&&7Gzx!xUygV^-n$>pvZ#13NUi;SduSt)a+pHeDfp2kL7{b?E}l@*W~mSx@h zWLJD|zN6pqS&kO$qjxd15!rEv7wpy+3=1)Z*Y8vh`6=t|ZJd%`a?53uW3A_+tB%LS zlL?sj8+D>?=cyXz%F$@x`E$;Dx~3!3*>$i|6Kd!D`Anmdx7*THdsY6R^|qvWJc;l; zAz*WoS#Z16sWWW!jkMxXa02Z&(1x-DVdBI7`%2Y}zuU8>%LMd}8}~>#k$!k$?DYyH zey#fI;$3cd{y228ZR^|V&vw0m15}JWS`Ek=HiG$bJXAN<)`XzzgKK&O_7lOK-66tm z+!-t|6<4!CY3dUKW(L}CyZjk`e0o{_vUq%2=V5m>i#hui|OT{v2{WK*#$^erlj7Yw~zJc?F zIlPO!cDYW+^j4catAAq?>0EAxpTo@qMu|&#T@@%}shcaldkopg!~lR|F6U5?N*Poe z7n7Xc`Ncmy2on~aABuKBly8D0yoaSi4@L=rR=qt*B}G2gQ$tN#KJ-L91G-aQWC)1h z0XGWN4?t#AwEtgV=)cgFMOR8QI@y!g<#o0+pgMtneT0a2_uL49;N*37WJUPQ0t9Gg zkse*^6#`_wgtVXHzlDE?%^zPdtm$r)X9UHd3mRan0%5F;)GXX!hPERQK7{u6lR*wPr-%btk0U*$mAoHZxK7+wM6WGQx{wjJ+jEH? zCcTphY#ycqP=FO*4Vd6|{|fM@da%e082}0g*bM|$oA?&D{6Lild*KJ%=WXl64PvQfvx14F3ckYd-=44{eo5J@MF+m$J{!1h_+ zmAWIhT!dAy>dJnUEOeT>U~v|6%7?$R|ISP3DdH}dnCinOt%s^36|;`*-W!bfo>pXI6~N)CL?0dCk|CQ1>y|>dvuEaAdN!4Xm&5)xVuN@vToQjn;kL@4sdAcxul1+T% z-1P0z2oniRcMTTK=l-O__H`LAp49G)g7$3mfeeoaKD-{4T1RBZ8Z+kXbSX(nL*!8& z;HKc^M@{>Z>0z?drFv6x9edE^sJpsX|#PqXjSQL?P=89j`5kY zLys_Xo*P{sUn{t?>`}k_>TETB=ANn+O%eng-aIdX>Tgl>+{-hgJ7Lkuwv)K?Md7e@ zch-3Tikj071NH7|szH|EYnCKuSjL(}=1;}afvjs`NZ76mAJF4~va6Kp_jhBPfAcvd zR6y9B(3HdH)Y#3u5&P=a6asl@4GPCd9go}=oYezws<`opVW{^9`##em<6z9`3-l=EZK zM5$cqZL#oW0<~&&f73xQdwSme>B4X12V`3@L%V8`s0#Bhw(2t4%SXrxs)S9x@_hOx zUaK(U823AgU!Lzm1d4NP9K_uhvwBOFY|keNy?5*{#z3bcjx3%?47z%i$1A)eJ^s!2 z3&In3C$*D49Of1dn34T1o;RS%xvzJE*^hm9UY+N7LqL7_Ld6i%_!#1^iQD^(zAx#Q zkWP{J!H+tIcf?9h-jSZks!V?en>I$aP163{zSQBPXIiT{0Q^8s?lMw#w$`}($E#+V z(bp$Hm>5A;b$2T!QpNNle0wqLaFaDN7#)!}T6UNXs(JF8K~;uUjZ~=b9CtvG^Q&6@ z#9C|qmL-8lgNQ4KRqEjNk%gB6)4|%cko-G-e$kSg^x=wH{}{W+MM8CTzl*E-7fX_2 z9Gmtb)^qXa8z?V=!4hUlAzV3gf%&Ox05_$kTUNQyia2jhJG^OqG;0a$ca!|S_07LL zw;Pmk2ea~_?{1>aeUIipID1}_-B`ZZCvNu2#x1{(W|tQXF{tO^m)l4RaZEpGULXQt zFA)ttnVhQeTYG)1XI7GPw|0y+O-SE3iU~Ra^Rc$+Zg#fR_md}g@DOZt!PG*8wyRBf zRJ^C%<-hswD#@HuoMXmrf=bAH8|ZDEpoH3Id%W|xN;jQjGvCYkYvsEpUqrORA+3z# zdeXEb6b&VT>R-!GrrY0bUJ8@-o=q?MjQt$zaH^^#HE#ENev7XZSNyPx1z;4`K8hCO z56T)e(k_<;q|3Ubv0h?z`e%o}_yn!Yb00A`^OhFBX7mG4G%F$$IYG5j8k#%YrV7Xsl z>@i#K?K&PZrxHK$flXtktbg+Uz4hb>SkjF9PMFEs*t0rb!>Ux9%(z+*Dh>O>`GlR` z_FMCzE1^@LM$x^UeOB~t9{2E>VEP?XN$zfY=FY|$|9sTXOzkPdS2S!A#!ikX*&Zs# z?tj_*9Fe{7VJw?|8^?H%7CJ1U>hM{5iSHM@(uZv?iFA!)>msYNAbJZS8mV934Tyxa z7@Zfsw5b^NErzD)R9!e9IjvD;OlhpEtmnZ}IPP<_mgDFYZhpK_wIm6eV=X!_b!u)vVm{*lTP~T9a{(q-P3qsR~)sh zaoMRkK4U?qVWB6_8ivq>BQC*g-WBXEMI&))G=lgoLYO(UXzWgtrZB@r^dW3F| z(fpH{;_a8^^;2rY?$1y~?>Qt|KR#5B@>TY&6|CzOlqe5fmrtLB|;C-t=EaM=GeBFxUEma!#P0>t^1+2)h0O|CSoXf`OLW$CYP!3{6iHzo~B~k z<+KvXtEYYZfr4&Z_C5F{-?Q=r;?Fn3(A`cuZk-=icqoHPHV+2@aCBpoJ6dnlpSlLy z-Ii@2151Qu&NGdTUZFWXfC9atO2Z-j;IoNjVe8!u)3805c_?E%P$V{EO*%3UA}EHY z%Qi^RL;i*g!Pq~cY%IWZ16T)e{ocBGVuhU$sI^R7!3pW9#h<(n^qSG8b5TwQ*-z*s z*YkaY2#&6pxxn~KHd$!#(K?R{ZMMw!7OtR)B5AH;dW89b6%cXLVAaDz4P@!l@@6*` z#vUM@S2#-+*S!C|=unTT<759pGaoUB9Ql9N`$oEjMgrtil^>O2eHZ1pNQ%`}o8Edv zZ$p6(8FT$9l@ojrV%)KNvE@!bg7x?w z{8owK8P@3pf7GhX{ja)>;m&*|faJS&yNgipTdB8XVo-e8Kopa65EY#mBKVVkYm-X9 zt3Rlt7#7vf7uPpyI+p>6Q~^#-OX!Ln<_N#X%gle}ymGqVq`h-_j62~B*DT>tbFBzo z=Y!fDgV?Xlq`|jBpVtoD9YaS>59`Xww^r4Sci8VFoL3#v+{`4kR}?&4s$otIJu;9_ zDv#99n8$#vsLZ%!lw>g#!_0!S(@X(&8j2b%)FXXIuq)DG0@9bO%S(SK>-eGWSX>=yDb6SSbhKcH1A1BdhP+xSD%qd5%OGIu$ z5RXMr90Ba9y_`lU$oP}0T%s{d9=Zh<|JD>zy+FPw4tCQy#|giNbiBTKGkJDOCi*d8 zSTPsuw@h5orVVh;Y{2!xPbKwhP!FmA*YY_G5L6Ci*H2PzMOqtd#UE}e-meB7KM=`H#QnkKd-=w~su6oCPX@1%I zj_kJcR_(iRu4}HsT_Pgcn}+y2y5ZyP_8sk{8Bm3Ox&8r*EcSVY6V5$X9+t4?WtLFE z@S@j@LxxL+8Z=y|;A3?#t&alz4pHfz=-AGub8QShT+||_aTNXxH>CNbs8)?06zE}4e_&6YdO~cLE*$z39L?0f^y5nBS-B8nQcaCm zpf}=`U&~s$!eFaJ>4%T^Z9B9v9IxL)>S(Ry>h5cCs+?C&E6Q@Wb?{y`b>>eMeG>}2 zMlS(L2>r}!XidI?uCW~*O0PP1b!`&WgrDSeNmf|wl(N=n53K#1PwTafob@c;L~SbY zW#Ta~&x6`j4ChDFfw(RLEMiq8(|nbRSqK*DC!AX)m2(PUV|W(%abEJBWNki!0!At1 zT1YaH;PjrIl}xs$q()+a&;u-i8|NdYbl5UW)Y^f{<}*5ankMO5lpFYOHn|Bs_qo5 za}gfc<%xIw<(`W*=sGUkqY$hJT{)?6dt~);DxZG!sKDB!6Mr(&-drWX2pJ^P)Lx!W zOw&6vd1Xheh7-2Jy~FO*Q&-#dWfi`{1yKHjbqw~^$?iHTV$|;BWm* z5`W84B`SJU&a=6TdC|kI%}X-+d8D|vzKbni>)u*iJ~%DT7|=j*Wtou(^)PkMH(4`? zWhSVS$9RexpPKcQT1KBy@0u&Eo>;T_-j!xOwN#UsfO<6+*Srz@ILU%Ek^hzD-?y|}1iL208s^(MZh|_)Msud*7{yV5Z&J$=G#Ic^D_$E2DcLTOTtOofxCcy#> znEmp@WxVCv5;NqnhhzoAn`wuA28dfl%t5dL2;w}q^%_s{;f~3WwR+8sw(^!GTPdTr z*fQ)KU`ubR-mPVJ)ijvyIb|Rpc)Ogf@{?N2rmxj8#`i@3Lnc=sTe$Rwm(((shB|+1 z5p^$;RYME4490fAWi8+0QD;wt&}G>EHT-dBT*M*qYlE~ic`$F4M)mm$EmPo6SlnVq zyE>#zazrd$oHISDOCCpe(qVO$4xdxTyAtP|i{I-z%laq}{iP`mf+;Ltkt%=|Rs`oQ zc9%XkEg$aNxm5q07m|Z6S2F=I2uE3;$FIJF=^s{8*(~n;ul0;F`$6Tjajd)wNyrMG zpc%68s%3Tl9P?yfmoZD`(aG?V+^?K`lD^^_tYaG50C(#R>VjL865-j39)gHg`dQlP zJ_m{q*mW9+22RxyJL!qX0}r`lXeBfe>;EFG+&b2GP;NkYD%!>=`y5u~AgbPq#pXMB zOP?-Vt@d^9aQ{;=XE(L&1EekgO^1SKcHv^E+uH);4=GuPCrV9=P*xY)W$GSKqEz)+ zt(w8x%Ti!A52nCsPEhmI*jegPOYtG?K9a=9Bd1=uFo*mx)+LhB`s8u|)V3x;?elkV z_<=2N^sJdz<-bXJO7geECBNIxC-cu! z#S=TX(HthmQjziQ$TDP~y1}fN1d&SMNTm7Y@6>49`>WIz8+y#tHfR%qs)F-H^m!KE zoo%mO+G?XM(?*(?0Br{Op?dkxK^mtmExPh!vq)vmRoJzrj1UvESwgN*b6rtj>N#nn zr?J$*g;d;d2-ga{HO-2=N!hI9zz5GjGU=rcbe*q>7s&W^NA$SBd`;=CY5nsPzH`Mk z4b3;+dwY=85Zk-GE&{80^U#D=33kSzGo4|FX8wFt?*%#?w$Lqn9}*c*9#3OfeYvW-`21n(MVI{3#JZgtDk-4Tp0ZM0$APB7UU;u}z7;A^T3O@|1EW0urUy$mbnyuhY2HDAliW-BTPN+#w!C0%Udzj_P(^r3k` z%h7U`7f zM5T*PaBaajP}IxEe&WF7Edi3v~h9A|p~KXa00z<@FMu?3C#l;LKw9M_e- zz9mKUXAo>hj1pmTOKRo;Uw(2TO~lw9S-zdI4p!iYHZbC3SBJmV