def METHOD_NAME(
    parent_categories: List[Category],
) -> Dict[str, List[Category]]:
    """Get all parent categories and their associated leaf categories."""
    result = {}
    for category in parent_categories:
        if category.subcategories is not None:
            result.update(METHOD_NAME(category.subcategories))
            result[category.name] = get_leaf_categories([category])
        else:
            return {}
    return result