{
  "format": "preservation-package-verification-v19",
  "milestone": "0.19.0",
  "localOnly": true,
  "sourceCommit": "d05a399513623edac9974e12d09a3c8eb414faa1",
  "final_milestone_verification_sha256": "176217d17a2e304561c0bfaeb167fdb3e43ec148265580953fa309679727da43",
  "verified_utc": "2026-10-14T10:55:08.419622+00:00",
  "zip_file": "castlevania-java-html5.zip",
  "zip_bytes": 718086262,
  "zip_sha256": "b7e1d3c4aec834a6b68acaf7a297a97c6eb6b67284480b3536661ea27e793383",
  "entry_count": 4808,
  "file_count": 4804,
  "zip_compression": "DEFLATE level1",
  "all_zip_entry_crc_checks_passed": true,
  "all_archived_file_sha256_values_match_frozen_package_source": true,
  "full_source_sha256_checked_file_count": 4804,
  "verification_archive_passes": 1,
  "original_disc_entries": [
    {
      "file": "archive/Castlevania.bin",
      "bytes": 582978480,
      "expected_sha256": "bb005be58d185be5bf26ea3425019bf6a4b86f789db29d740a37c9f582d85595",
      "zip_entry_sha256": "bb005be58d185be5bf26ea3425019bf6a4b86f789db29d740a37c9f582d85595",
      "source_sha256": "bb005be58d185be5bf26ea3425019bf6a4b86f789db29d740a37c9f582d85595",
      "matches_manifest": true
    },
    {
      "file": "archive/Castlevania.cue",
      "bytes": 188,
      "expected_sha256": "77365332ea4b442e2b4572faa7c9471dca7165cb60e9abfae4794b1fec4a15e8",
      "zip_entry_sha256": "77365332ea4b442e2b4572faa7c9471dca7165cb60e9abfae4794b1fec4a15e8",
      "source_sha256": "77365332ea4b442e2b4572faa7c9471dca7165cb60e9abfae4794b1fec4a15e8",
      "matches_manifest": true
    }
  ],
  "original_firmware_entries": [
    {
      "file": "archive/bios/scph7502.bin",
      "bytes": 524288,
      "expected_sha256": "5e84a94818cf5282f4217591fefd88be36b9b174b3cc7cb0bcd75199beb450f1",
      "source_sha256": "5e84a94818cf5282f4217591fefd88be36b9b174b3cc7cb0bcd75199beb450f1",
      "zip_entry_sha256": "5e84a94818cf5282f4217591fefd88be36b9b174b3cc7cb0bcd75199beb450f1",
      "matches_separate_firmware_manifest": true,
      "not_executed": true
    }
  ],
  "firmware_identity_check_scope": "Byte identity to the separate preserved source manifest only; no model/region/compatibility claim, firmware execution or runtime dependency.",
  "git_history_included": true,
  "archived_source_commit_matches_frozen_commit": true,
  "source_git_checkout_clean_before_and_after_packaging": true,
  "archived_milestone_verification_matches_final_report": true,
  "required_source_and_toolchain_entries_present": true,
  "required_entries_checked": [
    ".git/HEAD",
    "README.txt",
    "start.cmd",
    "rebuild.cmd",
    "verify.cmd",
    "recover-assets.cmd",
    "java/DiscTools.java",
    "java/disc-tools.jar",
    "java/PreservationTool.java",
    "java/preservation-tool.jar",
    "archive/Castlevania.bin",
    "archive/Castlevania.cue",
    "archive/manifest.json",
    "reconstruction/src/main/java/preservation/GameEngine.java",
    "reconstruction/src/main/java/preservation/StageMap.java",
    "reconstruction/src/main/java/preservation/TileCollider.java",
    "reconstruction/src/main/java/preservation/AnimationBank.java",
    "reconstruction/src/main/java/preservation/EnemyWorld.java",
    "reconstruction/src/test/java/preservation/StageMapSelfTest.java",
    "reconstruction/src/test/java/preservation/StageNavigationSelfTest.java",
    "reconstruction/src/test/java/preservation/EnemyWorldSelfTest.java",
    "reconstruction/src/test/resources/no3/bounds.csv",
    "reconstruction/src/test/resources/no3/room-0.csv",
    "reconstruction/src/test/resources/no3/room-2.csv",
    "reconstruction/src/test/resources/no3/room-7.csv",
    "reconstruction/assets/AssetDecoder.java",
    "reconstruction/assets/ASSET_PROVENANCE.md",
    "reconstruction/assets/no3-rooms.json",
    "reconstruction/assets/no3-entities.json",
    "reconstruction/assets/no3-bat.json",
    "reconstruction/assets/no3-bat-atlas.png",
    "reconstruction/assets/no3-bat-texture.png",
    "reconstruction/assets/recovery-integrity.json",
    "reconstruction/assets/asset-integrity.json",
    "reconstruction/assets/asset-validation.json",
    "reconstruction/recover-assets.ps1",
    "reconstruction/verification.json",
    "reconstruction/pom.xml",
    "reconstruction/references/no3-transition-evidence.json",
    "reconstruction/references/transition-scope.txt",
    "reconstruction/references/no3-entity-evidence.json",
    "reconstruction/references/no3-bat-evidence.json",
    "reconstruction/tests/browser-engine.mjs",
    "reconstruction/tests/stage-engine.mjs",
    "reconstruction/tests/enemy-engine.mjs",
    "reconstruction/tests/ENEMY_TESTS.txt",
    "reconstruction/tests/independent-stage-audit.json",
    "reconstruction/tests/independent-bat-audit.json",
    "reconstruction/tests/independent-enemy-asset-audit.json",
    "reconstruction/tests/independent/IndependentBatAudit.java",
    "reconstruction/tests/independent/IndependentTransitionAudit.java",
    "reconstruction/tests/independent/README.txt",
    "reconstruction/tests/independent/no3/disc-test-no3-room0.csv",
    "reconstruction/tests/independent/no3/disc-test-no3-room2.csv",
    "reconstruction/tests/independent/no3/disc-test-no3-room7.csv",
    "reconstruction/build.ps1",
    "reconstruction/build-tools/apache-maven-3.10.0/bin/mvn.cmd",
    "reconstruction/build-tools/.toolchain/jdk-17.0.20.1+1/bin/javac.exe",
    "reconstruction/build-tools/.toolchain/jdk-17.0.20.1+1/bin/java.exe",
    "reconstruction/build-tools/.toolchain/jdk-17.0.20.1+1/lib/modules",
    "reconstruction/build-tools/repository/org/teavm/teavm-jso/0.16.0/teavm-jso-0.16.0.jar",
    "web/reconstruction/engine.js",
    "web/stage-view.js",
    "web/entity-view.js",
    "web/reconstruction/src/preservation/StageMap.java",
    "web/reconstruction/src/preservation/EnemyWorld.java",
    "web/reconstruction/assets/no3-rooms.json",
    "web/reconstruction/assets/no3-entities.json",
    "web/reconstruction/assets/no3-bat.json",
    "web/reconstruction/assets/no3-bat-atlas.png",
    "web/reconstruction/assets/no3-bat-texture.png",
    "web/data/reconstruction-status.json",
    "reconstruction/src/main/java/preservation/ZombieWorld.java",
    "reconstruction/src/main/java/preservation/EnemyTerrain.java",
    "reconstruction/src/test/java/preservation/ZombieWorldSelfTest.java",
    "reconstruction/src/test/java/preservation/EnemyTerrainSelfTest.java",
    "reconstruction/assets/no3-zombie.json",
    "reconstruction/assets/no3-zombie-atlas.png",
    "reconstruction/assets/no3-zombie-texture.png",
    "reconstruction/references/no3-zombie-evidence.json",
    "reconstruction/tests/zombie-engine.mjs",
    "reconstruction/tests/independent/IndependentZombieAudit.java",
    "reconstruction/tests/independent-zombie-audit.json",
    "reconstruction/tests/independent-zombie-asset-audit.json",
    "web/reconstruction/src/preservation/ZombieWorld.java",
    "web/reconstruction/src/preservation/EnemyTerrain.java",
    "web/reconstruction/assets/no3-zombie.json",
    "web/reconstruction/assets/no3-zombie-atlas.png",
    "web/reconstruction/assets/no3-zombie-texture.png",
    "reconstruction/src/main/java/preservation/CandleWorld.java",
    "reconstruction/src/test/java/preservation/CandleWorldSelfTest.java",
    "reconstruction/references/no3-candle-evidence.json",
    "reconstruction/tests/independent/IndependentCandleAudit.java",
    "reconstruction/tests/independent-candle-audit.json",
    "reconstruction/tests/independent-candle-asset-audit.json",
    "reconstruction/tests/candle-engine.mjs",
    "web/object-view.js",
    "web/reconstruction/src/preservation/CandleWorld.java",
    "reconstruction/assets/no3-candle.json",
    "reconstruction/assets/no3-candle-atlas.png",
    "reconstruction/assets/no3-candle-opaque-atlas.png",
    "reconstruction/assets/no3-candle-stp-atlas.png",
    "reconstruction/assets/no3-candle-explosion-atlas.png",
    "reconstruction/assets/no3-candle-explosion-opaque-atlas.png",
    "reconstruction/assets/no3-candle-explosion-stp-atlas.png",
    "web/reconstruction/assets/no3-candle.json",
    "web/reconstruction/assets/no3-candle-atlas.png",
    "web/reconstruction/assets/no3-candle-opaque-atlas.png",
    "web/reconstruction/assets/no3-candle-stp-atlas.png",
    "web/reconstruction/assets/no3-candle-explosion-atlas.png",
    "web/reconstruction/assets/no3-candle-explosion-opaque-atlas.png",
    "web/reconstruction/assets/no3-candle-explosion-stp-atlas.png",
    "reconstruction/src/test/java/preservation/PrizeWorldSelfTest.java",
    "reconstruction/tests/prizes-engine.mjs",
    "reconstruction/tests/PRIZE_TESTS.txt",
    "reconstruction/tests/independent/IndependentPrizeAudit.java",
    "reconstruction/tests/independent-prizes-audit.json",
    "reconstruction/tests/independent-prizes-asset-audit.json",
    "reconstruction/references/no3-prizes-evidence.json",
    "reconstruction/tests/proofs/local-v06.jpg",
    "reconstruction/tests/proofs/large-heart-v06.jpg",
    "reconstruction/tests/proofs/gold-v06.jpg",
    "reconstruction/assets/no3-prizes.json",
    "reconstruction/assets/no3-prizes-atlas.png",
    "reconstruction/assets/no3-prizes-opaque-atlas.png",
    "reconstruction/assets/no3-prizes-stp-atlas.png",
    "web/reconstruction/assets/no3-prizes.json",
    "web/reconstruction/assets/no3-prizes-atlas.png",
    "web/reconstruction/assets/no3-prizes-opaque-atlas.png",
    "web/reconstruction/assets/no3-prizes-stp-atlas.png",
    "reconstruction/tests/subweapon-preview.mjs",
    "web/subweapon-preview.html",
    "web/subweapon-preview.js",
    "web/subweapon-preview.json",
    "reconstruction/src/test/java/preservation/SubweaponWorldSelfTest.java",
    "reconstruction/tests/subweapons-engine.mjs",
    "reconstruction/tests/SUBWEAPON_TESTS.txt",
    "reconstruction/tests/independent/IndependentSubweaponAudit.java",
    "reconstruction/tests/independent-subweapons-audit.json",
    "reconstruction/tests/independent-subweapons-asset-audit.json",
    "reconstruction/references/no3-subweapons-evidence.json",
    "reconstruction/assets/no3-subweapons.json",
    "reconstruction/assets/no3-subweapons-atlas.png",
    "reconstruction/assets/no3-subweapons-opaque-atlas.png",
    "reconstruction/assets/no3-subweapons-stp-atlas.png",
    "reconstruction/assets/no3-subweapons-white-atlas.png",
    "reconstruction/assets/no3-subweapon-sparkle.png",
    "web/reconstruction/assets/no3-subweapons.json",
    "web/reconstruction/assets/no3-subweapons-atlas.png",
    "web/reconstruction/assets/no3-subweapons-opaque-atlas.png",
    "web/reconstruction/assets/no3-subweapons-stp-atlas.png",
    "web/reconstruction/assets/no3-subweapons-white-atlas.png",
    "web/reconstruction/assets/no3-subweapon-sparkle.png",
    "reconstruction/src/main/java/preservation/DaggerWorld.java",
    "web/reconstruction/src/preservation/DaggerWorld.java",
    "reconstruction/src/test/java/preservation/DaggerWorldSelfTest.java",
    "reconstruction/tests/dagger-engine.mjs",
    "reconstruction/tests/DAGGER_TESTS.txt",
    "reconstruction/tests/dagger-preview.mjs",
    "reconstruction/tests/dagger-renderer.mjs",
    "web/dagger-view.js",
    "web/dagger-preview.json",
    "reconstruction/tests/independent/IndependentDaggerAudit.java",
    "reconstruction/tests/independent-dagger-audit.json",
    "reconstruction/tests/independent-dagger-asset-audit.json",
    "reconstruction/references/dagger-attack-evidence.json",
    "reconstruction/tests/proofs/local-v08.png",
    "reconstruction/tests/proofs/dagger-bounce-v08.png",
    "reconstruction/tests/proofs/fixtures-v08.png",
    "reconstruction/assets/dagger-attack.json",
    "reconstruction/assets/dagger-attack-texture.png",
    "reconstruction/assets/dagger-attack-opaque.png",
    "reconstruction/assets/dagger-attack-stp.png",
    "web/reconstruction/assets/dagger-attack.json",
    "web/reconstruction/assets/dagger-attack-texture.png",
    "web/reconstruction/assets/dagger-attack-opaque.png",
    "web/reconstruction/assets/dagger-attack-stp.png",
    "reconstruction/src/main/java/preservation/AxeWorld.java",
    "web/reconstruction/src/preservation/AxeWorld.java",
    "reconstruction/src/test/java/preservation/AxeWorldSelfTest.java",
    "reconstruction/tests/axe-engine.mjs",
    "reconstruction/tests/AXE_TESTS.txt",
    "reconstruction/tests/axe-preview.mjs",
    "reconstruction/tests/axe-renderer.mjs",
    "web/axe-view.js",
    "web/axe-preview.json",
    "reconstruction/tests/independent/IndependentAxeAudit.java",
    "reconstruction/tests/independent/axe-rgb555-audit.mjs",
    "reconstruction/tests/independent-axe-audit.json",
    "reconstruction/tests/independent-axe-asset-audit.json",
    "reconstruction/tests/independent-axe-tint-audit.json",
    "reconstruction/references/axe-attack-evidence.json",
    "reconstruction/tests/proofs/local-v09.jpg",
    "reconstruction/tests/proofs/axe-v09.jpg",
    "reconstruction/tests/proofs/fixtures-v09.jpg",
    "reconstruction/assets/axe-attack.json",
    "reconstruction/assets/axe-attack-palette0-texture.png",
    "reconstruction/assets/axe-attack-palette0-opaque.png",
    "reconstruction/assets/axe-attack-palette0-stp.png",
    "reconstruction/assets/axe-attack-palette1-texture.png",
    "reconstruction/assets/axe-attack-palette1-opaque.png",
    "reconstruction/assets/axe-attack-palette1-stp.png",
    "web/reconstruction/assets/axe-attack.json",
    "web/reconstruction/assets/axe-attack-palette0-texture.png",
    "web/reconstruction/assets/axe-attack-palette0-opaque.png",
    "web/reconstruction/assets/axe-attack-palette0-stp.png",
    "web/reconstruction/assets/axe-attack-palette1-texture.png",
    "web/reconstruction/assets/axe-attack-palette1-opaque.png",
    "web/reconstruction/assets/axe-attack-palette1-stp.png",
    "reconstruction/src/main/java/preservation/HolyWaterWorld.java",
    "web/reconstruction/src/preservation/HolyWaterWorld.java",
    "reconstruction/src/test/java/preservation/HolyWaterWorldSelfTest.java",
    "reconstruction/tests/holy-water-engine.mjs",
    "reconstruction/tests/HOLY_WATER_TESTS.txt",
    "reconstruction/tests/holy-water-preview.mjs",
    "reconstruction/tests/holy-water-renderer.mjs",
    "web/holy-water-view.js",
    "web/holy-water-preview.json",
    "reconstruction/tests/independent/IndependentHolyWaterAudit.java",
    "reconstruction/tests/independent/holy-water-rgb555-audit.mjs",
    "reconstruction/tests/independent-holy-water-audit.json",
    "reconstruction/tests/independent-holy-water-asset-audit.json",
    "reconstruction/tests/independent-holy-water-tint-audit.json",
    "reconstruction/references/holy-water-attack-evidence.json",
    "reconstruction/tests/proofs/local-v10.jpg",
    "reconstruction/tests/proofs/holy-water-v10.jpg",
    "reconstruction/tests/proofs/fixtures-v10.jpg",
    "archive/bios/scph7502.bin",
    "archive/bios/manifest.json",
    "archive/bios/SHA256SUMS.txt",
    "reconstruction/assets/holy-water-attack.json",
    "reconstruction/assets/holy-water-bottle-atlas.png",
    "reconstruction/assets/holy-water-bottle-opaque-atlas.png",
    "reconstruction/assets/holy-water-bottle-stp-atlas.png",
    "reconstruction/assets/holy-water-flame-texture.png",
    "reconstruction/assets/holy-water-flame-opaque.png",
    "reconstruction/assets/holy-water-flame-stp.png",
    "web/reconstruction/assets/holy-water-attack.json",
    "web/reconstruction/assets/holy-water-bottle-atlas.png",
    "web/reconstruction/assets/holy-water-bottle-opaque-atlas.png",
    "web/reconstruction/assets/holy-water-bottle-stp-atlas.png",
    "web/reconstruction/assets/holy-water-flame-texture.png",
    "web/reconstruction/assets/holy-water-flame-opaque.png",
    "web/reconstruction/assets/holy-water-flame-stp.png",
    "reconstruction/assets/green-particles.json",
    "web/reconstruction/assets/green-particles.json",
    "reconstruction/references/green-particles-evidence.json",
    "reconstruction/tests/independent/IndependentGreenParticlesAudit.java",
    "reconstruction/tests/independent/green-particles-renderer-audit.mjs",
    "reconstruction/tests/independent-green-particles-audit.json",
    "reconstruction/tests/independent-green-particles-asset-audit.json",
    "reconstruction/tests/independent-green-particles-renderer-audit.json",
    "reconstruction/tests/proofs/local-v11.jpg",
    "reconstruction/tests/proofs/green-particles-v11.jpg",
    "reconstruction/tests/proofs/fixtures-v11.jpg",
    "reconstruction/src/main/java/preservation/CrossWorld.java",
    "reconstruction/src/main/java/preservation/CrossMath.java",
    "web/reconstruction/src/preservation/CrossWorld.java",
    "web/reconstruction/src/preservation/CrossMath.java",
    "reconstruction/src/test/java/preservation/CrossWorldSelfTest.java",
    "reconstruction/tests/CROSS_TESTS.txt",
    "reconstruction/tests/cross-engine.mjs",
    "reconstruction/tests/cross-renderer.mjs",
    "reconstruction/tests/cross-preview.mjs",
    "web/cross-view.js",
    "web/cross-preview.json",
    "reconstruction/references/cross-attack-evidence.json",
    "reconstruction/tests/independent/IndependentCrossAudit.java",
    "reconstruction/tests/independent/cross-renderer-audit.mjs",
    "reconstruction/tests/independent-cross-audit.json",
    "reconstruction/tests/independent-cross-asset-audit.json",
    "reconstruction/tests/independent-cross-renderer-audit.json",
    "reconstruction/tests/proofs/local-v12.jpg",
    "reconstruction/tests/proofs/cross-v12.jpg",
    "reconstruction/tests/proofs/fixtures-v12.jpg",
    "reconstruction/assets/cross-attack.json",
    "reconstruction/assets/cross-giant-palette0-texture.png",
    "reconstruction/assets/cross-giant-palette0-opaque.png",
    "reconstruction/assets/cross-giant-palette0-stp.png",
    "reconstruction/assets/cross-giant-palette1-texture.png",
    "reconstruction/assets/cross-giant-palette1-opaque.png",
    "reconstruction/assets/cross-giant-palette1-stp.png",
    "reconstruction/assets/cross-giant-palette2-texture.png",
    "reconstruction/assets/cross-giant-palette2-opaque.png",
    "reconstruction/assets/cross-giant-palette2-stp.png",
    "reconstruction/assets/cross-blue-particles-texture.png",
    "reconstruction/assets/cross-blue-particles-opaque.png",
    "reconstruction/assets/cross-blue-particles-stp.png",
    "reconstruction/assets/cross-beam-texture.png",
    "reconstruction/assets/cross-beam-opaque.png",
    "reconstruction/assets/cross-beam-stp.png",
    "web/reconstruction/assets/cross-attack.json",
    "web/reconstruction/assets/cross-giant-palette0-texture.png",
    "web/reconstruction/assets/cross-giant-palette0-opaque.png",
    "web/reconstruction/assets/cross-giant-palette0-stp.png",
    "web/reconstruction/assets/cross-giant-palette1-texture.png",
    "web/reconstruction/assets/cross-giant-palette1-opaque.png",
    "web/reconstruction/assets/cross-giant-palette1-stp.png",
    "web/reconstruction/assets/cross-giant-palette2-texture.png",
    "web/reconstruction/assets/cross-giant-palette2-opaque.png",
    "web/reconstruction/assets/cross-giant-palette2-stp.png",
    "web/reconstruction/assets/cross-blue-particles-texture.png",
    "web/reconstruction/assets/cross-blue-particles-opaque.png",
    "web/reconstruction/assets/cross-blue-particles-stp.png",
    "web/reconstruction/assets/cross-beam-texture.png",
    "web/reconstruction/assets/cross-beam-opaque.png",
    "web/reconstruction/assets/cross-beam-stp.png",
    "reconstruction/src/main/java/preservation/BibleWorld.java",
    "web/reconstruction/src/preservation/BibleWorld.java",
    "reconstruction/src/test/java/preservation/BibleWorldSelfTest.java",
    "reconstruction/tests/BIBLE_TESTS.txt",
    "reconstruction/tests/bible-engine.mjs",
    "reconstruction/tests/bible-renderer.mjs",
    "reconstruction/tests/bible-preview.mjs",
    "web/bible-view.js",
    "web/bible-preview.json",
    "reconstruction/references/bible-attack-evidence.json",
    "reconstruction/tests/independent/IndependentBibleAudit.java",
    "reconstruction/tests/independent/bible-renderer-audit.mjs",
    "reconstruction/tests/independent-bible-audit.json",
    "reconstruction/tests/independent-bible-asset-audit.json",
    "reconstruction/tests/independent-bible-renderer-audit.json",
    "reconstruction/tests/proofs/local-v13.jpg",
    "reconstruction/tests/proofs/bible-v13.jpg",
    "reconstruction/tests/proofs/fixtures-v13.jpg",
    "reconstruction/assets/bible-attack.json",
    "reconstruction/assets/bible-book-texture.png",
    "reconstruction/assets/bible-book-opaque.png",
    "reconstruction/assets/bible-book-stp.png",
    "reconstruction/assets/bible-trail-texture.png",
    "reconstruction/assets/bible-trail-opaque.png",
    "reconstruction/assets/bible-trail-stp.png",
    "web/reconstruction/assets/bible-attack.json",
    "web/reconstruction/assets/bible-book-texture.png",
    "web/reconstruction/assets/bible-book-opaque.png",
    "web/reconstruction/assets/bible-book-stp.png",
    "web/reconstruction/assets/bible-trail-texture.png",
    "web/reconstruction/assets/bible-trail-opaque.png",
    "web/reconstruction/assets/bible-trail-stp.png",
    "reconstruction/src/main/java/preservation/StopwatchWorld.java",
    "web/reconstruction/src/preservation/StopwatchWorld.java",
    "reconstruction/src/test/java/preservation/StopwatchWorldSelfTest.java",
    "reconstruction/tests/STOPWATCH_TESTS.txt",
    "reconstruction/tests/stopwatch-engine.mjs",
    "reconstruction/tests/stopwatch-renderer.mjs",
    "reconstruction/tests/stopwatch-preview.mjs",
    "web/stopwatch-view.js",
    "web/stopwatch-preview.json",
    "reconstruction/references/stopwatch-attack-evidence.json",
    "reconstruction/tests/independent/IndependentStopwatchAudit.java",
    "reconstruction/tests/independent/stopwatch-renderer-audit.mjs",
    "reconstruction/tests/independent-stopwatch-audit.json",
    "reconstruction/tests/independent-stopwatch-asset-audit.json",
    "reconstruction/tests/independent-stopwatch-renderer-audit.json",
    "reconstruction/tests/proofs/local-v14.jpg",
    "reconstruction/tests/proofs/stopwatch-v14.jpg",
    "reconstruction/tests/proofs/fixtures-v14.jpg",
    "reconstruction/src/main/java/preservation/StageUpdateGate.java",
    "web/reconstruction/src/preservation/StageUpdateGate.java",
    "reconstruction/src/test/java/preservation/StageUpdateGateSelfTest.java",
    "reconstruction/assets/stopwatch-attack.json",
    "reconstruction/assets/stopwatch-clock-texture.png",
    "reconstruction/assets/stopwatch-clock-opaque.png",
    "reconstruction/assets/stopwatch-clock-stp.png",
    "reconstruction/assets/stopwatch-clock-white-texture.png",
    "reconstruction/assets/stopwatch-clock-white-opaque.png",
    "reconstruction/assets/stopwatch-clock-white-stp.png",
    "reconstruction/assets/stopwatch-digits-texture.png",
    "reconstruction/assets/stopwatch-digits-opaque.png",
    "reconstruction/assets/stopwatch-digits-stp.png",
    "reconstruction/assets/stopwatch-circle-texture.png",
    "reconstruction/assets/stopwatch-circle-opaque.png",
    "reconstruction/assets/stopwatch-circle-stp.png",
    "web/reconstruction/assets/stopwatch-attack.json",
    "web/reconstruction/assets/stopwatch-clock-texture.png",
    "web/reconstruction/assets/stopwatch-clock-opaque.png",
    "web/reconstruction/assets/stopwatch-clock-stp.png",
    "web/reconstruction/assets/stopwatch-clock-white-texture.png",
    "web/reconstruction/assets/stopwatch-clock-white-opaque.png",
    "web/reconstruction/assets/stopwatch-clock-white-stp.png",
    "web/reconstruction/assets/stopwatch-digits-texture.png",
    "web/reconstruction/assets/stopwatch-digits-opaque.png",
    "web/reconstruction/assets/stopwatch-digits-stp.png",
    "web/reconstruction/assets/stopwatch-circle-texture.png",
    "web/reconstruction/assets/stopwatch-circle-opaque.png",
    "web/reconstruction/assets/stopwatch-circle-stp.png",
    "reconstruction/src/main/java/preservation/ReboundWorld.java",
    "reconstruction/src/main/java/preservation/ReboundTerrain.java",
    "web/reconstruction/src/preservation/ReboundWorld.java",
    "web/reconstruction/src/preservation/ReboundTerrain.java",
    "reconstruction/src/test/java/preservation/ReboundWorldSelfTest.java",
    "reconstruction/src/test/java/preservation/ReboundTerrainSelfTest.java",
    "reconstruction/tests/REBOUND_TESTS.txt",
    "reconstruction/tests/rebound-engine.mjs",
    "reconstruction/tests/rebound-renderer.mjs",
    "reconstruction/tests/rebound-preview.mjs",
    "web/rebound-view.js",
    "web/rebound-preview.json",
    "reconstruction/assets/rebound-stone-attack.json",
    "web/reconstruction/assets/rebound-stone-attack.json",
    "reconstruction/references/rebound-stone-attack-evidence.json",
    "reconstruction/tests/independent-rebound-audit.json",
    "reconstruction/tests/independent-rebound-asset-audit.json",
    "reconstruction/tests/independent-rebound-renderer-audit.json",
    "reconstruction/tests/independent/IndependentReboundAudit.java",
    "reconstruction/tests/independent/rebound-renderer-audit.mjs",
    "reconstruction/tests/independent/rebound-native-traces.json",
    "reconstruction/tests/proofs/local-v15.jpg",
    "reconstruction/tests/proofs/rebound-v15.jpg",
    "reconstruction/tests/proofs/fixtures-v15.jpg",
    "reconstruction/src/main/java/preservation/VibhutiWorld.java",
    "reconstruction/src/main/java/preservation/VibhutiTerrain.java",
    "web/reconstruction/src/preservation/VibhutiWorld.java",
    "web/reconstruction/src/preservation/VibhutiTerrain.java",
    "reconstruction/src/test/java/preservation/VibhutiWorldSelfTest.java",
    "reconstruction/src/test/java/preservation/VibhutiTerrainSelfTest.java",
    "reconstruction/tests/VIBHUTI_TESTS.txt",
    "reconstruction/tests/vibhuti-engine.mjs",
    "reconstruction/tests/vibhuti-renderer.mjs",
    "reconstruction/tests/vibhuti-preview.mjs",
    "web/vibhuti-view.js",
    "web/vibhuti-preview.json",
    "reconstruction/assets/vibhuti-attack.json",
    "web/reconstruction/assets/vibhuti-attack.json",
    "reconstruction/references/vibhuti-attack-evidence.json",
    "reconstruction/tests/independent-vibhuti-audit.json",
    "reconstruction/tests/independent-vibhuti-asset-audit.json",
    "reconstruction/tests/independent-vibhuti-renderer-audit.json",
    "reconstruction/tests/independent/IndependentVibhutiAudit.java",
    "reconstruction/tests/independent/vibhuti-renderer-audit.mjs",
    "reconstruction/tests/independent/vibhuti-native-traces.json",
    "reconstruction/tests/proofs/local-v16.jpg",
    "reconstruction/tests/proofs/vibhuti-v16.jpg",
    "reconstruction/tests/proofs/fixtures-v16.jpg",
    "reconstruction/src/main/java/preservation/AguneaWorld.java",
    "reconstruction/src/main/java/preservation/AguneaMath.java",
    "web/reconstruction/src/preservation/AguneaWorld.java",
    "web/reconstruction/src/preservation/AguneaMath.java",
    "reconstruction/src/test/java/preservation/AguneaWorldSelfTest.java",
    "reconstruction/src/test/java/preservation/AguneaMathSelfTest.java",
    "reconstruction/tests/AGUNEA_TESTS.txt",
    "reconstruction/tests/agunea-engine.mjs",
    "reconstruction/tests/agunea-renderer.mjs",
    "reconstruction/tests/agunea-preview.mjs",
    "web/agunea-view.js",
    "web/agunea-preview.json",
    "reconstruction/references/agunea-attack-evidence.json",
    "reconstruction/tests/independent-agunea-audit.json",
    "reconstruction/tests/independent-agunea-asset-audit.json",
    "reconstruction/tests/independent-agunea-renderer-audit.json",
    "reconstruction/tests/independent/IndependentAguneaAudit.java",
    "reconstruction/tests/independent/agunea-renderer-audit.mjs",
    "reconstruction/tests/independent/agunea-native-traces.json",
    "reconstruction/tests/proofs/local-v17.jpg",
    "reconstruction/tests/proofs/agunea-v17.jpg",
    "reconstruction/tests/proofs/fixtures-v17.jpg",
    "reconstruction/assets/agunea-attack.json",
    "reconstruction/assets/agunea-ribbon-normal-texture.png",
    "reconstruction/assets/agunea-ribbon-normal-opaque.png",
    "reconstruction/assets/agunea-ribbon-normal-stp.png",
    "reconstruction/assets/agunea-ribbon-white-texture.png",
    "reconstruction/assets/agunea-ribbon-white-opaque.png",
    "reconstruction/assets/agunea-ribbon-white-stp.png",
    "web/reconstruction/assets/agunea-attack.json",
    "web/reconstruction/assets/agunea-ribbon-normal-texture.png",
    "web/reconstruction/assets/agunea-ribbon-normal-opaque.png",
    "web/reconstruction/assets/agunea-ribbon-normal-stp.png",
    "web/reconstruction/assets/agunea-ribbon-white-texture.png",
    "web/reconstruction/assets/agunea-ribbon-white-opaque.png",
    "web/reconstruction/assets/agunea-ribbon-white-stp.png",
    "reconstruction/src/main/java/preservation/PlayerOutlineWorld.java",
    "web/reconstruction/src/preservation/PlayerOutlineWorld.java",
    "reconstruction/src/test/java/preservation/PlayerOutlineWorldSelfTest.java",
    "reconstruction/tests/PLAYER_OUTLINE_TESTS.txt",
    "reconstruction/tests/player-outline-engine.mjs",
    "reconstruction/tests/player-outline-renderer.mjs",
    "reconstruction/tests/player-outline-preview.mjs",
    "web/player-outline-view.js",
    "web/player-outline-preview.json",
    "reconstruction/references/player-outline-evidence.json",
    "reconstruction/tests/independent-player-outline-audit.json",
    "reconstruction/tests/independent-player-outline-asset-audit.json",
    "reconstruction/tests/independent-player-outline-renderer-audit.json",
    "reconstruction/tests/independent/IndependentPlayerOutlineAudit.java",
    "reconstruction/tests/independent/player-outline-renderer-audit.mjs",
    "reconstruction/tests/independent/player-outline-native-traces.json",
    "reconstruction/tests/proofs/local-v18.jpg",
    "reconstruction/tests/proofs/player-outline-v18.jpg",
    "reconstruction/tests/proofs/fixtures-v18.jpg",
    "reconstruction/assets/player-outline.json",
    "reconstruction/assets/player-outline-atlas.png",
    "reconstruction/assets/player-outline-opaque-atlas.png",
    "reconstruction/assets/player-outline-stp-atlas.png",
    "web/reconstruction/assets/player-outline.json",
    "web/reconstruction/assets/player-outline-atlas.png",
    "web/reconstruction/assets/player-outline-opaque-atlas.png",
    "web/reconstruction/assets/player-outline-stp-atlas.png",
    "reconstruction/src/main/java/preservation/PlayerBlinkWorld.java",
    "web/reconstruction/src/preservation/PlayerBlinkWorld.java",
    "reconstruction/src/test/java/preservation/PlayerBlinkWorldSelfTest.java",
    "reconstruction/tests/PLAYER_BLINK_TESTS.txt",
    "reconstruction/tests/player-blink-engine.mjs",
    "reconstruction/tests/player-blink-renderer.mjs",
    "reconstruction/tests/player-blink-preview.mjs",
    "web/player-blink-view.js",
    "web/player-blink-preview.json",
    "reconstruction/references/player-blink-evidence.json",
    "reconstruction/tests/independent-player-blink-audit.json",
    "reconstruction/tests/independent-player-blink-asset-audit.json",
    "reconstruction/tests/independent-player-blink-renderer-audit.json",
    "reconstruction/tests/independent/IndependentPlayerBlinkAudit.java",
    "reconstruction/tests/independent/player-blink-renderer-audit.mjs",
    "reconstruction/tests/independent/player-blink-native-traces.json",
    "reconstruction/tests/proofs/local-v19.jpg",
    "reconstruction/tests/proofs/player-blink-v19.jpg",
    "reconstruction/tests/proofs/fixtures-v19.jpg",
    "reconstruction/assets/player-blink.json",
    "reconstruction/assets/player-blink-atlas.png",
    "reconstruction/assets/player-blink-opaque-atlas.png",
    "reconstruction/assets/player-blink-stp-atlas.png",
    "web/reconstruction/assets/player-blink.json",
    "web/reconstruction/assets/player-blink-atlas.png",
    "web/reconstruction/assets/player-blink-opaque-atlas.png",
    "web/reconstruction/assets/player-blink-stp-atlas.png",
    ".git/refs/heads/main"
  ],
  "excluded_regenerable_outputs": [
    "java/classes",
    "java/preservation-classes",
    "reconstruction/target"
  ],
  "package_source_sizes_and_modification_times_unchanged_during_packaging": true,
  "package_file_inventory_unchanged_during_packaging": true
}
