def METHOD_NAME(conf: typing.MutableMapping[str, dict]):
    try:
        local = Party(
            role=conf["local"]["role"], party_id=conf["local"]["party_id"]
        )
        role_to_parties = {}
        for role, party_id_list in conf.get("role", {}).items():
            role_to_parties[role] = [
                Party(role=role, party_id=party_id) for party_id in party_id_list
            ]
    except Exception as e:
        raise RuntimeError(
            "conf parse error, a correct configuration could be:\n"
            "{\n"
            "  'local': {'role': 'guest', 'party_id': 10000},\n"
            "  'role': {'guest': [10000], 'host': [9999, 9998]}, 'arbiter': [9997]}\n"
            "}"
        ) from e
    return PartiesInfo(local, role_to_parties)