text: #pragma once
  #include "../base_def.hpp" 
  namespace lol {
    enum struct LolReplaysGameflowPhase {  
      ChampSelect_e = 5,
      CheckedIntoTournament_e = 3,
      EndOfGame_e = 12,
      FailedToLaunch_e = 7,
      GameStart_e = 6,
      InProgress_e = 8,
      Lobby_e = 1,
      Matchmaking_e = 2,
      None_e = 0,
      PreEndOfGame_e = 11,
      ReadyCheck_e = 4,
      Reconnect_e = 9,
      TerminatedInError_e = 13,
      WaitingForStats_e = 10,
    };
    inline void to_json(json& j, const LolReplaysGameflowPhase& v) {
      if(v == LolReplaysGameflowPhase::ChampSelect_e) {
        j = "ChampSelect";
        return;
      }
      if(v == LolReplaysGameflowPhase::CheckedIntoTournament_e) {
        j = "CheckedIntoTournament";
        return;
      }
      if(v == LolReplaysGameflowPhase::EndOfGame_e) {
        j = "EndOfGame";
        return;
      }
      if(v == LolReplaysGameflowPhase::FailedToLaunch_e) {
        j = "FailedToLaunch";
        return;
      }
      if(v == LolReplaysGameflowPhase::GameStart_e) {
        j = "GameStart";
        return;
      }
      if(v == LolReplaysGameflowPhase::InProgress_e) {
        j = "InProgress";
        return;
      }
      if(v == LolReplaysGameflowPhase::Lobby_e) {
        j = "Lobby";
        return;
      }
      if(v == LolReplaysGameflowPhase::Matchmaking_e) {
        j = "Matchmaking";
        return;
      }
      if(v == LolReplaysGameflowPhase::None_e) {
        j = "None";
        return;
      }
      if(v == LolReplaysGameflowPhase::PreEndOfGame_e) {
        j = "PreEndOfGame";
        return;
      }
      if(v == LolReplaysGameflowPhase::ReadyCheck_e) {
        j = "ReadyCheck";
        return;
      }
      if(v == LolReplaysGameflowPhase::Reconnect_e) {
        j = "Reconnect";
        return;
      }
      if(v == LolReplaysGameflowPhase::TerminatedInError_e) {
        j = "TerminatedInError";
        return;
      }
      if(v == LolReplaysGameflowPhase::WaitingForStats_e) {
        j = "WaitingForStats";
        return;
      }
    }
    inline void from_json(const json& j, LolReplaysGameflowPhase& v) {
      if(j.get<std::string>() == "ChampSelect") {
        v = LolReplaysGameflowPhase::ChampSelect_e;
        return;
      } 
      if(j.get<std::string>() == "CheckedIntoTournament") {
        v = LolReplaysGameflowPhase::CheckedIntoTournament_e;
        return;
      } 
      if(j.get<std::string>() == "EndOfGame") {
        v = LolReplaysGameflowPhase::EndOfGame_e;
        return;
      } 
      if(j.get<std::string>() == "FailedToLaunch") {
        v = LolReplaysGameflowPhase::FailedToLaunch_e;
        return;
      } 
      if(j.get<std::string>() == "GameStart") {
        v = LolReplaysGameflowPhase::GameStart_e;
        return;
      } 
      if(j.get<std::string>() == "InProgress") {
        v = LolReplaysGameflowPhase::InProgress_e;
        return;
      } 
      if(j.get<std::string>() == "Lobby") {
        v = LolReplaysGameflowPhase::Lobby_e;
        return;
      } 
      if(j.get<std::string>() == "Matchmaking") {
        v = LolReplaysGameflowPhase::Matchmaking_e;
        return;
      } 
      if(j.get<std::string>() == "None") {
        v = LolReplaysGameflowPhase::None_e;
        return;
      } 
      if(j.get<std::string>() == "PreEndOfGame") {
        v = LolReplaysGameflowPhase::PreEndOfGame_e;
        return;
      } 
      if(j.get<std::string>() == "ReadyCheck") {
        v = LolReplaysGameflowPhase::ReadyCheck_e;
        return;
      } 
      if(j.get<std::string>() == "Reconnect") {
        v = LolReplaysGameflowPhase::Reconnect_e;
        return;
      } 
      if(j.get<std::string>() == "TerminatedInError") {
        v = LolReplaysGameflowPhase::TerminatedInError_e;
        return;
      } 
      if(j.get<std::string>() == "WaitingForStats") {
        v = LolReplaysGameflowPhase::WaitingForStats_e;
        return;
      } 
    }
  }