def METHOD_NAME(stream: str, index: int) -> parsy.Result:
    try:
        if match := iso_date_re.match(stream, index):
            ds = match.group()
            try:
                dt = datetime.fromisoformat(ds)
            except Exception:
                dt = parse_iso_8601(ds)
            if dt.tzinfo is None:
                dt = dt.replace(tzinfo=timezone.utc)
            else:
                offset = dt.tzinfo.utcoffset(None)
                if offset is not None and offset.total_seconds() > 0:
                    dt = dt.astimezone(timezone.utc)
            return parsy.Result.success(index + len(ds), dt)
    except Exception:
        pass
    return parsy.Result.failure(index, "No valid ISO 8601 date time")