SnapNPlan: Windows-only offline LAN exams (v2.2)
================================================

Before the first real exam, run a five-minute practice exam with the teacher
PC and two student PCs, to check your lab's network, firewall and student
accounts. README.md, "Practice run before the first exam", lists what to try.

TEACHER PC (Windows 10/11 x64)
1. Extract the entire package to a writable local folder.
2. Install vendor\python\python-3.14.8-amd64.exe if needed. Enable PATH + pip.
3. Run teacher\SETUP-TEACHER-PC.bat. All Python wheels are already bundled.
4. Run teacher\ALLOW-LAN-FIREWALL.bat as administrator.
5. Run teacher\START-EXAM-SERVER.bat and keep the window open.
6. Open its printed address + /new/ to create the exam and get its code.

STUDENT PCS (Windows)
1. Copy the teacher-generated student_package folder to every PC.
2. Lab administrator runs INSTALL-AGENT.bat once.
3. Student runs launch-exam.bat, then enters the code, name and roll number.
   The roll number is required: one attempt per roll number per exam.
4. Run SELFTEST.bat. Resolve failures before the exam.
5. The teacher connection, Windows agent and browser ML are ALL compulsory.
   Share the ENTIRE SCREEN. The model must load and analyse a captured frame
   before entry. No checkbox or agent-only fallback is available. If sharing
   or ML fails, restore it before answering can continue; the timer runs on.
6. Exactly one display is allowed. Disconnect extra monitors/projectors
   (a mirrored projector counts as one).

UPGRADING FROM v2/v2.1: rerun teacher setup, then reinstall the regenerated
student_package on every student PC (new agent scripts and launcher).

New exam options (marks, sections, shuffle, end time, extra time, pre-listed
apps/sites, open-book ML) are typed as tags and @settings lines in the
existing Questions box. See README.md, "Exam options in the questions box".

Internet is not required for these steps. All PCs must have local IP addresses
on the same permitted LAN. A managed firewall or isolated college network
still needs lab IT to allow student -> teacher TCP on the configured port.
The supplied firewall helper creates a scoped allow rule; it does not bypass
or turn off institutional security controls.

Read README.md for full setup, diagnostics, modes, backups and the practice run.
VALIDATION.md lists the automated checks included with this release.
