port generate_grouping_table()