From efce0f5ad68506d3434273c9fa78f74f4889048c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 02:54:28 +0000 Subject: [PATCH 01/19] feat: add macOS code-signing and notarization to the release pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wire up Developer ID signing and notarytool notarization in the GitHub Actions build job. The pipeline now: - Imports a MACOS_CERTIFICATE (.p12) into a per-run keychain - Signs the .app bundle (hardened runtime + entitlements) so Gatekeeper accepts it without a right-click override - Submits the DMG to Apple's notary service and waits for approval - Staples the ticket to both the DMG and the .app (so the zip is also clean), then zips the stapled .app All six steps are guarded by the presence of the secrets so unsigned CI builds continue to work without any secrets configured. New file: installer/entitlements.plist — Python/PyInstaller needs: - cs.allow-jit + cs.allow-unsigned-executable-memory (Python runtime) - cs.disable-library-validation (bundled third-party .so/.dylib) Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- .github/workflows/build.yml | 90 ++++++++++++++++++++++++++++++++++-- installer/entitlements.plist | 14 ++++++ installer/make_dmg.sh | 4 +- 3 files changed, 103 insertions(+), 5 deletions(-) create mode 100644 installer/entitlements.plist diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4f986ca..c0b7116 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -150,13 +150,97 @@ jobs: # shipped binary would be extractable, so we deliberately ship none.) - name: Build with PyInstaller run: python -m PyInstaller --noconfirm --clean BlenderVideoMapper.spec + # ── macOS code-signing + notarization ────────────────────────────────── + # Requires four repository secrets (Settings → Secrets → Actions): + # MACOS_CERTIFICATE base64-encoded Developer ID Application .p12 + # export: base64 -i cert.p12 | pbcopy + # MACOS_CERTIFICATE_PWD password you chose when exporting the .p12 + # MACOS_CERTIFICATE_NAME "Developer ID Application: Your Name (TEAMID)" + # NOTARIZATION_APPLE_ID your Apple ID email + # NOTARIZATION_TEAM_ID 10-char Team ID from developer.apple.com + # NOTARIZATION_PWD app-specific password from appleid.apple.com + # All steps are no-ops (with a warning) when the secrets are absent so the + # build still produces a working (unsigned) app during development. + - name: Import signing certificate (macOS) + if: runner.os == 'macOS' + env: + MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} + MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} + run: | + if [ -z "$MACOS_CERTIFICATE" ]; then + echo "::warning::MACOS_CERTIFICATE not set — app will be unsigned" + exit 0 + fi + KEYCHAIN_PATH="$RUNNER_TEMP/app-signing.keychain-db" + KEYCHAIN_PWD=$(openssl rand -base64 32) + security create-keychain -p "$KEYCHAIN_PWD" "$KEYCHAIN_PATH" + security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" + security unlock-keychain -p "$KEYCHAIN_PWD" "$KEYCHAIN_PATH" + CERT_PATH="$RUNNER_TEMP/certificate.p12" + echo "$MACOS_CERTIFICATE" | base64 --decode > "$CERT_PATH" + security import "$CERT_PATH" -P "$MACOS_CERTIFICATE_PWD" \ + -A -t cert -f pkcs12 -k "$KEYCHAIN_PATH" + security list-keychains -d user -s "$KEYCHAIN_PATH" + security set-key-partition-list -S apple-tool:,apple: -s \ + -k "$KEYCHAIN_PWD" "$KEYCHAIN_PATH" 2>/dev/null || true + - name: Sign app (macOS) + if: runner.os == 'macOS' + env: + MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} + MACOS_CERTIFICATE_NAME: ${{ secrets.MACOS_CERTIFICATE_NAME }} + run: | + if [ -z "$MACOS_CERTIFICATE" ]; then exit 0; fi + APP="dist/Render Mapper Pro.app" + # Sign nested dylibs/so files individually first (--deep misses some) + find "$APP/Contents" -type f \( -name "*.dylib" -o -name "*.so" \) \ + -print0 | xargs -0 -I{} codesign --force --sign "$MACOS_CERTIFICATE_NAME" \ + --options runtime \ + --entitlements installer/entitlements.plist "{}" 2>/dev/null || true + # Sign any nested .framework bundles + find "$APP/Contents/Frameworks" -type d -name "*.framework" 2>/dev/null \ + -print0 | xargs -0 -I{} codesign --force --sign "$MACOS_CERTIFICATE_NAME" \ + --options runtime \ + --entitlements installer/entitlements.plist "{}" 2>/dev/null || true + # Sign the outer .app (--deep catches anything the above loops missed) + codesign --force --deep --verify --verbose \ + --sign "$MACOS_CERTIFICATE_NAME" \ + --options runtime \ + --entitlements installer/entitlements.plist \ + "$APP" + codesign --verify --deep --strict "$APP" + echo "Code-signing complete" - name: Package (macOS) if: runner.os == 'macOS' run: | + bash installer/make_dmg.sh "RenderMapperPro-${{ matrix.label }}.dmg" + - name: Notarize and staple (macOS) + if: runner.os == 'macOS' + env: + NOTARIZATION_APPLE_ID: ${{ secrets.NOTARIZATION_APPLE_ID }} + NOTARIZATION_TEAM_ID: ${{ secrets.NOTARIZATION_TEAM_ID }} + NOTARIZATION_PWD: ${{ secrets.NOTARIZATION_PWD }} + run: | + if [ -z "$NOTARIZATION_APPLE_ID" ]; then + echo "::warning::NOTARIZATION_APPLE_ID not set — skipping notarization" + ditto -c -k --sequesterRsrc --keepParent \ + "dist/Render Mapper Pro.app" \ + "RenderMapperPro-${{ matrix.label }}.zip" + exit 0 + fi + # Submit the DMG; Apple validates every binary inside it. + xcrun notarytool submit "RenderMapperPro-${{ matrix.label }}.dmg" \ + --apple-id "$NOTARIZATION_APPLE_ID" \ + --team-id "$NOTARIZATION_TEAM_ID" \ + --password "$NOTARIZATION_PWD" \ + --wait + # Staple the ticket to the DMG and to the .app (so the zip is clean too) + xcrun stapler staple "RenderMapperPro-${{ matrix.label }}.dmg" + xcrun stapler staple "dist/Render Mapper Pro.app" + # Build the zip from the now-stapled .app ditto -c -k --sequesterRsrc --keepParent \ "dist/Render Mapper Pro.app" \ "RenderMapperPro-${{ matrix.label }}.zip" - bash installer/make_dmg.sh "RenderMapperPro-${{ matrix.label }}.dmg" + echo "Notarization and stapling complete" - name: Package (Windows) if: runner.os == 'Windows' shell: pwsh @@ -248,7 +332,7 @@ jobs: | Windows (x64) | `RenderMapperPro-Windows-x64-Setup.exe` | `RenderMapperPro-Windows-x64.zip` | | macOS (Apple Silicon) | `RenderMapperPro-macOS-arm64.dmg` | `RenderMapperPro-macOS-arm64.zip` | - **Windows:** run the **Setup.exe** (installs to Program Files + Start-Menu shortcut). SmartScreen may warn — **More info → Run anyway** (the build isn't code-signed). - **macOS:** open the **.dmg** and drag the app to Applications. First launch: right-click → **Open** → **Open** (it isn't notarized). Apple-Silicon only. + **Windows:** run the **Setup.exe** (installs to Program Files + Start-Menu shortcut). Windows SmartScreen may prompt on first run. + **macOS:** open the **.dmg** and drag the app to Applications. The app is signed and notarized — it opens normally on first launch. Apple Silicon only. **Verify your download:** `SHA256SUMS.txt` lists the checksum of every artifact (`shasum -a 256 -c SHA256SUMS.txt`). Each binary also carries signed build provenance — verify with `gh attestation verify --repo ${{ github.repository }}`. diff --git a/installer/entitlements.plist b/installer/entitlements.plist new file mode 100644 index 0000000..ad149de --- /dev/null +++ b/installer/entitlements.plist @@ -0,0 +1,14 @@ + + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + + com.apple.security.cs.disable-library-validation + + + diff --git a/installer/make_dmg.sh b/installer/make_dmg.sh index c695cf8..1547bd8 100755 --- a/installer/make_dmg.sh +++ b/installer/make_dmg.sh @@ -7,8 +7,8 @@ # styling step fails (e.g. no Finder/window-server session), it falls back to a # plain dmg so a release build never breaks. # -# Unsigned — Gatekeeper still shows a one-time "unidentified developer" prompt -# (right-click → Open) until the .app is signed + notarized with an Apple cert. +# The .app should be signed + notarized before calling this script so Gatekeeper +# opens it without prompts. The script works with unsigned builds too (CI dev). set -euo pipefail OUT="${1:?usage: make_dmg.sh [app]}" From 6dd48ef7cb648c4d0897cd3e87cb0c735b0806fd Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:05:43 +0000 Subject: [PATCH 02/19] ci: fail notarization loudly with Apple's log; add guarded Windows signing - Parse notarytool's JSON verdict instead of trusting its exit code; on a non-Accepted status, fetch and print Apple's notarization log and fail. - Windows: sign the app exe before packaging and the Setup.exe after, when WINDOWS_CERTIFICATE / WINDOWS_CERTIFICATE_PWD secrets are present; skip with a warning otherwise (same guarded pattern as the macOS steps). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- .github/workflows/build.yml | 62 +++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c0b7116..6f219ce 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -227,12 +227,24 @@ jobs: "RenderMapperPro-${{ matrix.label }}.zip" exit 0 fi - # Submit the DMG; Apple validates every binary inside it. + # Submit the DMG; Apple validates every binary inside it. Parse the + # result ourselves: notarytool --wait can exit 0 on an "Invalid" + # verdict, and a bare stapler failure hides the actual reason. xcrun notarytool submit "RenderMapperPro-${{ matrix.label }}.dmg" \ --apple-id "$NOTARIZATION_APPLE_ID" \ --team-id "$NOTARIZATION_TEAM_ID" \ --password "$NOTARIZATION_PWD" \ - --wait + --wait --output-format json | tee notarize.json + status=$(python3 -c "import json;print(json.load(open('notarize.json'))['status'])") + sub_id=$(python3 -c "import json;print(json.load(open('notarize.json'))['id'])") + if [ "$status" != "Accepted" ]; then + echo "::error::Notarization verdict: $status — fetching Apple's log" + xcrun notarytool log "$sub_id" \ + --apple-id "$NOTARIZATION_APPLE_ID" \ + --team-id "$NOTARIZATION_TEAM_ID" \ + --password "$NOTARIZATION_PWD" || true + exit 1 + fi # Staple the ticket to the DMG and to the .app (so the zip is clean too) xcrun stapler staple "RenderMapperPro-${{ matrix.label }}.dmg" xcrun stapler staple "dist/Render Mapper Pro.app" @@ -241,6 +253,35 @@ jobs: "dist/Render Mapper Pro.app" \ "RenderMapperPro-${{ matrix.label }}.zip" echo "Notarization and stapling complete" + # ── Windows code-signing (Authenticode) ──────────────────────────────── + # Optional, mirroring the macOS pattern: set two repository secrets and + # the exe + installer get signed; leave them unset and the build stays + # unsigned (SmartScreen "More info → Run anyway"). + # WINDOWS_CERTIFICATE base64-encoded code-signing .pfx + # export: base64 -w0 cert.pfx + # WINDOWS_CERTIFICATE_PWD the .pfx password + # (Azure Trusted Signing is the modern cert-less alternative — swap this + # step for azure/trusted-signing-action if you go that route.) + - name: Sign app (Windows) + if: runner.os == 'Windows' + shell: pwsh + env: + WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }} + WINDOWS_CERTIFICATE_PWD: ${{ secrets.WINDOWS_CERTIFICATE_PWD }} + run: | + if (-not $env:WINDOWS_CERTIFICATE) { + Write-Host "::warning::WINDOWS_CERTIFICATE not set - Windows build will be unsigned" + exit 0 + } + $pfx = Join-Path $env:RUNNER_TEMP "signing-cert.pfx" + [IO.File]::WriteAllBytes($pfx, [Convert]::FromBase64String($env:WINDOWS_CERTIFICATE)) + $signtool = Get-ChildItem "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\x64\signtool.exe" | + Sort-Object FullName | Select-Object -Last 1 + & $signtool.FullName sign /f $pfx /p $env:WINDOWS_CERTIFICATE_PWD ` + /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 ` + "dist/Render Mapper Pro/Render Mapper Pro.exe" + if ($LASTEXITCODE -ne 0) { exit 1 } + Write-Host "App executable signed" - name: Package (Windows) if: runner.os == 'Windows' shell: pwsh @@ -251,6 +292,23 @@ jobs: $ver = (Select-String -Path app_version.py -Pattern '__version__ = "([^"]+)"').Matches[0].Groups[1].Value & "${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe" "/DMyAppVersion=$ver" installer\windows.iss Copy-Item "installer\Output\RenderMapperPro-Windows-x64-Setup.exe" . + - name: Sign installer (Windows) + if: runner.os == 'Windows' + shell: pwsh + env: + WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }} + WINDOWS_CERTIFICATE_PWD: ${{ secrets.WINDOWS_CERTIFICATE_PWD }} + run: | + if (-not $env:WINDOWS_CERTIFICATE) { exit 0 } + $pfx = Join-Path $env:RUNNER_TEMP "signing-cert.pfx" + [IO.File]::WriteAllBytes($pfx, [Convert]::FromBase64String($env:WINDOWS_CERTIFICATE)) + $signtool = Get-ChildItem "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\x64\signtool.exe" | + Sort-Object FullName | Select-Object -Last 1 + & $signtool.FullName sign /f $pfx /p $env:WINDOWS_CERTIFICATE_PWD ` + /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 ` + "RenderMapperPro-Windows-x64-Setup.exe" + if ($LASTEXITCODE -ne 0) { exit 1 } + Write-Host "Installer signed" # Signed SLSA build-provenance for each shipped artifact (verifiable with # `gh attestation verify --repo /`). Skipped on PRs # (this whole job is push/tag-only). From 0e562e89825b8066e2a79b7c2f098ba36cfcf1ed Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:09:53 +0000 Subject: [PATCH 03/19] =?UTF-8?q?chore:=20mypy=20file=20set=20owned=20by?= =?UTF-8?q?=20config=20=E2=80=94=20whole=20repo,=20tests=20included?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI's named-file mypy list let new modules drift out unchecked (ui_dialogs.py and the worker/discover scripts weren't covered). [tool.mypy] files=['.'] now owns the set, with deadline/ excluded deliberately (old Python host, same as ruff). Fixes the handful of test-hygiene errors the wider net surfaced, and switches app_window/base.py to the import-as-alias conditional-base idiom that every mypy version accepts. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- .github/workflows/build.yml | 4 ++-- app_window/base.py | 14 ++++++++------ pyproject.toml | 7 ++++++- tests/test_archive.py | 1 + tests/test_naming.py | 3 ++- tests/test_smoke_ui.py | 9 +++++++-- tests/test_utils.py | 15 +++++++++++---- tests/test_web_driver.py | 3 ++- tests/test_web_vendor.py | 4 +++- 9 files changed, 42 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6f219ce..f9a36c7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,8 +39,8 @@ jobs: run: python -m pip install --upgrade pip "pytest==9.1.0" "pytest-timeout==2.4.0" "ruff==0.15.17" "mypy==2.1.0" PySide6==6.11.1 - name: Ruff (whole repo) run: ruff check . - - name: Mypy (core + workers + UI layer) - run: mypy core workers.py app_qt.py panels.py icons.py ui_widgets.py media.py theme.py dialogs.py app_window + - name: Mypy (file set owned by pyproject [tool.mypy] files — whole repo) + run: mypy - name: Pytest env: QT_QPA_PLATFORM: offscreen diff --git a/app_window/base.py b/app_window/base.py index 0e8736d..da3de0d 100644 --- a/app_window/base.py +++ b/app_window/base.py @@ -16,17 +16,19 @@ from PySide6.QtCore import QThread, SignalInstance from PySide6.QtGui import QAction - from PySide6.QtWidgets import QDialog, QLabel, QWidget + from PySide6.QtWidgets import QDialog, QLabel + + # For typing, mixins ARE a QWidget (the concrete window is a QMainWindow), so + # `QMessageBox(self, …)` type-checks. At runtime the base is plain ``object`` + # — no second QWidget in the MRO — and the real window supplies QMainWindow. + # Imported under the alias (not assigned) so every mypy version accepts it + # as a base class. + from PySide6.QtWidgets import QWidget as _Base from core.models import RenderJob from panels import DeadlinePanel, PresetBrowserPanel, QueuePanel, RenderPanel, ScenePanel from theme import Palette from workers import DeadlineQueryThread, FuncThread - - # For typing, mixins ARE a QWidget (the concrete window is a QMainWindow), so - # `QMessageBox(self, …)` type-checks. At runtime the base is plain ``object`` - # — no second QWidget in the MRO — and the real window supplies QMainWindow. - _Base = QWidget else: _Base = object diff --git a/pyproject.toml b/pyproject.toml index e8f8491..fc99f27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,4 +76,9 @@ ignore_missing_imports = true # Type-check the bodies of un-annotated functions too — catches deprecated Qt # enum accesses (Qt.AlignCenter → Qt.AlignmentFlag.AlignCenter) that hide there. check_untyped_defs = true -exclude = ["build/", "dist/", "vendor/"] +# The config owns the file set (bare `mypy` checks everything, tests included) +# so a newly added module can't silently drift out of CI's type-checking. +files = ["."] +# deadline/ runs inside Deadline's own (old) Python host on the farm — same +# deliberate exclusion as ruff above. +exclude = ["build/", "dist/", "vendor/", "deadline/"] diff --git a/tests/test_archive.py b/tests/test_archive.py index 435b3f0..d0868f8 100644 --- a/tests/test_archive.py +++ b/tests/test_archive.py @@ -40,6 +40,7 @@ def test_sidecar_feeds_verify(tmp_path): digest = sha256_file(f) sidecar = f"{digest} blender-5.1.0-windows-x64.zip\n" expected = expected_sha256_from_sidecar(sidecar, f.name) + assert expected is not None verify_sha256(f, expected) # must not raise with pytest.raises(RuntimeError): verify_sha256(f, "0" * 64) diff --git a/tests/test_naming.py b/tests/test_naming.py index c97bb2a..226cd70 100644 --- a/tests/test_naming.py +++ b/tests/test_naming.py @@ -52,7 +52,8 @@ def test_text_fields_capture_hyphens(): "ID": 80230, "Day": 2, "Section": "War-Treaty", "Cue": "MusicH", "Screen": "TC-MASTER", "Version": 1, } - assert p.parse("50800_D1_Day-1-Pre_Matte-TransA_DJBS_v001")["Section"] == "Day-1-Pre" + parsed = p.parse("50800_D1_Day-1-Pre_Matte-TransA_DJBS_v001") + assert parsed is not None and parsed["Section"] == "Day-1-Pre" def test_hyphen_as_separator_still_resolves(): diff --git a/tests/test_smoke_ui.py b/tests/test_smoke_ui.py index bb46833..adb50c8 100644 --- a/tests/test_smoke_ui.py +++ b/tests/test_smoke_ui.py @@ -49,7 +49,7 @@ def test_watch_folder_scan_actually_runs(tmp_path, monkeypatch): wf = tmp_path / "watch" wf.mkdir() (wf / "Screen_v1.mp4").write_bytes(b"x") - got = {} + got: dict[str, list] = {} sp._watch_scanned.connect(lambda listing: got.setdefault("listing", listing)) sp._watch_folder = str(wf) sp.set_watch_ignore_dir(str(tmp_path / "out")) # must not raise NameError @@ -115,6 +115,11 @@ def test_first_run_welcome_suppressed_when_headless(tmp_path, monkeypatch): # weren't gated, _maybe_first_run would call QMessageBox.exec() (and block). w._is_first_run = True opened = {"exec": False} - monkeypatch.setattr(QMessageBox, "exec", lambda self: opened.__setitem__("exec", True) or 0) + + def _spy_exec(self) -> int: + opened["exec"] = True + return 0 + + monkeypatch.setattr(QMessageBox, "exec", _spy_exec) w._maybe_first_run() assert opened["exec"] is False, "first-run welcome modal not suppressed under offscreen" diff --git a/tests/test_utils.py b/tests/test_utils.py index 9e3a046..43669d0 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -2,6 +2,7 @@ import re import subprocess import sys +from typing import cast from core.utils import ( atomic_write_text, @@ -78,26 +79,32 @@ def __init__(self, size, blocks=None, attrs=None): self.st_file_attributes = attrs +def _fake_stat(**kw) -> os.stat_result: + # Duck-typed stand-in: is_cloud_placeholder only reads st_size/st_blocks/ + # st_file_attributes, so a cast keeps the call sites honestly typed. + return cast(os.stat_result, _FakeStat(**kw)) + + def test_cloud_placeholder_local_file_is_not_flagged(): # Fully-allocated file: blocks cover the size → local, ingest it. - st = _FakeStat(size=1_000_000, blocks=2048) # 2048*512 = ~1MB + st = _fake_stat(size=1_000_000, blocks=2048) # 2048*512 = ~1MB assert is_cloud_placeholder("x.mp4", st) is False def test_cloud_placeholder_dataless_unix_is_flagged(): # Logical size present but almost no blocks on disk → online-only placeholder. - st = _FakeStat(size=1_000_000, blocks=0) + st = _fake_stat(size=1_000_000, blocks=0) assert is_cloud_placeholder("x.mp4", st) is True def test_cloud_placeholder_windows_offline_attr_is_flagged(): # Windows OneDrive/Dropbox OFFLINE attribute (0x1000), blocks irrelevant. - st = _FakeStat(size=1_000_000, blocks=2048, attrs=0x1000) + st = _fake_stat(size=1_000_000, blocks=2048, attrs=0x1000) assert is_cloud_placeholder("x.mp4", st) is True def test_cloud_placeholder_empty_file_not_flagged(): - st = _FakeStat(size=0, blocks=0) + st = _fake_stat(size=0, blocks=0) assert is_cloud_placeholder("x.mp4", st) is False diff --git a/tests/test_web_driver.py b/tests/test_web_driver.py index e87ceda..29fca0b 100644 --- a/tests/test_web_driver.py +++ b/tests/test_web_driver.py @@ -23,7 +23,8 @@ def test_driver_url_shape(): assert url is not None assert url.startswith("https://") assert re.search(r"/playwright-\d+\.\d+\.\d+-[\w-]+\.zip$", url), url - assert w._web_driver_platform() in url + platform = w._web_driver_platform() + assert platform is not None and platform in url def test_node_present_in_dev_tree(): diff --git a/tests/test_web_vendor.py b/tests/test_web_vendor.py index e716ee1..63a9c6f 100644 --- a/tests/test_web_vendor.py +++ b/tests/test_web_vendor.py @@ -58,6 +58,8 @@ def test_launch_enables_local_module_access() -> None: from core import web_render as wr for cfg in (wr._GPU_LAUNCH, wr._SOFTWARE_LAUNCH): - assert "--allow-file-access-from-files" in cfg["args"], ( + args = cfg["args"] + assert isinstance(args, list) + assert "--allow-file-access-from-files" in args, ( "Chromium blocks file://→file:// ES-module imports without this flag" ) From 41faa47203b7357bf23addabeb1db0d375840995 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:13:39 +0000 Subject: [PATCH 04/19] feat: crash capture with next-launch report offer (opt-in, local-only) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit core/crash.py: structured crash reports from two capture paths — the existing UI excepthook now also writes a report file, and faulthandler is armed into a per-pid dump so native crashes (segfaults in Qt/drivers) leave evidence a clean exit removes. On the next launch the window sweeps dead-pid dumps into reports and offers the newest one: view it, or open a prefilled GitHub issue. Nothing is sent anywhere unless the user submits the issue themselves. Windows pid-liveness uses OpenProcess (os.kill(pid, 0) terminates there). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- app_qt.py | 55 +++++++++++- core/crash.py | 203 ++++++++++++++++++++++++++++++++++++++++++++ tests/test_crash.py | 93 ++++++++++++++++++++ 3 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 core/crash.py create mode 100644 tests/test_crash.py diff --git a/app_qt.py b/app_qt.py index 1cb24f4..8b81be4 100644 --- a/app_qt.py +++ b/app_qt.py @@ -82,7 +82,8 @@ from app_window.queue_mixin import QueueMixin from app_window.reporting_mixin import ReportMixin from app_window.runtime_mixin import RuntimeMixin -from app_window.update_mixin import UpdateMixin +from app_window.update_mixin import GITHUB_REPO, UpdateMixin +from core import crash as crash_capture from core.asset_grouping import GroupingConfig as AssetGroupingConfig from core.asset_grouping import group_clips, parse_clip from core.jobs import disk_space_warnings, migrate_profile @@ -157,6 +158,7 @@ # Branded file extensions (JSON underneath) for user-facing Save/Open. PROJECT_EXT = ".rmproj" # full project: scene, clips, mappings, queue LOG_PATH = Path.home() / ".blender_video_mapper" / "logs" / "app_qt.log" +CRASH_DIR = Path.home() / ".blender_video_mapper" / "crashes" APP_NAME = app_version.APP_NAME APP_VERSION: str = app_version.__version__ # single source of truth (see app_version.py) PROFILE_VERSION = 3 @@ -393,6 +395,7 @@ def __init__(self) -> None: # turned the on-launch check off). A newer version pops the offer dialog. QTimer.singleShot(3000, self._launch_update_check) QTimer.singleShot(300, self._maybe_first_run) # one-time welcome on first launch + QTimer.singleShot(900, self._offer_crash_reports) # did the last run crash? # Size/position the window once it's shown: restore the user's last # adjustment if it's reasonable, otherwise default to 70% of the screen # centered. @@ -4519,6 +4522,46 @@ def _is_headless() -> bool: # where platformName() lives. return isinstance(app, QGuiApplication) and app.platformName() == "offscreen" + def _offer_crash_reports(self) -> None: + """If the previous run crashed (native fault, or an exception the user + never saw), offer the report once: view it, or open a prefilled GitHub + issue. Nothing leaves the machine unless the user submits it.""" + if self._is_headless(): + return + try: + crash_capture.collect_faults(CRASH_DIR, version=APP_VERSION) + reports = crash_capture.pending_reports(CRASH_DIR) + except Exception: + _log.debug("crash-report sweep failed", exc_info=True) + return + if not reports: + return + report = reports[0] + detail = crash_capture.summarize(report) + extra = f" (+{len(reports) - 1} older)" if len(reports) > 1 else "" + clicked = ask( + self, f"{APP_NAME} crashed last time", + f"The previous session ended unexpectedly{extra}.\n\n" + + (f"{detail}\n\n" if detail else "") + + "You can look at the report, or open a prefilled GitHub issue — " + "nothing is sent unless you submit it yourself.", + kind="warning", + buttons=[("Dismiss", "dismiss", "neutral"), + ("View Report", "view", "neutral"), + ("Report on GitHub…", "report", "primary")], + default="dismiss", + ) + if clicked == "view": + try: + reveal_in_file_manager(report) + except Exception: + _log.debug("could not reveal crash report", exc_info=True) + elif clicked == "report": + QDesktopServices.openUrl(QUrl(crash_capture.github_issue_url( + GITHUB_REPO, report, version=APP_VERSION))) + for r in reports: + crash_capture.acknowledge(r) + def _maybe_first_run(self) -> None: """A one-time welcome on the very first launch: show what's detected and point new users at setup + Quick Start.""" @@ -4677,6 +4720,9 @@ def _hook(exc_type, exc, tb): f.write(f"\n[{datetime.now().isoformat()}] UNHANDLED EXCEPTION\n{text}\n") except Exception: _log.warning("failed to write crash traceback to the log file", exc_info=True) + # Also keep a structured report: if the dialog below is shown, it's + # acknowledged right away; if the app dies first, next launch offers it. + report = crash_capture.write_crash_report(CRASH_DIR, text, version=APP_VERSION) if showing["active"]: return showing["active"] = True @@ -4693,6 +4739,8 @@ def _hook(exc_type, exc, tb): box.addButton(QMessageBox.StandardButton.Close) box.exec() clicked = box.clickedButton() + if report is not None: # surfaced live — don't re-offer next launch + crash_capture.acknowledge(report) if clicked is copy_btn: QApplication.clipboard().setText(text) elif clicked is log_btn: @@ -4724,6 +4772,11 @@ def run_qt_app() -> None: app.setOrganizationName("Toy Robot Media") app.setWindowIcon(_make_app_icon()) + # Native-crash evidence: faulthandler writes a per-pid dump that a clean + # exit removes; a dump left behind means the next launch offers a report. + crash_capture.enable_fault_capture(CRASH_DIR) + app.aboutToQuit.connect(crash_capture.disable_fault_capture) + # ── Single-instance guard ──────────────────────────────────────────── # If another copy is already running, ask it to surface its window and # exit this one instead of opening a second window. diff --git a/core/crash.py b/core/crash.py new file mode 100644 index 0000000..351baf6 --- /dev/null +++ b/core/crash.py @@ -0,0 +1,203 @@ +"""Crash capture and next-launch reporting — pure, UI-free. + +Two capture paths feed one report format: + +* Unhandled Python exceptions: the UI-thread excepthook (app_qt) calls + :func:`write_crash_report` in addition to showing its live dialog, so the + crash survives as a structured file even if the user closes the app. +* Hard native crashes (segfault in Qt/a driver/ffmpeg bindings): nothing + Python-side runs at crash time, so :func:`enable_fault_capture` points + ``faulthandler`` at a per-pid dump file up front. On the next launch, + :func:`collect_faults` turns any dump left behind by a dead process into a + normal crash report (a clean exit removes its own dump). + +Reports are plain-text files in a crash directory. The UI offers to open a +prefilled GitHub issue (:func:`github_issue_url`) — nothing is ever sent +anywhere without the user clicking that link themselves. +""" +from __future__ import annotations + +import faulthandler +import os +import platform +import re +import sys +import urllib.parse +from datetime import datetime +from pathlib import Path +from typing import IO + +from core.logging_setup import get_logger + +_log = get_logger(__name__) + +_FAULT_PREFIX = "fault-" # fault-.dump: armed faulthandler target +_REPORT_PREFIX = "crash-" # crash-.txt: a report to surface +_SEEN_SUFFIX = ".seen" # acknowledged reports keep the file, renamed + +_fault_file: IO[str] | None = None +_fault_path: Path | None = None + + +def _header(version: str, kind: str) -> str: + return ( + f"Render Mapper Pro crash report\n" + f"kind: {kind}\n" + f"version: {version}\n" + f"os: {platform.platform()}\n" + f"python: {sys.version.split()[0]}\n" + f"time: {datetime.now().isoformat(timespec='seconds')}\n" + f"{'-' * 60}\n" + ) + + +def write_crash_report(crash_dir: Path, text: str, *, version: str, + kind: str = "exception") -> Path | None: + """Persist a crash as a structured report file; never raises.""" + try: + crash_dir.mkdir(parents=True, exist_ok=True) + stamp = datetime.now().strftime("%Y%m%d-%H%M%S-%f") + path = crash_dir / f"{_REPORT_PREFIX}{stamp}.txt" + path.write_text(_header(version, kind) + text, encoding="utf-8") + return path + except Exception: + _log.warning("could not write crash report", exc_info=True) + return None + + +def enable_fault_capture(crash_dir: Path) -> None: + """Arm faulthandler into a per-pid dump file so a native crash (which never + reaches Python) still leaves evidence for the next launch.""" + global _fault_file, _fault_path + try: + crash_dir.mkdir(parents=True, exist_ok=True) + _fault_path = crash_dir / f"{_FAULT_PREFIX}{os.getpid()}.dump" + _fault_file = _fault_path.open("w", encoding="utf-8") + faulthandler.enable(file=_fault_file, all_threads=True) + except Exception: + _log.warning("could not enable fault capture", exc_info=True) + _fault_file, _fault_path = None, None + + +def disable_fault_capture() -> None: + """Clean-exit path: disarm faulthandler and remove this pid's dump so the + next launch doesn't mistake it for a crash.""" + global _fault_file, _fault_path + try: + if faulthandler.is_enabled(): + faulthandler.disable() + if _fault_file is not None: + _fault_file.close() + if _fault_path is not None and _fault_path.exists(): + _fault_path.unlink() + except Exception: + _log.debug("fault-capture cleanup failed", exc_info=True) + finally: + _fault_file, _fault_path = None, None + + +def _pid_alive(pid: int) -> bool: + if pid <= 0: + return False + if sys.platform == "win32": + # os.kill(pid, 0) TERMINATES on Windows — query the process instead. + import ctypes + PROCESS_QUERY_LIMITED_INFORMATION = 0x1000 + STILL_ACTIVE = 259 + kernel32 = ctypes.windll.kernel32 # type: ignore[attr-defined] + handle = kernel32.OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, False, pid) + if not handle: + return False + try: + code = ctypes.c_ulong() + ok = kernel32.GetExitCodeProcess(handle, ctypes.byref(code)) + return bool(ok) and code.value == STILL_ACTIVE + finally: + kernel32.CloseHandle(handle) + try: + os.kill(pid, 0) + except ProcessLookupError: + return False + except PermissionError: + return True + return True + + +def collect_faults(crash_dir: Path, *, version: str) -> list[Path]: + """Turn fault dumps left by dead processes into crash reports (next-launch + sweep). Empty leftovers are just removed; live pids are left alone.""" + reports: list[Path] = [] + try: + dumps = sorted(crash_dir.glob(f"{_FAULT_PREFIX}*.dump")) + except OSError: + return reports + for dump in dumps: + m = re.fullmatch(rf"{_FAULT_PREFIX}(\d+)\.dump", dump.name) + if not m or _pid_alive(int(m.group(1))): + continue + try: + text = dump.read_text(encoding="utf-8", errors="replace").strip() + if text: + report = write_crash_report(crash_dir, text, version=version, + kind="native-fault") + if report is not None: + reports.append(report) + dump.unlink() + except OSError: + _log.debug("could not sweep fault dump %s", dump, exc_info=True) + return reports + + +def pending_reports(crash_dir: Path) -> list[Path]: + """Unacknowledged crash reports, newest first.""" + try: + found = [p for p in crash_dir.glob(f"{_REPORT_PREFIX}*.txt") + if not p.name.endswith(_SEEN_SUFFIX)] + except OSError: + return [] + return sorted(found, reverse=True) + + +def acknowledge(report: Path) -> None: + """Mark a report as seen (kept on disk for reference, no longer surfaced).""" + try: + report.rename(report.with_name(report.name + _SEEN_SUFFIX)) + except OSError: + _log.debug("could not acknowledge crash report %s", report, exc_info=True) + + +def summarize(report: Path, *, limit: int = 200) -> str: + """One-line human summary for the next-launch dialog: the last traceback + line (``TypeError: …``) for exceptions, the signal line for native faults.""" + try: + lines = [ln.strip() for ln in + report.read_text(encoding="utf-8", errors="replace").splitlines() + if ln.strip()] + except OSError: + return "" + for ln in reversed(lines): + # Exception reports end with "SomeError: message"; fault dumps contain + # a "Fatal Python error: Segmentation fault"-style line. + if re.match(r"^[A-Za-z_][A-Za-z0-9_.]*(Error|Exception|Interrupt)\b", ln) \ + or ln.startswith("Fatal Python error"): + return ln[:limit] + return lines[-1][:limit] if lines else "" + + +def github_issue_url(repo: str, report: Path, *, version: str, + body_limit: int = 5000) -> str: + """Prefilled new-issue URL. The report tail is inlined (most recent frames + matter most); clipped to keep the URL within browser/GitHub limits.""" + try: + text = report.read_text(encoding="utf-8", errors="replace") + except OSError: + text = "(crash report could not be read)" + if len(text) > body_limit: + text = "…(truncated)…\n" + text[-body_limit:] + title = f"Crash: {summarize(report, limit=80) or 'unhandled error'} (v{version})" + body = ( + "**What were you doing when it crashed?**\n\n_(please describe)_\n\n" + f"**Crash report** (`{report.name}`):\n\n```\n{text}\n```\n" + ) + query = urllib.parse.urlencode({"title": title, "body": body}) + return f"https://github.com/{repo}/issues/new?{query}" diff --git a/tests/test_crash.py b/tests/test_crash.py new file mode 100644 index 0000000..536a16a --- /dev/null +++ b/tests/test_crash.py @@ -0,0 +1,93 @@ +"""Crash capture / next-launch reporting (core.crash): the pure pieces — report +files, fault-dump sweeping, acknowledgement, summaries, and the prefilled +GitHub-issue URL. The UI dialog on top is exercised by the smoke layer.""" +from __future__ import annotations + +import os +import urllib.parse + +from core import crash + + +def test_write_report_has_header_and_body(tmp_path): + p = crash.write_crash_report(tmp_path, "Traceback ...\nValueError: boom", + version="1.2.3") + assert p is not None and p.name.startswith("crash-") + text = p.read_text() + assert "version: 1.2.3" in text + assert "kind: exception" in text + assert "ValueError: boom" in text + + +def test_pending_newest_first_and_acknowledge(tmp_path): + a = crash.write_crash_report(tmp_path, "AError: one", version="1") + b = crash.write_crash_report(tmp_path, "BError: two", version="1") + assert a is not None and b is not None + pending = crash.pending_reports(tmp_path) + assert pending == [b, a] # newest first + crash.acknowledge(b) + assert crash.pending_reports(tmp_path) == [a] # seen ones drop out + assert b.with_name(b.name + ".seen").exists() # but stay on disk + + +def test_pending_on_missing_dir_is_empty(tmp_path): + assert crash.pending_reports(tmp_path / "nope") == [] + + +def test_fault_capture_clean_exit_leaves_nothing(tmp_path): + crash.enable_fault_capture(tmp_path) + try: + assert list(tmp_path.glob("fault-*.dump")), "dump file not armed" + finally: + crash.disable_fault_capture() + assert not list(tmp_path.glob("fault-*.dump")), "clean exit must remove dump" + + +def test_collect_faults_converts_dead_pid_dump(tmp_path): + # A non-empty dump from a pid that no longer exists = a native crash. + (tmp_path / "fault-999999999.dump").write_text( + "Fatal Python error: Segmentation fault\n\nThread 0x01 (most recent call first):") + reports = crash.collect_faults(tmp_path, version="9.9.9") + assert len(reports) == 1 + assert "kind: native-fault" in reports[0].read_text() + assert not list(tmp_path.glob("fault-*.dump")) # dump consumed + + +def test_collect_faults_removes_empty_leftovers_silently(tmp_path): + (tmp_path / "fault-999999998.dump").write_text("") + assert crash.collect_faults(tmp_path, version="1") == [] + assert not list(tmp_path.glob("fault-*.dump")) + + +def test_collect_faults_leaves_live_pid_alone(tmp_path): + mine = tmp_path / f"fault-{os.getpid()}.dump" + mine.write_text("not a crash, I'm still running") + assert crash.collect_faults(tmp_path, version="1") == [] + assert mine.exists() + + +def test_summarize_finds_exception_line(tmp_path): + p = crash.write_crash_report( + tmp_path, "Traceback (most recent call last):\n ...\nTypeError: bad thing", + version="1") + assert p is not None + assert crash.summarize(p) == "TypeError: bad thing" + + +def test_summarize_finds_fatal_error_line(tmp_path): + p = crash.write_crash_report( + tmp_path, "Fatal Python error: Segmentation fault\n\nThread 0x01:", + version="1", kind="native-fault") + assert p is not None + assert crash.summarize(p).startswith("Fatal Python error") + + +def test_issue_url_prefills_and_truncates(tmp_path): + p = crash.write_crash_report(tmp_path, "x" * 20000 + "\nOSError: disk", version="2.0") + assert p is not None + url = crash.github_issue_url("owner/repo", p, version="2.0", body_limit=500) + assert url.startswith("https://github.com/owner/repo/issues/new?") + q = urllib.parse.parse_qs(urllib.parse.urlparse(url).query) + assert "OSError: disk" in q["title"][0] and "2.0" in q["title"][0] + assert "truncated" in q["body"][0] + assert len(q["body"][0]) < 2000 # clipped, not the full 20k From 580a9022cf1b592f57a20caf011455906254fcbb Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:15:17 +0000 Subject: [PATCH 05/19] feat: keyboard + screen-reader accessibility for styled dialogs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MessageDialog: window title/accessible name+description set for assistive tech, initial focus lands on the default button, arrow keys walk the button row (wrapping, like native message boxes), body text is selectable, and all buttons are autoDefault so Return activates the FOCUSED button — previously Return with focus on Cancel fired the (possibly destructive) default. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- tests/test_ui_dialogs.py | 93 ++++++++++++++++++++++++++++++++++++++++ ui_dialogs.py | 39 ++++++++++++++++- 2 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 tests/test_ui_dialogs.py diff --git a/tests/test_ui_dialogs.py b/tests/test_ui_dialogs.py new file mode 100644 index 0000000..7e3fb1b --- /dev/null +++ b/tests/test_ui_dialogs.py @@ -0,0 +1,93 @@ +"""MessageDialog behaviour: value semantics, Esc, keyboard navigation, focus, +and the accessibility surface (window title, accessible names). Offscreen Qt; +no exec() — everything is driven through the widget API and key events.""" +from __future__ import annotations + +import os + +import pytest + +os.environ.setdefault("QT_QPA_PLATFORM", "offscreen") + +from PySide6.QtCore import Qt # noqa: E402 +from PySide6.QtGui import QKeyEvent # noqa: E402 +from PySide6.QtWidgets import QApplication # noqa: E402 + +from ui_dialogs import MessageDialog # noqa: E402 + +app = QApplication.instance() or QApplication([]) + + +def _key(dlg, key): + dlg.keyPressEvent(QKeyEvent(QKeyEvent.Type.KeyPress, key, + Qt.KeyboardModifier.NoModifier)) + + +@pytest.fixture +def three_btn(): + dlg = MessageDialog( + None, "Remove clips?", "This can't be undone.", + kind="danger", + buttons=[("Cancel", "cancel", "neutral"), + ("Keep", "keep", "neutral"), + ("Remove", "remove", "danger")], + default="cancel") + yield dlg + dlg.deleteLater() + + +def test_choose_sets_value_and_accepts(three_btn): + three_btn._choose("remove") + assert three_btn.value == "remove" + + +def test_escape_means_dismissed(three_btn): + _key(three_btn, Qt.Key.Key_Escape) + assert three_btn.value is None + + +def test_accessibility_surface(three_btn): + assert three_btn.windowTitle() == "Remove clips?" + assert three_btn.accessibleName() == "Remove clips?" + assert three_btn.accessibleDescription() == "This can't be undone." + assert [b.accessibleName() for b in three_btn._buttons] == ["Cancel", "Keep", "Remove"] + + +def test_initial_focus_is_the_default_button(three_btn): + three_btn.show() + app.processEvents() + assert three_btn.focusWidget() is three_btn._buttons[0] # "Cancel" = default + three_btn.hide() + + +def test_arrow_keys_cycle_buttons(three_btn): + three_btn.show() + app.processEvents() + _key(three_btn, Qt.Key.Key_Right) + assert three_btn.focusWidget().text() == "Keep" + _key(three_btn, Qt.Key.Key_Right) + assert three_btn.focusWidget().text() == "Remove" + _key(three_btn, Qt.Key.Key_Right) # wraps + assert three_btn.focusWidget().text() == "Cancel" + _key(three_btn, Qt.Key.Key_Left) # and back + assert three_btn.focusWidget().text() == "Remove" + three_btn.hide() + + +def test_return_activates_focused_not_hidden_default(three_btn): + # All buttons are autoDefault: with focus on "Keep", Return must never fire + # the danger default under the user's fingers. + three_btn.show() + app.processEvents() + _key(three_btn, Qt.Key.Key_Right) # focus "Keep" + focused = three_btn.focusWidget() + assert focused.text() == "Keep" and focused.autoDefault() + focused.click() # what Return triggers + assert three_btn.value == "keep" + + +def test_default_falls_back_to_role_when_not_given(): + dlg = MessageDialog(None, "T", buttons=[("No", False, "neutral"), + ("Yes", True, "primary")]) + assert dlg._default_btn is not None and dlg._default_btn.text() == "Yes" + dlg.deleteLater() diff --git a/ui_dialogs.py b/ui_dialogs.py index b3c6fdb..f954f50 100644 --- a/ui_dialogs.py +++ b/ui_dialogs.py @@ -44,11 +44,19 @@ def __init__(self, parent, title, message="", *, kind="question", self.setObjectName("MessageDialog") self._value = None self._drag_offset = None + self._buttons: list[QPushButton] = [] + self._default_btn: QPushButton | None = None pal = active_palette() self.setModal(True) self.setWindowFlags(Qt.WindowType.Dialog | Qt.WindowType.FramelessWindowHint) self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground, True) + # Frameless = no visible title bar, but screen readers and window + # switchers still announce these. + self.setWindowTitle(title) + self.setAccessibleName(title) + if message: + self.setAccessibleDescription(message) outer = QVBoxLayout(self) outer.setContentsMargins(18, 18, 18, 18) # breathing room for the shadow @@ -88,6 +96,8 @@ def __init__(self, parent, title, message="", *, kind="question", body = QLabel(message) body.setObjectName("DialogBody") body.setWordWrap(True) + # Error/report text should be copyable, like native message boxes. + body.setTextInteractionFlags(Qt.TextInteractionFlag.TextSelectableByMouse) col.addWidget(body) col.addStretch(1) top.addLayout(col, 1) @@ -104,10 +114,17 @@ def __init__(self, parent, title, message="", *, kind="question", elif role == "danger": btn.setObjectName("DangerButton") btn.setMinimumWidth(84) + btn.setAccessibleName(label) btn.clicked.connect(lambda _=False, v=value: self._choose(v)) is_default = (value == default) if default is not None else (role in ("primary", "danger")) btn.setDefault(is_default) - btn.setAutoDefault(is_default) + # autoDefault on ALL buttons: Return activates the FOCUSED button + # (falling back to the default) — never a hidden destructive default + # while focus sits on Cancel. + btn.setAutoDefault(True) + self._buttons.append(btn) + if is_default: + self._default_btn = btn row.addWidget(btn) lay.addLayout(row) @@ -124,10 +141,23 @@ def value(self): return self._value def keyPressEvent(self, event): - if event.key() == Qt.Key.Key_Escape: + key = event.key() + if key == Qt.Key.Key_Escape: self._value = None self.reject() return + # Arrow keys walk the button row, like native message boxes. + if key in (Qt.Key.Key_Left, Qt.Key.Key_Up, Qt.Key.Key_Right, Qt.Key.Key_Down) \ + and self._buttons: + step = -1 if key in (Qt.Key.Key_Left, Qt.Key.Key_Up) else 1 + focused = self.focusWidget() + try: + i = self._buttons.index(focused) # type: ignore[arg-type] + except ValueError: + i = -step if step > 0 else 0 # enter the row from either end + self._buttons[(i + step) % len(self._buttons)].setFocus( + Qt.FocusReason.TabFocusReason) + return super().keyPressEvent(event) def showEvent(self, event): @@ -137,6 +167,11 @@ def showEvent(self, event): if par is not None: center = par.window().frameGeometry().center() self.move(center - self.rect().center()) + # Keyboard users start on the safe/default choice, not wherever tab + # order happens to land. + target = self._default_btn or (self._buttons[-1] if self._buttons else None) + if target is not None: + target.setFocus(Qt.FocusReason.ActiveWindowFocusReason) # Drag the frameless card around by pressing anywhere on it. def mousePressEvent(self, event): From 5100b1aac14a582f2e961310e2137e999f295860 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:15:31 +0000 Subject: [PATCH 06/19] style: drop unused noqa directives in dialog tests Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- tests/test_ui_dialogs.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_ui_dialogs.py b/tests/test_ui_dialogs.py index 7e3fb1b..2709c1f 100644 --- a/tests/test_ui_dialogs.py +++ b/tests/test_ui_dialogs.py @@ -9,11 +9,11 @@ os.environ.setdefault("QT_QPA_PLATFORM", "offscreen") -from PySide6.QtCore import Qt # noqa: E402 -from PySide6.QtGui import QKeyEvent # noqa: E402 -from PySide6.QtWidgets import QApplication # noqa: E402 +from PySide6.QtCore import Qt +from PySide6.QtGui import QKeyEvent +from PySide6.QtWidgets import QApplication -from ui_dialogs import MessageDialog # noqa: E402 +from ui_dialogs import MessageDialog app = QApplication.instance() or QApplication([]) From f36669abff6479eba49fb33c8bd56e0884c55b6e Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:22:53 +0000 Subject: [PATCH 07/19] refactor: extract watch & auto-render wiring into app_window/watch_mixin.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The full ingest pipeline — panel load/apply, auto-map + previz job builders, folder/deliver pickers, first-run flag, and the dry-run assembly preview — moves verbatim (14 methods, ~310 lines) out of app_qt.py into the existing app_window mixin pattern. base.py declares the watch-related shared state so the mixin type-checks against the concrete window. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- app_qt.py | 316 +---------------------------------- app_window/base.py | 27 ++- app_window/watch_mixin.py | 343 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 370 insertions(+), 316 deletions(-) create mode 100644 app_window/watch_mixin.py diff --git a/app_qt.py b/app_qt.py index 8b81be4..4f5351b 100644 --- a/app_qt.py +++ b/app_qt.py @@ -83,9 +83,9 @@ from app_window.reporting_mixin import ReportMixin from app_window.runtime_mixin import RuntimeMixin from app_window.update_mixin import GITHUB_REPO, UpdateMixin +from app_window.watch_mixin import WatchMixin from core import crash as crash_capture from core.asset_grouping import GroupingConfig as AssetGroupingConfig -from core.asset_grouping import group_clips, parse_clip from core.jobs import disk_space_warnings, migrate_profile from core.logging_setup import get_logger from core.metrics import ( @@ -110,7 +110,6 @@ _runtime_download_spec, ) from core.utils import ( - IMAGE_MEDIA_EXTENSIONS, OUTPUT_PROFILES, VIDEO_EXTENSIONS, atomic_write_text, @@ -275,7 +274,7 @@ def _resolve_runtime_script(name: str) -> str: class BlenderVideoMapperQt(QMainWindow, QueueMixin, PresetMixin, DeadlineMixin, UpdateMixin, RuntimeMixin, - ReportMixin): + ReportMixin, WatchMixin): _update_checked = Signal(object, bool, str) # (manifest dict | None, was-manual, error-text) _delivery_log = Signal(str, str) # (message, kind) from the delivery-copy thread _sheets_built = Signal(int) # count of contact sheets generated post-render @@ -2110,317 +2109,6 @@ def _on_assignments_changed(self, _asn: list[MaterialVideoAssignment]) -> None: self._request_auto_preview() - def _on_target_set_ready(self, assignments: list) -> None: - """All target screens have clips (and the set changed) — queue one - multi-screen render named after the clips with a PREVIZ suffix.""" - if not self._autorender_enabled or not assignments: - return - scene = self.scene_panel.scene_edit.text().strip() - if not scene: - return - job = RenderJob(id=self._next_job_id) - self._next_job_id += 1 - job.video_path = assignments[0].video_path - self._make_job_snapshot(job, assignments) - - primary = Path(assignments[0].video_path).stem - base = (self._autorender_pattern or "{clip}_PREVIZ") \ - .replace("{clip}", primary) \ - .replace("{scene}", Path(scene).stem) \ - .replace("{date}", datetime.now().strftime("%Y-%m-%d")) - out_fmt, _codec = OUTPUT_PROFILES.get(job.output_profile or "H264 MP4", ("MPEG4", "H264")) - ext = ext_for_format(out_fmt) or ".mp4" - watch_folder, _en = self.scene_panel.get_watch_folder() - out_dir = self._autorender_output or ( - os.path.join(watch_folder, "PREVIZ") if watch_folder - else str(Path(assignments[0].video_path).parent / "PREVIZ")) - self.scene_panel.set_watch_ignore_dir(out_dir) # never re-ingest our own renders - job.output_path = str(Path(out_dir) / f"{base}{ext}") - job.output_input = job.output_path - job.custom_label = True - job.label = f"Auto · {base}" - self._jobs.insert(0, job) - self._refresh_queue_view() - self._schedule_save() - screens = ", ".join(a.material_name for a in assignments) - self._append_log(f"[app] Auto-render queued: {job.label} ({len(assignments)} screens: {screens})") - if self._autorender_start: - if self._is_rendering: - self._pending_autorender_ids.add(job.id) # a render is busy — start it when that finishes - self._append_log("[app] Auto-render will start when the current render finishes.") - else: - self._start_render(only_job_ids={job.id}) # start just this auto-render job - - def _sync_grouping_mode(self) -> None: - """Switch the watch folder between auto-map (normal) and asset-grouping.""" - if hasattr(self, "scene_panel"): - self.scene_panel.set_grouping_mode(self._asset_grouping.enabled) - if hasattr(self, "watch_panel"): - self.watch_panel.set_mode(self._asset_grouping.enabled) - - def _refresh_watch_panel(self, *_a) -> None: - """Mirror the watch engine's folder/enabled/mode into the Watch panel.""" - if not hasattr(self, "watch_panel"): - return - folder, enabled = self.scene_panel.get_watch_folder() - self.watch_panel.set_folder_state(folder, enabled) - self.watch_panel.set_mode(self._asset_grouping.enabled) - - def _load_watch_panel(self) -> None: - """Populate the Watch panel from the current config (folder + grouping + - auto-render + file-stability). The panel suppresses signals while loading.""" - if not hasattr(self, "watch_panel"): - return - ag = self._asset_grouping - folder, enabled = self.scene_panel.get_watch_folder() - interval_ms, settle = self.scene_panel.get_watch_options() - self.watch_panel.set_folder_state(folder, enabled) - self.watch_panel.load_config( - grouping_enabled=ag.enabled, - pattern=ag.pattern, - content_type=ag.content_type, - output_template=ag.output_template, - autorender_pattern=self._autorender_pattern, - screen_to_material=dict(ag.screen_to_material), - setup_to_scene=dict(ag.setup_to_scene), - settle_s=settle, - poll_interval_s=interval_ms / 1000.0, - autorender_start=self._autorender_start, - output_dir=self._autorender_output, - deliver_dir=self._deliver_dir, - ) - # First-run banner: only until acknowledged, and only before any folder is set. - seen = getattr(self, "_watch_first_run_seen", False) - self.watch_panel.show_first_run(not seen and not folder) - - def _apply_watch_panel(self) -> None: - """Write the Watch panel's settings back onto the live config + engine and - persist. Connected to the panel's ``config_changed`` (fires on any edit).""" - if not hasattr(self, "watch_panel"): - return - c = self.watch_panel.get_config() - ag = self._asset_grouping - ag.enabled = bool(c["grouping_enabled"]) - ag.pattern = c["pattern"] or ag.pattern - ag.content_type = c["content_type"] - ag.output_template = c["output_template"] or ag.output_template - ag.screen_to_material = dict(c["screen_to_material"]) - ag.setup_to_scene = dict(c["setup_to_scene"]) - self._autorender_pattern = c["autorender_pattern"] or self._autorender_pattern - self._autorender_output = c["output_dir"] - self._autorender_start = bool(c["autorender_start"]) - self._deliver_dir = c["deliver_dir"] - # In auto-map mode the checkbox also gates whether dropped clips render at - # all; in previz mode jobs are always built, so it only gates auto-start. - if not ag.enabled: - self._autorender_enabled = bool(c["autorender_start"]) - self.scene_panel.set_watch_options(int(max(1.0, float(c["poll_interval_s"])) * 1000), - float(c["settle_s"])) - self.scene_panel.set_grouping_mode(ag.enabled) - self._save_profile() - - def _pick_watch_output_dir(self) -> None: - cur = self._autorender_output or str(Path.home()) - d = QFileDialog.getExistingDirectory(self, "Choose render output folder", cur) - if d: - self.watch_panel.out_dir_edit.setText(d) # triggers config_changed → apply - - def _pick_watch_deliver_dir(self) -> None: - cur = self._deliver_dir or str(Path.home()) - d = QFileDialog.getExistingDirectory(self, "Choose delivery folder", cur) - if d: - self.watch_panel.deliver_edit.setText(d) # triggers config_changed → apply - - def _preview_watch_assembly(self) -> None: - """Dry-run the previz grouping from the panel's current config.""" - self._apply_watch_panel() # make sure _asset_grouping reflects the panel - self._preview_assembly(self._asset_grouping) - - def _open_watch_render_panel(self) -> None: - """Reveal + focus the Watch & Auto-render dock (the editable home).""" - self.watch_dock.show() - self.watch_dock.raise_() - self.watch_panel.setFocus() - - def _on_watch_first_run_dismissed(self) -> None: - self._watch_first_run_seen = True - self._save_profile() - - def _pick_watch_folder(self) -> None: - folder, _en = self.scene_panel.get_watch_folder() - d = QFileDialog.getExistingDirectory(self, "Choose watch folder", folder or str(Path.home())) - if d: - self.scene_panel.set_watch_folder(d, True) - self._refresh_watch_panel() - self.watch_panel.add_activity("Watch", f"Watching {d}") - - def _toggle_watch_from_panel(self, on: bool) -> None: - folder, _en = self.scene_panel.get_watch_folder() - if on and not folder: - self._pick_watch_folder() # nothing to watch yet — pick one first - return - self.scene_panel.set_watch_folder(folder, on) - self._refresh_watch_panel() - self.watch_panel.add_activity("Watch", "Started" if on else "Stopped") - - def _on_watch_clips_ready(self, paths: list) -> None: - """Asset-grouping watch path: parse the ready clips by the naming - convention and build one previz render job per (setup, asset). The newest - version of each screen wins; an existing job for that asset is updated - in place when a newer version lands, so re-renders don't pile up.""" - if not self._asset_grouping.enabled or not paths: - return - try: - groups = group_clips(list(paths), self._asset_grouping) - except Exception as exc: - self._append_log(f"[app] Asset grouping failed: {exc}") - return - if not groups: - return - cur_scene = self.scene_panel.scene_edit.text().strip() - watch_folder, _en = self.scene_panel.get_watch_folder() - touched: set[int] = set() - created = updated = 0 - for g in groups: - scene = (self._asset_grouping.setup_to_scene.get(g.setup) or cur_scene).strip() - if not scene: - self._append_log( - f"[app] {g.prj} S{g.setup:02d} A{g.asset:03d}: no scene mapped for this " - f"setup — set one in Properties → Watch & Auto-render. Skipped.") - continue - key = (g.setup, g.asset) - prev = self._asset_group_jobs.get(key) - existing = None - if prev is not None: - prev_id, prev_ver = prev - existing = next((j for j in self._jobs if j.id == prev_id), None) - if existing is not None and prev_ver >= g.version: - continue # already queued at this version or newer - asn = [MaterialVideoAssignment(mat, clip, VIDEO_MAPPING_MODE_EMISSION) - for mat, clip in g.material_assignments(self._asset_grouping.screen_to_material)] - if not asn: - continue - if existing is None: - job = RenderJob(id=self._next_job_id) - self._next_job_id += 1 - self._jobs.insert(0, job) - created += 1 - else: - job = existing - updated += 1 - job.video_path = asn[0].video_path - self._make_job_snapshot(job, asn) - job.scene_path = scene # override: this setup's scene, not the loaded one - base = g.output_name(self._asset_grouping.output_template) - out_fmt, _c = OUTPUT_PROFILES.get(job.output_profile or "H264 MP4", ("MPEG4", "H264")) - ext = ext_for_format(out_fmt) or ".mp4" - out_dir = self._autorender_output or ( - os.path.join(watch_folder, "PREVIZ") if watch_folder - else str(Path(scene).parent / "PREVIZ")) - self.scene_panel.set_watch_ignore_dir(out_dir) # never re-ingest our own renders - job.output_path = str(Path(out_dir) / f"{base}{ext}") - job.output_input = job.output_path - job.custom_label = True - job.label = base - job.status, job.progress, job.error, job.selected = "idle", 0.0, "", True - self._asset_group_jobs[key] = (job.id, g.version) - touched.add(job.id) - if not touched: - return - self._refresh_queue_view() - self._schedule_save() - self._append_log( - f"[app] Asset grouping: {created} new + {updated} updated previz job(s) " - f"from {len(groups)} asset group(s).") - self.watch_panel.add_activity( - "Previz", f"{created} new + {updated} updated job(s) from {len(groups)} group(s)") - if self._autorender_start and not self._is_rendering: - self._start_render(only_job_ids=touched) - - def _preview_assembly(self, cfg: AssetGroupingConfig | None = None) -> None: - """Dry-run the asset-grouping on the watch folder's current clips and show - exactly what WOULD be assembled — per asset: screen → material → clip → - version — plus any skipped clips and why. Makes the auto-assembly trustable - before it ever fires a render. ``cfg`` lets the Properties dialog preview its - in-progress edits; defaults to the saved grouping config.""" - cfg = cfg or self._asset_grouping - folder, _en = self.scene_panel.get_watch_folder() - if not folder or not os.path.isdir(folder): - inform(self, "Preview Assembly", - "Choose a watch folder first (the watch button in the Scene panel).") - return - exts = VIDEO_EXTENSIONS | IMAGE_MEDIA_EXTENSIONS - try: - clips = sorted(str(p) for p in Path(folder).iterdir() - if p.is_file() and p.suffix.lower() in exts) - except OSError: - clips = [] - groups = group_clips(clips, cfg) - known_mats = set(self._discovered_materials) - cur_scene = self.scene_panel.scene_edit.text().strip() - - pal = self._palette - rows = [] - used: set[str] = set() - for g in groups: - scene = (cfg.setup_to_scene.get(g.setup) or cur_scene).strip() - scene_name = Path(scene).name if scene else "⚠ no scene mapped" - out = g.output_name(cfg.output_template) - screen_rows = [] - for material, clip in g.material_assignments(cfg.screen_to_material): - used.add(clip) - pc = parse_clip(clip, cfg.pattern) - ver = f"V{pc.version:03d}" if pc else "?" - screen = pc.screen if pc else "?" - warn = "" if (not known_mats or material in known_mats) else \ - f" (not in scene)" - screen_rows.append( - f"{screen}" - f"→ {material}{warn}" - f"← {Path(clip).name} · {ver}") - rows.append( - f"

Asset A{g.asset:03d} " - f"· setup {g.setup} · scene {scene_name}
" - f"{out}

" - f"{''.join(screen_rows)}
") - - skipped = [] - for c in clips: - if c in used: - continue - pc = parse_clip(c, cfg.pattern) - if pc is None: - why = "doesn't match the filename pattern" - elif (pc.type or "").upper() != (cfg.content_type or "ANIM").upper(): - why = f"type={pc.type} (only {cfg.content_type} is grouped)" - else: - why = "superseded by a newer version" - skipped.append(f"
  • {Path(c).name} — {why}
  • ") - - summary = (f"{len(groups)} asset(s) from {len(clips)} clip(s) in " - f"{folder}") - body = "".join(rows) if rows else f"

    No assets matched the pattern.

    " - skip_html = (f"

    Skipped ({len(skipped)})

    " - f"
      {''.join(skipped)}
    ") if skipped else "" - html = (f"

    {summary}

    {body}{skip_html}
    ") - - dlg = QDialog(self) - dlg.setWindowTitle("Preview Assembly — dry run") - dlg.setMinimumSize(560, 480) - lay = QVBoxLayout(dlg) - view = QTextBrowser() - view.setHtml(html) - view.setStyleSheet(f"QTextBrowser{{border:1px solid {pal.border}; border-radius:8px; " - f"background:{pal.surface}; padding:10px;}}") - lay.addWidget(view) - close = QPushButton("Close") - close.clicked.connect(dlg.accept) - row = QHBoxLayout() - row.addStretch(1) - row.addWidget(close) - lay.addLayout(row) - dlg.exec() - def _request_auto_preview(self) -> None: """Debounced trigger: when Auto is on, re-render the preview a moment after the user stops changing settings/mappings.""" diff --git a/app_window/base.py b/app_window/base.py index da3de0d..7628af4 100644 --- a/app_window/base.py +++ b/app_window/base.py @@ -16,7 +16,7 @@ from PySide6.QtCore import QThread, SignalInstance from PySide6.QtGui import QAction - from PySide6.QtWidgets import QDialog, QLabel + from PySide6.QtWidgets import QDialog, QDockWidget, QLabel # For typing, mixins ARE a QWidget (the concrete window is a QMainWindow), so # `QMessageBox(self, …)` type-checks. At runtime the base is plain ``object`` @@ -25,8 +25,16 @@ # as a base class. from PySide6.QtWidgets import QWidget as _Base + from core.asset_grouping import GroupingConfig from core.models import RenderJob - from panels import DeadlinePanel, PresetBrowserPanel, QueuePanel, RenderPanel, ScenePanel + from panels import ( + DeadlinePanel, + PresetBrowserPanel, + QueuePanel, + RenderPanel, + ScenePanel, + WatchPanel, + ) from theme import Palette from workers import DeadlineQueryThread, FuncThread else: @@ -70,6 +78,19 @@ class _WindowMembers(_Base): _last_html_report_path: str _open_report_action: QAction _open_html_action: QAction + # ── Watch & auto-render (WatchMixin) ─────────────────────────────── + _asset_grouping: GroupingConfig + _asset_group_jobs: dict[tuple[int, int], tuple[int, int]] + _pending_autorender_ids: set[int] + _autorender_enabled: bool + _autorender_pattern: str + _autorender_output: str + _autorender_start: bool + _deliver_dir: str + _watch_first_run_seen: bool + _discovered_materials: list[str] + watch_panel: WatchPanel + watch_dock: QDockWidget scene_panel: ScenePanel render_panel: RenderPanel deadline_panel: DeadlinePanel @@ -90,6 +111,8 @@ def _save_profile(self) -> None: ... def _push_undo(self, desc: str, restore) -> None: ... def _update_status_bar(self) -> None: ... def _update_progress_caption(self) -> None: ... + def _make_job_snapshot(self, job: RenderJob, assignments: list) -> None: ... + def _start_render(self, render_all: bool = ..., only_job_ids: set | None = ...) -> None: ... def _unsaved_floating_changes(self) -> bool: ... def _effective_chunk_size(self, job: RenderJob) -> int: ... def _fmt_dur(self, seconds: float) -> str: ... # window (ReportMixin uses) diff --git a/app_window/watch_mixin.py b/app_window/watch_mixin.py new file mode 100644 index 0000000..97f95ea --- /dev/null +++ b/app_window/watch_mixin.py @@ -0,0 +1,343 @@ +"""Watch folder & auto-render — the ingest pipeline: panel load/apply wiring, +auto-map and previz (asset-grouping) job builders, and the dry-run assembly +preview. Extracted verbatim from BlenderVideoMapperQt (operates on ``self``).""" +from __future__ import annotations + +import os +from datetime import datetime +from pathlib import Path + +from PySide6.QtWidgets import ( + QDialog, + QFileDialog, + QHBoxLayout, + QPushButton, + QTextBrowser, + QVBoxLayout, +) + +from app_window.base import _WindowMembers +from core.asset_grouping import GroupingConfig as AssetGroupingConfig +from core.asset_grouping import group_clips, parse_clip +from core.models import VIDEO_MAPPING_MODE_EMISSION, MaterialVideoAssignment, RenderJob +from core.utils import ( + IMAGE_MEDIA_EXTENSIONS, + OUTPUT_PROFILES, + VIDEO_EXTENSIONS, + ext_for_format, +) +from ui_dialogs import inform + + +class WatchMixin(_WindowMembers): + + def _on_target_set_ready(self, assignments: list) -> None: + """All target screens have clips (and the set changed) — queue one + multi-screen render named after the clips with a PREVIZ suffix.""" + if not self._autorender_enabled or not assignments: + return + scene = self.scene_panel.scene_edit.text().strip() + if not scene: + return + job = RenderJob(id=self._next_job_id) + self._next_job_id += 1 + job.video_path = assignments[0].video_path + self._make_job_snapshot(job, assignments) + + primary = Path(assignments[0].video_path).stem + base = (self._autorender_pattern or "{clip}_PREVIZ") \ + .replace("{clip}", primary) \ + .replace("{scene}", Path(scene).stem) \ + .replace("{date}", datetime.now().strftime("%Y-%m-%d")) + out_fmt, _codec = OUTPUT_PROFILES.get(job.output_profile or "H264 MP4", ("MPEG4", "H264")) + ext = ext_for_format(out_fmt) or ".mp4" + watch_folder, _en = self.scene_panel.get_watch_folder() + out_dir = self._autorender_output or ( + os.path.join(watch_folder, "PREVIZ") if watch_folder + else str(Path(assignments[0].video_path).parent / "PREVIZ")) + self.scene_panel.set_watch_ignore_dir(out_dir) # never re-ingest our own renders + job.output_path = str(Path(out_dir) / f"{base}{ext}") + job.output_input = job.output_path + job.custom_label = True + job.label = f"Auto · {base}" + self._jobs.insert(0, job) + self._refresh_queue_view() + self._schedule_save() + screens = ", ".join(a.material_name for a in assignments) + self._append_log(f"[app] Auto-render queued: {job.label} ({len(assignments)} screens: {screens})") + if self._autorender_start: + if self._is_rendering: + self._pending_autorender_ids.add(job.id) # a render is busy — start it when that finishes + self._append_log("[app] Auto-render will start when the current render finishes.") + else: + self._start_render(only_job_ids={job.id}) # start just this auto-render job + + def _sync_grouping_mode(self) -> None: + """Switch the watch folder between auto-map (normal) and asset-grouping.""" + if hasattr(self, "scene_panel"): + self.scene_panel.set_grouping_mode(self._asset_grouping.enabled) + if hasattr(self, "watch_panel"): + self.watch_panel.set_mode(self._asset_grouping.enabled) + + def _refresh_watch_panel(self, *_a) -> None: + """Mirror the watch engine's folder/enabled/mode into the Watch panel.""" + if not hasattr(self, "watch_panel"): + return + folder, enabled = self.scene_panel.get_watch_folder() + self.watch_panel.set_folder_state(folder, enabled) + self.watch_panel.set_mode(self._asset_grouping.enabled) + + def _load_watch_panel(self) -> None: + """Populate the Watch panel from the current config (folder + grouping + + auto-render + file-stability). The panel suppresses signals while loading.""" + if not hasattr(self, "watch_panel"): + return + ag = self._asset_grouping + folder, enabled = self.scene_panel.get_watch_folder() + interval_ms, settle = self.scene_panel.get_watch_options() + self.watch_panel.set_folder_state(folder, enabled) + self.watch_panel.load_config( + grouping_enabled=ag.enabled, + pattern=ag.pattern, + content_type=ag.content_type, + output_template=ag.output_template, + autorender_pattern=self._autorender_pattern, + screen_to_material=dict(ag.screen_to_material), + setup_to_scene=dict(ag.setup_to_scene), + settle_s=settle, + poll_interval_s=interval_ms / 1000.0, + autorender_start=self._autorender_start, + output_dir=self._autorender_output, + deliver_dir=self._deliver_dir, + ) + # First-run banner: only until acknowledged, and only before any folder is set. + seen = getattr(self, "_watch_first_run_seen", False) + self.watch_panel.show_first_run(not seen and not folder) + + def _apply_watch_panel(self) -> None: + """Write the Watch panel's settings back onto the live config + engine and + persist. Connected to the panel's ``config_changed`` (fires on any edit).""" + if not hasattr(self, "watch_panel"): + return + c = self.watch_panel.get_config() + ag = self._asset_grouping + ag.enabled = bool(c["grouping_enabled"]) + ag.pattern = c["pattern"] or ag.pattern + ag.content_type = c["content_type"] + ag.output_template = c["output_template"] or ag.output_template + ag.screen_to_material = dict(c["screen_to_material"]) + ag.setup_to_scene = dict(c["setup_to_scene"]) + self._autorender_pattern = c["autorender_pattern"] or self._autorender_pattern + self._autorender_output = c["output_dir"] + self._autorender_start = bool(c["autorender_start"]) + self._deliver_dir = c["deliver_dir"] + # In auto-map mode the checkbox also gates whether dropped clips render at + # all; in previz mode jobs are always built, so it only gates auto-start. + if not ag.enabled: + self._autorender_enabled = bool(c["autorender_start"]) + self.scene_panel.set_watch_options(int(max(1.0, float(c["poll_interval_s"])) * 1000), + float(c["settle_s"])) + self.scene_panel.set_grouping_mode(ag.enabled) + self._save_profile() + + def _pick_watch_output_dir(self) -> None: + cur = self._autorender_output or str(Path.home()) + d = QFileDialog.getExistingDirectory(self, "Choose render output folder", cur) + if d: + self.watch_panel.out_dir_edit.setText(d) # triggers config_changed → apply + + def _pick_watch_deliver_dir(self) -> None: + cur = self._deliver_dir or str(Path.home()) + d = QFileDialog.getExistingDirectory(self, "Choose delivery folder", cur) + if d: + self.watch_panel.deliver_edit.setText(d) # triggers config_changed → apply + + def _preview_watch_assembly(self) -> None: + """Dry-run the previz grouping from the panel's current config.""" + self._apply_watch_panel() # make sure _asset_grouping reflects the panel + self._preview_assembly(self._asset_grouping) + + def _open_watch_render_panel(self) -> None: + """Reveal + focus the Watch & Auto-render dock (the editable home).""" + self.watch_dock.show() + self.watch_dock.raise_() + self.watch_panel.setFocus() + + def _on_watch_first_run_dismissed(self) -> None: + self._watch_first_run_seen = True + self._save_profile() + + def _pick_watch_folder(self) -> None: + folder, _en = self.scene_panel.get_watch_folder() + d = QFileDialog.getExistingDirectory(self, "Choose watch folder", folder or str(Path.home())) + if d: + self.scene_panel.set_watch_folder(d, True) + self._refresh_watch_panel() + self.watch_panel.add_activity("Watch", f"Watching {d}") + + def _toggle_watch_from_panel(self, on: bool) -> None: + folder, _en = self.scene_panel.get_watch_folder() + if on and not folder: + self._pick_watch_folder() # nothing to watch yet — pick one first + return + self.scene_panel.set_watch_folder(folder, on) + self._refresh_watch_panel() + self.watch_panel.add_activity("Watch", "Started" if on else "Stopped") + + def _on_watch_clips_ready(self, paths: list) -> None: + """Asset-grouping watch path: parse the ready clips by the naming + convention and build one previz render job per (setup, asset). The newest + version of each screen wins; an existing job for that asset is updated + in place when a newer version lands, so re-renders don't pile up.""" + if not self._asset_grouping.enabled or not paths: + return + try: + groups = group_clips(list(paths), self._asset_grouping) + except Exception as exc: + self._append_log(f"[app] Asset grouping failed: {exc}") + return + if not groups: + return + cur_scene = self.scene_panel.scene_edit.text().strip() + watch_folder, _en = self.scene_panel.get_watch_folder() + touched: set[int] = set() + created = updated = 0 + for g in groups: + scene = (self._asset_grouping.setup_to_scene.get(g.setup) or cur_scene).strip() + if not scene: + self._append_log( + f"[app] {g.prj} S{g.setup:02d} A{g.asset:03d}: no scene mapped for this " + f"setup — set one in Properties → Watch & Auto-render. Skipped.") + continue + key = (g.setup, g.asset) + prev = self._asset_group_jobs.get(key) + existing = None + if prev is not None: + prev_id, prev_ver = prev + existing = next((j for j in self._jobs if j.id == prev_id), None) + if existing is not None and prev_ver >= g.version: + continue # already queued at this version or newer + asn = [MaterialVideoAssignment(mat, clip, VIDEO_MAPPING_MODE_EMISSION) + for mat, clip in g.material_assignments(self._asset_grouping.screen_to_material)] + if not asn: + continue + if existing is None: + job = RenderJob(id=self._next_job_id) + self._next_job_id += 1 + self._jobs.insert(0, job) + created += 1 + else: + job = existing + updated += 1 + job.video_path = asn[0].video_path + self._make_job_snapshot(job, asn) + job.scene_path = scene # override: this setup's scene, not the loaded one + base = g.output_name(self._asset_grouping.output_template) + out_fmt, _c = OUTPUT_PROFILES.get(job.output_profile or "H264 MP4", ("MPEG4", "H264")) + ext = ext_for_format(out_fmt) or ".mp4" + out_dir = self._autorender_output or ( + os.path.join(watch_folder, "PREVIZ") if watch_folder + else str(Path(scene).parent / "PREVIZ")) + self.scene_panel.set_watch_ignore_dir(out_dir) # never re-ingest our own renders + job.output_path = str(Path(out_dir) / f"{base}{ext}") + job.output_input = job.output_path + job.custom_label = True + job.label = base + job.status, job.progress, job.error, job.selected = "idle", 0.0, "", True + self._asset_group_jobs[key] = (job.id, g.version) + touched.add(job.id) + if not touched: + return + self._refresh_queue_view() + self._schedule_save() + self._append_log( + f"[app] Asset grouping: {created} new + {updated} updated previz job(s) " + f"from {len(groups)} asset group(s).") + self.watch_panel.add_activity( + "Previz", f"{created} new + {updated} updated job(s) from {len(groups)} group(s)") + if self._autorender_start and not self._is_rendering: + self._start_render(only_job_ids=touched) + + def _preview_assembly(self, cfg: AssetGroupingConfig | None = None) -> None: + """Dry-run the asset-grouping on the watch folder's current clips and show + exactly what WOULD be assembled — per asset: screen → material → clip → + version — plus any skipped clips and why. Makes the auto-assembly trustable + before it ever fires a render. ``cfg`` lets the Properties dialog preview its + in-progress edits; defaults to the saved grouping config.""" + cfg = cfg or self._asset_grouping + folder, _en = self.scene_panel.get_watch_folder() + if not folder or not os.path.isdir(folder): + inform(self, "Preview Assembly", + "Choose a watch folder first (the watch button in the Scene panel).") + return + exts = VIDEO_EXTENSIONS | IMAGE_MEDIA_EXTENSIONS + try: + clips = sorted(str(p) for p in Path(folder).iterdir() + if p.is_file() and p.suffix.lower() in exts) + except OSError: + clips = [] + groups = group_clips(clips, cfg) + known_mats = set(self._discovered_materials) + cur_scene = self.scene_panel.scene_edit.text().strip() + + pal = self._palette + rows = [] + used: set[str] = set() + for g in groups: + scene = (cfg.setup_to_scene.get(g.setup) or cur_scene).strip() + scene_name = Path(scene).name if scene else "⚠ no scene mapped" + out = g.output_name(cfg.output_template) + screen_rows = [] + for material, clip in g.material_assignments(cfg.screen_to_material): + used.add(clip) + pc = parse_clip(clip, cfg.pattern) + ver = f"V{pc.version:03d}" if pc else "?" + screen = pc.screen if pc else "?" + warn = "" if (not known_mats or material in known_mats) else \ + f" (not in scene)" + screen_rows.append( + f"{screen}" + f"→ {material}{warn}" + f"← {Path(clip).name} · {ver}") + rows.append( + f"

    Asset A{g.asset:03d} " + f"· setup {g.setup} · scene {scene_name}
    " + f"{out}

    " + f"{''.join(screen_rows)}
    ") + + skipped = [] + for c in clips: + if c in used: + continue + pc = parse_clip(c, cfg.pattern) + if pc is None: + why = "doesn't match the filename pattern" + elif (pc.type or "").upper() != (cfg.content_type or "ANIM").upper(): + why = f"type={pc.type} (only {cfg.content_type} is grouped)" + else: + why = "superseded by a newer version" + skipped.append(f"
  • {Path(c).name} — {why}
  • ") + + summary = (f"{len(groups)} asset(s) from {len(clips)} clip(s) in " + f"{folder}") + body = "".join(rows) if rows else f"

    No assets matched the pattern.

    " + skip_html = (f"

    Skipped ({len(skipped)})

    " + f"
      {''.join(skipped)}
    ") if skipped else "" + html = (f"

    {summary}

    {body}{skip_html}
    ") + + dlg = QDialog(self) + dlg.setWindowTitle("Preview Assembly — dry run") + dlg.setMinimumSize(560, 480) + lay = QVBoxLayout(dlg) + view = QTextBrowser() + view.setHtml(html) + view.setStyleSheet(f"QTextBrowser{{border:1px solid {pal.border}; border-radius:8px; " + f"background:{pal.surface}; padding:10px;}}") + lay.addWidget(view) + close = QPushButton("Close") + close.clicked.connect(dlg.accept) + row = QHBoxLayout() + row.addStretch(1) + row.addWidget(close) + lay.addLayout(row) + dlg.exec() From aaf00589c4e5dc248426dcc896bfc1f717c937c4 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:24:53 +0000 Subject: [PATCH 08/19] test: window-level wiring tests for the watch mixin and crash offer Formalizes what live offscreen bug-hunts previously checked by hand: panel load/apply round-trips, first-run acknowledgement persistence, watch settings surviving a window rebuild, broken-pattern ingest resilience, the hyphenated real-world convention building a previz job end to end, and the crash-report offer (headless no-op, windowed offer + acknowledge). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- tests/test_watch_wiring.py | 134 +++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 tests/test_watch_wiring.py diff --git a/tests/test_watch_wiring.py b/tests/test_watch_wiring.py new file mode 100644 index 0000000..bdf8386 --- /dev/null +++ b/tests/test_watch_wiring.py @@ -0,0 +1,134 @@ +"""Window ↔ WatchPanel wiring (WatchMixin): load/apply round-trips, first-run +acknowledgement, profile persistence across a window rebuild, resilience of the +ingest path to a broken pattern, and the crash-report offer gating. These are +the seams the headless smoke test constructs but never exercises.""" +from __future__ import annotations + + +def _make_window(tmp_path, monkeypatch): + from PySide6.QtWidgets import QApplication + QApplication.instance() or QApplication([]) + import app_qt + monkeypatch.setattr(app_qt, "PROFILE_PATH", tmp_path / "p.json") + monkeypatch.setattr(app_qt, "HISTORY_PATH", tmp_path / "h.json") + monkeypatch.setattr(app_qt, "LOG_PATH", tmp_path / "l.txt") + monkeypatch.setattr(app_qt, "CRASH_DIR", tmp_path / "crashes") + w = app_qt.BlenderVideoMapperQt() + w._blender_path = "" + w._check_updates_on_launch = False + return w + + +def test_apply_watch_panel_writes_config_back(tmp_path, monkeypatch): + w = _make_window(tmp_path, monkeypatch) + wp = w.watch_panel + wp.previz_radio.setChecked(True) + wp.pattern_edit.setText("{ID#}_D{Day#}_{Sec}_{Cue}_{Screen}_v{Ver#}") + wp.content_edit.setText("") + wp.screen_table.set_pairs({"TC-MASTER": "TC-MASTER", "DJBS": "DJBS"}) + wp.setup_table.set_pairs({1: "/x/D1.c4d", 2: "/x/D2.c4d"}) + wp.deliver_edit.setText("/deliver") + w._apply_watch_panel() + ag = w._asset_grouping + assert ag.enabled is True + assert ag.pattern == "{ID#}_D{Day#}_{Sec}_{Cue}_{Screen}_v{Ver#}" + assert ag.content_type == "" + assert ag.screen_to_material == {"TC-MASTER": "TC-MASTER", "DJBS": "DJBS"} + assert ag.setup_to_scene == {1: "/x/D1.c4d", 2: "/x/D2.c4d"} + assert w._deliver_dir == "/deliver" + + +def test_load_watch_panel_mirrors_config(tmp_path, monkeypatch): + w = _make_window(tmp_path, monkeypatch) + ag = w._asset_grouping + ag.enabled = True + ag.pattern = "{P}_S{Setup#}_{Screen}_V{Version#}" + ag.screen_to_material = {"LEFT": "Wall_L"} + ag.setup_to_scene = {3: "/scenes/three.c4d"} + w._deliver_dir = "/out/deliver" + w._load_watch_panel() + wp = w.watch_panel + assert wp.previz_radio.isChecked() + assert wp.pattern_edit.text() == ag.pattern + assert wp.screen_table.get_pairs() == {"LEFT": "Wall_L"} + assert wp.setup_table.get_pairs() == {3: "/scenes/three.c4d"} + assert wp.deliver_edit.text() == "/out/deliver" + + +def test_first_run_dismiss_persists_and_hides_banner(tmp_path, monkeypatch): + w = _make_window(tmp_path, monkeypatch) + assert w._watch_first_run_seen is False + w._on_watch_first_run_dismissed() + assert w._watch_first_run_seen is True + # A rebuilt window (fresh profile load) must not resurrect the banner. + w2 = _make_window(tmp_path, monkeypatch) + assert w2._watch_first_run_seen is True + + +def test_watch_settings_survive_window_rebuild(tmp_path, monkeypatch): + w = _make_window(tmp_path, monkeypatch) + wp = w.watch_panel + wp.previz_radio.setChecked(True) + wp.pattern_edit.setText("{ID#}_D{Day#}_{Screen}_v{Ver#}") + wp.screen_table.set_pairs({"TC-MASTER": "TC-MASTER"}) + wp.setup_table.set_pairs({2: "/x/D2.c4d"}) + wp.deliver_edit.setText("/deliver") + w._apply_watch_panel() + w._save_profile() + + w2 = _make_window(tmp_path, monkeypatch) + ag2 = w2._asset_grouping + assert ag2.enabled is True + assert ag2.pattern == "{ID#}_D{Day#}_{Screen}_v{Ver#}" + assert ag2.screen_to_material == {"TC-MASTER": "TC-MASTER"} + assert ag2.setup_to_scene == {2: "/x/D2.c4d"} + assert w2._deliver_dir == "/deliver" + + +def test_broken_pattern_never_crashes_ingest(tmp_path, monkeypatch): + w = _make_window(tmp_path, monkeypatch) + w._asset_grouping.enabled = True + w._asset_grouping.pattern = "(?P Date: Wed, 1 Jul 2026 23:25:31 +0000 Subject: [PATCH 09/19] fix: annotate test dict for whole-repo mypy Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- tests/test_watch_wiring.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_watch_wiring.py b/tests/test_watch_wiring.py index bdf8386..dce05f0 100644 --- a/tests/test_watch_wiring.py +++ b/tests/test_watch_wiring.py @@ -125,7 +125,7 @@ def test_crash_offer_headless_noop_and_windowed_ack(tmp_path, monkeypatch): assert crash.pending_reports(crash_dir) == [report] # Windowed: the dialog is offered once, then everything is acknowledged. - asked = {} + asked: dict[str, str] = {} monkeypatch.setattr(w, "_is_headless", lambda: False) monkeypatch.setattr(app_qt, "ask", lambda *a, **k: asked.setdefault("title", a[1]) and "dismiss") From 7b80337cebaad14467a550870b4cdae61f1a5702 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:35:39 +0000 Subject: [PATCH 10/19] =?UTF-8?q?fix:=20platformName=20via=20class=20acces?= =?UTF-8?q?s=20=E2=80=94=20QApplication.instance()=20is=20typed=20QCoreApp?= =?UTF-8?q?lication?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI's pinned mypy flags app.platformName() on the instance() return type (QCoreApplication); the static/class access is equivalent at runtime and correctly typed. Local mypy accepted the old form, CI's didn't. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- tests/test_smoke_ui.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_smoke_ui.py b/tests/test_smoke_ui.py index adb50c8..a02cb63 100644 --- a/tests/test_smoke_ui.py +++ b/tests/test_smoke_ui.py @@ -103,8 +103,9 @@ def test_first_run_welcome_suppressed_when_headless(tmp_path, monkeypatch): platform. A blocking .exec() there has no one to dismiss it and hung the headless CI smoke job for ~10 min (then failed) on most releases.""" from PySide6.QtWidgets import QApplication, QMessageBox - app = QApplication.instance() or QApplication([]) - assert app.platformName() == "offscreen" + QApplication.instance() or QApplication([]) + # (class access: .instance() is typed QCoreApplication, no platformName) + assert QApplication.platformName() == "offscreen" import app_qt monkeypatch.setattr(app_qt, "PROFILE_PATH", tmp_path / "p.json") monkeypatch.setattr(app_qt, "HISTORY_PATH", tmp_path / "h.json") From ae079f0bb7f7d72a5fe4c277b76f4c8210ca2274 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 23:49:24 +0000 Subject: [PATCH 11/19] ci: clean failure when NOTARIZATION_PWD is empty; defensive verdict parse An empty app-specific password produced Apple's 401 followed by a raw JSONDecodeError traceback. Now: explicit error if the secret is empty, and the verdict parse falls back to 'Unknown' with a pointer at notarytool's own output instead of tracebacking when the response isn't JSON. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- .github/workflows/build.yml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f9a36c7..7ee8934 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -230,19 +230,27 @@ jobs: # Submit the DMG; Apple validates every binary inside it. Parse the # result ourselves: notarytool --wait can exit 0 on an "Invalid" # verdict, and a bare stapler failure hides the actual reason. + if [ -z "$NOTARIZATION_PWD" ]; then + echo "::error::NOTARIZATION_PWD is empty — create the repo secret with the app-specific password from account.apple.com" + exit 1 + fi xcrun notarytool submit "RenderMapperPro-${{ matrix.label }}.dmg" \ --apple-id "$NOTARIZATION_APPLE_ID" \ --team-id "$NOTARIZATION_TEAM_ID" \ --password "$NOTARIZATION_PWD" \ - --wait --output-format json | tee notarize.json - status=$(python3 -c "import json;print(json.load(open('notarize.json'))['status'])") - sub_id=$(python3 -c "import json;print(json.load(open('notarize.json'))['id'])") + --wait --output-format json | tee notarize.json || true + # Parse defensively: on bad credentials notarytool emits a plain-text + # error, not JSON — surface a clean verdict either way. + status=$(python3 -c "import json;print(json.load(open('notarize.json')).get('status','Unknown'))" 2>/dev/null || echo Unknown) + sub_id=$(python3 -c "import json;print(json.load(open('notarize.json')).get('id',''))" 2>/dev/null || echo "") if [ "$status" != "Accepted" ]; then - echo "::error::Notarization verdict: $status — fetching Apple's log" - xcrun notarytool log "$sub_id" \ - --apple-id "$NOTARIZATION_APPLE_ID" \ - --team-id "$NOTARIZATION_TEAM_ID" \ - --password "$NOTARIZATION_PWD" || true + echo "::error::Notarization verdict: ${status:-Unknown} (see notarytool output above — 401 means a bad Apple ID / app-specific password)" + if [ -n "$sub_id" ]; then + xcrun notarytool log "$sub_id" \ + --apple-id "$NOTARIZATION_APPLE_ID" \ + --team-id "$NOTARIZATION_TEAM_ID" \ + --password "$NOTARIZATION_PWD" || true + fi exit 1 fi # Staple the ticket to the DMG and to the .app (so the zip is clean too) From 9013e5ebf097b27e7bac523bad5f54321673c659 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 00:02:40 +0000 Subject: [PATCH 12/19] ci: sign every Mach-O with timestamp + hardened runtime; drop --deep signing Apple rejected the first real notarization: no secure timestamp anywhere and no hardened runtime on the main executable. Causes: --timestamp was never passed, per-file signing errors were swallowed (2>/dev/null || true), and the bundle was sealed with the deprecated --deep sign (which skips the runtime option on nested code) plus a stray --verify in the sign invocation. Now every Mach-O in the bundle is signed individually and loudly, frameworks and the .app are sealed last, and verification is strict. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- .github/workflows/build.yml | 38 ++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7ee8934..00bf4e6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -191,23 +191,27 @@ jobs: run: | if [ -z "$MACOS_CERTIFICATE" ]; then exit 0; fi APP="dist/Render Mapper Pro.app" - # Sign nested dylibs/so files individually first (--deep misses some) - find "$APP/Contents" -type f \( -name "*.dylib" -o -name "*.so" \) \ - -print0 | xargs -0 -I{} codesign --force --sign "$MACOS_CERTIFICATE_NAME" \ - --options runtime \ - --entitlements installer/entitlements.plist "{}" 2>/dev/null || true - # Sign any nested .framework bundles - find "$APP/Contents/Frameworks" -type d -name "*.framework" 2>/dev/null \ - -print0 | xargs -0 -I{} codesign --force --sign "$MACOS_CERTIFICATE_NAME" \ - --options runtime \ - --entitlements installer/entitlements.plist "{}" 2>/dev/null || true - # Sign the outer .app (--deep catches anything the above loops missed) - codesign --force --deep --verify --verbose \ - --sign "$MACOS_CERTIFICATE_NAME" \ - --options runtime \ - --entitlements installer/entitlements.plist \ - "$APP" - codesign --verify --deep --strict "$APP" + ENT="installer/entitlements.plist" + # Sign EVERY Mach-O inside the bundle (dylib/so/bare executables like + # the bundled ffmpeg), each with a secure timestamp + hardened runtime + # — Apple rejects anything missing either. Failures are loud: no + # silenced stderr, no `|| true`. (--deep is deprecated for signing + # and does not apply the runtime option to nested code.) + find "$APP" -type f -print0 | while IFS= read -r -d '' f; do + if file -b "$f" | grep -q "Mach-O"; then + codesign --force --timestamp --options runtime \ + --entitlements "$ENT" --sign "$MACOS_CERTIFICATE_NAME" "$f" + fi + done + # Seal framework bundles (if any), then the .app itself last. + find "$APP/Contents/Frameworks" -maxdepth 1 -type d -name "*.framework" -print0 2>/dev/null \ + | while IFS= read -r -d '' fw; do + codesign --force --timestamp --options runtime \ + --entitlements "$ENT" --sign "$MACOS_CERTIFICATE_NAME" "$fw" + done + codesign --force --timestamp --options runtime \ + --entitlements "$ENT" --sign "$MACOS_CERTIFICATE_NAME" "$APP" + codesign --verify --deep --strict --verbose=2 "$APP" echo "Code-signing complete" - name: Package (macOS) if: runner.os == 'macOS' From 8ac0a877bc39913c10f71ac987232060b080c2bf Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 00:13:11 +0000 Subject: [PATCH 13/19] ci: skip notarization when the app is unsigned (empty MACOS_CERTIFICATE) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The sign step no-ops without the cert secret, so the job sailed on and submitted an unsigned bundle to Apple — guaranteed rejection with a wall of 'no valid Developer ID / no timestamp' errors that pointed away from the real cause. Now the notarize step warns and ships the unsigned zip instead. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- .github/workflows/build.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 00bf4e6..b21af73 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -220,12 +220,18 @@ jobs: - name: Notarize and staple (macOS) if: runner.os == 'macOS' env: + MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} NOTARIZATION_APPLE_ID: ${{ secrets.NOTARIZATION_APPLE_ID }} NOTARIZATION_TEAM_ID: ${{ secrets.NOTARIZATION_TEAM_ID }} NOTARIZATION_PWD: ${{ secrets.NOTARIZATION_PWD }} run: | - if [ -z "$NOTARIZATION_APPLE_ID" ]; then - echo "::warning::NOTARIZATION_APPLE_ID not set — skipping notarization" + # An unsigned app can never notarize — don't waste a round-trip to + # Apple when the signing secrets are absent/empty. + if [ -z "$NOTARIZATION_APPLE_ID" ] || [ -z "$MACOS_CERTIFICATE" ]; then + [ -z "$MACOS_CERTIFICATE" ] && \ + echo "::warning::MACOS_CERTIFICATE is empty — app is unsigned, skipping notarization" + [ -z "$NOTARIZATION_APPLE_ID" ] && \ + echo "::warning::NOTARIZATION_APPLE_ID not set — skipping notarization" ditto -c -k --sequesterRsrc --keepParent \ "dist/Render Mapper Pro.app" \ "RenderMapperPro-${{ matrix.label }}.zip" From 4a7991b5aeac7bc9bebbbb4663a9ea57b1111a2d Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 00:38:29 +0000 Subject: [PATCH 14/19] ci: remove dangling symlinks before sealing the .app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Mach-O sweep signed the whole bundle, but sealing the outer .app failed with 'No such file or directory' — PyInstaller strips Qt header directories and leaves their symlinks dangling, which codesign refuses to seal over. Broken symlinks serve no runtime purpose; delete them (printed for the log) right before the bundle seal. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b21af73..e6d807c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -209,6 +209,10 @@ jobs: codesign --force --timestamp --options runtime \ --entitlements "$ENT" --sign "$MACOS_CERTIFICATE_NAME" "$fw" done + # PyInstaller strips Qt header dirs but leaves their symlinks dangling; + # codesign refuses to seal a bundle containing broken symlinks + # ("No such file or directory" on the .app itself). + find "$APP" -type l ! -exec test -e {} \; -print -delete codesign --force --timestamp --options runtime \ --entitlements "$ENT" --sign "$MACOS_CERTIFICATE_NAME" "$APP" codesign --verify --deep --strict --verbose=2 "$APP" From a76123d08e68e2362994ec8b3faa34511ec8ae18 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 20:56:48 +0000 Subject: [PATCH 15/19] =?UTF-8?q?feat:=20watch-folder=20upgrades=20?= =?UTF-8?q?=E2=80=94=20skipped-clips=20badge,=20subfolder=20watching,=20pe?= =?UTF-8?q?rsisted=20ingest=20history?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes the three gaps from the watch/automapper audit: - Silent ignores: previz ingest now counts ready clips that didn't land in any group (pattern/type mismatch, unmapped screen, superseded) and surfaces a warning chip in the Activity header; clicking opens the dry-run preview, which explains every skipped file. - Subfolders: an 'Include subfolders' toggle in the Source card switches the scan to a pruned os.walk (auto-render output excluded as a whole subtree); rename/deletion reconciliation is subtree-aware; persisted in the profile. - Ingest history: the Activity feed writes through to logs/ingest_history.log and preloads its tail on launch, so ingest is auditable across restarts; Clear empties the visible feed only. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- app_qt.py | 5 ++ app_window/watch_mixin.py | 8 +++ panels.py | 135 ++++++++++++++++++++++++++++++------- tests/test_watch_wiring.py | 86 +++++++++++++++++++++++ 4 files changed, 210 insertions(+), 24 deletions(-) diff --git a/app_qt.py b/app_qt.py index 4f5351b..67d4c55 100644 --- a/app_qt.py +++ b/app_qt.py @@ -1259,6 +1259,9 @@ def _build_layout(self) -> None: self.watch_panel.pick_deliver_dir_requested.connect(self._pick_watch_deliver_dir) self.watch_panel.preview_requested.connect(self._preview_watch_assembly) self.watch_panel.first_run_dismissed.connect(self._on_watch_first_run_dismissed) + # Ingest history: the activity feed writes through to disk and preloads + # its tail, so "did that clip get picked up last night?" is answerable. + self.watch_panel.set_history_path(Path(LOG_PATH).parent / "ingest_history.log") self._load_watch_panel() self.scene_panel.targets_changed.connect(lambda *_: self._save_profile()) self.scene_panel.assignments_cleared.connect( @@ -3645,6 +3648,7 @@ def _profile_dict(self) -> dict: "watch_enabled": watch_enabled, "watch_interval_ms": watch_interval_ms, "watch_settle": watch_settle, + "watch_recursive": self.scene_panel.get_watch_recursive(), "autorender_enabled": self._autorender_enabled, "autorender_start": self._autorender_start, "autorender_output": self._autorender_output, @@ -3921,6 +3925,7 @@ def note_missing(vp: str, vn: str) -> None: int(d.get("watch_interval_ms", 3000)), float(d.get("watch_settle", 2.0))) except (TypeError, ValueError): _log.debug("invalid watch-folder values in profile; using defaults", exc_info=True) + self.scene_panel.set_watch_recursive(bool(d.get("watch_recursive", False))) self._autorender_enabled = bool(d.get("autorender_enabled", False)) self._autorender_start = bool(d.get("autorender_start", False)) self._autorender_output = str(d.get("autorender_output", "") or "") diff --git a/app_window/watch_mixin.py b/app_window/watch_mixin.py index 97f95ea..12821bc 100644 --- a/app_window/watch_mixin.py +++ b/app_window/watch_mixin.py @@ -109,6 +109,7 @@ def _load_watch_panel(self) -> None: autorender_start=self._autorender_start, output_dir=self._autorender_output, deliver_dir=self._deliver_dir, + recursive=self.scene_panel.get_watch_recursive(), ) # First-run banner: only until acknowledged, and only before any folder is set. seen = getattr(self, "_watch_first_run_seen", False) @@ -137,6 +138,7 @@ def _apply_watch_panel(self) -> None: self._autorender_enabled = bool(c["autorender_start"]) self.scene_panel.set_watch_options(int(max(1.0, float(c["poll_interval_s"])) * 1000), float(c["settle_s"])) + self.scene_panel.set_watch_recursive(bool(c["recursive"])) self.scene_panel.set_grouping_mode(ag.enabled) self._save_profile() @@ -196,6 +198,12 @@ def _on_watch_clips_ready(self, paths: list) -> None: except Exception as exc: self._append_log(f"[app] Asset grouping failed: {exc}") return + # Silent-ignore fix: clips that are present but did NOT land in any + # group's assignments (pattern/type mismatch, unmapped screen, superseded + # version) are surfaced as a badge — the dry run explains each one. + used = {clip for g in groups + for _m, clip in g.material_assignments(self._asset_grouping.screen_to_material)} + self.watch_panel.set_ignored(len([p for p in paths if p not in used])) if not groups: return cur_scene = self.scene_panel.scene_edit.text().strip() diff --git a/panels.py b/panels.py index aaa44a3..fe63006 100644 --- a/panels.py +++ b/panels.py @@ -163,6 +163,7 @@ def __init__(self, parent: QWidget | None = None) -> None: self._watch_interval_ms = 3000 # poll cadence (configurable in Properties) self._watch_settle = 2.0 # seconds a file must be quiet before ingest self._watch_ignore = "" # a dir to skip while scanning (auto-render output) + self._watch_recursive = False # also scan subfolders of the watch folder self._targets: list[str] = [] # materials marked as render targets self._autorender_last: frozenset | None = None # last target version-set emitted self._watch_idle_polls = 0 # consecutive no-change polls (drives back-off) @@ -869,6 +870,18 @@ def set_watch_options(self, interval_ms: int, settle_s: float) -> None: def get_watch_options(self) -> tuple[int, float]: return self._watch_interval_ms, self._watch_settle + def set_watch_recursive(self, on: bool) -> None: + """Also scan subfolders (the poll covers them; FS events still watch the + top folder only, which is fine — the poll is the reliable backstop).""" + on = bool(on) + if on != self._watch_recursive: + self._watch_recursive = on + self._watch_seen = {} # force a fresh scan under the new scope + self._watch_sizes = {} + + def get_watch_recursive(self) -> bool: + return self._watch_recursive + def set_grouping_mode(self, on: bool) -> None: """When on, the watch folder emits ready clips for asset-grouping instead of auto-mapping them onto the current scene.""" @@ -886,25 +899,40 @@ def _scan_watch_folder(self) -> None: self._watch_scanning = True exts = VIDEO_EXTENSIONS | IMAGE_MEDIA_EXTENSIONS ignore = os.path.normpath(self._watch_ignore) if self._watch_ignore else "" + recursive = self._watch_recursive + + def _ignored(path: str) -> bool: + # Skip the auto-render output dir (whole subtree) so rendered PREVIZ + # files are never re-ingested (no feedback loop). + if not ignore: + return False + p = os.path.normpath(path) + return p == ignore or p.startswith(ignore + os.sep) + + def _collect(listing: list, path: str, name: str) -> None: + try: + if Path(name).suffix.lower() in exts: + st = os.stat(path) + # Flag cloud "online-only" placeholders so we don't ingest a + # file whose bytes aren't on disk yet. + dataless = is_cloud_placeholder(path, st) + listing.append((path, st.st_size, st.st_mtime, dataless)) + except OSError: + _log.debug("watch folder: failed to stat an entry", exc_info=True) def work(): - listing = [] + listing: list = [] try: - with os.scandir(folder) as it: - for e in it: - try: - # Skip the auto-render output dir so rendered PREVIZ - # files are never re-ingested (no feedback loop). - if ignore and os.path.normpath(e.path) == ignore: - continue - if e.is_file() and Path(e.name).suffix.lower() in exts: - st = e.stat() - # Flag cloud "online-only" placeholders so we don't - # ingest a file whose bytes aren't on disk yet. - dataless = is_cloud_placeholder(e.path, st) - listing.append((e.path, st.st_size, st.st_mtime, dataless)) - except OSError: - _log.debug("watch folder: failed to stat an entry", exc_info=True) + if recursive: + for root, dirs, files in os.walk(folder): + dirs[:] = [d for d in dirs if not _ignored(os.path.join(root, d))] + for name in files: + _collect(listing, os.path.join(root, name), name) + else: + with os.scandir(folder) as it: + for e in it: + if not _ignored(e.path) and e.is_file(): + _collect(listing, e.path, e.name) except OSError: listing = [] self._watch_scanned.emit(listing) # queued → delivered on the UI thread @@ -923,10 +951,14 @@ def _apply_watch_scan(self, listing: list) -> None: # All listed files count as "present" — including cloud placeholders — so # a clip that's evicted to online-only after ingest isn't treated as gone. present = {os.path.normpath(p) for p, _s, _m, _d in listing} - # Clips that came from the watch folder but are gone now (deleted, or - # renamed away) — drop them so a rename doesn't leave a stale duplicate. + # Clips that came from the watch folder (any depth, for recursive mode) + # but are gone now (deleted, or renamed away) — drop them so a rename + # doesn't leave a stale duplicate. + def _under_folder(v: str) -> bool: + d = os.path.normpath(os.path.dirname(v)) + return d == folder or d.startswith(folder + os.sep) gone = {v for v in self._videos - if os.path.normpath(os.path.dirname(v)) == folder and os.path.normpath(v) not in present} + if _under_folder(v) and os.path.normpath(v) not in present} ready, mtimes, sizes = [], {}, {} for path, size, mtime, dataless in listing: @@ -3640,6 +3672,11 @@ def _build_source_card(self) -> QFrame: ph.setObjectName("HintLabel") prow.addWidget(ph, 1) v.addLayout(prow) + self.recursive_check = QCheckBox("Include subfolders") + self.recursive_check.setToolTip("Also watch every folder inside the watch folder — " + "clips dropped in subfolders (per-day, per-setup…) are picked up too") + self.recursive_check.toggled.connect(lambda *_: self._emit_changed()) + v.addWidget(self.recursive_check) return f def _build_mode_card(self) -> QFrame: @@ -3757,6 +3794,16 @@ def _build_activity_card(self) -> QFrame: head = QHBoxLayout() head.addWidget(_step_label("⑤", "ACTIVITY")) head.addStretch() + # Silent-ignore fix: clips sitting in the folder that DIDN'T become jobs + # are surfaced, not swallowed — click opens the dry-run with per-file why. + self.ignored_btn = QPushButton("") + self.ignored_btn.setObjectName("SmallButton") + self.ignored_btn.setStyleSheet(f"color:{active_palette().warning};") + self.ignored_btn.setToolTip("Some clips in the watch folder didn't become jobs — " + "click to see each one and why (dry run)") + self.ignored_btn.clicked.connect(self.preview_requested.emit) + self.ignored_btn.setVisible(False) + head.addWidget(self.ignored_btn) clear_btn = QPushButton("Clear") clear_btn.setObjectName("SmallButton") clear_btn.clicked.connect(self.clear_activity) @@ -3811,6 +3858,7 @@ def _on_mode_changed(self, *_a) -> None: def _refresh_mode_ui(self) -> None: self.naming_card.setVisible(self.previz_radio.isChecked()) + self.set_ignored(getattr(self, "_ignored_count", 0)) # badge is previz-only def _on_pattern_changed(self, *_a) -> None: self._update_preview() @@ -3874,7 +3922,7 @@ def load_config(self, *, grouping_enabled: bool, pattern: str, content_type: str output_template: str, autorender_pattern: str, screen_to_material: dict, setup_to_scene: dict, settle_s: float, poll_interval_s: float, autorender_start: bool, - output_dir: str, deliver_dir: str) -> None: + output_dir: str, deliver_dir: str, recursive: bool = False) -> None: """Populate every control from the persisted config without emitting.""" self._suppress = True try: @@ -3891,6 +3939,7 @@ def load_config(self, *, grouping_enabled: bool, pattern: str, content_type: str self.autostart_cb.setChecked(bool(autorender_start)) self.settle_combo.setCurrentIndex(self._nearest(self._SETTLE_OPTS, settle_s)) self.poll_combo.setCurrentIndex(self._nearest(self._POLL_OPTS, poll_interval_s)) + self.recursive_check.setChecked(bool(recursive)) finally: self._suppress = False self._refresh_mode_ui() @@ -3912,25 +3961,63 @@ def get_config(self) -> dict: "setup_to_scene": self.setup_table.get_pairs(), "settle_s": self._SETTLE_OPTS[self.settle_combo.currentIndex()][1], "poll_interval_s": self._POLL_OPTS[self.poll_combo.currentIndex()][1], + "recursive": self.recursive_check.isChecked(), "deliver_dir": self.deliver_edit.text().strip(), "autorender_start": self.autostart_cb.isChecked(), "output_dir": self.out_dir_edit.text().strip(), } - # ── activity feed ──────────────────────────────────────────────────── + # ── ignored-clips badge ────────────────────────────────────────────── + def set_ignored(self, count: int) -> None: + """Surface clips that were seen but did NOT become jobs (pattern/type + mismatch, unmapped screen, superseded). Zero (or auto-map mode) hides.""" + self._ignored_count = max(0, int(count)) + show = self._ignored_count > 0 and self.previz_radio.isChecked() + if show: + self.ignored_btn.setText(f"⚠ {self._ignored_count} clip(s) skipped — why?") + self.ignored_btn.setVisible(show) + + # ── activity feed (persisted) ──────────────────────────────────────── + def set_history_path(self, path) -> None: + """Point the feed at an on-disk ingest history and preload the recent + tail, so 'did that clip get picked up last night?' survives a restart.""" + self._history_path = Path(path) + try: + lines = self._history_path.read_text(encoding="utf-8").splitlines()[-100:] + except OSError: + return + for line in lines: # oldest→newest; newest ends on top + parts = line.split("\t", 2) + if len(parts) == 3: + stamp, event, detail = parts + self._insert_activity_row(stamp.split(" ")[-1], event, detail, + tooltip=f"{stamp} — {detail}") + def add_activity(self, event: str, detail: str) -> None: + self._insert_activity_row(time.strftime("%H:%M:%S"), event, detail, tooltip=detail) + hist = getattr(self, "_history_path", None) + if hist is not None: + try: + hist.parent.mkdir(parents=True, exist_ok=True) + with hist.open("a", encoding="utf-8") as f: + stamp = time.strftime("%Y-%m-%d %H:%M:%S") + f.write(f"{stamp}\t{event}\t{detail}\n".replace("\r", " ")) + except OSError: + pass # history is best-effort, never blocks ingest + + def _insert_activity_row(self, when: str, event: str, detail: str, *, tooltip: str) -> None: self.activity.insertRow(0) - cells = (time.strftime("%H:%M:%S"), event, detail) - for col, text in enumerate(cells): + for col, text in enumerate((when, event, detail)): item = QTableWidgetItem(text) item.setFlags(Qt.ItemFlag.ItemIsEnabled) if col == 2: - item.setToolTip(detail) + item.setToolTip(tooltip) self.activity.setItem(0, col, item) while self.activity.rowCount() > 200: self.activity.removeRow(self.activity.rowCount() - 1) def clear_activity(self) -> None: + # Clears the visible feed only — the on-disk history stays (audit trail). self.activity.setRowCount(0) diff --git a/tests/test_watch_wiring.py b/tests/test_watch_wiring.py index dce05f0..b08d1d9 100644 --- a/tests/test_watch_wiring.py +++ b/tests/test_watch_wiring.py @@ -132,3 +132,89 @@ def test_crash_offer_headless_noop_and_windowed_ack(tmp_path, monkeypatch): w._offer_crash_reports() assert "crashed last time" in asked["title"] assert crash.pending_reports(crash_dir) == [] + + +def test_recursive_toggle_scans_subfolders(tmp_path, monkeypatch): + import time as _time + + from PySide6.QtWidgets import QApplication + app = QApplication.instance() + w = _make_window(tmp_path, monkeypatch) + sp = w.scene_panel + wf = tmp_path / "watch" + (wf / "day2").mkdir(parents=True) + (wf / "top_v1.mp4").write_bytes(b"x") + (wf / "day2" / "deep_v1.mp4").write_bytes(b"x") + out = wf / "PREVIZ" + out.mkdir() + (out / "rendered_v1.mp4").write_bytes(b"x") # must NEVER be ingested + sp.set_watch_ignore_dir(str(out)) + sp._watch_folder = str(wf) + + def _scan_paths(): + got: dict[str, list] = {} + sp._watch_scanned.connect(lambda listing: got.setdefault("l", listing)) + sp._scan_watch_folder() + for _ in range(100): + app.processEvents() + if "l" in got: + break + _time.sleep(0.02) + return sorted(p for p, _s, _m, _d in got.get("l", [])) + + flat = _scan_paths() + assert any(p.endswith("top_v1.mp4") for p in flat) + assert not any("day2" in p for p in flat), "non-recursive must stay top-level" + + sp.set_watch_recursive(True) + deep = _scan_paths() + assert any(p.endswith("deep_v1.mp4") for p in deep), "recursive must find subfolder clips" + assert not any("PREVIZ" in p for p in deep), "output subtree must stay excluded" + + +def test_recursive_round_trips_through_panel_and_profile(tmp_path, monkeypatch): + w = _make_window(tmp_path, monkeypatch) + w.watch_panel.recursive_check.setChecked(True) # emits config_changed → apply + assert w.scene_panel.get_watch_recursive() is True + w._save_profile() + w2 = _make_window(tmp_path, monkeypatch) + assert w2.scene_panel.get_watch_recursive() is True + assert w2.watch_panel.recursive_check.isChecked() + + +def test_ignored_clips_badge_counts_non_matching(tmp_path, monkeypatch): + w = _make_window(tmp_path, monkeypatch) + ag = w._asset_grouping + ag.enabled = True + ag.pattern = "{ID#}_D{Day#}_{Sec}_{Cue}_{Screen}_v{Ver#}" + ag.content_type = "" + ag.screen_to_material = {} + ag.setup_to_scene = {} + w.watch_panel.set_mode(True) # reflect previz without re-emitting config + w.scene_panel.scene_edit.setText(str(tmp_path / "Stage.c4d")) + w._on_watch_clips_ready([ + "/drop/80230_D2_War-Treaty_MusicH_TC-MASTER_v001.mp4", # matches → job + "/drop/nonsense-name.mp4", # no match → ignored + "/drop/also wrong.mov", # no match → ignored + ]) + assert len(w._jobs) == 1 + assert w.watch_panel._ignored_count == 2 + assert w.watch_panel.ignored_btn.isVisible() or not w.watch_panel.isVisible() + assert "2" in w.watch_panel.ignored_btn.text() + + +def test_activity_feed_persists_and_preloads(tmp_path, monkeypatch): + w = _make_window(tmp_path, monkeypatch) + w.watch_panel.add_activity("Previz", "2 new job(s) from 1 group(s)") + hist = tmp_path / "l.txt" + hist = hist.parent / "ingest_history.log" + text = hist.read_text() + assert "Previz" in text and "2 new job(s)" in text + # A rebuilt window preloads the tail into the feed. + w2 = _make_window(tmp_path, monkeypatch) + rows = w2.watch_panel.activity.rowCount() + assert rows >= 1 + assert w2.watch_panel.activity.item(0, 1).text() == "Previz" + # Clearing the visible feed must keep the on-disk audit trail. + w2.watch_panel.clear_activity() + assert hist.exists() and "Previz" in hist.read_text() From cc8c30c154e65dc9e386e6716df5fa68fc92fa17 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 20:58:14 +0000 Subject: [PATCH 16/19] fix: assert QApplication.instance() non-None for CI's mypy Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- tests/test_watch_wiring.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_watch_wiring.py b/tests/test_watch_wiring.py index b08d1d9..2c055f3 100644 --- a/tests/test_watch_wiring.py +++ b/tests/test_watch_wiring.py @@ -139,6 +139,7 @@ def test_recursive_toggle_scans_subfolders(tmp_path, monkeypatch): from PySide6.QtWidgets import QApplication app = QApplication.instance() + assert app is not None w = _make_window(tmp_path, monkeypatch) sp = w.scene_panel wf = tmp_path / "watch" From 447d72b198e4278765a61ea836f650f0c07e05ac Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 20:59:26 +0000 Subject: [PATCH 17/19] fix: construct QApplication when running the recursive-scan test alone The instance() or QApplication([]) idiom satisfies CI's mypy (non-Optional after 'or') and keeps the test runnable in isolation. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- tests/test_watch_wiring.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_watch_wiring.py b/tests/test_watch_wiring.py index 2c055f3..b096ca8 100644 --- a/tests/test_watch_wiring.py +++ b/tests/test_watch_wiring.py @@ -138,8 +138,7 @@ def test_recursive_toggle_scans_subfolders(tmp_path, monkeypatch): import time as _time from PySide6.QtWidgets import QApplication - app = QApplication.instance() - assert app is not None + app = QApplication.instance() or QApplication([]) w = _make_window(tmp_path, monkeypatch) sp = w.scene_panel wf = tmp_path / "watch" From fe1c15de177ef78d4417e98ef7253c79102c0c45 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 21:09:00 +0000 Subject: [PATCH 18/19] =?UTF-8?q?docs:=20full=20user=20guide=20with=20clos?= =?UTF-8?q?e-up=20screenshots=20=E2=80=94=20in-app=20and=20on=20GitHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - assets/help/img/: 10 real screenshots generated from the live app offscreen (main window, whole Watch panel, per-card close-ups incl. the chip builder parsing the production naming convention, the skipped-clips badge in action, the dry-run Preview Assembly, and the queue). - In-app Help → User Guide: the Watch & Auto-render tab is rewritten around the panel's actual ①–⑤ flow with embedded screenshots (QTextBrowser search paths resolve the bundled images; degrades to text-only if absent), and the Getting Started tab gains the main-window shot. - docs/user-guide.md: comprehensive GitHub-facing guide — quick start, watch pipeline deep dive, filename pattern reference (with the real-world hyphenated convention), queue, engines, crash reports, troubleshooting/FAQ. - README: links the guide; the macOS download note now reflects the signed + notarized reality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- README.md | 9 +- app_qt.py | 163 ++++++++++--------- assets/help/img/main-window.png | Bin 0 -> 144714 bytes assets/help/img/preview-assembly.png | Bin 0 -> 55529 bytes assets/help/img/queue.png | Bin 0 -> 7509 bytes assets/help/img/scene-panel.png | Bin 0 -> 27127 bytes assets/help/img/watch-activity.png | Bin 0 -> 16951 bytes assets/help/img/watch-mode.png | Bin 0 -> 17395 bytes assets/help/img/watch-naming.png | Bin 0 -> 56873 bytes assets/help/img/watch-output.png | Bin 0 -> 23533 bytes assets/help/img/watch-panel.png | Bin 0 -> 159261 bytes assets/help/img/watch-source.png | Bin 0 -> 18663 bytes docs/user-guide.md | 224 +++++++++++++++++++++++++++ 13 files changed, 320 insertions(+), 76 deletions(-) create mode 100644 assets/help/img/main-window.png create mode 100644 assets/help/img/preview-assembly.png create mode 100644 assets/help/img/queue.png create mode 100644 assets/help/img/scene-panel.png create mode 100644 assets/help/img/watch-activity.png create mode 100644 assets/help/img/watch-mode.png create mode 100644 assets/help/img/watch-naming.png create mode 100644 assets/help/img/watch-output.png create mode 100644 assets/help/img/watch-panel.png create mode 100644 assets/help/img/watch-source.png create mode 100644 docs/user-guide.md diff --git a/README.md b/README.md index 25d754f..1d5db12 100644 --- a/README.md +++ b/README.md @@ -16,13 +16,20 @@ Grab the latest from the [**Releases**](../../releases) page. The **installer** | macOS (Apple Silicon) | `RenderMapperPro-macOS-arm64.dmg` | `RenderMapperPro-macOS-arm64.zip` | - **Windows:** run **Setup.exe** — it installs to Program Files with a Start‑Menu shortcut. If SmartScreen warns, **More info → Run anyway** (the build isn't code‑signed). -- **macOS:** open the **.dmg** and drag the app to **Applications**. First launch only: right‑click the app → **Open** → **Open** (it isn't notarized). +- **macOS:** open the **.dmg** and drag the app to **Applications**. The app is **Developer‑ID signed and notarized by Apple** — it opens normally, no Gatekeeper warnings. - **Updates are automatic:** on launch the app checks Releases and, with one click, downloads and runs the right installer for you — no manual replace. **Nothing else to install.** The app is self-contained: **ffmpeg** is bundled, the `.glb` web renderer fetches its own headless Chromium on first use, and if **Blender** isn't already on the machine the app offers to **download a managed Blender runtime** for you (one click, with a progress bar). The only "bring your own" is **Cinema 4D + Redshift** for `.c4d` scenes — that's licensed commercial software, so you point the app at your own install. Every push to `main` also publishes the builds as downloadable **workflow artifacts** under the GitHub Actions run. +## Documentation + +The full **[User Guide](docs/user-guide.md)** covers everything with close-up +screenshots — quick start, the Watch & Auto-render pipeline, the filename +pattern reference, queue, engines, and troubleshooting. The same guide ships +inside the app under **Help → User Guide**. + ## Quick start 1. **Add a scene** — drag a `.blend` / `.c4d` / `.glb` (or `.fbx`, `.usd`, …) onto the Scene box, then click **Scan Scene**. diff --git a/app_qt.py b/app_qt.py index 67d4c55..d982661 100644 --- a/app_qt.py +++ b/app_qt.py @@ -273,6 +273,19 @@ def _resolve_runtime_script(name: str) -> str: raise FileNotFoundError(f"Runtime script not found: {name}") +def _help_image_dir() -> str: + """The bundled User Guide screenshots (assets/help/img), '' if absent — + the guide degrades to text-only rather than showing broken images.""" + roots = [Path(__file__).parent, Path.cwd()] + if getattr(sys, "frozen", False): + roots.insert(0, Path(getattr(sys, "_MEIPASS", ""))) + for root in roots: + c = root / "assets" / "help" / "img" + if c.is_dir(): + return str(c) + return "" + + class BlenderVideoMapperQt(QMainWindow, QueueMixin, PresetMixin, DeadlineMixin, UpdateMixin, RuntimeMixin, ReportMixin, WatchMixin): _update_checked = Signal(object, bool, str) # (manifest dict | None, was-manual, error-text) @@ -683,9 +696,12 @@ def _show_user_guide(self) -> None: tabs.setDocumentMode(True) pal = self._palette css = self._help_css() + img_dir = _help_image_dir() for title, body in self._guide_sections(): browser = QTextBrowser() browser.setOpenLinks(False) + if img_dir: + browser.setSearchPaths([img_dir]) # resolves the guide's tags browser.setStyleSheet( f"QTextBrowser {{ border: none; background: {pal.surface}; padding: 20px 26px; }}") browser.setHtml(css + body) @@ -709,6 +725,7 @@ def _guide_sections() -> list[tuple[str, str]]:

    Render Mapper Pro maps your videos onto a 3D scene's materials and renders them — on your machine or a render farm. Each tab above covers one part of the app; here's the whole flow first.

    +

    1Add a scene — drag a 3D file onto the Scene box, then click Scan Scene. See the @@ -857,89 +874,85 @@ def _guide_sections() -> list[tuple[str, str]]: """), ("Watch & Auto-render", """

    Watch & Auto-render

    -

    Hands-off mode: point the app at a folder, mark the screens - that matter, and every time fresh footage lands it imports, maps, and - renders on its own — ideal for review loops and "drop a new cut, get a new - preview" pipelines.

    - -

    1 · The watch folder

    -

    Click the clock button under the Videos list (or set - it in Properties → Watch & Auto-render) - and pick a folder. Anything you — or another app — drops there imports and - auto-maps to a material by name. It's:

    +

    Hands-off mode: point the app at a folder and every clip that + lands there imports, maps and renders on its own. Everything lives in the + Watch & Auto-render panel (View → Watch & Auto-render) — one + rule that reads top to bottom, ① Source → ⑤ Activity.

    +

    + +

    ① Source — what to watch

    +

    +

    Choose… a folder and press Start. The knobs:

    - - - - + + +
    Version-awareDrop Screen_v2.mp4 - next to Screen_v1.mp4 and the newer version takes over the - mapping — latest wins, no re-linking.
    Instant + reliableLocal drops are picked up - the moment they land; folders on a network share or - Dropbox/cloud are polled as a backstop, so nothing is missed.
    Copy-safeA file is only imported once it has - finished writing (its size holds steady) — never a half-copied clip.
    Cloud-awareDropbox/OneDrive "online-only" - placeholders are skipped until their contents are actually downloaded.
    WaitHow long a file must stop changing before + it's imported — never a half-copied clip. Raise it for very large files + on slow copies.
    Re-scan everyBackstop poll for network shares + and cloud folders; local drops are caught instantly by filesystem + events.
    Include subfoldersAlso watch every folder + inside — clips dropped into per-day or per-setup subfolders are picked + up too. The render output folder is always excluded.
    +

    Dropbox/OneDrive online-only placeholders are skipped + until their bytes are actually on disk.

    -

    2 · Mark render targets

    -

    Tell the app which screens an auto-render must cover: - right-click a material → Mark as Render Target, or click the coloured - stripe on the material's left edge. Targets are what the next step - waits for.

    - -

    3 · Auto-render

    -

    In Properties → Watch & - Auto-render, turn on "Auto-render once every render-target screen has a - clip". As soon as every target has footage, a single multi-screen - render is created automatically (a burst of new versions is coalesced into - one render, not one per file). Choose how it behaves:

    +

    ② Mode — what happens to a clip

    - - - + +
    Start automaticallyOn = it renders straight - away. Off = the job is just added to the Queue for you to start.
    Output folderWhere renders go. Blank = a - PREVIZ subfolder inside the watch folder (kept out of the - scan, so previews never re-trigger themselves).
    NameFilename pattern with tokens - {clip} · {scene} · {date}.
    Auto-mapThe clip maps onto the current + scene's material with the matching name; once every render-target + screen has a clip, one multi-screen render is queued. Drop + Screen_v2.mp4 next to v1 and the newer version + takes over — latest wins.
    Assemble previzFor shows with a filename + convention: clips group into one render per asset, each routed to + the right scene file — drop 10 clips, get 5 assembled previz jobs.
    -

    4 · Delivery (optional)

    -

    Set a Copy to folder under Delivery and every - finished render is also copied there — e.g. a synced review/hand-off folder — - so collaborators get it without you lifting a finger. Blank = off.

    - -

    Tuning

    -

    Two knobs in Properties: poll interval (how often a - network/cloud folder is re-checked) and the settle window (how long a - file's size must hold steady before import). Defaults suit most setups; raise - the settle time for very large files copied slowly.

    -

    Tip: watch + targets + auto-start + a delivery folder = - a fully automatic "new footage → rendered preview in the review folder" - pipeline.

    - -

    Asset grouping → previz auto-export (advanced)

    -

    If your show uses a structured filename convention, the watch - folder can export one multi-screen previz render per asset instead of - mapping onto the current scene — drop 10 clips, get 5 assets. Turn it on in - Properties → Watch & Auto-render → Asset - grouping.

    -

    From a name like - PRJ001_D01_S01_A017_CENTER_ANIM_V003 it reads:

    +

    ③ Naming — teach it your convention (previz)

    +

    +

    Build the pattern from chips — no regex. + {Field} is text, {Field#} a number, + {Field#?} optional. Hyphenated codes like + TC-MASTER or War-Treaty are fine. Paste a real + filename into the sample box and the live preview shows exactly what parses + — or where it stopped and what it expected.

    + + + + +
    Screen → MaterialWhich scene material each + screen code drives (defaults to the same name).
    Setup # → SceneRoutes each setup number to + its own scene file (D1.c4d, D2.c4d, …); unmapped setups use the + current scene.
    VersionNewest wins — a newer version + updates that asset's existing job in place instead of piling up.
    +

    Preview (dry run) shows exactly what WOULD assemble — + per asset: screen → material → clip → version — plus every skipped clip and + why, before anything renders:

    +

    + +

    ④ Output & delivery

    +

    Output name supports tokens; blank output folder = a + PREVIZ subfolder inside the watch folder (always excluded from + scanning). Start renders automatically = fully hands-off; off = jobs + just queue. Set a delivery folder and every finished render is also + copied there for review/hand-off.

    + +

    ⑤ Activity — trust, but verify

    +

    - - - - - + +
    Setup (S##)routes the render to that setup's - scene (or the current scene if none is mapped).
    Asset (A###)the group key — every screen - of one asset assembles into a single render.
    Screenmaps to the material of the same name - (or an override you set).
    Type (ANIM)only this content type feeds a render; - stills/maps are ignored.
    Version (V###)newest wins; a newer version - updates that asset's job in place instead of piling up.
    Skipped badgeClips that did not become + jobs (wrong name, unmapped screen, superseded version) are counted, not + swallowed — click “N clip(s) skipped — why?” for the per-file + explanation.
    Ingest historyThe feed is saved to + logs/ingest_history.log and reloaded on launch, so “did + that clip get picked up last night?” always has an answer. Clear + empties the visible list only.
    -

    Each asset exports as - {prj}_D{day}_S{setup}_A{asset}_PREVIZ_V{ver} (the name template, - parser regex, content type, screen→material map and per-setup scene are all - editable). Queue-only by default, or auto-start with the toggle above.

    +

    Tip: watch + previz mode + auto-start + a delivery + folder = a fully automatic “clip lands on the share → assembled preview in + the review folder” pipeline.

    """), ("Render Farm", """

    Render Farm (Deadline)

    diff --git a/assets/help/img/main-window.png b/assets/help/img/main-window.png new file mode 100644 index 0000000000000000000000000000000000000000..fa27542eca4d82d53771bbbff6df63dc71e91b24 GIT binary patch literal 144714 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 VO%8IDQhxvd002ovPDHLkV1obP{PzF= literal 0 HcmV?d00001 diff --git a/assets/help/img/preview-assembly.png b/assets/help/img/preview-assembly.png new file mode 100644 index 0000000000000000000000000000000000000000..d61ff8b348c737c5db98064f64a429285831a3ff GIT binary patch literal 55529 zcmbSzRa6~Iv~6Pnf;+*2ySqb3aCe6Q!QI_Sa1z|z-QC^Y9Rh6JePfSv?z4~k#vAv3 z^ypnRx~jXns@Gbz=A1iJK~5a$Bi=^<0FWdlz9|6!q~H6&3BZbMH4={rohl{o3#KjOM->$ryS} zGTDx#R)n(PMY2%d;lZ>nDTKkzc%Gm79UHsu-@|4V5q!@fv1QE+-j{4kPft!?Pd%SF z*z_souy(+}d$~%`4~qGprne9Tek|`z%22lcXBU3gMRd5yNtch1$iL;I=VFUc|GfoD z_API^T;XC#ywoR=-&KFfpuY!@(=(i!r7Rpd(dGvjFN;@D{(EJu0s(Sj@6M&@07#8N z_LerkEs^ey6G%-;l9n0!Q9kaGe)n4q{hz0LHOEacF~b8?Xq$_h^A)IVEXq#D!`fRu z$ovWF>nkhH#unHAXEq5i}ku}$g_OEWWa3oFn27C-+P@|%}~W_W(QuC3A? zfnTJ|m|4nz(Z7w3qvc8sa94(w>IUNkV809M3)hbA6k+}Qh}SIa;}{_xG7F9X=;9$l z@1DCP=s!ARFW8m-@fw<*f%8L-9Im zY)akdlx^f}yUd&I`CKuezf!-p-t~mnT%o+Vj^TYb^E37wd0#L)>=i!lt;HKhC}ax) zFz-AV3{NdczPqtO{&E3cZ&h>uw1Qi4Uy^xWhJfi*FT?seI?9*W`i$_K;(dyRDjLtB z&NyZ`9o9z?K0LYeXopdY;5>m2T#asjxBl74eqJP8s$NQ#eYFCG58^3$zMN1Bu?@zT z2vwi!v~TZwR$~?3>FR-pA4E$B(mbBZFa?^@K6f}-D}Z2Y6DW!^G;SfND>*!UJXUgd z>}h2V&k7S?{yc?D?unHTKXsN;D+<&h-IEX&3h)(pZC;6deUj3*bJOoXt5=pU6ViG4 z-fHd`WxKKXU`OX1&Wzt+mGAxRI;fJXm&O#f;Y50VDPWg&%woMGaVYP3M5dpV#eMOT zTrwEVVZi$15J6d&_wIwz+RFXyrQru*+!ni?teMXZgVJv^umjO9frU}<_EohUIJCB> zuSYtXPhv_Nj{079rSJw9f9qcy8qQnGz3iBxvC$?4`4*y~q3Ls@7ZdY!`F$xGe>R^x zmgi*Czg+!XlA)P(k8fT2RjTa@y3?+oVe?*XNR7N-@!#QfJ|#U)-8^SR@-lH2zMCLa z$J2x=-G?soSb3Sa7oub*1Bg!t%JkU6LY}qTLO)G$JL)F#66y;ehPz} z;0c-J9E{Za(SbJBO#au)OP!Wf0s!FdnAO+C8v>=RwQ%W10YFeTf@;_cvfo_4_BrT`O<6k{%fJ)#;j@ZN5$Jq$Kn(l4B8kueQP`+ql30#xqV*-->uYd z5@qE-ofk(xPXzo`Kz!lW*UgUfwgo+@I{^UPOLSQ@>)X}&qX7Be2ieT+q#J9U(rw}} ztsTP{y(Q-H^M?j{@T(~J3ZH7^bG24bbz`QxxmPlB8Ik>XhJBhhKPC*k(%ki^1QD9D z*Ilc=(jFXuS|$HXNC7PgIf}PJRo6y&>;Xn9-45^Z91-6-+fhk$y~;jVjVkV_+9@oJ z>|(PgWbr-=C=MI%q-byfr&*p5uvl-T(bSaaW2CNLeYaqItvg;>R|wbm1!1jqTJ`#J ziovMn;zfS}hqQ~+|6_Ct>UaLRp|glW0p8IOsg#)-B!2Ebnk%buGrOw4C z>#j52%MxjAGv)T{F~o5;9u9aQg7P{Lqgh4U zPq!kQU=eQKOrJvo3THc+`t;2=kJE?@0C694&}2Jg%W(F~lZa)PcOTsSS`z8=l-Ef# z{~hY^?unPlo!nNW*PBiwMAA;@!L@pU2cJeth`R(s`B00`_v5<*FAB&J&cBC|rBp#J zT48XJGFtjRo^OMn2jfU;r}CM~QU#}G#Y7G<8IV+Ys5(3xeHo#G`aJ)Za5$0%uG2%e zfMVuqTRS&DY5SADIbOz63qlAZxe4%|IZtiAI&6S<4g-obmB z8ZR#3yYwlcEqA~(qB34`JIeU8DRiaV<8rcr9QvO`a-!9%+l^HvY>7pzR+kU@FD+hO zVZ$$Dx5kSNZ<`?YOb*)$q8-Zu2Eop~^vOx}8C`bF(#0dE^$C(c*ihJ&z9s|2@{Um* z^{nRi!RP5k2X%8k(+vVpx%+KSH9z^TUS^M{yGx(H`#Od;S2KEVn(7Z?ngi6o(a=DL ze6y?a)IoY|oHja~YwJNG9>(L5*0w%g4GAy`h3g}A8Z2u@;tNoLs>2UV^5f$g)u2Sy z1g?L&yzylG_zTg2y_R_)@8tF3`rvP{zOf{(`-4V&A*P~#t;w(CkD;2Dx;I^zdJmUz zv`6{Pe}m|pzJK#8SJ002xtp5D&a_t+18X46#fO?kr7`>=BQ7UXt8}D`w64D5#0lwJ z1C3o%Rp8Vk3Hv!*I4HFq=H9QNCm2x-rQzNC|P|iNW ziJ;o84ME+k)6fXFmy_yz_46dMZulii{3eAOK!FE`am z>@-lqaD>4!ncQ=$5h`3*8$*<0L8U0xJi23Hy*TZ-8(#HmeUts)mQvdG+w5L>6LTEL z8@gS@3|Yie?7wkSkp+372)x$Or!*v6gWz+;h^MyqM_&&|JkflPH)clo#K^5(CTcP zfFl5Q6JfUhNR?vmX5Mn>;>VwJco+VmG!nNfKhEV~(I_kqE!Pk;{BQX!`H2SIfd4L5D zU}2Ya-Sw^9KcayJgj1fIejKCi^x9f?D*o0d2o?ws#LtaMU__R=jGRrh(BhHnrIg2G ze_~LtvDr?PWWHIxPl!V0TH|eaa$#Fs>(0&04P=2&^UFVf_d*R6FLN0WT0MOO48&c- zX^=qTa;Eotyinb8a5Q}&6~4_jK>so{cywAQRMO9gBuoH0 z{syV6r?PS=qlu)K;7;&#DDjg?5 zIW({pBn#L4urOjfD%z{}a@Wh$A>Dp?Egs%k!G?dofx=XQ|LN_H;_>TOOq+*a`tluP ziyWBb8DQhV(6R*BU_d7mE7O;=`0r{X_Q3A2q+_GcLYPfTx&!V^2p$CUZ~aIJ)4<=cbMqQ zu1t25%xaoM>~oGIIqzY#Ig9`b35{#rMDk=>#rJd(ZDa=WoS_vaG79WH8#2|<#J(V? z$%fOvo~dZ6?^^(VDd$&R(Z+HF0eS_#sOo0uR zYBcGST6fZ?m-dPHAC>@IZ5KpESe?GKQ+w;;H+4mw?oZnW(tB!u7%T2>DGCwHI_)du z*7%z1>QnJML1ONUOcd%^dAmp^}pd8c!W#MlQ!yN4y#LfIf=QU%8 zjr#%RJs+ABCHF)~5&T!PT=i(wNfdN>6I%@0D>2+@ zo;r{rI4GWPd>o7=(_<|0d0(3MJ0EqLOinjuo@VU8vdN&N8t_;C;$#IkrlQ!B@Y|iAqF*` z$59Y%QkBM9bPWlb-86~Hhx#mg6z7Z%!#7YqDtWYj@GoG_6~-`2@un!13>Qv~*5oy= zONU8b-ooB3l;89&)rthPt{Exfe?~Q_OPi~CiH)|ekEs-_(W{dHAYPFA=H*< zFIcV>wUwThdRAPCI1;JRqxwW)5{#LprIQg+au(l&H=feAJ_b#>?LSoa4Ya!dX~@m+ z;KnYrH-O!-G3ypwI!Jylt7JW6;QG3a`&+O1=;=+Q8wkHDFXXIw>1Kszr;85)VTX| z@;oJKVQTk>BU>Dg)WCvW3#+}AqU|$H(-O~UhF=iEn=s#dhFn1dw~nOGClPKxo(#r5 z_K84ZF8VI}jNcxHTuyfKK>*b$E!v%JPYacY#ju@1JFPxCeJQTLpnw@JV*>E*Edz}j zX96@Z=-EFpOLqpESm9e%RCrP-mMB(%0!T37CH~X`GToP-e+RX(lUZ%2LSaJ?i>YB= z_v2^k6&XMXQ)8m~nZ?ftryZo(hu76J4EzCMn}AzVqOu{i)pemv5a2LG|dl=HUc%0 zRaT}Gna7oym(~MdC5jaS6xKGDdUae5>OgG}&2U`=Yy(KT^}v zBxLzY@T8$Ze%L(&ld)q$+OxM)ABwR`?pj#bBUQqpXqi3ms7uH!+eNb5Q|m=UTX5mw zrz}dZSyu()I0uP9d>yR(Qd+utvoSqcmYS9w)H(2uGa9SB9hmOjZ|60T; zVA#2Y@n?qV+^r}>c3Q07*bp8d9T`r9Jle0NX1~(e*5QD=Df(n0{^85$AYyxaV?EBJ zA+B&H%=Zz;ZTw>@cU0BH1}`W6Mpgdj{NFg>7-#?@YnbO@;knn4j*5zE(O+6mQ^0C# z#vKYJU!UgpFzdJFE&Ar+wO3m6uT*k z5t*EM@29R#&xwdQ3Qc^2-B+t|$s!{Nzq*FnpP-XLdtZ9l+0#^q%|hARa!O=mL(<$- zvfs97}j!xjqMm06iaDBS*CQUU^-rdh)U?W6U_xt951D2Xec9$011egS@lq*c<7Wj zHoLyU?j7t`Oz^Fp?y?v<)Ap~=7QhN7j%vE!{p>}5+8_8mLNBDd=8}nKSSO`fdXlZW z)Dp+%+#B%JT9*X<@uN`<(pbDxJFm93Qpu;SjmdCZrFfNoKv>s4-z~`0Z%t3%p)>)) zFDLf1uhZ4p$2`%&l*mJx@kv=E8}2tFB&g?B_#3RB`DR{KmG&Mh>nREguP-Na{nhpD zEjp{p$oC!!1&o(oCI`<$S*gCeb_1{RL{GL{lHu9%?bl~~w&TZxP(ak?TH}WM`KfAe zIT3XTaY)0Pf=;OJP~Y~MYav4O*UhE3*+kol6nreA-E(6)Qh-Lw7_o4ZjnDT5-0qA( zi3pE;Vb4wqnEzlc7d+mb=5y$~OsTRu$`XF_t1`$nEq8yJpT?$zE-KCr745oAyf7js3%EVJtlB%WAcU0OM0rq$JJK0JjLQB zlLWEfUgR;@B#PObUIAO$KO>OY7{KPVJB=&^tK+mC|iE0x@x?POvVLb@5Olh2;N?jk-fh2ckJuh-nw zQiNYo8rQ#UC-TYclY6m)8l1ma>H1`Ns4X>3*^7yYENZ1=I~qPkVG3C4r_m8|yWQMS z8=(a!EQ0!oRvy=ld6=)hR+g*tw_CXEW@*xqMYrS^moRfsR-{3EKV~{v6PUB`NgAy> zv?)pneL2;N6g=%KZu?Z)J{WQPm`@!n7FN@CG@UCZhi^g(A~81Vj(qX#h^#P%fbQNQ zJB4#TnpTGSjcu0{<89l?wDfSYpj;Um-9~@dr+rRX`r~b?7;!1R~btMT-L)6-* zC!6c-T6^PbBEhYD>!w?*=GzHQupSGEb9sEIkZ)4LqE(fPD$YcM+^W;AfM<2X?v<q0E_VJPBf-pX{7oQh{w1in zvQcsR_UcZ|u+(;)I!VZ**ApX}^<|3dJ&<8j+Fz@<)TwgG$w%eD=|AO5&4nhG2tDo^ zl2n%I=NF->q?_OdU*9$~qqT4!YTe!>S9T5<kG`7eg;oYTY)>u1sycbhp{t?p03%L!8ONRqg)XL zhp8_7H~@7kOX((&qphRTz1OS{KB3YNs{P-Zn8ckvg?-;6*y>su+KN(EC+jQn+N{xu z%xR^Lg9PQ``|}0Xe)&6%$BXI`+&fu6Z=9C*ilbyaJ^wHgoMBhTSre?Gt2oGR{etuTF;$m;^O*81nL29QL$4}SGbc*v&Z7e_Q z(ylh4Y>_Nh-kz_{XIkI7FWyi$hVJDn%RPNA8`2mjXrQ|%Z9Tu-PO}L)ztAIB+>e}| z!*NwU3ZBYy!Y*1~T^niNS+!0-Pz6Am6IOeqdp{Qj&+zFJ5zD|dkqlbZ+LdX0YcqJ?@QsY7NRd1I4AN_IcO;z%I42co_V)nPE25pS?p~`3t#v22SeKXmNjsSW2^7XlhsqCgLLh_ch{Ra2?z42m0y^G@Tln z9m72%chq+T=J$Fh69DB`QD4yz%!kFn;QW@Q__hhBgt;l_CgRS9q`8RaA$P~s-H4nn z;8?(tNPMtRbF%}B{&wQL5=>&PIx=1ob@gm2B(Smb%EYhhU~^o2;yW%$`Rir;`Kci5 zA3W>?{&*ady+aq}zlfgwZ=mPD55WDWU9@~@mUTDkC3k%m=w?2t-r-NS`uTN}_hFtL z0bRrWy?#he4B}nflTK#H$+YgOsq?$&-zm zV~_k-d3ujA>Op&^2^>*d-snO8jOQ`0oC5KmP00=%vZA3lIZTPvMAwY&O8)^YkP`zW z2@BL(MA%y)R49!;I8x%ol4iSw8ng1*~g(LGz2Q_c`B(UWDk=GxwO z#{%%|_vt#PFYC#RP9QA7%|C5!Ua$1xyPOmx*(mEolnF z*Ld}RcNi*>*(hEQayt1&C=I6(h5G9=1s|VFGh-DW(v}0qUSUhT6B)0&U_bjlY?$iX zfKPuI=8E?9aD;zlkN}8-3IafN(y)y__j@?4lbESu^vOJ3&(RGLMnVobnGGek(*c~n z43;wQ$;GQ-jU#iN#-S zUJp;r3*>-X<%+8#7PF{Ox!choWI^IQF@rc$DyR>}_$2XovxOK3+57q;QQ3-$G5JRN z8DjmjW?f~8`Z|{}8oSE~uCFKjPmT1p6Hs(};vr(Vw2$;gY(Jl1D#d7eD?8 z=+b2CmHF9MR?q11{Ug&eZe&5*r{$~Js3i+*Kq9!vSw2 zvO0vZ(+50u3Woi#7iVM_qH4UBQAWuiY<<)p^rs#QtVy9;`NlTS=|ITK;^3E9pVV7~ z7hd^UFhl3JAM0%t0X`PUf)QHwtAXKIb80>u5-sUeT zKv(_8C;}ncuHm@Bk|T%83<1wlwbglQ%xe14Dm-^(_m%h;=bKqeGVw=a!tt4f^%jlA zjBoE&L4o^6Ni0J$xwqX)*6|9Y9l=DK>+jqw9S^T|QGcl4u>Eypm#K##CVH zrXc+tSSA|Bfa}WZZ5qyo46tr`-ZAO_b)MM#Ae*vP?<-COm6r9NCR}IC?@I9tJuE*m zp7E(jNtdO)1g4cYL;p$G*?8R!ltA#7?HS&5cr=(T9P=2R^w)ayaF7}^uQZPZYYR(* zny;5x3s`oxn|p0awh0fCmyO#NIv5nnc_jGhnfkcu=)eg#JGbq=ET7Jx>FE<-9zg3 zH%C+%QyaN(81Q4icZoY)YRruW@kD4n-aNd*c-q#JM!)st$417YobW5;Y^@+AHCt^w zB%BsrwIX)kGvD$o*OPr{Syj?BPA6lSoE}C#iajRcEk9^!00>&QXJ0HPP8jDAI}(#n z-Q<(`lw#WMuTxd)%)9Df*!sRnHQshJBR+j4dfR2*6D)aG2;9j zM@$5udieuDUAgnTu_jlpFW7E9X43Y^Zwmni8iH5T$XQfx=CM7~TI25QQ0*J9Op;Jf z%r_2}O|R$KZ7A)xC+Ux}NkL3$AWcX2#mPkrT%bX4dr>yEbEA!`uLVv<`fh^Bbrq!c#m}5#>;(dLI zy3C}D;Q>zdq7<~2p7`i+)tkgZ)-(N0hCGpfTEKVnD($va2rvR)q<(&c{}wPY{w)P8 zpG;WP(4JI(Uuk@OX#a(<>vMo|V@$nsSeQ65eI7fs9@@z-AZ-$Sx z(LYALxsmVYe=(9~Yu>v?(Z!#Qa`6A(d z;&4A9AptZ1-V;MrIU?EQ#Zn!{ z$r*j2Gf<|@RU&{kJZpIb{TtVBZzRf}xKyR+k<$=axG3al-W zXPgE8r%;t~rBiQs`0Q#H{U01gk=o*YIc{K+4nKeam?_~Ks1Gr~4a))G$S{ne%pXqn z16C4I2?Vvf_tAu1g`g?>(9yD^HxSYY!n+Pf#Z&VLR(#9vwmtt2RalJL2a$!gm5d3A{e2V5%fqgJR~Ah@WVLv=yY|AJ zk?1wDN0OKXg|t_v;g#ZQgkk+q5ddh(7~K!0Hl_B0Ol;zO2E>~bUE<$VXrVV=i7<&< zn90hE>>~IS+KyScl7}v=7B`!@OTN|z;S&`$x&e?4NdaHh6bSJ z>9;W$ek%#QvtKsc+aQvd2?gErc;L&}nOI6Itm#Fx9*{3<6A)9-jj^%OP}v`9%_9lodBeG=uu8r1e>(L+OCW zFsPFEcrgqXl2|!8VWrAz2zN6li9g<4VGcDs%yJO_Ri%DbDK#N7jX(z{U9ps;f8lQ6 zC=5?i(P5;>9YZXhAe7E*4pQE5&uX%qt|$(F2yfUC{aQ?hkgJT8vbsrC{wmTsy#8gv9EC2+M1rtjSwZ! z(o4ngG~0Jg+#AZHuk^Snik|(I{LZ3S*03{r%dpM0)Wn|fX;N!+y6s^xP)m7f>Jlxj(ZhouOdA=52`>JU{QdT>C= zSGSSNg}-%Zeax^Eio;j$`D{JrQW{Mi>fa-E@!u3L%NF`iw{U#sb3N*mArfNq8cwHn zqLDJ{9xiX8(TZf59zG38KkCBUF|=zWExGUq7+{KFUcAmZQRYM+${`P>7B!$cZThUIy~+WEr?y%+IZ{NM!^*ps>bM z6{sAb&Kg^*)<;6c8ujMzbVB2cVQ}8Sqtu2Sh*z@3T?%c zxE9)OPB$o1YbLX=!AgDOsp)vcRhbc0Pwww;FK7}GGmH7xr0k{j2*hXV#5AF$X9Rpm zKm(hD_GbEL*d#43$M7n9_YZ6wz|UkU411mFeOH$c2O(T2da7{>p8Y77^tf7Q^&?Df z+T1Y#nMJ?UEOLbWm9INV#(G5|5d4^&egopSlc~bH%|QrDMR^?yP2-rd%Q*Ci>;|2B zT+5FCv~@!eOHyngF#B^H1)}LJHpmz%O?ck|zY@KcpfQ(vUh4#kI~g71CnSEnp_Ciw zM8Sel1OVvYZ_~ul-sM(qGP6xi-U?Zl+G?kh-{a_RpB#UjtFj8b4$M!_o3+B)vy@Zt z7uXA1jgJ0ox!deVpX*VG%?~npd>oiM9>LSjJ=IHVxY*q{ZySzU$6Va??Qljxw?V+* zb$x;}k)ltsg=au?&A4tyHLkk)HHxJf<_c}k#+LVmW#*P+7a=f$@)`*f9suI|88)c! z+a@Fy)w=3l2P|b*1jRb3I9f8T;F_jdH2b|h{oIz?_XTod8}ZuZoS*xLaz5R8C1Wpt z9B`%$iGc&9vWbu0r0drw#;=}u9&NO|s$<$~ab_zxwuTc9GUm8a+-Q$#;9#A@Yw2!632l({O zFnHIoRFog5I`oSo$oB1qWg7_3%?_K}IcGZeHesl3vgmWUKJ8D|v>gj8k zzuFHwU@ZL5GCKSH8gK16jCRkIqGi=Vt;E;{vsliuSYg&C73MvY;;XZ%17)JpqO1g0 zzk3D2FUy^mHgV|oBqN7F#td>2!u8g0$%&Y}}-IMV(?ZC0Ob^JS8 zzxPYdT4JIELM&EgWInm2Kz#CjV0SjxJm@yQM5*&5e-}{=aPLqS)H|WXB6+v2;L%V? zk-Mi3Y#tP*;kbj6{4#>u)8|x&OpkxkrNf*z+3P$is8zm_es$Igg(e8dS#DLgLJN!& zmf#ky34;6ccS9QCPrwIQ%n@0_O!Ks9(P1Q_f3sFUs6TW6D^=U`U)Eb9^8r_!5P}=@VM0i&e;Yj&Bz|l$6AYA&Q2aC9GiMntex8f*|Q|UBBt>vhy__9%kgP z(en|50<5flsu40K(JWXgeM$nE-l8o%! zLIdA#!r7^eQh@$C`Xah520agV(k{wyzUbQKohTX!2l%O)qp*i;I)J=qW#nBzG^JXV zPTs#U&~}ZV^EqC=r2RFK=lb$#B-R*_-BvzT9^UO7i4$*$TtA^aQ9uLlJsTt>wJGx@ zR%8RyQNn!A5+Y2?d?93KRu8RbF=%GQEKoVOJxk%JA@L|WXh$+YPYlPN8-g%;sxQc> zGT*V@&&jFc*A16>=ZFM6PX_^|_JVV9oJLhw0IIe$qimH#@^|}kq0JzxPOMRdJ*0Sq zkl|<&E)2OR^calq(2uMwsjk;G?5kPEsb}FG0H7scF;xWKz8wpu==ovctzr$EsUV#pvHyxaIHfEY~1`i zVT}4d`K^A4j*!mjSZ%dzNdpLtmuLqQzhJkv5MrJ=dLjQ{mFw1=_=Zp`ji(4Rs2x#qJ zQaYu^rPpQ@k{6Nz;kMoH+po{3l_>#~?wL`IVCZ*qsQQt&LrJjxoA$esgE;+eo&2g- zI2KI1snlUcRnBzKJRTK_LdZA$r|9*L7ONPE8mDjQHx;AWKV7zQT31@LV zdM>fSsG_f4>slGinNU>GB#FI3ZL5M`#LucxQKHz)`}JAT_nMxBebh-iW|w7sQ)r&7 zk6?JVjEGcED{r*~8Zgvq+N*1o)_fUs^=%qELP=nwdnuxGUkPL6Ou*eHLEJ_CLIT40 z%IiJ$?%1Zlsi5tf^*!?*|wNgK4d+Ux3$~O&V!sM_fx(`m6C>JjP=9B@}UsXiLS? z?WmUi`!1%YPHlNbL)B^DCXI-$3@s`aBrjLq?$$BCXrsKE-b2fxH?T>#{@vMOG3Q8Iu!`Sr5w=pPLWz~uCa2%WY_ly-_48q_LpzRxvD}4v5+EBflzZqjVrG1np%77k7^cTw$2HXYNt^yEr(~ zj9xy>vPeMJWzx;xk=L1|cVlMt<^8_jD)bMdTV4u}XEp>Ee${=x{;S-}@EMPSnIo~| z>2T$wvn9skMfcd!-TlA5c&T*u8W4 z;wB&Y6%lf}nXEi)OE|JCM&&0hOhnZf1;6HsMA-~LJdi-6!g-wV!|l8(@1tZ@5Ix*^ z#H;2Y-FE6<2waxh!VjNwuO6IKl~yH4 zohoJnF`Bq~`PL`EkTc0gFbXc_%rO%fCHl{T#tCQZI9ftJ{EMY@wj5*%4y&fX$mfkjwutJSE~bTj2MSS4dE5PGMY2XxfmdJJuH;U4(wL zrc6ssKgpw^4Ss>?6Bj85Q_J)A2L3zF5Fn@LNR|I%jMP&4qlKolCtuC8ic+--3Q$)^ z$y5vqU3~C`5jt3won&3r+l;2tW@Xy@NK`=FjFFX6LqD4kfm zyi&^7@tlvCEdK_+=YqYGIVFsMn~Je9cwvy3qOj6?ohfc0N;BQISYM}$c#DV2cHI3- zef4aMGwNxEC-P30s3@PEZdN3SEepZadF5o!rj&Mv$+j&PVw_w_lV zCf1lC8OMlkfw9@0!F9_478Y%e78tga-aAED8o=hD<7C@G6ON7QCQ*yG_pC{&1L})$ zFhmxR4@}?rJR2807>1e&1{_xfSMP|_@j>CDSk%=hZ%Tf7t8;aQKqx;GXSUst3Y9ji zv8c$8 zjvP1v1=-9jptW%&EXW@6?>Apz(69sdWo~i8rqgaA5S5I@GxudvsrcX3U1<&5beo=_ z0m+l;^3MI^78^=$QHvB^x1`be5p)5CyKMh}F}|N0Wbb-RKZj3^J|tY=@Fda??^I-i z(M9({>y`8p@`yGuc|3fO)d-YYWtlwxt+W-4rJ&p1hx<9EyL@U0ZWF=WfryXJ^_XZL zqF?WtjaWXFuYVT(aKEEJw;9urt1hsY)@JM~rG5UDCsMPq=P#HGmW>{f!1Du&?Ub4^ zr5c2}`Sdtfa9xzf|5rjW>w=k`rxO($_>CBQdT&uavsriZHOWu}o!LEzdE2byY2?zk z%>Hv{=aF;JsZ+crPx*ERBlZvXz-;!ozV*fEl6K`$Agg7D^<{Ucn2hIBzpC>s5-S6d z^LqX`kGlx?luEx>8y{(Kt09iVezh}_sNOjv{W1&f1qP?mDLJf;uo;ZS7au*ih017{ ziq1qSg$9&VmMoA^eOVfr+;Ej1qa7NRZH-mc3cdeo8Z^b@@VJ(haP3**A;@B2Ig5eN z_R>S(__xFfz3~qayHfTS8(V_S565e-9{wJqQ_ZIhWHA|FZ@a zHO>7R_b53Rg-jjO@B3uN=8C;RJ{6!J#<^3=<2kepm3>wcO|4ML`ck|e+%?9grDmuW z$FaXDFc)cYqkFfSulHpv)*Q&?1K**mYkRemwbu5E!TlCjxnbwzn;V(MoE;$>S~C** z04hc;cG2oRyA;HbijNjj+zum$@6L+s^gYzEPBD}W>Ez}T4F$gWbZ@kjd5f;IV`wL) zP--u49_vVQ9;2fd$!}`+Uvs9tEAXfrLyEJ((yJYkmf4d2$$>nMz6e)ql=NwPY7STX zwvKpC1Q^mB>Uy6&PeICWx=HDeK{|V}cE&v!{ax*GFJv4rs0j0$BQ$RQb9C9{6?m5=c3Qk^uk`%CS|) zFDQ3;_$@^bwqHXaO(*cT`xHZdG3W@L`2UpYuh;)=O2@~AMMo#ggp^V9JZ}#T(2ce> zF?B>iWVv|}9n`f%{LZ7TcY^k4183Dm82Fm_E<2#MTBLPlypYwA&sVTc0X8f9QRJ0wmH?a0!>TN~rIxx?q`+QC8KqdQE^gwvat>$L zdz|2CcDi~KGYLP%;)+gJM{tD)XWJl{6>*fKrlyfyZGM=29BUo`?pG4_iLiS{1>IOm z-x2keg_N4sT>XsAGA{lz)!@I1D|1BB$2!YYi<>nwWp!cO2HgpviTD~Fo_0XAXP!bJ zT(!T^?}NvSGkEP-FPe6}Kw;%1#VmOC@s61JJkhN2A^LRIm5G3{GHBrchAIhp$d(R8 zBv~wXg$yEg?`(%<>5WaRfRPd3sqfym^S(9!t+a#+{yYk*6V5CSJ#80JV1 zS;+MHfmUk&e{lhQ`)P3@oIi>Pc)Edp_WZyGyn~Rv+ciN(R;1b8gNzk(6q@ zo1BU5TyfY|ZE5O0QYm7}+Gax8{FwI;3DBF0Ni=T1_r#M z=OZ|52nR{~XSuFnpo@Y&Aha-*g6jB;qqn;k8Y|ddz zS6aPf5|C9otwt<op{{KuaGAAq0yXD-7b%P;&v=8dZNQ3QFh*nL!qh^YpqlHHvQKww8T zasB1%?}wL+WlmA2?R2EgJ`R^n0{&G4OHP?;3V&WMTjP(87>e=^{89fZ1>1Q zQcpDnItp&ilya9d-gu3ARDvG!=S$m6Ix7p?09UWG@KqX{CvsMPZE%zED}na(%QGTL zb!~jz?)pfPdMyx^5~nSio8ZQ4ugsQmeCz~eZQV>f4*?h(St23*M6ynYH^$~S9{v%Y z2Ia|wRf?Ett!Sb~3C&()af~(4&_G)B{^t?~7N)(n^hM{lZU2L}w+xEw|JHmrP7+*# zOK^90cM0wu+&#Dk2o@l?ySux)yGw9rEV#q;?|;H)s;;i?-CbQ<*6v#C zc|L1>QBC(x%**K8)YsHGrrf&IO;OVyg1mOE>Nm2EXVl0|`?;osO8Dc4*lK~|-1@=Q zp{*qQ6>V)A@osQTV;i}+ZvFBC%_DpzL^nu(cObffev8#&=Gw3kt)~Ns#7_P4NWf`}?ky~dEs~lV z{|OFkT=S0)Xfc;o8RbD>kaJvkIXqcmr4A0a}HK^ly&ybBad&F?}2eK~t5%!A+EByV;&t=EgWnf~^S*M)fgHSj5yDlFW;V<^#LM`G@TBJIMSv&}N?w9r11 z`fk|^OE~|h|IMaHyrj?k(%AUxD+Co4vV%!ro0s4_)%E#0hx=s9{W|Ntf3)cGlloq8w9GGbsJl&>LeAQ zs^wnHzk|?sp>6Qs)NBtEb&*z}%hwZ>EXAPl6 z(Zz)&k~vCJWFJ#;9*+Y{8JdJTd}m%jnfWrYsVw!iGiTPVT_f)nFO^s7N;;a27UE)& zK|UHY`@&0r_S&+FCEg|&oKPYYkA+4dix@CwMv!NPhbO()Vx7>oH(!t@%z;`a%(*UP zqfnLhIN#n@*)Ir9vq+VGxLfgKxQZMo4 z_}rpYhTow!+fp_3OZ3Ily$=L1LsL@R^0ISG27wr?o6C`fiiKff*G*O8W(*VXQ#>=SV|Gn%4FKXq1^@QQBI!}PuXmoqVK!OT^BX+o0l+JjswZ@(cm6BR&8FYn-ceJEg|hRiO1+|C^I6nnT^f<=sR zk?mc2o)r%>N`o7m2;*2dM5A$(bRH@0=_iuS{*$`pGYhxTT+D{hH*?y8(re(iv zmtBRYC8cXru3rY~lAPF=l-rq%g9ly^l=&|oVYBLeo({JYo-EN}CtU>VP}W0}k`fbM zcMAzT*@-TRgISN9n13(m?H2+Aofhg?=|EMOTh|EFJa_d7_P{7JsNm2nIR*gS7(3B> zZp_b~@2m(!k9e>8bW2`NTO}PhjXXa_n9gyu*DfZPeNNEh_o-7r1e|KV7mKbqu^X$_ z`qmg<-7=zlR=+bTs&;lc0eP=yl|cYTe6J}>4}tuG)E+@IR8c4aV9U7Zx`03?%%+8;71s3JM2=_m@aGk zUa*QawnmvKt<-H(wQxc2es10D#nJM_?DIDyg*Z4TC^RZsRnvv@ZTdcx==O$h+>a^W zc6qTVFiH~tboj1FozujU9?IJeoGjs1vkmR+5JMnYFRpLp9)iX&`Y^jI}QP;CF&S#>o#1U3u z6DDi~*lUAPF}Z0jTr}9A9z&+zfO9foF-)zQ3TA5!%(IEqT%wGBBv%-1Mi^3-^Z)^xH(VoyEijz&?6&6l|OT`0bHE=L1NFmp<>6gZ%HtB*2T0=I^#47#Y+O7=+h`6_<$6OC{uuzV}MtS71Z-G6oknHd(9;@ zTe{AYjJsn=gnhKE5>JU8CM)G$AI`P72oz2AaG-2$WXHjT(>cR1`fQMq z%9&_hA#UA==pTOHinUY}Mudj-1M@ZMK1YxMuy2ylgxxscy)qA)3IrbrR=)VdBth%} z`=Owql7nC{SIz|oF9S#aLZs|H`@xXl4MBAsv(AcITEcho76tI1i;;l)TBUg7J!A)| z>&gi7Wc>C3GwgL%zu08pAb3B)(V9GjfHde2et|uX{_+0|Ttk@1e|<*g4?Zpbx9I+F ze5s2!_;~#6LJ%{bbLF;Mj-q^v$zFufVRy}0?76Fr0XuR+B6)KCF5K_zUXZeh84xdr0DlQ(Ul=DbeLhX<%ai?K2rMqYN3P6gN;828a$N9PJhvIr)ALs}l8 zedcEz?i&q@h>zQxJgD8fwsd7Nl-IjkH1o?a>RDqe0C#98m*Ofh&VDglYFruQKZfgU zTjfJZ3i;zvTfS+&m`2U<0H4`Rh1W z>)p%J&{N(feua!xM|YH;?oJP+P?)-OTN;g>K}X6~p(oQXzfZG|$3AfG3I+K~TR(jT z^N|Jxyz#6BW?bR2*4m4dp@3}ks{_WZ%Em7cs#;m}Ubnr|*MBCS z=6+5krN(xL{eEi&b@b=NLgah=9n@P(3Q?$G&Q^`nR{|SYAjWq-O`huujdzYDDCE4( zYvI#2`L*aXEqhjD*isok!Gm8*-$WZAfne;Y`nDFH>#NO+=zVwAyl;2*Lb!^E2JOVt z10uha@0--WZ8gU&P(gunEAj4~fosT91Zhhzt%HTJl?f*x@DLjpXVSf)iDhp(E_yY0 zudD=fgAIsjoLizpY;0nh-Sy9v)y#}dc4$%y0M37CJ29Klwp!JpF>IA4WzSeUUsMQ( z%}|kbob|5mq(`;|3LpX~A%sTPhu_3zRU?mlsH=^_+kq>3NJz5g2dDeR2nwPLgb|z1+9Wn-E@(bU@*4A3Vuq^2p_O}) z)A-I}?4baU1~Ue{ETzLn+RUrun`4D_l&h zjn=Va;U8gJDL6FB0RQQGM3-3C+vu;j!8n4`DT!rgkdU^ub{}!h#OH1gJD>hSLICk6 zxk((Lt(Q}|8Z-bU*Rt37h6WYz_hj{Z66l1exv2PZ$OMmDf0o z3Blty&Cl-dpMch;9KNpKrWgF|EUo?FvQSSwXWo#{f6nwg$+tFEtU>T8d}0tB?2 z8qN&GZO{v6EYR6@r#WzCL8^MU?4k)O$O~8iFq4s>rRL*_wCOwf(u^grc&7PY6x_+| zl?FieG*1OFA?VgJ1j}&0$)|oTxj?INoM=tXv{%re4mfMKkS{m6EwPVYv@RE2s#>d- zt9=$r!DtR?y&BDTzNFt^NmQGT+qdRm5%fu#9R$!g&GafGE)r-g5_9Hm3appJT+cdn z%OFOr?o`G)Rv9l|n?$om(NIt zuFTL=nngu_&F%)G2@9h8%9|6?)Tz2&$-USJN-az64RiJIwSFYv0<*Id!gDhw2cY4$ zIa*O6Y@U|n+m9emN)~;ve`WzKCp)|3r$_sDU503Q%q zP|9$+X+M|61E+buetE9tI?~QMc(s?xZhB3)0NX}I!b;y9sdnB>BBxBm9(V4tVbmwq&4wA zhJ3+Tn|b##Rx?tSae++Dk9SN;=u%u(q#zwrzZ8n)mx+;}~@9krF%SRZQub6AX zWAAe_bzH=wn^>7rQUy9OL5TX^Hyd*hTT^!jsmy9o+pI0miR*T%h%?hbX zVQpYb?pK3#<3(ihp_*r*>WVLCjSth$W)|u?3YVWj>?s@k+JeQnCqL4eIIT--Qz#-(M%cWQ&06_d)FBWGt9G5M7%`7LgrUgFd5 z0{;&_N!042rF+_s)e)tIJF}Z8$eeTii|5SermHZBpye=fXRQI(-n-~Y-~BEl95EmA z7JAme4utS)vPB4pr-Y@lgzLkt_l&bqWG1_b;WC;t`{XwN3&*@pxwqtSU+lyg40|ti z1M#H?*(oEcF~-b`w}V~AKZ;e>Gd=AojOQzDm|znLy~qo7lR8O@m4FJ8`dWdI8n-#t zPEo+Sg#o1HuHRj5`1)ySkQ&z&UPpCUnDYBtk)PuTO+{rn6&)2O+pi;pQTG!pucR5U z!Q%Ox#(DqQ(o0t9a3UgbxTsg7>ThRk+qV|D1;(~> zZN-VHKU+=xjtf>JQn+txM+1R(IX%@8QRSHwE2WOUqR(0fR;ZKK%czrq9@4KN^`>tb zbV*+TJ!{$5w?*}1p^x*lHYyUDTD93G#)HDGdF|!&-mPWqYO74`HqjkHh%S5e*2i#U znDcHD&pc^y6C{~=5h>NxwVPxvsbvIOug3Pt=FP z-dtOi1Hh)?rAz#a_g?6oqe0L%^@;-Xng-WW=JRD4NWYiP@KQx_K>E$Kw3;Yv<|Am7 z&u3(N!D8fC7@f^hk7}j=ez9!$HwmCuA3S;5)lp0 ztuk1`u+QQp9rJXM$@s~OJwN(q1~q>z95=%Zo_g!N!TP(rM^U)xH`_k1b%}N9q^9JV z#|lg)BaGVpTYoR)NJGbwb8Ue5yJsu0bxf3ZycA7hKxHNagb5-%83Uh(5VHx7pZ0t` zd7)=<(cO84^@n{usN7$>4OawBUrKsh^6`0+DR6DOi7mB+Cwf=j4#;~^h^YAHirsM3 zZ8OcolA?)A>O)bJFc#^;Ki#oYbbkzF6?#8%g_r^SF)C7?->%+ra=lW2u~lE+)PR#uGCL+R|9ah* zbAzSkS^!8+93y(WwV5+ip3m~V05@hc_Qd!0MR{~a^Ymv-DqwU{Q)bXLN7 z9Zoh9h1b-|#Tb4qsF_j)={hsz_c(caMvr=KM7s`_EN6Vwk~$ye1kuwdnHVX#%qlm{ zpx&4Kx!so;J!i5C#i0OVQY@RBQ%>B$5s=c4&0y`kBS?wc#qB*z%xqR$$b$fsj7B$bcwhLwi?`J3SHK_!Su&2F zrQ@8M#Aj`M3K0-y@OgwA+{BmID0r->dk}zyRQnU3nd?I^UhjA!JBP5=-MhH{b#b%m z$kGY|dpQ`_e;0TBFg`UD`j^=56|nLej%o(i`_ypPp*~|}tYpp0 zfz}@Ab$i^|=0@xm58?vy#VNa9URI%e_47TJi8eJC{7z)_-z`{B`A>sk06@;boe|Pm zd1_tcm%s3Ue5zKe3J`XFf=UW_X18LnH``HAhXX)1T!p;V_C%Gw%&P6_(eW-G6TRo{ zl_dvQDfY0Ojn110D%f)WgIh|!w7#%56bb_foowzSS|cbYq;u=kgZ8tT1j$-_u8cFx zPX2~CyzJ)cQ5kBh*ncjuI8cu>oO9zWD{i*jI^0TxK*J(>@0uvODc@-K@qXNvU1IqA zSNG|O_1Kaq-}>GGC(x4n@?}*?ep-rtT$ZM&XdK>gvFY}c6FYb27VDFW#MRSF?Ig9p z=+#YH0&*%zOuG*A71|iN)0`D&PfAvFqD!#{$4h~Aqs`a%?^Im|1*#BfV_ysniBk3) zq!RXg(cz({#M9Jy;1vkui}5naD`KQDh*8Z8@N7IB)sl}6;}sHQV00&a-dT}CgH%U< zu4%yY`{;=mRS7bm?!Y`-x>Ff6?JNbqKN4#6tjo9_&3$5;#8rYzs+UTrrG34lY}= zAE2kEW6G>+yhF#P>vFh2gq27TESZae65ke7G^bIR>ASD&aL@3Lrq!8_w6h7wsHaMP zrSr4O?JuX|ZAHipDj)$aqM)B;&b^1_>n-YvGs+oBF4t}ouZ|*r5fG>xUGFXC22gXM zngwLvPz2mIG64_Xx81(=T~1D6RvJq`zpZKi?D(KO1Zhy|8dk_t^A)J{TuYqm&UbUL zqri0of%vE9$B@B6GK7|aqh#!BRpU!2mGAkW%Ff>^M2+i%>46YUQc>kyU4H$Bl^qW= zp;#C19#cJ%bMZQXZWEWqElwSH0V^HQ!CJ&yDHAjOXWpz}7|ZbF>#0zuyn3#~@)3d7 zO)}#dIM6}(DPprzQcrV}dQF=+=*Mc#m2y0upRJT!J1zFeD=&!d`j07Iw#Ez!1y|F5 zS9bkgd5KIzr~H2FxwS_WP7Y5M!Hs94M=f-f8_D-U<(Arj% zI6!J^du9T_qjxz7x=NdgYlvQ+h3u5$Zv1&&)1@Xw?+exK32kUR{(ILF8ft)ZU?tw9 zD;QhLZkS^<6s5u`K5YG+Wy8|(xBziY_=k#@8S3Mo;x9QzgzU$QZiZj<{Ca zY32*Q`6Dz~tkvRi?qC2xsxA6^Jx592!8N2% zNNOfE$$^A1zz~mXT)WXoPwd$otL%bPn63~}PF|DP^Sd3Zh|AINpii)3V7pK7(7oVP zKDSX$WqCi{JK|VooNlLQQ=w=NhbxjkK6>Owg~Fz3U|K_s3_gnpQ{9I{c3SpC(?fj1 z5e+NDVjhU$_%dTxdL<*Q^Gj@k!!?b00<)pOWjY8lBU`ilc|wFu-r5zzY_(S5-1g7i z#{r9EmTa5H9`z3QXd)?`)l-tlBHPVzWJeiGHE0WJPdSN_St#oMffB8{te^086|FNY zO57#otuIp=3JDr~PeaV9wR!J+1W&&j?DTcI_zCpY7X}*dQ?1GrnL1hoy`3APAPi*~ z^vdxES$ch4i1s zkU4V&BO2hB+u2V+l9t-|n=#EhPdQMH>35DiH+b?N?x;}`+)7&11HRbt%8!Dx}_=b)!E4RaB;f0q(Otmbnq=U$4tItxBL`7j*L2Pg0p!qxyWo?-?}Y1bx+B=9l2uGlH8d!umiC*|-u9;bY3_J|gxukV9^ZE5Y+*vi z7UoNfTn{Vz!k1uCC^4Jp?F`@C5fT+mmV1GwwD@os>-Aapgmb`3R>evOoK-wHvHMCeq3+1o6&*J@j zf@5Mysu8@u8H%AK_P&0}EL~w7g&7JeaJTMmO5k25Ck^fW zwvV8K<|DNjWDnF5S7pFk$i#8e$T%5r^#|$IaKeb0()nv4+*W?x67SX0 z76`2&=b^X7eE}LH%YlAn0eH~Zo7K|YY*AxnG9KFiZ+~oJxK&*ongTvo!VF6``9i|; zmZ$vFDXXlRXUhW|T6pGQppFLeyFRP}`x)nCBO)%Le6Aq(Q<4X4fMWzcBZdBk7n<4Mjtl~C{99@@dr{x3 z1RpO2c0~()7H?#13%kNe(FL)%H8@2K$qp35&$p+bUH7{si(B&F@ISPDaaSh)|MsH6 z$w8&x7S+w01373H6yvFwrtAVl}uxe245O)I>BG`Un?CN06TMWTc)m=unKiuC zQs&$$DIRtk)*G4`(c9n;bq4*)?Kfn4Uvsb#E#z(3->Ww|i+J=&>Hl2~_Mk4{E%6#} zOAL2Wo$U%apKp5h8YS6q(EjDza$aF8{>!=TJQtMz5nGruWfM`Iut1(ZLclUB*cts~ zo1KnzroA(PSEJPnKZi^>kv7e2l1vG21NP3qKJ5W>ko@$&oLRn{|H86z>+Lo4We?W> zGbqU5SY*xM>quwM#D{9c{@!wUs6*rQ>-~CsTFK{sx8QW4hr)?!45O3sS_n&Gf3~fj zoRjHdHuJx(LP~;q0+TmSp$rbV`0igIpN*W&3t3I?e@WB-L8-G|vq47#m~q7oB=sgM ztf^ghBwg`In%!9QOb)(lpL}t2wj3P@e(Bj&g!fshUS765|E%k(2p->O%_-|;0RXdR z2XR!L8BqX;LZABB;nK$n3wYnc0;h%HEM-kI3Ytx6!G@^JR40P8X!a1~xS#=mmQ$70& zStsc3qhS~-fA^X`PCUbHF=|mcTiM-;ccr4@N7tdmA{5!sf_qC91?MR!S2x#lsmSj! z(}UeYWV+~Z**fU==dvB{kO;;{JYuhqaH1}-SP95xL-Lc`d=>m!I3g<0zqBsREqHMrcMR`OZ3w^O1exWotQ)H{YyeI zPSizH4Bwe>03$=|ye&14re^tEGq#V8=6cd@C1E%Sb)_>F7O-E$ke{uy*(6vabIPE) zz>0Nj1dWp{@3ML$MP8PW1h%~2-I?HcU9-DG%}ToM1wWCM#IZc$M4x?|b2ZMaLiHS{@0A1j_hOSl4C$^2X(g zPd>>=8FZq5g4dfuX{ub`nKViboK8bK?W-K4FBzvlXSzpr!mSp_c?$_4WPRI7w%oMi zDD*6MR6I?`4vwBsMRsm2bDrnY0*b5Xs(Q$#mpr>i<+Y!#C(^EE+j`bl!;esq2rMh? z?9aYwttQ6^fuG9OR$&!!#I6<-1^BIHJ0y!4EKg4cTD*2nx_oK`Ba$0E$6Ak5Z+r~i zUoVDaZhDQ)H_~GMuCIrUlZM`%y=@D9h%`JL!4hU;P;vYv;s#{?Ki|hGdlv*v=y)unL`f&1|b6e ziLc#2JNn@y+YfFX3nty}7L&YNzwj?!C9oeaH_?400U)=@iy&e#>M#*O6q%=>Yjy3n{{+DSj(7O=Z3)I#@tdjnpq+Jmo^ zeD@{6yP^jse_xzE;t-CjuyKAaz9TCumbf6F2vuDdNx9^_;#^gR-Juyj(9pRhSjNeI z?SH})qBZE0fO5Qf{=%I#u=;6iE!V6*-< zn;1@GT@tUAbJ7I*Fq^Mq7f3_N76T$HX%#zUMMeRvKQY-Q`28hMg+Yt4UHwC zyjhnagc*_&eRs%g(9oCvA8O_o;=J0|Uw zO_9m(!`4_fiva>y{8NotR*iudI$nE_Wc;;;vGKg$a#f?SE1BW0KsbRPt{6FgzcW7* zRRX6FPt`J5xm}|)$?;TPs!!i3Bc-pR*=b>!eLe96>($BG#L_A9QK%%IrZ>3{5*tB$ z*fdC{L`14Wm4xG7UraBs&nQUwk?N8#R+j|>C3DdtMvkSPT(*o|2yrkC_Ny$JXbVY+ zm;?{bUnzpMVXjcn^>f++X)ZE9Kq~jNl=WMJz7@=(*a@q~=*T#?X-s3N9dEA&WRt8y zQsy}tvw{yC<{tuQ2o5djkW;KOm3r!>#kYCKgc}-GTg9`GR-YgYU$j;WpJjL}|Ib|* zv3Pxc15=)NVpmZEvlatUpAXKAjHRE!I~BD>fhtLCIQb(MW9s=T8fV*1QNA0!{s`#l z#mO_M>zO{Wh%-K`R0R^4TiA@|v!O3}p}+-}6Bj?HM)UF`OcPX)L{~L@(4sX46Kd8v zq?S5E_9)gFCdRpvLV}RM>~McrtjwO_=RGScv+83^@G#+#?HZ%UF?&zF_j9okXoB&W zdYUFWE7LIZOs46YqN5N)hu&Oz2NqU!8#9Ch$AEt@8*JgL@G?mxQ>#_HW1|T6XzQ@5 z04CG-Sg)enIF4(MDrBVU*54$T2%p%k7%Qw$Z%2f;RyoJlR2Rwc8FTT3Yc=T>`5BLt zjBl*8FUZtj=+jQT?!V=Hzma2$5+9hA&ly9ck2jSBfjbetuae|X*~9c&hEm2F@)s^U_uj2;7ElJ7^5Oo7@+`D++^cg z>1o<4*YH^)v3GR`kLr5#$EIr&nI}`FovL}?Fq)8GSVQqONq!?K@g{*bR{e6S4KCq9 z25Rn2s-5)433+z1t1US~TSC^K(#vN*r+HL2V2GoMA_wGz^7a@pp~L+{NY&&XTUT7* zc}P#O4yToNCX=3a5lJ*1xJ5I4_l$9VlK+{G&gbQtUr@vFiJCmOaI`GcE($9tvG%9u zc}HdB_0(G$QDw%E;h0hbP;W4DI;RSqqvCU_2|}#8lWP773CKhQH6Ij z-SJ()R#?hwXlTjKcJ|EokayZ>th58z;#K_Ot7Yq$ldtGM07YbT$HEEn= zhA|-~zq2_o!GZz1U?Fa?uEtd7?X-x6<>iP+ML0N`ute>2 zmdy8F5qJAu)U$* zMAJ2v>*BAuhE?p!>0y?Ep&}$?h`J09Ubr1OS%Qn;h~z+BQJ2^D^?qTVTm@S}8z-N8 zeyows54yE>JEh`Zbp;UA7nbN4=IOlE7uvU?sDGpni|z^5xf5W*DtRB)5BR~*0FV*G z>G$Z?fcPPM^vPzW4679mnQia?i3fG&1R+UZ|A}gAWJJs`HW4Zz>&Q(E8J#zH^Qd+? z*s6N7WjO2+fe`XJ3|e+iYb02!+cXnnRXx5Kdbv!sDOLykQSxHlI5o`mH=j3ZUM`Iv z_^D$CRr;_P;azH`^T2!#<_c%!H}+AmKW>X!{r$2X;1yL~)lc-eb#kl2_y5BkA`x<} zcUFPGU7w%VNcCuCCC-Tmmaiim!fi7P9Lcm_{o51l8_Xd z>G*%8?FIFUWHwY&ljD^~%9b6bxkt_8+GxkN<|dZoXHrjY_Etm14cJN$;s##wZnL+l z0gWMw!9QhkLjSP{JyL( zRt@@>5yN z$-a@Z$=Y#E-w(bre_<@V1WF{#KN;%M5u}E zrJhq9+D3F}MRut&`UHz`668UmFhdRxnFD7XNJgJvS`b18tc?#$XeSvyrH-Wy0NEwz z)WS=L$9~>5q}|ETYKo#B!dOON8@SUlm{l#8Pvr-9=FAFz{WH)pE&7xSE&luA!HOX z>a|gnTHo($BYst{%hEny@b$PD!c_k4Z>pnF75C~*rSe>?mVp1hCqgdo@{K6?DKR)TA zM27~9Fl)|mnsWKQF78MGq4DVmVP)uRL-->(!vw*Era(e4!WY=h|tuB z+JPD{&pI2@mL`BdQ+314MQOXvI)xE1zcbkyHyN;(8lc5LK@4s;Vbv5ThPCp3?+vmA zPli*vTQtY~bU4{mLzZ*+K@-aPHR~PZ;Wb(6Z?TnSXb&_Aim}R*1H7i6Qh&M~bX3XeN7?>(%*~_w!ZFvKGjY zS&mOZg1a*<*_bneutRcUWmf6w6uH-EwyK>SzX`p~qziyypDwcAu|?ISD2&|H^oNKh z7-hp2iLU0%e`9?H$lOQ6mrRmb+Za`&G&yL&<);Yo#Khq7dd^2CsZFg!y;)QgLlcqs zR7OwRC`aMMRnyV}LM=bbtthwW>EvNc6}np~HANra-T^Q|b*9JKh+(`ksoO!^zta0P zboSG~* zDf(`(bPdfdO#3q4mP^%*%s1U+0r{vv-!yI%tP;3IqBEvbWzf}~bxsX4i#u6D-mlmK z(SNhPNIzrIN7nFY-zL9oDmIZaqeFRf49Gd*vR>)MIWN==oEdJ7U?hmBiYEoKZ6Jfn z#oQ+`+p3ZYcj9TvmsoT}Zi=sdPaiU-TCb)5eLa2=rk-8Xj`b~x!}eo&5}djqK>W#c z@4yVIr1GQ^YEG0Ks6WKIv;TAxR>f$N{@@GBB^8;BH(EIcOaDeodNd_A+b+RZLFsk| z6-z)ixG>Lzc^P1yEx$TwY@8%4IbcSB3A8=nAHa28vaXwXnf%WXl3;dFgGftoC~w_| z{87P|v#7!xl*7`=+V)B2bCC>A#*ZXf9}PNspC!)Y_6b#oZm+q&q?v?L8_wDp*~B3A zxPU1J>yfc7TgR*LpLbk$D&&aS7O3Ia)eX@;&!l$R!s4!Kj>1Z|L1JExq{ROY5as#l-D@hst+rL zE=#N6Zgi5ple4C?)-$vk82Gkb_i=W7BymY)%WX3<$H4nzWowYZ^@IGHod7FMbx-SV*O@eQ;&Po!3xa#Aq5`2}qbL`tn~A zLSLw;;%#=kPSp1P@trlg!4=}ns)2ny#rH;i!UGp~GeJmn;_r5Z}>+y4oNQj!y!`NYeh+ z3ICrYh*1m9e@hmjA}Z7DrTR8@0wK!yMK7!R&>{yKyzpjf+ijFqnBmD^AytQSo5Z7g zBCTM@y{yiagXihp+-BXOB0&$uzw>RJ6lglpY|N|_Kuo>b@^eh{7kaF&=Oy+^INrxI%LOmnSWEr*toRHwE0#%a?RVTAl5#aTcopuu6h8-I+2@d0wD zv9lotFnpp#|FvmZ1VM$A1VvL|MMYhq%#6?A{@pA%b0|>FNcC_96-TGf{P!0mXRw^MwQUz=!U+)`AsT?7d{mD-zebh6u)TDrB~-Fwne=iAYb;XM#- z=%ps2x6aK;b9RXGm=S!q_BSk=6?D_Sl)hWFkG@;!vYg4*{qqaXoK*=y+Qq`w^qG}i-wf4)4-Pw)eX z?~L-hxoVc5=`hHoB{DG!?H4ykqTob6CXdn$hqak2zMd>0b@!wa4Lz34<;Ra&`9X4f zK@WDHHNF{OW7bLyi&NGDxNP#Mn=%5gDXdObkW2h*mEE2RD=tsH{scvP!hxv}!#KrLTx|TRk$v$C zwwS{Wl@bn|p$&{2E;im*j=IK94%=#}K>3)3^-Gew4xZy=~h%~=G{bzP~>qx zdD8jA6(Q&A?Nw$NeI^6uybcd9DnDf+tZk$BUsU>wFSz<#^Sz$V>EKBYLqUF>I)n0S zQYGyIR<{c1TE=>787L zx#9FGHoEBlBZPocVFTk!)%J)>(ZEC#2}HNq#J#2UxgN)dUx=KO&6^h}t=+lY{9Pp# zAUmCfjdI_mzxSlyTL&fZA>+FwddtEUeII;z_McxAx9qQyTdvO%R@xNUx<6)V#fkl-OD zt7tsdJaECdrf4Wl)QjaW53y;kCd!HYiYmUa6o$yj#igvLa zx8 zTyg#Co_NVS;Dyv~#wf*i%@mjPUyk}B?%ydOfPYk8A5EjJx-b^w8dW9dGlN4~!hP~Z zk{|H9mX5TAjTwB+MU5I!@Il9G?vIF*x~K>|N$ZThM~V`&j5BNpr@YDU*`ar0+WfvV z+Fv6^(Wa8fA!Vm{99CK}Wj%3`F|QyWCvBoB><-gvz_XckLXF|BY-`aP+P(?I+p5U( z*HLwkRTmpRi1-uxqf)${yvNmV{e0}eWSXA9S#suIw9(9KNln-IM{O9q1FH>d;O;HL zyFfy*jTrAEDV#4>s*vmMfrrf@54i9ucSIw2ES>*f%I_g9=06RRi%g6bh}Yd~JudrO zqiJ`ls$UnUQhs-#mj4HvGdjeXI+~Ytiu`2UmZf)-^-F$BSAXtDq-}aeMe3c+x)Sff zA#SnY?TLnd`?qNoJu0HhM=m2iO1Dbt4|49N>c`oxk!)$WAkz{-Qij=`LGq+zcL8mo z+a?b7hOl@~g-sO?=(r>^tmsSrvFi2EGYF^+@5>ix(Qk|YNefsqLfRA!CSHro>01dztWy8q*b)JRapS?*GJ>@-}{(&Y&lha=xDwVo3bU*|7$Q4C@Kx5&}tx(H*jdwObEA{HuqF**4my121YD-94Vwefu? zuK@$wri^eQm(bWBs>1`wLkwc06_s?!=K*<>zt&6AO`}RZ490Nfts||>cI+$4YA}To z2z2yk^vK5reWM?b2?Z<&Lo}I|$Uno6rjXe$_#E8-OuFq`#2%dEcG?f)Ew*+a@P1E4 zAFFZ^0PGt~uDWl$+;^ldcG}t{+8!De3hK%m+Varp4g9W!he2wej!oKq{IC#8tQxt7 zG>}f<4&%2V0H_?W=i@ph5517RG#2n&gJ16O5V=}hgZt)!vgVxRce6HEDk;Clxa-Q& zV{&O33At5z+XvB_a+*JpS*<^5X!xBa?jT`+3LIs}tbM)C*2_Zq z(nxYqcio+Bo_qUEsN#OvUB6CogdA>cN+%DZ-%N2gv=Z02&cXi?EW)F+^Hs>bCSO~? zyldQtT8>yRBQrhY9Pgv`cRkrIjzNj6K~Tu)=1!SPxi`^eV(sagYlWA1?f$utNnTqz zhLZxt2qcI$ve4)~Ym_(e=0f1fj>e7!MK1X7g$CSo%m^*BYSg}ypE-JJ(cZ?d*{dOr zRRVx2>b8nely2wgLJPXAu8-H_g@T1TqNwgwzfjCg_&KCD1jBMB;ryoC4byCS|EDuY zfzl1^rQ-UGf%B2IdOQvsU?a!>8s18GH}+2ZPcp0-Yc**Z_Yla}eFDCdLNJB`|2I~K z=Y9ll%zVY?1RlA$Ahr8BKq0;PU#`FG?6HcH*T3!uF(xzX^9GvXcT&{DjvI_pa z$fwIa0ifKI1%sTcghcJtOUM6JV$cJr|1Y5gG~a#8yKMnX#el_br`p9A{q1Z=1rawr zY$1=0$|&?@S!#$)`FN+1@R>uQEX=xjRJj%M>1F)Q3fkRY(Ath1n4A8!m$^$v?GvN= zKhU52UxsyepF8S?(h4FX2Cbt9m-SE4JJjvV@_x@K7iCF`8${Jo~q6wbH;imhMd=%Bs7-DG;b1FPdkUe z{lGD)bAwJ`g6S=leh*r!AL3+0b3+JO-ZHgyYakm?-|cC0YitBh3p+-I9-ZqZl~D;W zpDtXLusnPMd_tDqS7I?;9Bgl8g$8I41y2WH^?7796d0d{6vnxT{N#E5^muTM7Tv&+ zkZFWmS|ItJo@l92hGncXFE7Ayxa*zLEzaIq=$t_ILG|8VGgM*k-m|WRv-64v2!Xm!UHXr9F zLiK-R?Vj8S78ev_U}7>@`boE;pIVPwG1M32g8gvxgt}1j9Tx(w4|5>sn!CTE|AZN- z6d>UMenbn;oq~U#G3ZqyiJl1@y zB${%G49;6yu{ciC{r-^aG4~pyd0Me3A)S$GrNEi_hAWLjM$F+`uOZ`aAUUya7u;P~ zC}p$T-$;W++rs-l1CW@0--J@a{)JAge`Ycq5ujQJJX9wjNYUzW(#-C7G*V4Z*SIlr zchMQMk+P67m7mW%q#(qXSKISDTR0BTN|t7{Ef=Dvl$hhJ{*5z$B!l-OTG5>_hcs>a zxXJTswhx($79j4l`PV7sX2JYI;O4OGz0WPXVbSkYS`jbIG019{5MJPPgR8v;*7dzZ zPH;l9zEh~{b`pHj@ZiBapxXhj`p5A(fCh9S>`N10wX|#;aA7_7Y$Fys+=9ji#=Bh9n#^;5!)Qm}BS9ib+bh7B|+v`vbgx~gWW07@heG8(BH7$$|cLK4Z zNSl$V0814eU3#6+sDJDs;z>8hYQa^B=2qx{63*j`xt2QJ5DPOk=i^E|XEQ$z4kLw% zplKicKulZe%lSWavx_qc=!muE7$@7C!+%#@=XCaJKE_63#4=5{oH*)oJ^o87Ek(U1 zHr((A)^X45HN1Ht_g2hmD)FxzY7B(L?2ed?nu*W46WhmBO1H^L2*|utO&?-S^Ket3 z)Z3LbrW_o6u18mLlQkj8I2^mWte_>eqH5!_@HLn4?>ffH_?)7bko6ooyOy}xoZaSB zOM34NP8TgGeOkBa!g(#lc)lFlqw{~8c>x*zF4NV=hQpi67WO@@JDwAWGIvP?7qUWbc5^NwYiGtUy!YaIeU8)5{2Ec&T=ZEZCtE7vfDWm~Rd>9{FI+|&Fr@%YMd#ya(R zsv8f~_Rvg={#tym_qehdD{|Sa`0?RaVS)H?Fx0VwojsjcQ&ZEH_JUG#JWP?e0xw{S zvMqnDLDAxrv1iu>Nz~ud9&`@kd;OV?%PFeuspy=`Ep0GdiwMY@1$9ou!vi!huefdR z?VoNL>M+%{PQKJQU_pt;;w3r;2}4w!c9y}BxQ{f&AnCb~EwPoCr?pI>fF!v}_rsZp z=ngV{I3+4&npY!7%V0fZ1Xl6tQ2LLkECw@vfs%$iTe_X$Hcw}XixYYNlV3KnS`OtG zZU37j-WMLi)$*Ob4gMRGw!4)cGtOdFGUkVYqT*1(a$A14XsK-ohwdeRdiZgEL+}kI6x3DOVRn`V=S-Wk&oe8LSQR4)Mh zxqL#e4#`p5pIQ6w}VP*?kbrPl|Q(Pz&6^u1~;#gc+%J!rn1EZQ%4*vXL#|^v{ zcH^o@$4Fx<2;NNFO7wO^8v$BVhI^)I`}NI!+y35;>%u{Kt@hu5q@t-NueRF&QvS$V zl?{u>ZIyNj+lxt~s+upfi8yVwxioHMP}mgF^OWjmRQoO|8EJW!oo7QH)AlX-H5qdd zc>sd|y3X@FSZPona}_vQe^?p84xo#DKY`C_Vtp4Z@CCj}Iq0eB>j$4Cn53~ntZ)m@xjAD^iGAPzMF zNSA5RkGg1#9lw?@xauH`eZNm|3SD}RiVx0tdI9>rkdwz=VBj|nd*w+*TUqwAAgOs_ zZvA>?-VagfYOre`*|vs`5mL%b=?SF`y>Bq`2}F|E_rczq)iYfFO`h0x0V#h*po)!MMq2%G!)_2s@on8on)T3vA4JTUwze`7*g< z-MW$%zcHaXish>UeSHD`N`oVBg3z!SvO1gSpgP1hva)TS9R(dAT;c+Hx!sN0E%xwb z%nQiZuXZz~TQWFLPu7zWX2W|~VV+j3#c=QNJO^n~U>WeZ^>#a-e*gGmSG$YjfgD^~ zdP4Sjh9%X|Xc?q2K%4$#DG~>M_uM zWl*Ar|9mDI9%nhJlTBeh1B2oLWyW@r&-QBd~Yqw#%=HMdYLfqEqck2|yT^Jbx{bw}%G zlswV@J!h+W9q*Xpc-tVqLHlhIt9QB98)N|d3Z^YkceM|hmDUiG_=L@Xn2rLa^S|=1 z#<^$?r;DtVs6sarwLGZSi~991=}6kmj{OcbS&CJUznNR_PMZ70*tdZ>TM!2cw6Iu+ zE9*CQoB9|AP2}uV=V_VVKjxYaw~Bv=MJ68HG#BZXJ~ALCAJw@(^!*?xJ&Ej59(P#V zEPkgWp^=QJM~CC5`jzYC!&-AJ2fXRLu@4KiIv1=l`<{Sxc6#*-rKw#g)}NdCnS!_WZH>J-uM3uz&?t&V1X&Ma08|_bRo+G^FEZ3|B5loPgRp9ei&0qH3oq(%D?aUniCEy=o z0V1#eeJ216Ct}aiS@QzM{+YqtE?^(`ZTcbm;S58t;$fcpW=p`y?a2kSpCf-zgE9~^ zN;06O54Ib7p=|;JXx6UX*@iDMCdL&!GgHsG|E$|i-+r+bboj~)r?oTf_CQqIVo4eL zaoKZI|L8cEbdQeE2(#AEhhy=CGtzFM8=WYSp58lvGTp+`e1ft*IJhRci4-onptY<@ zQJuU*tbu*^y4lr~O9F(bAD=5>^ErjpL>ks%ParRnlfdpDlm_9JM;y(EGY>k9xBdR+ zj+Zun(smz4az)ZON;&EHa<-hw-_r1*yRBHbk4_y+od|>mi*uP+HA$c@WWD+M^e@BI z#P~RU!sXWvH+4#Ux$DdymW65j zN{H?b=hQS3ZXW+OJ297bNA=`|x4G>ixgE`IBr(NaJVGj8UUAW63*%}HTcE%nyeVb~^wlL;; zLB(GRzL&5tYpG-RmXptz?Ow%tE$5XZ+)=jjU8 zB|6#u+xe#C0D}o?+z_fCZN!*+AdjB-Yrha;VP8BoChNGoX6Fq->bJ+Y+GtFBCJh2O zYRf5P$I^$UYX8XbwwoM<;8a8)!IH#F%OL^2l@%3Fm*UA(@Xbo%K-RZ?e~s*~4z_2^ zFgC;WD{xiA%gdBa+W5ccF&M5D?lQ8VGct}vI!fX42fRG&Y`_>TFJcTV;C`SC4#XHQ zU)b0GUl#1QxZfolaUviQS)n9Iq@ympv|?x(lQ)jp9L z$s{%afB|Bl<6tD%SqZ1`d)MQr*&z9F^*IOmFjUNuYFD*V0 zpcXBDXi3rEg!RTlo;a9y5Bg{-0>Eb42Xsl$pT)0#>|Bf#Q41v&`5|0Z*2m@S?bz0& z@ix7yWVD9{_~GsAesWi*`>wRAH3deu8?ziq*XZiBV(v;>kd+edJ+9yWJJRML%*%v( zA#*VC##r4}Sso>@x#nYsNMuPGsor>=nf1EX1&mXV5EAq`YP+uZE4MT9RO{$QVf?z= zJX2X9WoJJ6iUW@2hdqJ)*=ey)6=(-uCQjMyKeo}!;c%@ySiV5 z{l&N5@`~Qzq(40hnz!jY?G#zHCDk*|B~38_)>hWs8z5K&xY(GaY6l3jCgUj%XQ!w{ zB?hrrN7n}Ru6H#Hx*GnM*g+XP^~OBFn>Qe6m0UNBK;#r=k9l$G5Qh}pp0Az$b_9Ku z9cJ2Fjn=>Gk2Q=OKvkhq?ZpZ4dd9q$F^Z7QH(PdCO@VsU4(B}D{l-~_96VnKxsFb< z3<_hX#e&+c4sI{Kj6uVWr-FmwWR3(a8!CO;bL`DPLM~{OU+L4Se)k>_S<0HA;y{pp z_d?$+_FLiFd^H&QEXEno1QVjROBm`zFXg`Zv*+EF0RN{d`?UCIt!D`73#mA=mmJLwlP!|n2VAMFQN;hY>p63qUJWopw)oHa3+cSn;lL zBw-k(GPt{Km_~26Alf>FkZO_~tv)EQV3KW5L0J)4pUTLICf^ zVDzTNcUgB^mVT%Zur)_@m^Y5#`oIoaF;^YAGb%*X(X-O!KN^MeMSp0#q$80=;=n+6 zYg-HpP_*^0E0t!TCL@3%7TyG3UMzj>7sc!DFAKc6iYY!c3Hq{%AcNa|ygMZiBr0&{ z-8RWufKl$=>%>m|=WKhq#EUh5m~xBnM(b0$9>UVgEreO_tRV5jB~2`>3;ukb{)~vbs`By8=kBcI%z5XnmgreFu6;~$3wHvJLH5h%{UHJ~#SLT8IaRE!M6AOpK$efdQu2NB8{w_NTAdtHBrzwt0x}vmec8k}7?q$LsXeUc* z^qFZs9PUwVEy+DZU6LN5sP3u)1BHT#2D*M)RW1Q-KV~W%%RS|*xLx3`4&vwzpg{xx zK)ui!UnxjdJx5+VD428mwNN=x+CzloNg5?<(y``v>I~`D$P69^A?s+;@hF1;!8g($ z0YyiRg?K(9X^mU4fvkru_m#|GHkLNNS_GPN{{S6J zISMgxeXx-`o+|{O`DH9cZ&ZEO`;w{!eb0%|C{B|&0tfJX!K*zs_5{AR9B5SXyC;v- zI-Q}ChleWjC_Yp^#ZT5aLTbrW@&cD!*G=;8V#etkKrCX1XoMo+ke0W*(Y?%}4t$}` z92tb)k0b)e79t%FRQbX1fq&;!bLT7MwH6|h)X@4>VPVrIag+l9LSg-}dSswnXbD}U zdQxdm=L40)_Tk6<-JN>mN93Zqr=JRiU}ilx=42RtcWqqIdGXwJlD(o-nglxZ++I4)(JoPEd*ffYyA2nuJpqj)YRdG!=7U_1j+Li? zxr^W?jh2~TdcQ2VTpUHrKdxCUFj$3-dI5PR98)xo(|5WhubM10e`;ouT0x4 zq1gH>sn1ykt_`0-uC?&x)LeS8Yw>Kvk!Abg6tut5JiU*GC~@BV0_BPh+`-?so)$jY zX4BRZ(X{){SK2yJ&v#52f>@y2n7LW20)Z9%jp#4+u_S)Fh=knz>jqh?)~-KOqEO(W z*?t+iPC8qJ0 z)1PQTuY0pRa#Ai|*N(uD2WR)=>s+Jv1OSuty9O4chrM6(aUY8pjMOJg7t*1`Mv!l8 zw_2p%T78@D4yvh9n>}&iI5k!GW2$?A-7V7R?l+$}D}y{n^4SpFbA6IoMXfRLIYgg- znE$}W%}eMc#W^LLgC6P|OWoB;6bpkTFT4Ya+KGoAjN7zHb&vP6Y0b+sJ=m)8+&z^U z@0?tH8|*eb!EO1wS>ZFnasxn?=6%44Z$f{#r` zv9T_jAXV-otdF@QcmSrkFA@vQ4r$Lp%Py;D5@2Fyl%AKN)eC*xY`nMTfE~>@uTm^} z06C`*Up!;C0VXBQ^}7I%=Th{xs{l{!K|ub@PE?bj(Q~7q*vpu{cQ>?VafTf24FJxk?D#~Rf9+N1QbQYUA?xX8le}jzZ z(cL*gPVNe;iQK0!W9^d7{Sk$kJ>n>Tjs3JlFE!|DW2{1&w zis6UzFB3R^b)*2!e3E|uy1Elz1R!6y7yKR0Xm@MhCMjNiak8FC+vHQdA{^st4t-em zc&ZXSy^rK`#rwK){ggZe7te=<9H_c;Axh!z@!5(&3hUR<+xa(JG)g*pBy{wcRbvwZ zj5php;RKknT>8qgu((xNFix|x%RIGK$IW39Au;nfN=zO}yMDsyN1;3Kh2*hl2qwr)2>(!Io4f! zMC*z?y)r75DV(Pn=0Pfe4exxlO!rjKAq77?Ce3b#kpgi<^T{vZBiV##dH@X zB=V6JCm@(6)RT`U>zMKhEkVfQS3` zb(0w?^ILBFm#<)b{mLz@OVH|@a#N*hjKthaZtMJWHT1|{PF^sI&hs}6tu zzB9nz0ARQk@M^F6GYN}E=rTr!_AiTZ1XBwAC`DIJX{LMQmKF;QYMY;s_Bdc#%72M0 z>Rs&dNG+kS(b7Z!I0WCOVeE!FOG(dH8V*3{VsAG~EBv|6Bs!;0%_@gAd_*}Vnzn9) z9T%wxB3jJrzO=>^SV0Ub$$&ENXnCa=YI-j)9>vX5^;*k-u-nk8M1E6%V7jU*Q}A|y ze!$U-_fD9NP1IDW+&?o_4IjLY4_e&}l%KV@JM_g54{ar+&YskH_iMmsh8Bl63nft( zN?F1<5n}n<7ec3;bM5YoC<4ZcjH40-*Cl*}!UqD!rGn_Vu!Y1uv);EajTGX>hc@ts z%k7(rt#Y7SdY7YyQmcqXs- zqQj4J5`8V3tZ*USK+olIPuja_m>-@o#5#j2zsUYElg|OeFoKWcE6K6W82)1xmJv~DO4vg_%8()8XE6IEg|886@xLv_*q|cqU0j0M@ZnL zzc@oYH8n-TN5}!|*n?7T&PJxTrtSd1YL@%e5!_SuDv}b0w_sDw+CWi;hgioNV1;QrY}x|%~rTd zr!H>CF%v{i^KKePqxBglq*C)oT5Fvlf(~<@n%RM1SJ^m+jrG=(n znhQfOjGWXxWtPnUY_(D-L?a5NN;Vj@FLLp?N*-TBu7wNU{eGDkGyt z?PAHLblbxH?_?1uYswrk#A9leQCt=5m`nEd;J>UHNQ4BI+{UCd()KNE$|=a()u0^B zCb;asm;(@XLQvI5db}-embx`+hY+&?{#5hpiOHMXc(M$QTb#g14ml3`uAD^?2WWhj4vOD?>t!Su z*iYwoea6)I3-~?A4S7gs(a0oLE^qie_9du#z!VRwVpQ7>`npq#swv3r*h;*1FVO+p z(?_91Qfc40Oq>F?-p$$oblraV3LJcS@p3?w5U;n{yw-c%@qIxxW?s+wRs)EgD1`ve#tws1+2p757HUwD9aV?rN>mU03|A%uAOi0Y#isdmdhk7) z7IQ%hrH4md;kW`cItGR$nzZK^PthcndE}2oJ3(!*T zII-~ZV7RaL%)fI$;iqIA930=}^=QR!>gr5%%-wHmAFr^(c$Dr8-Dv9K*GLn{YfI~M z*B=R;k4yT{o_8icZTlai;ERZEnHtoB4pX^!2hj_qgli^AX(f(@bPN1FePP>Rn;oB#N`*| zXv(Sw_b%{Mlfa7`vhh>Q`pCK=PZAE$J2$f*=^}}yl#Gf?AXYjRx)@NFX2E6ovg=6J zO(KEUCHSxu)gJc2Fe8^1Vw$HS&WF_do>B4?sOJkmiVv$M-J3*{HrB&ZjuOH*t9~js z4_dT0uLt|oDS={58C)eu4biC!N8?Unow^T6<|A?`L-vz?( zxcA3RwGFaD5+pW8{wt*duV}d&pWGxp{|!Xx9E-rCi{cFp;NYWYY}${|{w%iH;ckxe zwiJ&<%e#bZg#CqcJ-D0R`NPStq|2FccRbl(hAdjV(Ml3f({#Sk{ot0A*1zY%N1Olv zq%2IQ7y5i7vb*qF{k%czpf@dnb;+#^mly8!LuA8o-^>adSAAmE;pqF=@DoO+uR|C) z%rPf(Y_92$+kRxy7%wB3RNzJZy=a+7dW#hpezHjk>`leUYrvd3=6D?TDFkWA=3|=B zA{{%g5gb5K%2T%a<+OZ5(o`%02M{%+6Te$*k<19--KV5MUwjG^sifLWN&V|SFbntD z7b~#1!fC@bubOnlQ_Rh)Ty<_-{Kc=WAn-|LnUdQ9xZv&n<|XH!PgyJuEcQ6GfvNEC2y`&5y;kM^}~6&`YLQV(yd_r$7_ z6{TGmjkw2jtJr#=UsTCdx`@x@^NQ=fN^a9mUDW|Eo_RAU5Q&lY4*I>Ka?rGr0O+2% zZ>B~{bXAwi@cy$-hE1(GBlLQL<6U^JXNZ4wfY$@kUzt|VC6 zb4yD{5witmcY7i(fe&KB<@r0zBA==%O7t5~Y|@$T4-=4{jGnJNY|`W-f@fwI{J>)Q zQ4|uctJk@+Q}Uk(v`-e^iFaM){oEJCTISCV`^d@?89q{){`b$O;@oRZ*ZBMj08v3{ zsngZRj~k#$pb|?e|7@CN3p}b-E2b z7cr%MulFZ6I>yzg`d{;2ptXpCdxD8wBN_LfL?#*vEjaS2Da^wrr&1+&z))FBqI-3w z=vNz+c2h0*`E<*_?eMS* zIyN<5DOWA6LHY<^0UQxApM<4MK}k7lf%oF zwuTcJs}r+Fkf3imNs(z-A;#a;Z_cR&v`Y^N++nqeP0T^AdmQgy&>9;xf)aMT`kQzC zXs6?(Q|ceNbolXo!4oALk5Ie0g6K|4wGj=#V4VG02yV$_F<|;imy9DL6}r3f(!ZY+ zOsv~semjcP1AbJ?tp0>oEF=72_ck_&3WHJ$T-mNwoPdb($L&tWyPWpOqgoHNj=NP~ z7GFh8=R&&H6vbSAOuq}TVDQCwTl9NMxk_b-l#enq?vBt%Lje4KzAfxt|1+bQiGX4X zJg+8^fj>s$jtKf#{bI9~ii!bREBQE^kVGrf6Qjud6b8Ahsqhj8v(RVN|G2&MyIMW0 znEkun3dpTID9q$v-b1<&LvnwU%!tKb)42DX3z{#u+t@BmJ)0Eb25RaNFtL? zP6ZPdl2SG^EVqurkH?fdsi(0~Q%}q_4|p1{CRc|fwa1Vm#dL7GU4sfsn$6v{iDy58 zTO^`WZk4VAWL6pK=W&%Y*>$z!!Jny3*4~ptJBAT(ezjy(*)9cZ1Afoc9b#dw^k;k6 zr1X$}^gJ1M^4$xTF2$T18tUr4F39JB680sD1bhN}JSC$$G?sNP9rSEGRYk+W7Q@BH z_oa%89JaVfAr=#UkCo-K|1MaJS7S4Ky78h$y*-b`Md|yKWRQx{GA$EbS?X^Y=iPvw z(W7}GnG>9R30c!VOUAo%097oP7bY|!HsFfvSLR{rU(fTsv=IORiky^GgYnlCYNTL{ zOk422u44xA;d7v!4zDBSzI|FAe8ToF4=L$SYPW_bRYeOk*`%>7qrItGKPno`3hCQI znYN>gWl^n^A|%5*rHVU1nBdMxF|8vuP0i6zd`i)~uzyMT&P3kl-RxVSrXfd4nkq=; zq`Kz!0nZ$tEG8rX|6B5s0(Q&8NjoYd)xZToxmmS`v8|fV>;oLB$Nf$T(~&xTlJ;ln zp}lG3g_Etu2B>(54^`8vs$wMtTC}iB$3#_(yR#{(Fr7j-f}z#~FO3Ct=IrKLlq_q4 z%xMT5IcwUDS4fq$*wpI8r+oR{(71|0U{4v*c5S1?JMbQqC0ubT&-o5{Gaz)q6x5eX zyU>*>wYUE2ee-bt`RsSm$i3ma17O8f5G$^V2lGAUu13yC@t2~9>ldr;KbW0-bvMcr zREE_{s&5}-=Q0w(=vuX|`kI&lmNzXenH&?#R!1VOBLR4o{f8`8Zq%rM&p>Z@q%2QM z@s`X{2e)%{G5(&^$CN6*+}Qdp4JXkTs|LUFB>B`pI%EOcEqWrl|LZk*Q~f@gSb(L< z|A6A&ME)<{?J>@ziKxLMCUYUcGR{gjdbQOtOUZSvPkZYw>tO<~%l-9?XikvvppA&f z|K(*+DkvHT##?4DMj+D5O8cDu7X8M8VX8%K1Q~+^gr-DA&4~-DKm@jQmUm8`o(8Q0 ze#|B#z4H54(@uG9Rd`Xt&`g!XjFI(;lxJj54|?N0chN}sN6pa5;5@!DW^Ms5Xisco zn(KCS|3m~487EiY7h7TN4rfMblv>gNJ<*17nX2r;j-EH5oru+<_lm79Nl6t6b*IZP zV+U@9>>+RTp;EVC_mew4da$?t+fWwr{_f-Yg59$Ul`HF`pr0jN>x^$N0HAr+SEg;7s_=(sv?DmB96#83Q?UH9Y^JH|`u$hi!X)K8`L^g0YfP;sRPm=Ij& z^q8(l(xSST$)a~Y9CSzZQCETN0_7=-dSEocRe{w?Z#CtN%G5ADzOslgx`)U0CC%vx9KkufgH>FPt2 z+DVCZNM}kjSh(}rI*y&sqcv39K}LV4BpU(sHQOI`vgNe_v!oml{7n05Xv3bM_eT4@kSn)0UNrP{_iJg^)3yCnyDrbfLsQRkqOP$AL+!uDS z&&H}NN?x_*b_cyq+l-)6KVpBr{EiRm(6e^6arR$#b%M5dsUzPDS=B&vw=+vt+NwXR zWHUzkc{fz7BkKby5;pbzZG3g)nFkqUGsMDB7ycy?V~1aEX?(p*gAXR&ZBc9P3@j{K ze_Y+?e03F>>3!@$%6D8@a@BnS`_s=@q&QhyCTy)__ zDVY6Sd6~MRXP|9AmZn6QlruDvdjc&Mm$(Ct9z{656JLGkAqF*Z`kejzGe;D=3QGUf zSYi1-W8+_Ne6S_dh@oihhvqk?HgswqWJc9OAz1-m7Gcc=_I!9E_(qS%A zc{Qf}sw-=A4RX5-OAZ402QvcW004XqIY}|i1AVc^>~7bgw9c2xA)nHQDq6o5tGl@E z2Rlc^Gq7*>2|-vUYDHL{T%xncX*P?%%T2U9n>c#dgUCz0o$2Irp|isV&!kq*-M~LP zo8+R5cqM&pgb!%T+0xfn8}0VbmWS=vy`bE<8!w-WI4Q@Yb&ws#OQYrZ7>m#)e$1;~ zfWG&y1^rx&o%md>SSv+wtujNvEBPr{8zZ;)wSY0W2L&vCtGdpUE_nPU3p#a7fWUW zu)xE4ly3$ziqE5>+9YdoJdaa)WBOo6KvDb`YxT8ej=RwXgry?ym(od(+%@K}^9R>I z?UIf*A2?+06a*isa%s{ogRN4}zJFkl%dVlcR3ruS+%+1Dz1TMe*UTk(Asim?#N|wU zVz>29Y1ec|*Aj5&>GHX0)%j2g87APMxmFg|+S9*WE^8^eTboM^=o0bS>Fi48VHTpouIr+qyx;_&)4%2-n67I4Y*HQ zPvkMu))t}g(FoB@X7kryFLxo*1Adn*B2P`e?CFYC>c$wc)m0djY<)HX0KPdus?2I$ zAM_(4W7f7KI6jxs3U+zi8xes0pMTX!@YAk`CvfT+bal1#5jRfQ`?71zRV|AAwBR+F z#Cd{;M)?#*;bd?ZmMCY?@VT@9c@KEcWk+4At5N>^$Zj%tnijgDrZWd zwCp!^m6O^sm3WfLFGI?|X*mDyOtI8>lnM)4P=pP!1lD`Ph7V*p(uNDz$j- z`RrXuioA`q_WAyLGI=&kJ+Xo?i9X=SnMDE_aLF`vQhU$L42+qY1C#4cPmF2N%d8j< zDp_Ou9&h$*ewi4)G|FzrF@>-XSIrnJ$M3sBEb`$4%isHvD6P6RlK-^enqQ#Vy8Hsw zWK+_i0txzZtO4g$uO3gx*U)lz(}2!zkTi89Iz-ch$tN3h(#430;XRa;SPL0ObNA2G zBXLm^HYV+c3_}N1GH&GtYJ^8Ssnv$0Klc6A+r*7<4zJpa46PVH2kNotSZ&XYXoyL< zNawsg?$QUiIfJ?J19j?{ zjSY;wl*16eMV6*3rnX&mo@PeELCFjlb~P8DRiMJ@A66)M`Q>uGrt6=k6UX`o3Mx6j zL3oQsL1IlRqNDDxjP+-L6g#=)CzS--h}B6ga6Nx(k}u48u+pT%w-J;4hGJu1q9D5S z!BIbW)8lMI_i?{2KtAM`DHUJel*C^4>DNka2|P)pK`m84G?frrA}jYCb%rAxKhGg7 zi&0n8DMTt(?WPV2Mlq+%MkWlGasC~ajI(cV<iotkPdC2nqFNY%o@=*PN%)+D+m`q$RlRHZeuYL_C zTQ#W`F*zvdkwvtnKw(%vZq{1B`oaVJ*4gxZKUAO0D409NAjM+Z=XSP@`Sx>$eQ1eR zqvj}kC3eir9yK-Bm5$o41eES%qp^?7(oA&K!VwMV(bt;U+BvOy97DpHw74{Ooc;`- zl6w>g8B#T1GAICb9Tl0JTz!Ks8#jMt=EK92gx^|DLDA^E+^(;!heloS>dD``cCp=d zn;;^tc#0tJV@3ooz28f1{iV4UOHSw|RYl$@0@BRMGZw#&1x=zAX%2qy0*XR&m@8SC zYfF}>CdTO1jtYio^Qdm(bw<%zwrD(R)g?Ag8+<=55VcToX4A0XFMfX{mL}eFepIXO z><=b1&Ssjbijayf(^Oq3Kr}Wa83kEnTTm6l(;Ek=RM^;7oTJhB&eT|vFx433703@` zks8grk#c(OllwVJ0qp~!JH7TFU`3^zh5J%UK7FJ~o!;l)_z|iG*mSrk(o9tkD|G)c z#XiIJ&O!vg%l0srtX3dSd@>NOqzgq=bz+uOH&ifGqp;qj=a;6z(T>w%MG1k=(2|g* z!|7QIz`+@@#1ysV%-C$EevkfDsTnvm!U(a|?$^%e&}!9saV9; zZWCv6Gu^WSc(M#qrit5uL%bs(_bW21aBEef*DDA$S8jZJNr~;JuP~A<8`}bIGR_!a zJ`j!^BsD3`v7sGc@X`~RApY}kuRG-bY46N~+1~y>{&gu`tXEt6a!XNrl`aTvZ*f!G zts<3Hql(xfrM6I{i{7fO13 z^T#vKooD8E{ycML&dfQV&wD=S%z3{K4Ytd>;6^Gg{`0$UrL8MM$83h8p1byL&`C~7)R+r2XOvjVbz}p+o}(~OHL6M zh=U*G`ozQ^J)JrA&f7boN9VBBSBRr|h2`mX8(Q&iQ9N}d~a&9!}S!`aFCmm;~x0;*!%zMH4X*q|E9leF_lOW7t5e35?clYEovl3@J|lNHGHFq!i8wsWy(u+5|*eJ9tr^|!75nhruU<@TYmB& zOmxocG$9)*{}Qt|t!wqhio1_Q7I<5Ip$fgbG@qm3EiwyfPW@PN$;A84n7Z;c|ug8&v5bk80AKun2@c@ zo4oly3?@xntrF^->>&`gTJx=c>VEkXu_OjZZh#I=v;|t728?Q|P9k2fc0dcl5(BhE z5T_KHe^{0$z4f@y{xmR=6sZoheqA6e`HwE<3-YM<96(d4w_e!sSnbXpvQT~P%VN>1 z-#J<73YO_tAN)LLG((ev<<764Ki2g$CMI;~3gy*f3QkNTOD{5V@yXCE%s@<6yG)X? zul-S?=p@dZ`#fT_j;Bn|T`wtb5+N!czzG3vtAv_0T2nLoPh0OBZp1mSd;BBoLb@h~ z%M6%bKi;4pGy*9+{-E*;HEWYgs6>^b;pp^_uLKIlR|Y>n zzrKlTsF}Xf$#~No%xDmM8#+paXUVb7Lo;(_?{O(v$OA5{3$RKU)xmL}7C5$+Lg6ZB z8nq0D$)3VV(70o?9o~$!;gKKBNb^Sj38IY8LWuUE+xd&MU4}w18(v}ng2in2?*G;u zVUSZ#NzD{d?&3#Xog@~@6n z9-G4u4WzMR*I8s8wWoEP4H2=oUHpt&5xq}dsbJve8tVF2-n_Z2t=+qRs!bWLVM2;5 z()&beH_3kZu0C1i+6u9YWyvU%oiRt?Dun-do*;B?O<=N0FHmCxcE4K|s`A(K*Y(}c zH7On678>@)eEY%1G|gEaOh2j0_iN;r?K%GX2{%;(?%|eWsaAZTgw(%ori}Pba=y3E z;xB*h|B;E~@AG>8Jr2|Vr?YOvEsaM9=6Nf%tZ`x}CGJSt&X25WN0WP8s6!gBm|s-McXjC=J0=YpQWVd z3G(hnaZ5e5f$Z)mAC9>AV)n-#aLmD|z|cC^^2Jlg=8)^$00mLNr}E|KT~={bbf}k6 zq9%8Cxuu4dZoHIBjC0j8X0oHmBfiEr-#-Hkr4J{Tc$PbNJzY{#dMIe7;YL>n529Ey zOP_VZI3G_CBmV52(bZYxVF1ITVgJwm1gDBcWhJ@E3K5QJ3(yk4(9r#F@<|^h>>;m} zK{GXN=$(1zS&s3>5u!2KWz^RhJzHP8?ywZJU{e9V0kx#jyWBB&nDM%~ZB64qR}ll1 zU~E5RY`?DFm)3g!2Xkw=+uUVtk%=N}3Zfy1&2iLHjSr8p*=~*`Y*`pkSmxd7>hsKH z@Zd$lU}GzekSKx%W%M8nhKcMM)Xj>|W@cuIB_TuYKZ%}SV9qTD)iUv%J-=xbJc2dk zEg)PFmeGrFGwpNAD0QnJ9tj;a=2ifaS5IX2Y=@ph|9I0la7Re2Wh2vj)YuH|kY*0n zU|I2bN&g`!=oh# zTC8Pz1w=0`box;Jl)g3LNt_c&MMcD8pAHhGbuj;7vfGyy?Fo{4q1xTb9s z91GslF+Q6|Gb3((Oeth!8SfA|ns=iZ#Se+R)c_DYAJv+}lJTPb2&R%2g6ftM@Ti!Y zDDlR*oDyk@KBo`UwEHmwwzvA~9AevduZS}d+-sj|w^;A%*-J8^ z`!}p&2+gE2HI>n*JsjjF;p@CLsQ@|emVXZE0*f9g6Gt?0xpXpn-a5@ZlE);dm_}?L zIa8VAUYRNu7_-$6gGFxFdfhvAl|kZRzsP%$eU_LOMEg z@O;n*lsdPHH?}Pu&^T*9q;79*6K>*uq6Mg}dqjjwbo2=>tf^qI zmG=WT2?`A2@_|J+nLBvRw7G zAHN(@PrjxNcMDLWk1P=Uy&H`zPQOTJ$neXGq4Q+dm>^%(sHf$_(7j7QOYWopNo|3S Y6SN6oEo=1z_5u6`wsN?Hzv%JcAGV3(fdBvi literal 0 HcmV?d00001 diff --git a/assets/help/img/queue.png b/assets/help/img/queue.png new file mode 100644 index 0000000000000000000000000000000000000000..0dcd35f96fc92a34632e39aa8e2b2a9e91818f62 GIT binary patch literal 7509 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 literal 0 HcmV?d00001 diff --git a/assets/help/img/scene-panel.png b/assets/help/img/scene-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5db5408a5737156b7e2190818415a4ec189cf2 GIT binary patch literal 27127 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 literal 0 HcmV?d00001 diff --git a/assets/help/img/watch-activity.png b/assets/help/img/watch-activity.png new file mode 100644 index 0000000000000000000000000000000000000000..559063fed47543f48bff7644c2cd7eb5ace6a5f9 GIT binary patch literal 16951 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 literal 0 HcmV?d00001 diff --git a/assets/help/img/watch-mode.png b/assets/help/img/watch-mode.png new file mode 100644 index 0000000000000000000000000000000000000000..ee3e5beb9fc9c47406c922bd33cffab4711c2ded GIT binary patch literal 17395 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 byS}PWWZIdBy1+v`7#KWV{an^LB{Ts5+~OED literal 0 HcmV?d00001 diff --git a/assets/help/img/watch-naming.png b/assets/help/img/watch-naming.png new file mode 100644 index 0000000000000000000000000000000000000000..13ee7fe0d0e56d84c6f7a67879189568091f04a4 GIT binary patch literal 56873 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 literal 0 HcmV?d00001 diff --git a/assets/help/img/watch-output.png b/assets/help/img/watch-output.png new file mode 100644 index 0000000000000000000000000000000000000000..e2eaeb6189d180a0a56350c5a8e93e302bb86708 GIT binary patch literal 23533 zcma&O1#lZt)23_36mw!bW=PD;%*@OjGs^6kA!cS~wqs^yW@e6=8Dtq(`Tl?JZr!@K zcB>?fYGzLNIcLsvjoznQVT$q+$OyOy5D*Z^Qj(&|5D<_};O}*xVZopDSEqB}4ZOXi zmJ6Hr$ zScNc(!aj#$6rIvYYs7A$OG0t4Dw!|Qll=lM^d%d|N%#}|q1y!fjpl?I z+OFIQJy5d2(b=(gk_2^DDK6JiR6@)^UQ$r0LV<7I|NCeE*sldq$n4@e005x2v9^D3 zG0W36V21S}@1StO9FPqYVNjb2-{}fWGuQm*pss&v%dZ23_yy;yyouX!K==6Q$2F~H zs#}5-G@H;D=pBJx46N~}@|4>8Mv9+)eW>sBBD>cGgGN7yU*Da^bHN_J^M?J+&9Er* z4=7-PsG~izzZ)T$S^(P){HOr?wx7;G)ryb1AizhX2nV12xzATq)&%+yMSg_46S6_V z>=p4pJHyK?kC8o0@bGld&~|fNeZU5we@K7_j%@>oi(+R_MMum2Uwh%fdt-lbcea4E z!NYi(R>7d*&f-7dX9u?ua>EJjAqTtaP!%;m2iwu7Ca!@8J7GxDb;F7h&EsYFI;PFD z`YvU_rge={hxR~G{cSdCeq2k|{$3tGM7kX4d=1!F+zqpx}h{{fgQuIN9 zYywpvU|-anm4w67pN2^_+msGB&sXHUobUxhY)}NA)Qz*QJ(wUU9#cgvs(sc>Jv+wG ztS0>13LybjY2n>?5eqe zhjwTq$6RYFa==y`{5D~)|4KzA4Kr=_Hof-D52e~rg2r>!sV(+eI!xB`B)nZhH}GXO zCzkM&YpT!d!ko@z3{%*0+85!0htulA&FcBoNkG6$iWzA37OJ2BhmVNs_lXZ}4nC`c z3RG2USk;lVf-BGSAqx{HXZeX`W+%?L7DNEufxZk9pbN`b%UVi{x)q`U8nK*V*dZI5 zw(1h;*Wz7O#K6B^F%Z*cTN?f@+?(fhS*Tm&bRtR45vl6{fv>AD{m3jEI~HnKtS4@D zii=U~)<9qe^(cj^!;ZSDxgI-li71x_pT}Rv&@`UW8`0W27FDq%lP&v6d5=}n@%`py zCGr^LMtlf4GD`hSGw@1zUEV*Bl=}q3XA_QVzc7yEIQK(_xqxQf@jlgG{CT;#j;3C< z(E0t1G^T5TXSKG)PjBvuZR%%?sl3}5a8#;zG9vku=il7}8doxi2%WihR?+fe^%u+% zJ=v9yq|2>&4NudQz>9RaF?mZP$2}sc)I`Lg%$k<$9hVY`(nxq8h{r)zz<5{MHU_y&-G>h&Xot>I`=HiT&?hvM?G7kVE89T> zOAG_P^+}Z{pY_)sd>Qz!y#7TW;plIkm62|@q5rz%_|;GDU%V*&|A`mhzOMX>V=3XE z0smr@j2QI4__9+({3+vKbLIcpoVRf~;|=Th0XCAo>G&77Gb~9R?QRFSMSZ?zrDla0 zMnuxnQ;V()FbNs(h%$v81#7ftRHI3jm`bUt*6~{$Y*TCYFwl)>kYc&nGgbZ*5Ku!60SkJqKXQGzGH zUs;W9xLLo`@xP|AHLNFDEMA4oV^Y(9dZ>|>;FX?>Tge45ka%%-tWI0|bnuBTt;38j zV`p8zM7zWo!%7?@Up~Q*JeDHh}8O7@6gUvzeJcpZok2^njkBJz!cEV?wsy`EhCR6 z!#UiRCd2im7%~^u#z1p@$yx7<{Kb?UW!3>KwMxaf?jzyKcrTPEXN?`)`kQ*4#bNWk zttLW=^Wn${=ya|$iO=U}Q-RvH09VPriAde$X!F-|Y4)A+6W>~gGnB{6`(f7yFEb=N z=`hwP8ep@W0?2QC^>y8QyMXklXfaX{Px6TczgzbxG}c9J&EM*dh}5)-y#%P08frfODSb;*(Y7E0}uCJ`@+LoWb9+f zs4w0V=_Gfpu>~aW5z>8Avyh;7OMgesE77@=I9iUC_IL4gJJx)E|Ik|30U_ABS;@+y zqq&FqLEZk}1rkbI6^p^s!S6zE9KrKPDI}uSrI=0N^ALAjX72v{p;!^mkVbj}SyL0G zPiPQb>~3T8*#=3gw1%^2ubJkYHSxityIuww1Jk{mj!wqJaA))DlKwo^xv|kqh6~Ue z$hF7r|4tC$6>{x!pRJ~*5pw-JL?{t*o+K*0-drG|ej#?m@M8#6ge5fD2`a-{C_&&$N$CWGNee%z2`3B0!+B2aW`GuZv zNs3ZM7|3VN!(+*jtS0D*;m|Fr>fX97u9|(r+k_&X@9Y{hW4qwl`Ng&gS7{lg{&2aJ zmK)O#7W>RA#_mJ&{o0|}Gz3UxhBsBZsDfR;COw`PUXBi%w`=Th;03$RKM{{Rk4j14{<90nZT|yaQf-YLpnUYEN`@pf^%F=2?It< zEflG1q)ROUbd-%OGxSiBrC^8oo4xxZ~GH?OHgE%`eL z62j3T9rYt#eo=bw1TcW>61FL0#%Qw%V}zW9T?fFY?{+b{kKXr$z9@azbPT3Kf3oO< zjCY+sw=Kvlp*7{Rtv9|catK)LKBn`picJA8gDP7__;j4{k@9 z9DE~7aB)UGLX}{w5`)xr?$=UhBAf_GTXjMx!IL+%Nq}<3uL(E!*3;ujvdqY8i*aF| zDeQ1(G_)&hd|1?Qu6)3y=SG$ReDVCi?v2R^m_4%6dY`CD z4E8HKnK5m@p=f@?wk6OFyIMuLXV5_+IEwF5SHyrRKjAlDvfG!;aY&>xg~L+0G+o3% zG^+>AMhmUbcL49r6E%?EUBAbU6goCkuVn_)hk$+>Fj7xh))g42s}T5^DBybE@e$RA zGx)AdWXYn)YbP(INPApt79(s|Uze3mf+U>?jhu5@QE~wGwvze{T4Z%ky zkT$S?Xr_*AISu#FdCW!=s=XbP=UrQ(xXbNI-JzHG)Gj2-KlhMiU!@J>J}CJNd`pyv z!ZZe1@QR$a@E$juAapAP&9r*W7T{gHd<+&L;Wp!<4e*6Hs?u7f^z&S>5$MV3PlD;ds!MX`Li&}EF>ZECNYpk*bhzol za-C_>@5$lb^v}(jln?GbSI)1C(bNJv#@CSOL@!Ez%fL-!Au2UL1o~Br=BA_@tMgGV z0Rb1A$GsLAZ|x;}X_ag=7c%PWwsF2oXo0oA%oQ>ww;XsQSY$EGrv>C*Gc{Cno>Ar( zt=J7ETFF+Qdx5vNW`q6;oaZ!#8XbgiA+IV2 zI+in0Z^;*9_N8sAwQH0NOSR@n3B&hGxdS*BjnB50H$q)0HfdG{Z0gu`C2-|c_ z3l`c?%lqE5t=w|fq&15`%3@jq9cj+2#FQ*j7b_Y4IvCznPv^+E$Ge zAA&L7x?Zbm!&eu*{VpjOYff`@TH}&u_Nzqc)$zq+KHB%Q&p+T1m{OW+-uy}CMono2 z2*Ou!M=iUvbQx5W=N^B*BWpKMkIjO*(d^k^)mYFw?D%CAk_rtkHae@0G_Q2np(_qT zTUB2Wu2?ONZkB`Sxmc4O~5FJp6+OaD{zYxO6PldtpwhGD=1MZCvQp8s8)|ur67Wf(qtP<8JArUn_*b&rZ{ysLf zR&XYrUgzo?1BU{1qa+0vCj#-c2X0AhRjYJA;{=U&b-n83;UM#w3X=bPEADVw&XF@G zA|xMuWY>P*iGd7w+G}8GY)3vyA;W{ePa97~IdG6#b70wK{}v%OI9rcl8s26Y5EOc5 z-ilVtzv)uA@xy*mUKr!I8-115bg2=t<+Y;8{O4`vm>}ROi+2H0dDp~PAu0S3uKt26 zx1XKCm$5ejzy^a#ftVg|JWBRTc0@^uB-mKsF_S`TMiTuSQ<(~eb5jI!QeFw0RB;$n zzICeDM0$T>(wKYHbs{%=iD}rVk4;8DoT>K~V}J8XY)Dz%?e9kmu}5Q3(6k_J3n%0p zw4%^0d-}7l6jN0h^@Ic%j4V*%YNyY48l1$*FF*^iZOldXy7(qoO0SZ(*$G4D zI-$Vjl$dpGzx>sUnX{;*T+ESzQmudKplFT4`*^M9lUU}1MOk=M1ace)`gBJkkIps! zYSd#?MC~aiPU=UUcW#y+|{2p<0a3iREdh5J>IS%yQJ!;B<-M-$X|J=jfass^eLa2Lm-whACl#$v`tISTR9J)Mo_xgb z=VB=W42B*XqjG2ur?|o1jq!Mxh{eYivZG>@kbgGras;oqj%Hd@@=lIKES2&;M_W&Q zz5D()VER14lTvm;@r59+;rA^=hS$`5>o4>%x(pGoJ+lsXCl(b2a~D0CzJpE3*LyLh z#~6a1-8(Hlk%_fuX1l9g{Z0SvZUW1-T!<|ij8l%v9=eb177G|ay|MzX!_L=%5)C*7 zO@(Rgs;M^iEX|1x5?|(A;LDRhC_U`f1xxg$`}<);wn!_6DU8UsE-eX90hlH5;raRN0x!-M>1OGs9BVde$;9`oavXdlKDZ+CjYHitE1VyzXkz`ZHNp<1&WY-8`9^nQuHvC7DTmy{6PjR+1o6vL;#)sqdL>hCpH=rjusI39I-gj2? zk>OL8io>Z7zu%Qau;bx8*~Z9XovfHfAX?Cs)9c^vRc=iyY5cEwhJi)vsjR9hq=tFG z+TbnoUetQZ&L=0>1-^k}o3BzYLBY6KQ=PG~64kYkxo8chBoZFJ;Tnwvsp;Pia*}*v zoL7`tk}djM9HKsF@Wkf01ew)mnLBu=HMlPD0B&AF^eg!b_l0QW#`Fh(A%*oT!-PBu zI=^6(t^*(LD-JH*3o*t2o||q|ZU%vW3y0`BukfrGAao5?QqmaYUWeHHIg1NW)0zHT z|BkZwf|Tz-g?0ZMuqRzB{p*kJU&~BfYt2eaR5L1PyT*cPxS*Oilg#aN!7J3L^BVzC z0Q)lW3Gy*rvc%M9A_ei1`8<}D-OO%`#dV*_`>%~*x-s6+C$ncextt+hjLWk8q$9dv|UT3T!!ULWgQEA zpuymJDser~Ii&lm%^FLxY-G6WjqR7K<^W|p4QK+;u%_Nd+*H*>JP}OOgkyy425&Ja zo-BdQOm>UjRu7jwc%?&LWLb~}v#F=Xf;p#*`9T*({q%gu-Gt&SDI$QC+hgcfILp@V z=~$^Z$`(&zfr@tc(s?%COxs}4#P0Llb_%5Gr5*4<(r?I%{|~&F!c#3F=zOQ@0aiJ(F8~(4s*af$a+xcn4*uicErn%*#Q`$ot%W)eYvbA5C*@` z*M_r`kv1GSDIfvD>V`NSe(6(hw1}~kpl*KsFf+bjc%sRrsB;%cSc@_oKS+9gb+rtBv!kjM z?hkEgjX{?vxR%YrI&){gs3|$RvUaEGMpim{#TKv{B|#4{(Gs6usA&AwKGtB7n8FgF zVNbcg!{S%NMziuUYoNXG6wt4eV1`nVU&^eU4o?$PE@Rw9?Tqsbvv<4tqZB?+Z(}fV z)Vj5FO^Kv=oVgX@7c(=pvlh{_gqCPL9kK6wQby?HJx8iT-1}x%U-@P=5mUy zr-HWHfW8;dySEUPtjVW2B9Y$=B_?aSFxyeSOlw=F{rzh2C@aQ%h@_e#59nY2#$z0% zmfux(lRw>E*avaIj-fOUh!nb6@7l^fdt-o!IWpZ#Dt;`zIrC ztTXDm?;w)5M@>i$cv&+VLiL+N=6w!Jk%Idi1?l@JoZbuHv-R)a?$*#Fp?P^+>>iEZ zKcs8(FO~t4N3uWN7Va#rrpvOk?>Uhb&l{N;CIf`Bx$kyNU%R#we0;0MZb%vdGKu-I zWU0A@h)`iM8QN3#L$wu|N5fGi7z+>$BYL!%u4&B@^kz1;0>Q&oNEd6JlR>}u!?4O! z+%eamRGaBixR&sG%Nl)WR{3MMmoq2da$$3~hU~T+`%dM|77^bhE7fT6RMO56F>5az zRE~q-vMoJ7ViprPjmP88vuj5&u5R(}_#Jju{A(li9sGtTQyeQe;)8ywN*!f?MU*gm zJPf&D=#x<~MQ}~+?VFZH_pu-(k*MBrOjbZeQpI77xjN&?LIg7vR`4 z)Z#ami2=)uK5udCFht10V_6T8*e$7u)5lB})9bzk7v|IBEpiGX^3y9|h4k<=Ipp~G zGsc<93CTaa#g)5^XK(LF&dhrs=JO$qBBotohV+aD%613Ktr{s?20iKhmMPV`1}e14 z14sM_;3f?CQt`FgVg}>MPj2Y!E-uH;3J;a$-~+^lAVH*ct2>bb_FW z@|U}*V6ZA3D_SzYw|glht7;NG??I-ZQ-R4+?1o-t>mC{*=fx1QXeFffp;Lba7JA>u z!HTg*0HjoMZEYZSo52lV3?H--uhk5Ti5Y*qdhmc^Z)yVT>?WO%Tq%U4)zs2+a%*O?#pg#f zB*Zn4|1WL*#*OZu4en0DfUQtcsg|~*ALQH!- zXm#>2N=wGZSAyWFOTJ4=)8MaJ<>4&gI1Y8|OIZVBp^jsW@`v8>q{%~QUENKl!3@Sh zv-kZXI3YQy^W*aL5CGoK&2>i$lLjxF?{C@F& zgk{H^pPV^k{(fJOGu!4_(+0sJBu44+nIAC_EE{$ z%N`9r8Amml>>6<7s`15Y|D?|1y8$MCDUfMKdWUsDuwG5L((mWZvvT@Ip#r;5bR8fA zSDGUAwmMkHZ(2*W9CE;OILDUt)~^YoS+dKJ(ox`IBH}5Yos;tbq;vPTBWX`&0NYXdcIY2UU`Jtv+xeHNLm$G39+ql<+UVNwcy?5pv2 zD4x{iQpK@eF~>qcy`L<|3E7XwwT8!@Po~&cZ2h(>Y@CzbXsoKiT^@wL!XMoB$c9}{ z_S@l?a^RlU)}Xns39D{Pa0(02R7~=X&c;$QOE+%1E+TY*3f8moHfuZEtFUX@(r`5*i zPg$GK*V0O!;!Zi0LXB3nQ$l?S=>FoS5!4Z5MpMB0Z7{o^;#-&d5nZIuizI|IS-Ikm z9q#4`)#ChlYJXz3*gNG`#~=RD1SFINGBaaxRpk$s?^9m#7aWk^Js0}RrAayb!INsC z5X8@twlz0!O4Xm%aD_X|9^}^iAQ=31i$^AYZ+_}WhxB2O=_hb|@x-rd^T85=79X)SkZh;JV(VHaWtASjXf(Lw ziIo#$DR0x<`BY>DaGV`->m-Q0s-}?YVfvNl(BuQ1|G zMP;c!awdMEHI84$JtSQyd4Vgk59=H#PBTu!yXXIj@)pQl&4uRfLLlG`J|BhAi z;_u$!>GeZsuv}$j7RPn{`zN2bFqjZwBK%h*yQMqbqC%gnh0z$P`7r1V-X@1zj{s3~n#<)O7oEnT7UIOidZ?zlhN{ zs)on8;Y4dHz1F)}n7@Q}_7lE)A{p5eRMDG}I7Q-g>~f3Cs%q`=@@0TvO;T{5Rh#vC z;6uoKxaVv#UGeqRLtM|N;ht>}ob{4JwhVkS(q*`{!IRrQNcrm2fqpRNmRzjKm@!F3 zWNq~ApXixW7j@pV$;lD7I28~iDDZAfNo9Wb;_AbtaDJ= z-O}c&*J3x(W;;^h`7@~k*sN5ycVyU)SDFBQfxf3HIm;E0t8F(&>iaLW5JuDK zLoc2xrsBaj%SS`RHd%g!Br~;n{9z>3GNn)(oo%z+)Y z4xXesMvQ_j-Tsjr7qoBtlc6!|^N$5vVM53?<+>5l&5v~)q+rc(wG^L7mBIgD3E7_r zR2rx^%e_Ed;BfYQ5g9Nj!YbVCS-)INsE-;vV}jtbl1Xg{R!yzO)ZgRhk$8L(%L$W8 zbv0o}!=%*^93HQIP>9+kK-8u)P(#gSiu!z$alXuF@8!^Nw!45JvxRAzfGXC>^tSr> zqwh?p9?)o)YGq2~j}Y&0`E$+~vYGeWV)l7fs^gC}9*^^jyV14wmrP@i$D^L|CoxRs z`ap4ng{uDbp)a-@;lB6QS$N;h)PE>U$k_&(*IsB&)i}({ZCzW*hV56ZsTGTnxJG-x zIlefIV#~}ryjq;Xy-n4ez!3`cT_d=AU|H?&I;UPkP12QPuiT29Hsg$u8|#qASZ7VO zbOx$KF{Ccc2UPa2&DKbncdhHBV?O8-MQX@YHDYrce<_leFVLAs1?6r^e%kcBp8spb zNzPEnATc@jaqZNd?fh)PX?=CLrRvk#^Rh7Eo2W;D&a5}(=uGD1x;a!h;N&Fpo#G){ zckLPr&VNs7x2lHg8lT>DEcQwWN3*rY@|y&)svybf6SbGEdalDoM_5t;jojoZE}YBH zsn_3sHhMp*7c--345B!rJ}%c=#0d;`hQ>v;=r#n7r{8PPI^NSSdlee~bXGjJ#;uIk zZ}hn?^5f&O%XZl22RRzN1CfZ>6Mek9%y!od^sjiba=0-iQj`eMSo%N@h}Z3C0Y>nK zzCDIU8~*T_%>j502=L9#yS}>ls;$H$Bm1SZvC_@UEX!Bi4h)fIX)jwf8}0@B8_@+YDLKe z&$pVlqt6tCcQwD*yg2ybBL0z+b87a2ye62OkVjN_EDo&D&t#p(otT8uoKr3BW&$;Q zQf+yDPFjxD^l#jWQb%iU9>1zde9K3lo}O#m$IaAzRMPM2efOtXq>NSK2_D2N2d7<0 zbUtw~)(c_#Mn6Y&mX6ES6>I_Vlu!G%vAVUgDCwd8=sv8Er1eEvJQhR7+WT~K{d(}c z*}_Q&h5DTfW#tLXtuMwX6)Zc+Aqnx5Vg(cb`VaV#i$@Vl53@1mxxVXsW~K6uGu^g1 zw8})#HM*#1bbDJ(eGXc#rKJ6Z>!NC-j7MgGEi)~i_o=yg(p0QG*cnc+uhPZ(blCQ9 z{ortGHAHemg;q^k(>$)C4W{H;Whc1Q(&2=`ZLJIi}(x>Y>^~lmXE|9O~ zPpP34V}W=uI>GD5}0 za%=3zMQU5TyIYrb2GDb7Go=MqPh()BNV3N-WRY(D{z^E!d^DmoT`G8d;3LI;jG33_ zNXnvn#%$qV%l9oWlKEHD^x_9JiRj_k+pK1XF7@nNph69&>LBi~NESjO6{>A{eCmUp zZJS~EWuy)cN4|L-Qu(2p>>RnH?1+{J1G!rKjg|n0E=vhu9UJ@u!3bHo=%T87Sa|3s z4c845$#s?lT|Rq~@S4zbSHT=gy#ripGtiu)BT+hN%Im4!`Aq*H`vclznm=ODikN&Y zknC5(?CvU00fzt)^wDl32q20@o#-s&O1t=8F<5UWZdXhwx$4U%gEZ>R`e6HgE5w6k zrX0a(`h6UZuIy{`FYFf<@3|bhYFC13*Tr{J?QJdmD9jQo%L8EpnTl8byD74!>cT9^ zs$;*51A3vn()7_y9_Sr$LRTDRIQCU|R9AvtiU5_hKbWIgxv7Qv5wiNz9oPs>27Pm= z%D7R0f!SwN6c?!yfVOB^fG2%C-yfxRN{S^SvR0PjI33izcq+vabOI@JlRAnZ1j#@m zLb zB#L6O7fO?JI+!;UAx&=G55*4qNX8G#oT+D?)aA;=uZ&kFX$dXZSeOhA15FuW3#lAL z1A`qEkWJ63_eNE02}L|?j-D2bNr5q}*0hE{eweV{mg?S`?j1a`+C8%ifdqOSK4hEt z%~DzKSSK^N9C0lT)Y3O-p(xB9^~bihmMEA3K)=W~pe30S)^WTQa22$NTfXiBuxM4Zme!f#93?0MWj zNtdTJyNnaSnR)SkRax|X{#BiqP7IHTIR2N74)-vXQTR&db7yxtkuUYs?oEJYEs$nu zL#lNs`HOo@Y%G$;x;ANhhbzu-%9gI6D(q|ruZoM~`M&j~t-br@h^7f4Ba-yR5>2ZvFYJ54T$5(L7+T_H;>u~Je&dKq z%#$Gf$ITMntI<3dFvc6zyf$k|E(GMCy%v&-C%cWEOr-05aJ{icFZisIdHbvSYe#X& zsflqj{KZBRKrOnM$CPUw6qPbu-(?;<4i__)U=+UA@Ib54$Ghp-0axLW^&() zA*`CETd7MnEgo;2@!etzUfs}lwsk7pH_>I*{nkC!OJDE^=yT7kak|bmnY{Gc++nM_ zT1ntsmyaMOmhP{Y>}^hyoiZG&(TKQ%z8-qzk#Ili=6qUe)9f=*~ zK`JF&!ePXUJww4J!A9+meI$(GAnQcuw5?yoA7vcmk$~*r<#9l1if4Hrz4|qi-{Z$kZl##h?TQVx z*If2(Ed{3|RYXv(t|6#70Grbu0TM_wnd)K8*If~r`yNVkqSA~(*yIseHR#s8&N7;P&SWO|XfkRWRiS}9 zIAwojNXZk~hQ+8)h$WDjt^0|G@Ub`DB;ld_zwxn&c)c|C2KQm|6VIp_g0q#At!RdJ z)!un|*wNo2?{y1q-AFjPh*M-}Rac9J8v^ZI_kRQ##RPVY< zf%0kWf({T3=#5o?C%XkE(Xen^`k`=rz)kzm(d3(sMk zQ@Swd30VYK0#NRUeZ|*RfkLKPxaa+-1#b@Lk8oX(TeO7lu)}ZB21-d4$Z%$Y^lNEc z>&^AndyHl4`z4#zIxC&yIki$iA+2dpjeQP9PW9Tv5?%Szb0^0iH9f=aOIfo|hl;PG zMYP;n{!@HbyO|4S52l{=ZZ9q_SJEH=?u~w#wIFUDkJn1UxWbkv_z60FY9NS}Fs0bz zgHxi4YiGwkx}YRsJz4tt23@qRtstAfZC0TK~sJLSG0RIg=+E6 zTpb!v)Y%1gxBR~MdT~X71FVQ*O*DrPFS_K zxn4X+Jsn}MQ5qeO+&0@T6qf0#m=mj7-<9I>wjH7HWR2BPTv@dIz+lO-w?I;I_WZhd z0#f^_txgpffI0afat5+_HbU9dK(`ya2ZhdW3hY&%QA^5qEbdr$S*oFt(fYT%P;gpX z2<>@p&%2yDRQ%SvfxRc3NkgTR9rVGfk%&4)Yyd z|DbL99Q!zK8ND7PW&52`*?fUHm?>*%4;Tw_ZbwpP#3k|tObOO5kL_RMW?+U*rx5*3 z=v`iFe@SBj2sq8XFc0NapMgrGY0_E7yGqvU77!=*fT|xXdWieWcAr3Oo%em-Px<=d zT%(YqeyQkpS`9ojK(+&N0v90guKPg3k?&8ZrZYzMGk-ARODjg{u4*xix3;Gv;POX) zww9mF%Bk%x@P%ut%LtBLXusrD&HwUv4%KCIiNXoJKvRQ$dP z{{HCz+bH;9{O@cV*87ViI|hj8=)b{D`EeP%|FzZZ88Rm)7dj4M`Xx|-A0y3)iy+*q zh+-C;(~tCQeur%g7S*xB!1%^$)NMmZEfK#P>q1I0J}`g(yzhgCUsnzz?=0rcpMYh4vLF0=5>#4r z@Crvme}`vTX_G0^WYYf0@ettBfR>gvfh)j&68yQd2(esIjq-_E^rlRhf1DJWdn}Pl zg`LST@{NjgsdU_e9Woh*bL^ZZ!xhZJf?rxb2N7c6l7>)yyPl;fLLNAYOkLeD1jO+< z`=7F^q#keeIJ5Dj@SVMa&Z?r(^JvEQzp2=9o&4eP)&~rw;5vn%IsP#fa5X^rp#PxN z58`v5C0}zUW9C6aYvYLgGVtJw%Uaomsic(WYSl%AiK%HZz*q^-Qq({OTnsTVDEeQ0 z?@)~Ad2ecRIlhOzhZU(pR-gteJyyL&QX@Cl##aATua%};p>FgcLg34^_5WGU^?!m( zqe(9-u*nX&c9uGs_gWDN&3hP4A*nd-%;X&E4F8HjQ1>}&2&~Ve+oR}pN_>LOe>u}y zNrV`=bR2p!lxTsu%a=enM^+53nn;nR0BzGdPhe@M^&Iu;+MsjJAwDe<>_ z{4vFUNiAO0J(NBw^Mw=~m9GB& z_3H$qlaROe=D+O#*lkvZpw0U6UBq5ZCyaL*xa*}mUV|~QV`hQa(#cH8lV}U*i}!?| z-qi-)(ORBLl*^w|+3et&7muLm@yIi|{fSSEJr3fm*rlsK4=742ap?19mt;e$Sg9 zr&K?f?bfobaea$AN@fvqOMfTvLsm>0a0RAbI+?wRN8jT}q$#`DGr^j;QoG_xey}f6 zo)nW@PQkOk+EL#DLvnLV`u>{Aj$Ms!JAC^COot=1#l=#WH+!wCAF%knKaxR&Y^b@6 zi!mqR;JxkGG=^5_AroM86MX-cPlLRDJD?x6KQ}cfo3%3;#ECrmk9Oc2Rw`fHN&6>FZHgd$5cO#2ohj4D#0AFIL(``A(tcPE zKn-zk@2v|Y3wUK(uI_k;uLe6=Jzxw~G|f348?1HeU>hGRy@Trw1QbLIOw$$8tO9)V zWi0U`p)l*(O2QvriDA8uLL{~aU*qjC<%Z9DkyerbqT7&Jme(#q_zj%G^dRP6D*zO6 zJhy_kX0O>|;_3q@!5sUTdOyUpTWg5ri8Kz#Ruk0s%s2KkZWP1K&cZsjj=@|q0TmNN zis0v<5_iaarn_HK^s48tYykouA;gdW5;ig*=W%$Qh?Gt;M@(AeYEc=?-Rz*Zwg;GB z_kMC($^m>65N%D9O7XAuU3(_w4sV|=W%YfMEs!I{@EET%^jT?-q6uNzQ^TK^(^*sLm z?<8fz;Yl|^g;51^rq&a+VkFDyWNWkA&h4C>ZXyxqoM|l=0yNamYBNBhu@bDk87xpJ z4r15gUO;E6uUP+or+%OQxX^r6_ylw6JJ>K=CAk%5ov3Tgi#4MZ)(v*QA7XL#3}*_Xs#L<6!rx=-d_y)AdHOsh$SpqkN09G8e_5q8Hb zCUe)*Nw&z>lV4u2K`i<6cA2&0wkax;y|M(VNZnsIv7K4bfWYUQyQds%?4_(6)M3b6 z8qJtzmu;593(ehd?}`2Gt^*)7h1SQofp&Dmt;bdA#8VreXWQgae7rk9>J;|aE(eyf zgAHoe7Dg6^q_bP$mVC2EWaN*4^TPEwC@SV>ACD&xx;Rc0$eM3tgV z*OMh_0grAWFyGol9qDv&@=5nxuwFc99k>Ej_>Eaz3}4gtJJ?``2C!{lSRVyphl8^;pnNI4PZ^8fqc??OC?9< zz0vo9`&LuBk_tNoms(5nNseAHqE_YDR=+1S`sb}eB>K1Z81uP-?2VImICH1>K4YN~ zHHHDUrs4Ux?nM(XFYlF(!JJ>lV@@|IOthTFFmHGb7HWwFcfMqQt&qyh$lbQRlC!C$ z`qzR80l6nL+Uoj|B2cu=sE)^GhWZRPs4Gg1QZ|XdVQBgAg38G3J=b;BGo>%-WLg$& z<=$41U+bPYfpoZ5_hL)5E3#e}u&T_Ybj2IQ2B0OR09*^v%#FTe7T2&we_Zb%xd?Xj zTlH^SZo8L31Zo)zLTk)1Ac;%kS=x8z*b>+)A&Gz=qpJHr3rYB%`3!_UZnL(>E9 z_Est_Cep)Cmgq67+9kuN?e?BqxJ0cO{kDcF*9yND{rbHx`Eb~%)MT?O2=EXX@zP5l z^jA9)udS=zIr$^Pw0ZE_$}?c@nL#-11>h?OYa{{>@3!hNLrUd0?VPzrwSPE0lJjMi zH~=+Y9NuU(`sNUCw94`B;u>jr@a`0I6|U^44m>ghyL~A)_eH|TAs$t2bm81nh~V`10_bN-?)&S~Cz3cp?A( z7l5=~X-GlhJWsQZ+@}G$N_X-c+T<1Ll}YuuZ$PZFewxyRq$qRv+Ijjos?m-1#yx6_ zjJM1+ciWR;w$MXsLrLjZ_ERfCUq1wfiMYgLeq>HG-mtOLc}CO<4d%vaVy}w7iJ(j* z3BS`3D-U~!bO+gw_5`Pu+JfO&rL1)GOptoWNa76xlm>$X+46XfICYap#Cvsfu5B(w zd>L_?*UZn*0lw{B&8QZe@-TeP)T1+ozY9U?&>YbufSH|k)}LGJbpy1<=g=f}u6TnR zJMWxE@1)MXvWGUUUhB`d>m{#6gIbcKR`$pdT#%ayrj&F#VVV5lx85FeR~Z~`6a5o$ zbTp}KPB62s6CrK41ap#65fm56VoonQ^3=;5LABMs4BQLPNgw*Q(j{i<#KBj?2-vSs z*Bq)P%lF&I*^MYT2^Gd6M{nx0w4YIBjph|A;WZ~X9MbKW?OtWe81M&r)IFcPGJ^0N zsLoTLQH+}p*uAFAu@*^bF)6xCy<$Voq!AZbxB2C)C<>KDlR?r@W0o*Gyfpm9h-ucfEVGtqX{&aSJ9px`cnNMn- zGQ)HEKe?l>kW?&Sz<|9^X?(%Jg;#pd(HXaAT(J)xo?hx`!>jL_9?KBEY&D5QpW1$Z zBik;Aw9XWD_n(Wh!y}z3H<$0Z0aw8wR}pHSzrJoEitn-Emi48NHlM)rXiBexx*@lt8_yZmj|-Uf{BSA#(E)m{UUX^Jnf}<5-Eq znPgG;A!D*%a72D3v;HjLIiBOf`f%aRs4C74bz7&{ur?mC*r(y{(S0@zuJ{YN=uZ(8 zysM3m2#=GVy>2mGykGbj`rylBQQ}8C)47#m?~l5IVB9@(^y=9C-)VVpXIjEYl7blQ zJIaCn$-f$PR}Quby?DO=vNm$-4z2bnz?W2@qG8i_Vm8wQRf}Ei!_WG$8@=bZX0Ax) z7*oeRAi2(B45*pEujG#koW3Vb5*|p!MsT&O!Ak;jO1uhk;BB%Y@oG9Yj8_}p7)$-i z_=%C`I!s!kE|Vh6e%xm>a+1qJN~UL1H{j|=X12;csOOHvDm$xD=yC8zz|^2HVY zabXFUV)ERB`W1mA?m7LEgxz0PT%T87YXu>LR&VS<$6hgJqer}<@lu;bwD781qtIcR zuDG$bqtL8?YHEKHzEd)c&gremwe6N+_&Po^Y22?%r=xMlMef)7kJxt$e{x*YQ-Qyu zAJP$6-TgUAnbaxG(jWX9uP8!Sm0;U8W%--9ZS1l~T}z9*a%Yh*!^4>Ptpue)U$H5H zFB~^lDE+UYOU`-~SN{ns*TVJZSFwrhgxEVZxyUTuM8XC&wv7hO%NTkfX+?NVY zDnmSHrlg{f+)FFfM=x71CVk`2abxL6Ia>GynC-Y%C~vv}ETNZvVfZYLkQeFWev36F z*OyjZYrCGhW#!vd*`sCPT>mZ2Pq@EHOWo|yDy`^>I;C2!C-Tbp-rV|P{%0Qop2yhj z^fJ(fP;;BA=-M`p85emxxd-k)_O1P@Ndr0B*7I?x@XHO(OJ3AGx(KCY-d7-hhA(qi zVqBxJRPb5|QkVODnfXIuLB*C~0P|3=Kd)@}#zzoq%oNAj{D!jnv*3g`MO}j1Z}>|d zt4LB7xUWnCp$T1^oy!P^z{tFDXhwZZ^f4reNn0PDoI`?fGiUKZ6scRc+nLRfdBix* z3_BZleu+b)6&Yq{kEL0)62DKgrY*;(7HXw@WS8iYkC{ipWH$}|2KX^?&NN%HY!dp5?vY)l>9fo>8g zd@zV&!bGe1uxYRm6#}}K7`gTq=;BH-BC7zV1Yw^yR;3Q`?~*nJcHu<8gjug0*J2RL z{S~PZ-_ZeQ^q37j6NoBITSi$!j%%nBgy|l>RN;)pD0Ms|9$i}{BMZ|qwEoP~g80|? zi}@(l5}btKWtY|aRx?WFgka=^#n;pNkFbP{ltnk=k0jwgQedzo1?N!`I+g`vj04-R zm7zgy?JZh~a)e!9n5kEpt1Azy+NkIsD)s%(GgDCWC*mbK<0BMMDnT517T^nQ= zYt7$71>)1#X%9G`blh@)KzKqE^N@#st@!gb!FR*ty2Aq8dY`-A5uAtu-T*1}Fozlu zf+K3OVC^8U%jm{~!SH25Tr`fmT`53T%lPMAuI2}vUsbZ7kN$@({AnjXfI9S*ev$1 z$Zp@|!&E!pb-uQ>cME>@lGe1FsTx9QQHC<;NV=o_4t@4&?=a~W)FHH{vR)*i{^KP< z*vyc5N2SGYCg;GyQgbL7*0*d?q&_#zEAu6&RcLpdl}*p@(XuW5?OLD{dSLS`_jgK? z`z4Kz00*v@#W-!qK#Ns{&3nL!jZF!eeTN5krg&E^NY&t_-%G{4)}gfNKycWpbx-zC zA%hYObo2S+3f)TVovc1|^Ha5$r&YVYE2(N?45(xMGJJh7L!=qwsH*By0~DpN zAWT+R0vp2hH+3Eh-kBGRdd$~qg@YG}uX3|trH0ScqnlD2Hy`^Uu1Ic9jENKts=)7y z6kU21MH+!o?!-_ntSHUV8>**bNyZ8#3+c)hC^xgK7v7-=dJT4Usi`Xs{!ZDXA{YN;QMI|zL~dX_elUUW?2!? z9&#r8@Ai%l#Tc{8cdmPg)cE4N8mfu!QGlrg;V>ypw2%WhZlT^Q}Ul`C|y zl4#yn=pl!8gMqfn-mJz+jbpIG%ou+?)q;p9C^i&fyVH^!cc8ChA#do9$)wp4EVrBx zeK+({xlT0SZ4Ya0pe3cv_O+w?-1FtJJC53$8)n@PQl%Y6;IQL86yn8ECx1s>C|Tp8 zyD4&g*a9JGbw;-{Tgw!jrC75vhBS){`1!3BemY1O?2OL>pEB+_N5*O@Jm^tz#5gm2 zX4Eret*(IYl)l3pQ&0nx&?I5bTP^bV4c$4qGWE69d89F5xJC!}j9h>+#=+_`lv+GvIDM_5OD-?%niv1f zCjl|oW_1v()ZEmfdEQGt!kN~GwEsZ`5`F?{;B*Wn%0KM?n_9iiukx<*F8%p^#4G-R z1dlP335+fn&NVx9DNCIKf(sv)fxh`?(W_W0COhAhD$Q4g65?r2R}Zvj(w@1(;zYcNj)sSeNtZdLdtsq0k02QT%EFRS#8jX)9Z zseqL@W0@foz!$WZP5rylmT<7ZUkRnsW2|RwBc3pd2CqWAQ$Ots{082u(+-jp8yDlc z3;oKm?mhvhl~h|E)IBw5a%D)LxsRRAHT_ng=*`1%i6h{6tO=j9=hfaAvKSl3YhKK9 zuVaFvqCXfXOEqT!+LzJEhu6!owo62FvX9uvFW&~HU6xy;NOtqeIT!<1dl0q=s=`&- z$i?+?M?#|&f=T~#4h5ms0srgA#|}-I@QQ1at6OVf#~b{YshK!{%;nWdFB^0L?w6Pu zvx8MCxc;?f>+WoLt;GG{T2Ii&wtPy`#k&vS)>|Z>o}YKtqM#$*oeSGQB-x9pY)<~n z>P?}qp_BzFvQd3as2wW($UYc_||o&d@sefBJ+$_&+))6jfcEF(R7`0EN23j;GKpf z2CDk|CJ{}OKkYF)AM+S{MP3VLwIBE6OtNl2eHddijciduEE3JOQJ(ux`^HiEuxf{A~zNRF{ICGPgBh5s$Dizpv5n2Zq6j(pisJ5Gl z3=gyChmMO)4j+4BC)%e^SKN=CLHo9`p*r?6nY}r(voHhsBij)cv~S-^SiyLcwwR$8 zoqRnSbz|+qP|0nyX-}ea`{E03vutd#V)=3sSC@q6_~7*5pqBUVJ;QlBO4QmbBMa2YGw=IQovAI$q?&b(a<6+7srYs7X3EvCLV!l zHoFnx(T|EYlKHFA;2Fy`ji%xyWt-J$<5aLCfyHd^l!&DL zBe0^iTAuR0xR@0M^>o?b6%W)Z_C#QOXst=Z$|S}gU2gRnaV!?2BJLW#s4FUw{k{*$?} z^YTIXxVqScN?TCek9C@S)MZ`R{-NoRVO82_`Kg1xc-*Hwh=9{<2(qfL871>fmwo=hSwcKV%~F1$`NiI8B2A=TfG`oazS3%BkgbV5kz(wEuY}>8=k(sou5U4? zDLyy!p0bXjwH&=!$Aa#%i3g5ji5pt)4i`GG=5!wPD*I(oD%2G_!nV^*9B|)oSC}b3 z*86LD1r`W^XT?jE=d;9(Xm3tVrXPR~<)N`*Y7GU_;+6g)*8)7nY}N)%SHcoao_W*D zvw0q{%tp%26t}L23g7`4lgpZ&;n`WDeyQ;nSS6BJE1>k59iu*Jr6||1Rd3RBO=G+1 z;Fq51SS`}AjL8LX5#r|W@QyM)p zgo;}Nh2luh%=qt16G*}CK#Zb0qs80)dWFPRc$&MY(kL?;4nX{9%phcV; z=n3bKCg5w3x$xUM@g=VNvp2tPM-F0>+-Em6Z}(+iOxM#=%n3cSn5dj~o%#1le&-Ob zes1=Q(LxZOToRuITG?IN_o1XQy>dcnj|;bxCaN8U=jL>_uY8|Z1$+S zC;J`)p%=Ip7Db~W;gN>cUaXbzS|b*)Mr))|WG|_IELg(C4=?XCX}WQ!6&Jg!%bH{* zS|QKPW98-D?lpIN^qHA&D`{_1NC9Out82=aW;{;kKnALo#8UBqH6Z6Y3@Gko(l!x* zB@v2b;94;ls9HQMQJ$-}UF$hKJjw7(G491rlI2W?f41za*Mo&hLNpd57g%5(J$&p! z&VjxAe?>f#r9%_QJE!HdY5x9++)jkL0HkDVnBQ0E?;kZ15Mm}2N+E5iK6zR7=#`$+ zo%4f6LcG7sKWtb1V(tM^gXj9xJJ@5qwk(}I>jHGvMMG6TO5(i_^fW{t25}ssvA6;p zU!gAEt63YCN=hHJnd99q9XNI(Zcwt?TH!+J4cTeoDThp!_QPg2S;I6bm2^8MNhHD7 z@_bB!WT%-=b8ezdcALKCxR6yzq@k~gEp(l7nKoHGiy5FE4xKsP?ADrsHfu>sz$dY)^?J)(Zg# z;fM{|)_EA0gsWK2>@%lzl+ZOPxx^QMkT@(y5hB{C$Y*KY0SH%b@k`JSFB{9trZXdX z4lMI-9?$2-addvjP+PeZ`{qg$p5=GV%H2<*8uRNxP6D9$RjZt730D!_^|ss{_w)4oFfWvI@29QsNCl* z6xBnc_-4XI6krg9k=uUS0M{={Y>PB-M|Q`ai6V#)BcBS! z?0P&p5f;K;MyJ7yTccY*s8c>0WRFd>c{WSv5izgh98sla4*s*Yf^1=To~iPElg`jC zXDZ%W+J#=qNnF5Q@d|WQ;)b!l8HZzVY~9F*SArqn}6}xgo-k@h%Hdq zjn*F<5o}t~FGqIMcz*JBlHefn$~_;Y6p`>C>>a|#DSKcCf(3U0e8T(7z7CKKH%1@A z@Bgq|=qWRqZ%U63;sA$??%wYh(edTY@G*0VNjanu{c_X&See$dRP?3(EXp^r>wg&I`*eX7(I7mP>sb7gQ6?dt~S$8n3aPr-`^Rw z0!6~XEkO-gY8JT$P401v!hJVooi7Anf~pJE&*;3;)P0CnUoPBr6^xoZADz-=Ztqa+7MP{B61 zYG=7GoVRnjfSC29X2J692MBOV*>G8%J5y9?b@CzS0xUv|Xn5}gWV0Y=ws9d)_YPZy zw)&bq&@(N$%p?gJmV7rDAR)fx!8%Fgd ziXFYV+jDKImW|YRv3dBn1<;k|ic%tXkL@toDw8;Y7H_>6g&a^{^F_mu1mG{3v`bYcY4I^C?|*!^Fufvp&@rl)0ZITzhtoL z#&v1aaX;2t!cr*_QPvo1nOjBbcuid39LBtQ#dA!>`?CsMV2*mz>2^EOQ%L5`pxw8avP403*fEAd7O#=1JCmv~70 z(}|}K38yBwLmpB-%PLwyxL8xp(*AY-3 zCiWvBpyUT6dwq=}nASg~bX*BGz4cRd?cV%wJ;kR!l;sIi8I06ui9)bqo-TIss!*$} z(xSg4A!gZmdC{TEIfHA9HzGq}pyJJQT8=GYOt2#qEfKV0_DvWO;#bpvAuF!q80Q5+ zyumOkXU>6xAwNNq=Y=I0lr%?tf`g^eJ5QEg!W!boV<`R4b0IHXmBRp%Z^AT8M^B+wZpE+E5+yIzqnh71wY?dXtzaA|(c6x!mPWY`F@gmgmp6#0_qh zulZxSxQ+s8Vge_%tjI8^=N}u|ThSXg``4-rW;yeoUg&C9usGPd#xNc_j{fJkY@w6EkkP1o!L6kv+OH>#H8&sc3 z#>}}GYV$RuzR{t;)YYlkq-A4Ort-}R4VKI4j?!j>=NBkBbgQ|FDywU-Z}DP)8$P4^ zCnx@f+zDz-Q}Tim#jN-mg;-&o?>4u3GyaFk9pwol^2DXEpnN?47u8kHTXk-(zZ-Y` z=cveJzldhuJp+D7mmn0%EzVo{x4t@9hA(Zdyl^&duND~P^#9SGpinLzrqJw?%O_ZA z_CG`A)0Yoag~KrpRhT7?TQ27ZoLecF%8#?9<|M@9EmMK%pceL{o|^9$$;6yn_5ZVJ z09$9#dzXSfcMdY4L%O{3}c_>HrM4`r~c3yL%$8P3-yAM$?aXSdkYLGMmIhf+td|EN&CC^gY)SZlH_+Kcp%GdeK oP>JEt;mpuZr?#C)t$R91cvAUh*-#`Vzx#o*yoOw<%=^Iq2lpOlLI3~& literal 0 HcmV?d00001 diff --git a/assets/help/img/watch-panel.png b/assets/help/img/watch-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..79da11f94f426d0dc409f9c93f8df56c6b9b98ca GIT binary patch literal 159261 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≦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

    ryKr(3z+{0V3dE!L!95G#=+6 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 Rf&Mu8NJCG(@_}W@-vO{*{mlRX literal 0 HcmV?d00001 diff --git a/assets/help/img/watch-source.png b/assets/help/img/watch-source.png new file mode 100644 index 0000000000000000000000000000000000000000..3809f2145d1aacd3c6f92768f8443fdae67ce680 GIT binary patch literal 18663 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 literal 0 HcmV?d00001 diff --git a/docs/user-guide.md b/docs/user-guide.md new file mode 100644 index 0000000..8405111 --- /dev/null +++ b/docs/user-guide.md @@ -0,0 +1,224 @@ +# Render Mapper Pro — User Guide + +Map video clips onto a 3D scene's materials and render them headlessly — via +**Blender**, **Cinema 4D + Redshift**, or the built-in **three.js** web +renderer — locally or on a Thinkbox Deadline farm. + +![Main window](../assets/help/img/main-window.png) + +This guide is also built into the app: **Help → User Guide** (with the same +screenshots and clickable links into the relevant settings). + +--- + +## Table of contents + +1. [Quick start](#quick-start) +2. [Watch & Auto-render](#watch--auto-render) + - [① Source](#-source--what-to-watch) + - [② Mode](#-mode--what-happens-to-a-clip) + - [③ Naming](#-naming--teach-it-your-convention) + - [④ Output & delivery](#-output--delivery) + - [⑤ Activity](#-activity--trust-but-verify) +3. [Filename pattern reference](#filename-pattern-reference) +4. [The queue](#the-queue) +5. [Render engines](#render-engines) +6. [Crash reports](#crash-reports) +7. [Troubleshooting & FAQ](#troubleshooting--faq) + +--- + +## Quick start + +1. **Add a scene** — drag a `.blend`, `.c4d`, `.glb`/`.gltf` file onto the + Scene box and click **Scan Scene**. Its materials appear in the list. +2. **Add clips** — drag videos into the Videos list, pick a **Camera**. +3. **Map** — drag a clip onto a material (or use **Auto-match**, which pairs + clips to materials by name). +4. **Render** — check the output settings in the Render panel and press + **Render**. Progress, ETA and logs are live; finished renders can open, + reveal, or copy themselves to a delivery folder automatically. +5. **Automate it** — open **View → Watch & Auto-render** and let the app do + steps 2–4 by itself whenever a clip lands in a folder. That's the rest of + this guide. + +--- + +## Watch & Auto-render + +The Watch panel is a single automation rule that reads top to bottom: +**① Source → ② Mode → ③ Naming → ④ Output → ⑤ Activity.** + +Watch & Auto-render panel + +### ① Source — what to watch + +Source card + +Click **Choose…**, pick the folder, press **Start**. + +| Setting | What it does | +|---|---| +| **Wait** | How long a file must stop changing before it's imported — so a clip that's still copying is never grabbed half-written. Raise it for very large files arriving over slow links. | +| **Re-scan every** | The backstop poll. Local drops are caught instantly by filesystem events; the poll covers network shares (SMB/NFS) and cloud folders where events don't fire. It backs off automatically when the folder is quiet. | +| **Include subfolders** | Watch the whole tree — clips dropped into per-day/per-setup subfolders are picked up too. The render output folder is always excluded, so renders never re-trigger themselves. | + +**Cloud-aware:** Dropbox/OneDrive *online-only* placeholder files are detected +and skipped until their bytes are actually on disk. + +### ② Mode — what happens to a clip + +| Mode | Behaviour | +|---|---| +| **Auto-map** | Each clip maps onto the *current scene's* material with the matching name. Once every render-target screen has a clip, one multi-screen render is queued (a burst of arrivals coalesces into a single render). `Screen_v2.mp4` landing next to `v1` takes over the mapping — **latest wins**. | +| **Assemble previz** | For shows with a filename convention: clips group into **one render per asset**, each routed to its setup's scene file. Drop 10 clips → get 5 assembled previz jobs. | + +### ③ Naming — teach it your convention + +*(Previz mode only — the card hides in auto-map mode.)* + +Naming card with chip builder and live preview + +Build the filename pattern from **chips** — no regex. Paste a real filename +into the sample box and the live preview shows exactly which fields parse: + +``` +Pattern: {ID#}_D{Day#}_{Section}_{Cue}_{Screen}_v{Version#} +Sample: 80230_D2_War-Treaty_MusicH_TC-MASTER_v001.mp4 +Result: ✓ matches ID=80230 · Day=2 · Section=War-Treaty · Cue=MusicH · + Screen=TC-MASTER · Version=1 +``` + +If it doesn't match, the preview says *where* it stopped and what it expected +(`Stopped after "80230_D" — expected a number for 'Day'`) — so fixing the +pattern never requires understanding regular expressions. + +| Table | What it does | +|---|---| +| **Screen → Material** | Which scene material each screen code drives. Leave a screen out and it defaults to the material with the same name. | +| **Setup # → Scene** | Routes each setup number to its own scene file (`D1.c4d`, `D2.c4d`, …). Setups without a mapping use the currently loaded scene. | + +**Versioning:** newest wins. A `v002` landing after `v001` *updates the +existing job in place* — jobs never pile up per version. + +**Preview (dry run)** shows exactly what *would* assemble — per asset: +screen → material → clip → version — plus every skipped clip and the reason, +before anything renders: + +Preview assembly dry run + +### ④ Output & delivery + +Output card + +- **Output name** supports tokens (e.g. `{prj}_D{day}_S{setup}_A{asset}_PREVIZ_V{ver}`). +- **Output folder** blank = a `PREVIZ` subfolder inside the watch folder + (always excluded from scanning). +- **Start renders automatically** on = fully hands-off; off = jobs queue and + wait for you. +- **Delivery folder** — every finished render is also copied there (a synced + review folder, a hand-off share…). Blank = off. + +### ⑤ Activity — trust, but verify + +Activity card with skipped badge + +- **Skipped badge** — clips that did **not** become jobs (name doesn't match, + screen not mapped, superseded by a newer version) are *counted, not + swallowed*: click **"N clip(s) skipped — why?"** and the dry run explains + every file. +- **Ingest history** — the feed writes through to + `~/.blender_video_mapper/logs/ingest_history.log` and reloads on launch, so + *"did that clip get picked up last night?"* always has an answer. **Clear** + empties the visible list only; the on-disk history stays. + +> **The full pipeline:** watch folder on the production share + previz mode + +> auto-start + delivery folder = clip lands → parsed → assembled → rendered → +> copy appears in the review folder. Zero clicks. + +--- + +## Filename pattern reference + +| Token | Meaning | Example match | +|---|---|---| +| `{Name}` | Text field (letters, digits, hyphens) | `TC-MASTER`, `War-Treaty` | +| `{Name#}` | Number field (leading zeros fine, parsed as int) | `001` → 1 | +| `{Name?}` / `{Name#?}` | Optional field — may be absent | — | +| anything else | Literal text, matched case-insensitively | `_`, `D`, `v` | + +- The file extension is ignored automatically (`.mp4`, `.mov`, …). +- Each field name can be used once per pattern. +- Special field names the previz assembler understands: **Screen** (→ + material), **Setup** (→ scene routing), **Version** (→ newest wins), + **Type** (→ "Only ingest type" filter), **Asset**/**Project**/**Day** + (grouping + output-name tokens). Missing Setup/Asset fields simply group + everything into one asset per (project, day) — fine for simpler shows. + +**Real-world example** (a touring show's `_PREVIEW-MOTION` folder): + +``` +{ID#}_D{Day#}_{Section}_{Cue}_{Screen}_v{Version#} + +80230_D1_Day-1-Pre_Matte-TransA_DJBS_v001.mp4 +80230_D2_War-Treaty_MusicH_TC-MASTER_v001.mp4 +80230_D2_War-Treaty_MusicH_HOUSE-MASTER_v002.mp4 +``` + +--- + +## The queue + +Queue panel + +Every render is a job: reorder, duplicate, rename, set priority, requeue. +Labels show the **resolved output filename**. Batch-queue the current mapping +across many clips, or let the watch folder feed the queue for you. Finished +jobs report duration, per-frame metrics and estimated power cost, and can +notify you (desktop notification or Discord webhook) when done. + +## Render engines + +| Engine | Scene files | Notes | +|---|---|---| +| **Blender** (Cycles/Eevee) | `.blend` | The app can download and manage its own Blender — nothing to install. | +| **Cinema 4D + Redshift** | `.c4d` | Uses your installed C4D (`c4dpy`); Redshift settings honoured. | +| **Web (three.js)** | `.glb` / `.gltf` | Fully built-in headless renderer — no external DCC needed. | +| **Deadline farm** | both | Submit Blender and C4D jobs to a Thinkbox Deadline repository. | + +## Crash reports + +If the app ever crashes — even a hard native crash — the next launch offers +the report: view it, or open a prefilled GitHub issue. **Nothing is sent +anywhere unless you submit it yourself.** Reports live in +`~/.blender_video_mapper/crashes/`. + +## Troubleshooting & FAQ + +**A clip sits in the watch folder and nothing happens.** +Look at the Activity card — if the skipped badge shows, click it: the dry run +names every skipped file and the reason (pattern mismatch, unmapped screen, +superseded version). Also check: is the clip inside a subfolder while +*Include subfolders* is off? Is it a cloud placeholder that hasn't downloaded? + +**Renders re-trigger themselves.** +They can't from the default output location — the output folder is excluded +from scanning. If you point the output *outside* the watch folder and then +back in via symlinks, don't. + +**Half-copied files get imported.** +Raise the **Wait** (settle) time in ① Source — a file must hold its size for +that window before it's touched. + +**The pattern won't match hyphenated codes.** +It does — text fields accept hyphens (`TC-MASTER`, `Day-1-Pre`). Use the live +preview with a real filename; it pinpoints the first divergence. + +**Where are my settings stored?** +`~/.blender_video_mapper/` — profile, presets, logs, ingest history and crash +reports. Delete the folder for a factory reset. + +**Is the download safe?** +Releases ship a `SHA256SUMS.txt`, signed build provenance +(`gh attestation verify --repo hayhamLT/RenderMapperPro`), and macOS +builds are Developer-ID signed + notarized by Apple. From f7cb7f91766d66090541d8a90e5621e80fb60505 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 21:12:27 +0000 Subject: [PATCH 19/19] chore: bump version to 1.8.33 Ships the modernization pass (signing/notarization CI, crash reporting, dialog a11y, whole-repo mypy, watch-mixin carve), the watch-folder upgrades (skipped- clips badge, subfolder watching, persisted ingest history), and the full user guide with screenshots. First fully signed + notarized release. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01F3rfxvrhYUyjTsifsuJw9s --- app_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app_version.py b/app_version.py index d3e32d2..5485b34 100644 --- a/app_version.py +++ b/app_version.py @@ -4,5 +4,5 @@ CI, so the version lives in exactly one place. CI fails a ``v`` release tag whose value doesn't match this string. """ -__version__ = "1.8.32" +__version__ = "1.8.33" APP_NAME = "Render Mapper Pro" # display name; single source shared by the app + mixins