ЯК ОНОВИТИ ПАТЧЕР НА MAC (щоб не запустити стару копію)
=======================================================
Симптом старої копії: у заголовку вікна «PE-World Patcher v6.0» / «v7.0»,
на вкладці «Розсилка» є поле «Server Key», а лог пише
«404 — топік не знайдено: /topics/all». Це мертвий legacy-код.

У новій версії (v7.6+):
  • у заголовку й хедері видно ВЕРСІЮ і ТЕКУ запуску, напр. «v7.6 · PE-World-Patcher-v7.0»
  • замість «Server Key» — поле «Service account JSON»
  • у лог після відправки пише «OK: пуш прийнято FCM → топік all (name=projects/…)»

КРОКИ
------
1) Розпакувати Archive.zip у теку, З ЯКОЇ ВИ ЗАПУСКАЄТЕ патчер:
      unzip -o ~/Downloads/Archive.zip -d ~/Downloads/pew-fix
      cp ~/Downloads/pew-fix/*.py "/Users/ІМ'Я/PE-World-Patcher-vX.X/"
      cp -R ~/Downloads/pew-fix/scripts "/Users/ІМ'Я/PE-World-Patcher-vX.X/"
   (якщо тека називається інакше — підставте свою; current dir можна взяти так:
      cd "/Users/ІМ'Я/PE-World-Patcher-vX.X" && pwd )
2) Повністю ЗАКРИТИ старе вікно патчера.
3) Запустити з тієї ж теки:  ./run.command   (або python3 gui.py)
4) Перевірити у заголовку: має бути v7.6 і назва теки. Якщо знову v6.0 —
   значить запускається інша копія: шукайте другу теку PE-World-Patcher*.

ФАЙЛИ, ЯКІ МАЮТЬ ОНОВИТИСЬ (10 шт.)
-----------------------------------
build_all.py  build_cli.py  gui.py  patcher_core.py  post_build_check.py
fcm_sender.py send_push.py  requirements.txt
scripts/verify_apk.py  scripts/diagnose_push.sh

ПІСЛЯ ОНОВЛЕННЯ
---------------
    pip install cryptography        # для FCM HTTP v1 (OAuth2)
    python3 send_push.py --self-test
    python3 send_push.py --topic all --title "привет" --body "тест"
