code: def load_config(self, framework_config: ConfigObject = None, config_location=DEFAULT_RLBOT_CONFIG_LOCATION,
                      bot_configs=None,
                      looks_configs=None):
          
          self.logger.debug('reading the configs')
  
          # Set up RLBot.cfg
          if framework_config is None:
              framework_config = create_bot_config_layout()
              framework_config.parse_file(config_location, max_index=MAX_PLAYERS)
          if bot_configs is None:
              bot_configs = {}
          if looks_configs is None:
              looks_configs = {}
  
          match_config = parse_match_config(framework_config, config_location, bot_configs, looks_configs)
          self.load_match_config(match_config, bot_configs)
docs: Loads the configuration into internal data structures, which prepares us to later
          launch bot processes and start the match.
  
          :param framework_config: A config object that indicates what bots to run. May come from parsing a rlbot.cfg.
          :param config_location: The location of the rlbot.cfg file, which will be used to resolve relative paths.
          :param bot_configs: Overrides for bot configurations.
          :param looks_configs: Overrides for looks configurations.