@echo off
chcp 936 >nul
title 普诺瞳 AI - 首次更新（安装远程更新功能）
setlocal EnableExtensions

rem ============================================================
rem  首次更新引导脚本
rem
rem  用途：给**尚未具备更新功能**的存量安装补上更新器，并立刻
rem        执行一次远程更新。此后所有版本升级都走程序内的
rem        「检查更新」，不再需要本脚本。
rem
rem  位置：拷到 U 盘**根目录**（与 iBrightAI 文件夹同级）后双击。
rem        老做法（放进 iBrightAI 文件夹内、与 iBrightAI.exe 同级）
rem        仍然可用 —— 脚本会自动探测程序在哪，两种摆放都能跑。
rem  离线：首次更新.bat D:\kit\iBrightUpdater
rem        （参数可以是更新器目录，也可以是更新器 zip）
rem
rem  本脚本由 tools/make_bootstrap_bat.py 生成，请勿手工修改：
rem    生成时间 : 2026-11-06T16:08:02+08:00
rem    发布版本 : 0.9.13
rem    更新服务器: https://ibrightai.ebmedical.com
rem    更新器摘要: f4281ca981ed181f0a7fafcfeccfda8112e500b9a78e01585a1676b9e9b8152c
rem ============================================================

set "APPDIR=%~dp0"
if "%APPDIR:~-1%"=="\" set "APPDIR=%APPDIR:~0,-1%"

rem ---- 程序位置自适应（goto 而非括号块：块内 %APPDIR% 在解析期就展开）----
rem 三种现场都要能跑：
rem   ① 新布局 + 脚本在根：探测 <根>\iBrightAI\iBrightAI.exe → APPDIR=子目录
rem   ② 新布局 + 脚本在文件夹内（老习惯）：探测 <文件夹>\iBrightAI.exe → 原样
rem   ③ 旧根布局（程序直接躺在盘根）：同样命中 ②的探测 → APPDIR=盘根
if exist "%APPDIR%\iBrightAI.exe" goto APPDIR_OK
if exist "%APPDIR%\iBrightAI\iBrightAI.exe" (
    set "APPDIR=%APPDIR%\iBrightAI"
    goto APPDIR_OK
)
echo.
echo [错误] 没有找到 iBrightAI 程序（iBrightAI.exe）。
echo        请把本脚本放到 U 盘**根目录**（与 iBrightAI 文件夹同级），
echo        或 iBrightAI 文件夹内部，再双击运行。
echo        当前所在位置：%~dp0
echo.
pause
exit /b 1
:APPDIR_OK

rem ---- bat 级日志：本脚本自身的决策与结果（更新器另有 _update\updater.log）----
rem 重定向写在 echo 前面：写成 "echo xxx >>file" 会把 xxx 与 >> 之间的空格一并写进。
rem 写不进去（目录只读等）一律静默：日志不能影响主流程。
set "BLOG=%APPDIR%\_update\bootstrap.log"
if not exist "%APPDIR%\_update" mkdir "%APPDIR%\_update" 2>nul
>>"%BLOG%" echo %date% %time% [开始] 首次更新脚本 APPDIR=%APPDIR%

set "PS=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe"
if not exist "%PS%" (
    echo.
    echo [错误] 未找到 PowerShell，无法继续。
    echo        Windows 10 / 11 自带；Windows 7 需先安装 WMF 5.1。
    echo.
    pause
    exit /b 1
)

echo.
echo ============================================================
echo   普诺瞳 AI - 首次更新
echo ============================================================
echo.
echo 本操作会：
echo   1. 安装远程更新器（约 15 MB）
echo   2. 从服务器下载并安装最新版本（首次为全量，约 212.0 MB）
echo.
echo 请先**完全退出** iBrightAI（任务栏与任务管理器中都不应再有它）。
echo 全程请勿拔出 U 盘或断电。
echo.
set /p CONFIRM=按 Y 回车继续，其他键取消：
if /i not "%CONFIRM%"=="Y" (
    >>"%BLOG%" echo %date% %time% [取消] 用户未确认
    echo 已取消。
    pause
    exit /b 0
)

set "IBRIGHT_BOOTSTRAP_URL=https://ibrightai.ebmedical.com/packages/updater-f4281ca981ed.zip"
set "IBRIGHT_BOOTSTRAP_SHA256=f4281ca981ed181f0a7fafcfeccfda8112e500b9a78e01585a1676b9e9b8152c"
set "IBRIGHT_BOOTSTRAP_KIT=%~1"

rem ---- 内嵌的 PowerShell 脚本（base64/UTF-16LE），分片写到临时文件再解码 ----
rem
rem 为什么不用 set "B64=%B64%..." 逐片拼进一个变量：cmd 的**单行与单变量
rem 上限都是 8191 字符**，而编码后的脚本有一万多字符，拼到一半就报
rem 「输入行太长」。落到文件里没有这个限制，每行只有几百字符。
rem
rem 也不用 -Command "..." 直接内嵌脚本正文：脚本里有大量引号、$、括号，
rem 经 cmd 一层解析后极易被吃掉或改写。base64 完全绕开引号地狱。
set "B64FILE=%TEMP%\ibright_boot_%RANDOM%%RANDOM%.b64"
set "BOOTPS=%TEMP%\ibright_boot_%RANDOM%%RANDOM%.ps1"

rem 重定向写在 echo 前面：写成 "echo xxx >>file" 会把 xxx 后的空格也写进去
>"%B64FILE%" echo JABFAHIAcgBvAHIAQQBjAHQAaQBvAG4AUAByAGUAZgBlAHIAZQBuAGMAZQAgAD0AIAAnAFMAdABvAHAAJwAKAAoAZgB1AG4AYwB0AGkAbwBuACAAVwByAGkAdABlAC0AUwB0AGUAcAAoAFsAcwB0AHIAaQBuAGcAXQAkAG0AKQAgAHsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAKAAnACAAIAAnACAAKwAgACQAbQApACAAfQAKAGYAdQBuAGMAdABpAG8AbgAgAEYAYQBpAGwAKABbAHMAdAByAGkAbgBnAF0AJABtACkAIAB7AAoAIAAgACAAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAJwAnAAoAIAAgACAAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAKAAnAFsAGZXvi10AIAAnACAAKwAgACQAbQApACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMA
>>"%B64FILE%" echo bwBsAG8AcgAgAFIAZQBkAAoAIAAgACAAIABlAHgAaQB0ACAAMQAKAH0ACgAKACMAIACKYheA9mX0ixBiuk7dixr/DU4wUiAAMQAgAAZSn5SlYtJ5DP8mVBlSpWIMMFgAIAAGUiAAWQAgANJ5DTACMAoAIwAgAOOJi1MvAJlRZVEoVyAAVQAgANh2Ck4vZgZSn5SnfmJhzWRcTwz/pWKeW0WWKHX2ZeJliVuaYih1N2IM/19OuWW/T5JjnJYqYv5WAjAKAGYAdQBuAGMAdABpAG8AbgAgAEYAbQB0AC0ARQBsAGEAcABzAGUAZAAoAFsAVABpAG0AZQBTAHAAYQBuAF0AJAB0ACkAIAB7AAoAIAAgACAAIABpAGYAIAAoACQAdAAuAFQAbwB0AGEAbABTAGUAYwBvAG4AZABzACAALQBsAHQAIAA2ADAAKQAgAHsAIAByAGUAdAB1AHIAbgAgACgAJwB7ADAA
>>"%B64FILE%" echo OgBOADAAfQAgANJ5JwAgAC0AZgAgACQAdAAuAFQAbwB0AGEAbABTAGUAYwBvAG4AZABzACkAIAB9AAoAIAAgACAAIAByAGUAdAB1AHIAbgAgACgAJwB7ADAAOgBOADAAfQAgAAZSIAB7ADEAOgBOADAAfQAgANJ5JwAgAC0AZgAgAFsATQBhAHQAaABdADoAOgBGAGwAbwBvAHIAKAAkAHQALgBUAG8AdABhAGwATQBpAG4AdQB0AGUAcwApACwAIAAkAHQALgBTAGUAYwBvAG4AZABzACkACgB9AAoACgB0AHIAeQAgAHsACgAgACAAIAAgAFsATgBlAHQALgBTAGUAcgB2AGkAYwBlAFAAbwBpAG4AdABNAGEAbgBhAGcAZQByAF0AOgA6AFMAZQBjAHUAcgBpAHQAeQBQAHIAbwB0AG8AYwBvAGwAIAA9AAoAIAAgACAAIAAgACAAIAAgAFsATgBlAHQA
>>"%B64FILE%" echo LgBTAGUAYwB1AHIAaQB0AHkAUAByAG8AdABvAGMAbwBsAFQAeQBwAGUAXQA6ADoAVABsAHMAMQAyACAALQBiAG8AcgAKACAAIAAgACAAIAAgACAAIABbAE4AZQB0AC4AUwBlAGMAdQByAGkAdAB5AFAAcgBvAHQAbwBjAG8AbABUAHkAcABlAF0AOgA6AFQAbABzADEAMQAgAC0AYgBvAHIACgAgACAAIAAgACAAIAAgACAAWwBOAGUAdAAuAFMAZQBjAHUAcgBpAHQAeQBQAHIAbwB0AG8AYwBvAGwAVAB5AHAAZQBdADoAOgBUAGwAcwAKAH0AIABjAGEAdABjAGgAIAB7ACAAfQAKAAoAJABhAHAAcABEAGkAcgAgACAAIAAgACAAIAA9ACAAKABHAGUAdAAtAEwAbwBjAGEAdABpAG8AbgApAC4AUABhAHQAaAAKACQAdQBwAGQAYQB0AGUAcgBOAGEA
>>"%B64FILE%" echo bQBlACAAPQAgACcAaQBCAHIAaQBnAGgAdABVAHAAZABhAHQAZQByACcACgAkAHUAcABkAGEAdABlAHIARABpAHIAIAAgAD0AIABKAG8AaQBuAC0AUABhAHQAaAAgACQAYQBwAHAARABpAHIAIAAkAHUAcABkAGEAdABlAHIATgBhAG0AZQAKACQAdQBwAGQAYQB0AGUAcgBFAHgAZQAgACAAPQAgAEoAbwBpAG4ALQBQAGEAdABoACAAJAB1AHAAZABhAHQAZQByAEQAaQByACAAKAAkAHUAcABkAGEAdABlAHIATgBhAG0AZQAgACsAIAAnAC4AZQB4AGUAJwApAAoAJAB1AHIAbAAgACAAIAAgACAAIAAgACAAIAA9ACAAWwBzAHQAcgBpAG4AZwBdACQAZQBuAHYAOgBJAEIAUgBJAEcASABUAF8AQgBPAE8AVABTAFQAUgBBAFAAXwBVAFIATAAKACQA
>>"%B64FILE%" echo ZQB4AHAAZQBjAHQAZQBkACAAIAAgACAAPQAgACgAWwBzAHQAcgBpAG4AZwBdACQAZQBuAHYAOgBJAEIAUgBJAEcASABUAF8AQgBPAE8AVABTAFQAUgBBAFAAXwBTAEgAQQAyADUANgApAC4AVABvAEwAbwB3AGUAcgBJAG4AdgBhAHIAaQBhAG4AdAAoACkACgAkAGsAaQB0ACAAIAAgACAAIAAgACAAIAAgAD0AIABbAHMAdAByAGkAbgBnAF0AJABlAG4AdgA6AEkAQgBSAEkARwBIAFQAXwBCAE8ATwBUAFMAVABSAEEAUABfAEsASQBUAAoACgBXAHIAaQB0AGUALQBIAG8AcwB0ACAAJwAnAAoAVwByAGkAdABlAC0ASABvAHMAdAAgACgAJwALeo9e7nZVXyAAOgAgACcAIAArACAAJABhAHAAcABEAGkAcgApAAoACgBpAGYAIAAoAFQAZQBzAHQA
>>"%B64FILE%" echo LQBQAGEAdABoACAAJAB1AHAAZABhAHQAZQByAEUAeABlACkAIAB7AAoAIAAgACAAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAJwBbAOFPb2BdACAA9GawZWhW8l0xXE1PDP/zjcePiVvFiGVrpJoCMCcAIAAtAEYAbwByAGUAZwByAG8AdQBuAGQAQwBvAGwAbwByACAAWQBlAGwAbABvAHcACgAgACAAIAAgAGUAeABpAHQAIAAwAAoAfQAKAAoAIwAgAC0ALQAtAC0AIADWUzBSAE79TvRmsGVoVhr/LGcwVyAAawBpAHQAIAAYT0hRDP8mVBlSVIBRfwtOfY8gAC0ALQAtAC0ACgAkAHoAaQBwAFAAYQB0AGgAIAA9ACAAJABuAHUAbABsAAoACgBpAGYAIAAoACQAawBpAHQAKQAgAHsACgAgACAAIAAgAGkAZgAgACgALQBuAG8AdAAgACgAVABlAHMA
>>"%B64FILE%" echo dAAtAFAAYQB0AGgAIAAkAGsAaQB0ACkAKQAgAHsAIABGAGEAaQBsACAAKAAnAH5iDU4wUgdjmluEdixnMFf0ZrBlaFYa/ycAIAArACAAJABrAGkAdAApACAAfQAKAAoAIAAgACAAIABpAGYAIAAoAFQAZQBzAHQALQBQAGEAdABoACAAJABrAGkAdAAgAC0AUABhAHQAaABUAHkAcABlACAAQwBvAG4AdABhAGkAbgBlAHIAKQAgAHsACgAgACAAIAAgACAAIAAgACAAIwAgAO52VV9iXwFgAjB8UblbJE7Nedl+1Wwa/woAIAAgACAAIAAgACAAIAAgACMAIAAgACAALgAuAC4AXABkAGkAcwB0AFwAaQBCAHIAaQBnAGgAdABVAHAAZABhAHQAZQByACAAIAAgAAj/7nZVX4VR9HalYy9mIABlAHgAZQAJ/woAIAAgACAAIAAgACAAIAAgACMAIAAgACAA
>>"%B64FILE%" echo LgAuAC4AXABkAGkAcwB0ACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACP/udlVfhVEJZyAAaQBCAHIAaQBnAGgAdABVAHAAZABhAHQAZQByACAAUFvudlVfCf8KACAAIAAgACAAIAAgACAAIAAkAHMAcgBjAEQAaQByACAAPQAgACQAbgB1AGwAbAAKACAAIAAgACAAIAAgACAAIABpAGYAIAAoAFQAZQBzAHQALQBQAGEAdABoACAAKABKAG8AaQBuAC0AUABhAHQAaAAgACQAawBpAHQAIAAoACQAdQBwAGQAYQB0AGUAcgBOAGEAbQBlACAAKwAgACcALgBlAHgAZQAnACkAKQApACAAewAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACQAcwByAGMARABpAHIAIAA9ACAAJABrAGkAdAAKACAAIAAgACAAIAAgACAAIAB9ACAAZQBsAHMA
>>"%B64FILE%" echo ZQBpAGYAIAAoAFQAZQBzAHQALQBQAGEAdABoACAAKABKAG8AaQBuAC0AUABhAHQAaAAgACgASgBvAGkAbgAtAFAAYQB0AGgAIAAkAGsAaQB0ACAAJAB1AHAAZABhAHQAZQByAE4AYQBtAGUAKQAgACgAJAB1AHAAZABhAHQAZQByAE4AYQBtAGUAIAArACAAJwAuAGUAeABlACcAKQApACkAIAB7AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJABzAHIAYwBEAGkAcgAgAD0AIABKAG8AaQBuAC0AUABhAHQAaAAgACQAawBpAHQAIAAkAHUAcABkAGEAdABlAHIATgBhAG0AZQAKACAAIAAgACAAIAAgACAAIAB9AAoAIAAgACAAIAAgACAAIAAgAGkAZgAgACgALQBuAG8AdAAgACQAcwByAGMARABpAHIAKQAgAHsACgAgACAAIAAgACAAIAAgACAA
>>"%B64FILE%" echo IAAgACAAIABGAGEAaQBsACAAKAAnACxnMFfudlVfzJF+Yg1OMFIgACcAIAArACAAJAB1AHAAZABhAHQAZQByAE4AYQBtAGUAIAArACAAJwAuAGUAeABlABr/JwAgACsAIAAkAGsAaQB0ACkACgAgACAAIAAgACAAIAAgACAAfQAKACAAIAAgACAAIAAgACAAIABXAHIAaQB0AGUALQBTAHQAZQBwACAAKAAnAM5OLGcwV+52VV8NWTZSGv8nACAAKwAgACQAcwByAGMARABpAHIAKQAKACAAIAAgACAAIAAgACAAIABXAHIAaQB0AGUALQBTAHQAZQBwACAAJwAgACAAIAAgACAAIAAgACAAY2soVw1ZNlL0ZrBlaFYI/wpOQ1MqTodl9k4M/+52B2goVyAAVQAgANh29mXvU/2AgYkATiROBlKflAz/94v/UnNR7ZWXeuNTCf8uAC4ALgAnAAoAIAAgACAA
>>"%B64FILE%" echo IAAgACAAIAAgACQAcwB3ACAAPQAgAFsARABpAGEAZwBuAG8AcwB0AGkAYwBzAC4AUwB0AG8AcAB3AGEAdABjAGgAXQA6ADoAUwB0AGEAcgB0AE4AZQB3ACgAKQAKACAAIAAgACAAIAAgACAAIABDAG8AcAB5AC0ASQB0AGUAbQAgAC0AUABhAHQAaAAgACQAcwByAGMARABpAHIAIAAtAEQAZQBzAHQAaQBuAGEAdABpAG8AbgAgACQAdQBwAGQAYQB0AGUAcgBEAGkAcgAgAC0AUgBlAGMAdQByAHMAZQAgAC0ARgBvAHIAYwBlAAoAIAAgACAAIAAgACAAIAAgAFcAcgBpAHQAZQAtAFMAdABlAHAAIAAoACcADVk2UoxbEGIM/yh19mUgACcAIAArACAAKABGAG0AdAAtAEUAbABhAHAAcwBlAGQAIAAkAHMAdwAuAEUAbABhAHAAcwBlAGQAKQAgACsA
>>"%B64FILE%" echo IAAnAAIwJwApAAoAIAAgACAAIAB9ACAAZQBsAHMAZQAgAHsACgAgACAAIAAgACAAIAAgACAAJAB6AGkAcABQAGEAdABoACAAPQAgACgAUgBlAHMAbwBsAHYAZQAtAFAAYQB0AGgAIAAkAGsAaQB0ACkALgBQAGEAdABoAAoAIAAgACAAIAAgACAAIAAgAFcAcgBpAHQAZQAtAFMAdABlAHAAIAAoACcAf08odSxnMFeLUyl/BVMa/ycAIAArACAAJAB6AGkAcABQAGEAdABoACkACgAgACAAIAAgAH0ACgB9ACAAZQBsAHMAZQAgAHsACgAgACAAIAAgAGkAZgAgACgALQBuAG8AdAAgACQAdQByAGwAKQAgAHsAIABGAGEAaQBsACAAJwAqZ02Rbn8LTn2PMFdAVwz/FE4qZwdjmlssZzBX9GawZWhWAjAnACAAfQAKACAAIAAgACAAVwByAGkAdABlAC0A
>>"%B64FILE%" echo UwB0AGUAcAAgACgAJwALTn2P9GawZWhWGv8nACAAKwAgACQAdQByAGwAKQAKACAAIAAgACAAJAB6AGkAcABQAGEAdABoACAAPQAgAEoAbwBpAG4ALQBQAGEAdABoACAAJABlAG4AdgA6AFQARQBNAFAAIAAoACcAaQBiAHIAaQBnAGgAdABfAGIAbwBvAHQAcwB0AHIAYQBwAF8AJwAgACsAIABbAEcAdQBpAGQAXQA6ADoATgBlAHcARwB1AGkAZAAoACkALgBUAG8AUwB0AHIAaQBuAGcAKAAnAE4AJwApACAAKwAgACcALgB6AGkAcAAnACkACgAgACAAIAAgAHQAcgB5ACAAewAKACAAIAAgACAAIAAgACAAIAAkAGMAbABpAGUAbgB0ACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4AVwBlAGIAQwBsAGkA
>>"%B64FILE%" echo ZQBuAHQACgAgACAAIAAgACAAIAAgACAAJABjAGwAaQBlAG4AdAAuAEQAbwB3AG4AbABvAGEAZABGAGkAbABlACgAJAB1AHIAbAAsACAAJAB6AGkAcABQAGEAdABoACkACgAgACAAIAAgAH0AIABjAGEAdABjAGgAIAB7AAoAIAAgACAAIAAgACAAIAAgAEYAYQBpAGwAIAAoACcAC059jzFZJY0a/ycAIAArACAAJABfAC4ARQB4AGMAZQBwAHQAaQBvAG4ALgBNAGUAcwBzAGEAZwBlACAAKwAgAFsARQBuAHYAaQByAG8AbgBtAGUAbgB0AF0AOgA6AE4AZQB3AEwAaQBuAGUAIAArAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACcAIAAgACAAIAAgACAAIAAgAPeLwGjlZ1F/3H4M/xZiOWUodbt5v365ZQ9fGv+WmSFr9GawZS4AYgBhAHQA
>>"%B64FILE%" echo IAA8APRmsGVoVu52VV8+ACcAKQAKACAAIAAgACAAfQAKAH0ACgAKACMAIAAtAC0ALQAtACAAIWiMmnZe44mLUwj/egBpAHAAIADvjYRf334ATihXZGs2ZeNTCf8tAC0ALQAtAAoAaQBmACAAKAAkAHoAaQBwAFAAYQB0AGgAKQAgAHsACgAgACAAIAAgACQAcwBpAHoAZQAgAD0AIAAoAEcAZQB0AC0ASQB0AGUAbQAgACQAegBpAHAAUABhAHQAaAApAC4ATABlAG4AZwB0AGgACgAgACAAIAAgAGkAZgAgACgAJABzAGkAegBlACAALQBnAHQAIAAxAE0AQgApACAAewAKACAAIAAgACAAIAAgACAAIAAkAHMAaQB6AGUAVABlAHgAdAAgAD0AIABbAHMAdAByAGkAbgBnAF0AWwBNAGEAdABoAF0AOgA6AFIAbwB1AG4AZAAoACQAcwBpAHoAZQAgAC8A
>>"%B64FILE%" echo IAAxAE0AQgAsACAAMQApACAAKwAgACcAIABNAEIAJwAKACAAIAAgACAAfQAgAGUAbABzAGUAIAB7AAoAIAAgACAAIAAgACAAIAAgACQAcwBpAHoAZQBUAGUAeAB0ACAAPQAgAFsAcwB0AHIAaQBuAGcAXQBbAE0AYQB0AGgAXQA6ADoAUgBvAHUAbgBkACgAJABzAGkAegBlACAALwAgADEASwBCACwAIAAxACkAIAArACAAJwAgAEsAQgAnAAoAIAAgACAAIAB9AAoAIAAgACAAIABXAHIAaQB0AGUALQBTAHQAZQBwACAAKAAnAPJdt4PWUyAAJwAgACsAIAAkAHMAaQB6AGUAVABlAHgAdAAgACsAIAAnAAz/Y2soVyFojJqMW3RlJ2AuAC4ALgAnACkACgAKACAAIAAgACAAJABhAGMAdAB1AGEAbAAgAD0AIAAoAEcAZQB0AC0ARgBpAGwAZQBIAGEA
>>"%B64FILE%" echo cwBoACAALQBQAGEAdABoACAAJAB6AGkAcABQAGEAdABoACAALQBBAGwAZwBvAHIAaQB0AGgAbQAgAFMASABBADIANQA2ACkALgBIAGEAcwBoAC4AVABvAEwAbwB3AGUAcgBJAG4AdgBhAHIAaQBhAG4AdAAoACkACgAgACAAIAAgAGkAZgAgACgAJABlAHgAcABlAGMAdABlAGQAIAAtAGEAbgBkACAAKAAkAGEAYwB0AHUAYQBsACAALQBuAGUAIAAkAGUAeABwAGUAYwB0AGUAZAApACkAIAB7AAoAIAAgACAAIAAgACAAIAAgAFIAZQBtAG8AdgBlAC0ASQB0AGUAbQAgACQAegBpAHAAUABhAHQAaAAgAC0ARgBvAHIAYwBlACAALQBFAHIAcgBvAHIAQQBjAHQAaQBvAG4AIABTAGkAbABlAG4AdABsAHkAQwBvAG4AdABpAG4AdQBlAAoAIAAgACAA
>>"%B64FILE%" echo IAAgACAAIAAgAEYAYQBpAGwAIAAoACcAIWiMmoxUDU45U02RDP/yXdJi3X6JW8WIAjAnACAAKwAgAFsARQBuAHYAaQByAG8AbgBtAGUAbgB0AF0AOgA6AE4AZQB3AEwAaQBuAGUAIAArAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACcAIAAgACAAIAAgACAAIAAgAB9nG2cgACcAIAArACAAJABlAHgAcABlAGMAdABlAGQAIAArACAAWwBFAG4AdgBpAHIAbwBuAG0AZQBuAHQAXQA6ADoATgBlAHcATABpAG4AZQAgACsACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJwAgACAAIAAgACAAIAAgACAAnltFliAAJwAgACsAIAAkAGEAYwB0AHUAYQBsACAAKwAgAFsARQBuAHYAaQByAG8AbgBtAGUAbgB0AF0AOgA6AE4AZQB3AEwA
>>"%B64FILE%" echo aQBuAGUAIAArAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACcAIAAgACAAIAAgACAAIAAgANmPGpA4Xg9hc1RAdwtOfY+riOF7OWUWYhqBLGcOTg1noVJoVgpOhHbRUwNeBVMNTk2RV1kCMCcAKQAKACAAIAAgACAAfQAKACAAIAAgACAAVwByAGkAdABlAC0AUwB0AGUAcAAgACcAIWiMmhqQx48CMCcACgAKACAAIAAgACAAIwAgAPuLIAB6AGkAcAAgAC1OLlnudlVfcGUATgtOYWfudgj/62vSead+DP8NTuOJi1OFUblbCf8M/+pTOk4oVwww44mLUyAAKwAgAJlRZVENMAoAIAAgACAAIAAjACAA2Y8kTipOBlKflKd+YmFla6SaTVLZfih1N2IATipOxlFueISYH2cUIBQgYwBtAGQAIACXeuNTf5X2ZfSVWZfYnhpPq4hTXxBiCgAgACAA
>>"%B64FILE%" echo IAAgACMAIABhU3trDIBzUZd6AjBwZQ1O+lFlZzFcAXdldXBlV1sM/91+DU5xX81UO05BbQt6AjAKACAAIAAgACAAJABmAGkAbABlAEMAbwB1AG4AdAAgAD0AIAAwAAoAIAAgACAAIAB0AHIAeQAgAHsACgAgACAAIAAgACAAIAAgACAAQQBkAGQALQBUAHkAcABlACAALQBBAHMAcwBlAG0AYgBsAHkATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4ASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4ARgBpAGwAZQBTAHkAcwB0AGUAbQAKACAAIAAgACAAIAAgACAAIAAkAHoAaQBwAEEAcgBjACAAPQAgAFsASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4AWgBpAHAARgBpAGwAZQBdADoAOgBPAHAAZQBuAFIAZQBhAGQAKAAkAHoAaQBwAFAA
>>"%B64FILE%" echo YQB0AGgAKQAKACAAIAAgACAAIAAgACAAIAB0AHIAeQAgAHsAIAAkAGYAaQBsAGUAQwBvAHUAbgB0ACAAPQAgACQAegBpAHAAQQByAGMALgBFAG4AdAByAGkAZQBzAC4AQwBvAHUAbgB0ACAAfQAgAGYAaQBuAGEAbABsAHkAIAB7ACAAJAB6AGkAcABBAHIAYwAuAEQAaQBzAHAAbwBzAGUAKAApACAAfQAKACAAIAAgACAAfQAgAGMAYQB0AGMAaAAgAHsAIAAkAGYAaQBsAGUAQwBvAHUAbgB0ACAAPQAgADAAIAB9AAoAIAAgACAAIAAkAGMAbwB1AG4AdABIAGkAbgB0ACAAPQAgACcAJwAKACAAIAAgACAAaQBmACAAKAAkAGYAaQBsAGUAQwBvAHUAbgB0ACAALQBnAHQAIAAwACkAIAB7ACAAJABjAG8AdQBuAHQASABpAG4AdAAgAD0AIAAnAAz/
>>"%B64FILE%" echo pn4gACcAIAArACAAJABmAGkAbABlAEMAbwB1AG4AdAAgACsAIAAnACAAKk6HZfZOJwAgAH0ACgAKACAAIAAgACAAJABlAHgAdAByAGEAYwB0AFIAbwBvAHQAIAA9ACAASgBvAGkAbgAtAFAAYQB0AGgAIAAkAGUAbgB2ADoAVABFAE0AUAAgACgAJwBpAGIAcgBpAGcAaAB0AF8AYgBvAG8AdABzAHQAcgBhAHAAXwAnACAAKwAgAFsARwB1AGkAZABdADoAOgBOAGUAdwBHAHUAaQBkACgAKQAuAFQAbwBTAHQAcgBpAG4AZwAoACcATgAnACkAKQAKACAAIAAgACAATgBlAHcALQBJAHQAZQBtACAALQBJAHQAZQBtAFQAeQBwAGUAIABEAGkAcgBlAGMAdABvAHIAeQAgAC0AUABhAHQAaAAgACQAZQB4AHQAcgBhAGMAdABSAG8AbwB0ACAALQBGAG8A
>>"%B64FILE%" echo cgBjAGUAIAB8ACAATwB1AHQALQBOAHUAbABsAAoAIAAgACAAIABXAHIAaQB0AGUALQBTAHQAZQBwACAAKAAnAGNrKFfjiYtT9GawZWhWCP8nACAAKwAgACQAcwBpAHoAZQBUAGUAeAB0ACAAKwAgACQAYwBvAHUAbgB0AEgAaQBuAHQAIAArACAAJwAJ/y4ALgAuACcAKQAKACAAIAAgACAAVwByAGkAdABlAC0AUwB0AGUAcAAgACcAIAAgACAAIAAgACAAIAAgAOOJi1MOTplRZVEIVKGL71P9gACXgYkgADEAfgAzACAABlKflAj/YmEfkCAAVQAgANh2Cf8M/9mPH2f0lZd641MnAAoAIAAgACAAIABXAHIAaQB0AGUALQBTAHQAZQBwACAAJwAgACAAIAAgACAAIAAgACAADU4aTzdSsGUM/15cY2s4XrBzYYwM/yoAKgD3i/9Sc1HtlSxnl3rjUyoA
>>"%B64FILE%" echo KgAM/xCAw18NehlQAjAnAAoAIAAgACAAIAAkAHMAdwAgAD0AIABbAEQAaQBhAGcAbgBvAHMAdABpAGMAcwAuAFMAdABvAHAAdwBhAHQAYwBoAF0AOgA6AFMAdABhAHIAdABOAGUAdwAoACkACgAgACAAIAAgAHQAcgB5ACAAewAKACAAIAAgACAAIAAgACAAIABFAHgAcABhAG4AZAAtAEEAcgBjAGgAaQB2AGUAIAAtAFAAYQB0AGgAIAAkAHoAaQBwAFAAYQB0AGgAIAAtAEQAZQBzAHQAaQBuAGEAdABpAG8AbgBQAGEAdABoACAAJABlAHgAdAByAGEAYwB0AFIAbwBvAHQAIAAtAEYAbwByAGMAZQAKACAAIAAgACAAfQAgAGMAYQB0AGMAaAAgAHsACgAgACAAIAAgACAAIAAgACAAIwAgAEUAeABwAGEAbgBkAC0AQQByAGMAaABpAHYAZQAgAACX
>>"%B64FILE%" echo gYkgAFAAbwB3AGUAcgBTAGgAZQBsAGwAIAA1AC4AMAArABv/AYD7fN9+AJDeViAALgBOAEUAVAAgAEEAUABJAAoAIAAgACAAIAAgACAAIAAgAHQAcgB5ACAAewAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEEAZABkAC0AVAB5AHAAZQAgAC0AQQBzAHMAZQBtAGIAbAB5AE4AYQBtAGUAIABTAHkAcwB0AGUAbQAuAEkATwAuAEMAbwBtAHAAcgBlAHMAcwBpAG8AbgAuAEYAaQBsAGUAUwB5AHMAdABlAG0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABbAFMAeQBzAHQAZQBtAC4ASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4AWgBpAHAARgBpAGwAZQBdADoAOgBFAHgAdAByAGEAYwB0AFQAbwBEAGkAcgBlAGMAdABvAHIAeQAoACQA
>>"%B64FILE%" echo egBpAHAAUABhAHQAaAAsACAAJABlAHgAdAByAGEAYwB0AFIAbwBvAHQAKQAKACAAIAAgACAAIAAgACAAIAB9ACAAYwBhAHQAYwBoACAAewAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEYAYQBpAGwAIAAoACcA44mLUzFZJY0a/ycAIAArACAAJABfAC4ARQB4AGMAZQBwAHQAaQBvAG4ALgBNAGUAcwBzAGEAZwBlACkACgAgACAAIAAgACAAIAAgACAAfQAKACAAIAAgACAAfQAKACAAIAAgACAAVwByAGkAdABlAC0AUwB0AGUAcAAgACgAJwDjiYtTjFsQYgz/KHX2ZSAAJwAgACsAIAAoAEYAbQB0AC0ARQBsAGEAcABzAGUAZAAgACQAcwB3AC4ARQBsAGEAcABzAGUAZAApACAAKwAgACcAAjAnACkACgAKACAAIAAgACAAJABlAHgAdAByAGEA
>>"%B64FILE%" echo YwB0AGUAZAAgAD0AIABKAG8AaQBuAC0AUABhAHQAaAAgACQAZQB4AHQAcgBhAGMAdABSAG8AbwB0ACAAJAB1AHAAZABhAHQAZQByAE4AYQBtAGUACgAgACAAIAAgAGkAZgAgACgALQBuAG8AdAAgACgAVABlAHMAdAAtAFAAYQB0AGgAIAAoAEoAbwBpAG4ALQBQAGEAdABoACAAJABlAHgAdAByAGEAYwB0AGUAZAAgACgAJAB1AHAAZABhAHQAZQByAE4AYQBtAGUAIAArACAAJwAuAGUAeABlACcAKQApACkAKQAgAHsACgAgACAAIAAgACAAIAAgACAARgBhAGkAbAAgACcAi1MpfwVThVGhbAln9GawZWhW7nZVXwz/BVOFUblbDk4sZxqBLGcNTk2RV1kCMCcACgAgACAAIAAgAH0ACgAgACAAIAAgAFcAcgBpAHQAZQAtAFMAdABlAHAAIAAnAGNr
>>"%B64FILE%" echo KFeKYvRmsGVoVplRZVELeo9e7nZVXy4ALgAuACcACgAgACAAIAAgACQAcwB3ACAAPQAgAFsARABpAGEAZwBuAG8AcwB0AGkAYwBzAC4AUwB0AG8AcAB3AGEAdABjAGgAXQA6ADoAUwB0AGEAcgB0AE4AZQB3ACgAKQAKACAAIAAgACAAQwBvAHAAeQAtAEkAdABlAG0AIAAtAFAAYQB0AGgAIAAkAGUAeAB0AHIAYQBjAHQAZQBkACAALQBEAGUAcwB0AGkAbgBhAHQAaQBvAG4AIAAkAHUAcABkAGEAdABlAHIARABpAHIAIAAtAFIAZQBjAHUAcgBzAGUAIAAtAEYAbwByAGMAZQAKACAAIAAgACAAVwByAGkAdABlAC0AUwB0AGUAcAAgACgAJwCZUWVRjFsQYgz/KHX2ZSAAJwAgACsAIAAoAEYAbQB0AC0ARQBsAGEAcABzAGUAZAAgACQAcwB3AC4A
>>"%B64FILE%" echo RQBsAGEAcABzAGUAZAApACAAKwAgACcAAjAnACkACgAgACAAIAAgAFIAZQBtAG8AdgBlAC0ASQB0AGUAbQAgACQAZQB4AHQAcgBhAGMAdABSAG8AbwB0ACAALQBSAGUAYwB1AHIAcwBlACAALQBGAG8AcgBjAGUAIAAtAEUAcgByAG8AcgBBAGMAdABpAG8AbgAgAFMAaQBsAGUAbgB0AGwAeQBDAG8AbgB0AGkAbgB1AGUACgAgACAAIAAgAGkAZgAgACgALQBuAG8AdAAgACQAawBpAHQAKQAgAHsAIABSAGUAbQBvAHYAZQAtAEkAdABlAG0AIAAkAHoAaQBwAFAAYQB0AGgAIAAtAEYAbwByAGMAZQAgAC0ARQByAHIAbwByAEEAYwB0AGkAbwBuACAAUwBpAGwAZQBuAHQAbAB5AEMAbwBuAHQAaQBuAHUAZQAgAH0ACgB9AAoACgAjACAALQAtAC0A
>>"%B64FILE%" echo LQAgANN+nGdueKSLIAAtAC0ALQAtAAoAaQBmACAAKAAtAG4AbwB0ACAAKABUAGUAcwB0AC0AUABhAHQAaAAgACQAdQBwAGQAYQB0AGUAcgBFAHgAZQApACkAIAB7AAoAIAAgACAAIABGAGEAaQBsACAAKAAnAPRmsGVoVolbxYgOVM1OfmINTjBSGv8nACAAKwAgACQAdQBwAGQAYQB0AGUAcgBFAHgAZQApAAoAfQAKAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAnACcACgBXAHIAaQB0AGUALQBIAG8AcwB0ACAAJwBbABBin1JdACAA9GawZWhW8l2JW8WIAjAnACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMAbwBsAG8AcgAgAEcAcgBlAGUAbgAKAGUAeABpAHQAIAAwAAoA

rem 解码成 .ps1。**必须写 UTF-8 with BOM**：WriteAllText 默认输出无 BOM 的
rem UTF-8，而 PowerShell 5.1 读无 BOM 的 .ps1 时按 ANSI(GBK) 解码，中文全变
rem 乱码（鏈鍦扮洰褰...），乱码字节还会吞掉字符串的收尾引号，报出一堆
rem 莫名其妙的「语句块中缺少右 }」。
"%PS%" -NoProfile -ExecutionPolicy Bypass -Command "$b=([IO.File]::ReadAllText('%B64FILE%') -split '\s+' -join ''); [IO.File]::WriteAllText('%BOOTPS%', [Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($b)), (New-Object Text.UTF8Encoding($true)))"
if not "%ERRORLEVEL%"=="0" (
    del "%B64FILE%" "%BOOTPS%" >nul 2>&1
    echo.
    echo [失败] 无法解码内嵌脚本，本文件可能已损坏，请重新获取。
    pause
    exit /b 1
)
del "%B64FILE%" >nul 2>&1

echo.
echo [1/2] 正在安装更新器...
echo        接下来会依次显示：下载 → 校验 → 解压 → 写入，每一步完成都有提示；
echo        其中解压与写入在 U 盘上可能要 1~3 分钟，期间窗口短暂停顿属正常，
echo        **请耐心等到出现绿色的「[成功] 更新器已安装」，不要关闭本窗口**。
pushd "%APPDIR%"
"%PS%" -NoProfile -ExecutionPolicy Bypass -File "%BOOTPS%"
set "PSRC=%ERRORLEVEL%"
popd
del "%BOOTPS%" >nul 2>&1
>>"%BLOG%" echo %date% %time% [1/2] 更新器安装退出码 %PSRC%

if not "%PSRC%"=="0" (
    echo.
    echo [失败] 更新器安装未完成（错误码 %PSRC%）。
    pause
    exit /b %PSRC%
)

echo.
echo [2/2] 正在执行首次更新，请稍候（首次为全量下载，可能需要十几分钟）...
echo.
start "" /wait "%APPDIR%\iBrightUpdater\iBrightUpdater.exe" --mode update
set "RC=%ERRORLEVEL%"
>>"%BLOG%" echo %date% %time% [2/2] 更新器退出码 %RC%

echo.
if "%RC%"=="0" (
    echo [成功] 首次更新完成，iBrightAI 已具备远程更新功能。
    echo        以后在程序内「设置 - 版本与更新」点「检查更新」即可。
) else if "%RC%"=="3" (
    echo [已回滚] 更新失败，但已自动恢复到原版本，程序仍可正常使用。
    echo          请把 %APPDIR%\_update\updater.log 发给技术支持。
) else if "%RC%"=="2" (
    echo [提示] 检测到上次更新未完成，已先行恢复。请再运行一次本脚本。
) else (
    echo [失败] 更新未成功，错误码 %RC%。
    echo        请把以下文件发给技术支持：
    echo          %APPDIR%\_update\updater.log
    echo          %APPDIR%\_update\journal.json
)

echo.
pause
exit /b %RC%
