Download the verified synthesis replay archive
The ZIP is split into parts because the full archive exceeds the static-file size limit. Download the parts together with the archive manifest, then use the button below to verify each part and the reconstructed ZIP before saving it.
- Loading part links…
Join the files with Python
Alternatively, save the manifest and every listed part in one folder, then run this Python standard-library script there. It writes the ZIP only after checking all part hashes, offsets, and the complete archive hash.
import hashlib
import json
from pathlib import Path
manifest = json.loads(Path("archive-manifest.json").read_text(encoding="utf-8"))
whole = hashlib.sha256()
partial = Path(manifest["archive_filename"] + ".partial")
target = Path(manifest["archive_filename"])
if partial.exists() or target.exists():
raise FileExistsError("Choose an empty folder or move the existing output first.")
with partial.open("xb") as output:
for part in manifest["parts"]:
data = Path(part["file"]).read_bytes()
assert len(data) == part["length"], part["file"]
assert hashlib.sha256(data).hexdigest() == part["sha256"], part["file"]
assert output.tell() == part["offset"], part["file"]
output.write(data)
whole.update(data)
assert partial.stat().st_size == manifest["archive_size"]
assert whole.hexdigest() == manifest["archive_sha256"]
partial.rename(target)