input: from typing import List
  
  
  def evaluate_tic_tac_toe(board: List[str]) -> str:
      """Evaluate the state of a Tic Tac Toe game given a board configuration.
      The board should be a list of 9 strings where each string is either "X", "O", or " ".
      Return "X" if player X has won, "O" if player O has won, "Tie" if the game is a tie,
      or "In Progress" if the game is still ongoing.
      >>> evaluate_tic_tac_toe(["X", "X", "X", " ", "O", " ", "O", " ", " "])
      "X"
      >>> evaluate_tic_tac_toe(["X", "O", "X", "O", "O", "X", "X", "X", "O"])
      "Tie"
      >>> evaluate_tic_tac_toe(["X", " ", " ", "O", " ", " ", " ", " ", " "])
      "In Progress"
      """
output:     winning_combinations = [
          [0, 1, 2], [3, 4, 5], [6, 7, 8],  # rows
          [0, 3, 6], [1, 4, 7], [2, 5, 8],  # columns
          [0, 4, 8], [2, 4, 6]              # diagonals
      ]
      
      for combo in winning_combinations:
          if board[combo[0]] == board[combo[1]] == board[combo[2]] and board[combo[0]] != " ":
              return board[combo[0]]
      
      if " " not in board:
          return "Tie"
      
      return "In Progress"