All 18 single types and 153 dual-type combinations, scored purely from the type chart. Defense = how well a typing survives the 18 attacking types; Offense = how much super-effective STAB coverage it has.
Searches the National Dex for teams that combine the best typing spread (defensive coverage + offensive coverage) with strong base stats. The first run downloads every Pokémon from PokéAPI and caches it, so later runs are instant.