def generate_all(sumlevel, d):
    """Generate a dict that includes all of the available geoid values, with keys
    for the most common names for those values. """
    from geoid.civick import GVid
    from geoid.tiger import TigerGeoid
    from geoid.acs import AcsGeoid
    sumlevel = int(sumlevel)
    d = dict(d.items())
    if 'cousub' in d:
        d['cosub'] = d['cousub']
        del d['cousub']
    if 'blkgrp' in d:
        d['blockgroup'] = d['blkgrp']
        del d['blkgrp']
    if 'zcta5' in d:
        d['zcta'] = d['zcta5']
        del d['zcta5']
    gvid_class = GVid.resolve_summary_level(sumlevel)
    if not gvid_class:
        return {}
    geoidt_class = TigerGeoid.resolve_summary_level(sumlevel)
    geoid_class = AcsGeoid.resolve_summary_level(sumlevel)
    try:
        return dict(gvid=str(gvid_class(**d)), geoid=str(geoid_class(**d)),
            geoidt=str(geoidt_class(**d)))
    except:
        raise
