# 7

BUILD_LIST_SEQUENCE_PRODUCTION {
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { AllUnitBuildList }
  BuildListElement { Freight }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}
  BuildListElement { Infrastructure }
}

BUILD_LIST_SEQUENCE_GROWTH {
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { AllUnitBuildList }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { Freight }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}
  BuildListElement { Infrastructure }
}

BUILD_LIST_SEQUENCE_OFFENSE {
  BuildListElement { AllUnitBuildList }
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE }
  BuildListElement { Freight }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { Capitalization }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}
}

BUILD_LIST_SEQUENCE_DEFENSE {
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { AllUnitBuildList }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { Freight }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { Capitalization }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}
}

BUILD_LIST_SEQUENCE_SCIENCE {
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { Freight }
  BuildListElement { AllUnitBuildList }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}

  BuildListElement { Capitalization }
}

BUILD_LIST_SEQUENCE_GOLD {
  BuildListElement { Freight }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { AllUnitBuildList }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { Capitalization }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}
}

BUILD_LIST_SEQUENCE_WONDERS {
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE }
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { Freight }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}

  BuildListElement { Capitalization }
}

BUILD_LIST_SEQUENCE_HAPPINESS {
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { Freight }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}

  BuildListElement { Capitalization }
}

// Note: When build list sequence elements are redefined by merging strategies,
// they are matched by build list sequence.  BuildListSequencesElements with
// the same build list sequence are not allowed.
BUILD_LIST_SEQUENCE_DEFAULT {
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { GarrisonUnitBuildList }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { AllUnitBuildList }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { Freight }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GOLD }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }

  // otherwise, just build anything
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_HAPPINESS }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_GROWTH }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_PRODUCTION }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_OFFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_DEFENSE }
  BuildListElement { BuildingBuildList BUILDING_BUILD_LIST_SCIENCE }

  BuildListElement { WonderBuildList WONDER_BUILD_LIST_HAPPINESS }
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GROWTH}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_PRODUCTION}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_GOLD}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_OFFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_DEFENSE}
  BuildListElement { WonderBuildList WONDER_BUILD_LIST_SCIENCE}

  BuildListElement { Capitalization }
}
