I'm working on a project that aims to help beginning Lego Mindstorms programmers. I'm developing certain "modules" (moving straight, making a turn) for students to try, and I want to develop a program that can pull an .ev3 file, unzip the .ev3 to reveal its files, and analyze any of these files that are useful in determining "module" correctness. After unzipping a typical MyProgram.ev3 file, I find:

 - `___CopyrightYear` (txt)
 - `___ProjectTitle` (txt)
 - `Activity.x3a` (xml)
 - `ActivityAssets.laz` (I've read that this is a compressed folder, but I am unable to unzip this)
 - `Program.ev3p` (xml)
 - `Project.lvprojx` (xml)

Only one of these file (`Program.ev3p`) seems to contain information about the actual instructions of the EV3 program. Does the EV3 brick interpret this file to execute the program instructions? Is there any other program information in the mentioned files that I am missing?