import re


def parse_srt(content: str):
    content = content.replace("\r\n", "\n").replace("\r", "\n").strip()
    parts = re.split(r"\n\s*\n", content)

    blocks = []

    for part in parts:
        lines = [line.rstrip() for line in part.split("\n") if line.strip() != ""]

        if len(lines) < 3:
            continue

        try:
            index = int(lines[0].strip())
            times = lines[1].strip()

            if " --> " not in times:
                continue

            start, end = times.split(" --> ", 1)
            text = "\n".join(lines[2:]).strip()

            blocks.append({
                "index": index,
                "start": start,
                "end": end,
                "text": text
            })
        except Exception:
            continue

    return blocks
