/* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram */
kcg_bool findTelegram_Receive_TrackSide_Msg_Pkg_BaliseSupport(
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::which_pig */ N_PIG which_pig,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::HeaderArray */ TelegramArray_T_BG_Types_Pkg *HeaderArray,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::doSearch */ kcg_bool doSearch)
{
  kcg_bool tmp1;
  kcg_bool tmp;
  kcg_int i;
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::telegramAlreadyInGroup */ kcg_bool telegramAlreadyInGroup;
  
  if ((*HeaderArray)[0].valid) {
    telegramAlreadyInGroup = kcg_true;
    if (doSearch) {
      for (i = 0; i < 4; i++) {
        tmp1 = telegramAlreadyInGroup;
        /* 7 */
        simpleTelegramCheck_Receive_TrackSide_Msg_Pkg_BaliseSupport(
          i,
          tmp1,
          &(*HeaderArray)[i],
          which_pig,
          &tmp,
          &telegramAlreadyInGroup);
        if (!tmp) {
          break;
        }
      }
    }
  }
  else {
    telegramAlreadyInGroup = kcg_false;
  }
  return telegramAlreadyInGroup;
}
/* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram */
void findTelegram_Receive_TrackSide_Msg_Pkg_BaliseSupport(
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::which_pig */ N_PIG which_pig,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::HeaderArray */ TelegramArray_T_BG_Types_Pkg *HeaderArray,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::doSearch */ kcg_bool doSearch,
  outC_findTelegram_Receive_TrackSide_Msg_Pkg_BaliseSupport *outC)
{
  kcg_int i1;
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram */ kcg_bool acc;
  kcg_int i;
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::telegramAlreadyInGroup */ kcg_bool _2_telegramAlreadyInGroup;
  kcg_int noname;
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::telegramAlreadyInGroup */ kcg_bool telegramAlreadyInGroup;
  
  kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->_L30, HeaderArray);
  outC->_L31 = outC->_L30[0].valid;
  outC->valid = outC->_L31;
  outC->IfBlock1_clock = outC->valid;
  /* ck_IfBlock1 */ if (outC->IfBlock1_clock) {
    outC->_L9_IfBlock1 = kcg_true;
    kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->_L2_IfBlock1, HeaderArray);
    outC->_L7_IfBlock1 = which_pig;
    /* pow */ for (i1 = 0; i1 < 8; i1++) {
      outC->_L3_IfBlock1[i1] = outC->_L7_IfBlock1;
    }
    outC->_L6_IfBlock1 = doSearch;
    outC->_L5_IfBlock1 = outC->_L9_IfBlock1;
    if (outC->_L6_IfBlock1) {
      for (i = 0; i < 8; i++) {
        acc = outC->_L5_IfBlock1;
        /* 7 */
        simpleTelegramCheck_Receive_TrackSide_Msg_Pkg_BaliseSupport(
          i,
          acc,
          &outC->_L2_IfBlock1[i],
          outC->_L3_IfBlock1[i],
          &outC->Context_7[i]);
        outC->_L5_IfBlock1 = outC->Context_7[i].telegramAlreadyInGroup;
        outC->_L4_IfBlock1 = i + 1;
        if (!outC->Context_7[i].cont) {
          break;
        }
      }
    }
    else {
      outC->_L4_IfBlock1 = 0;
    }
    _2_telegramAlreadyInGroup = outC->_L5_IfBlock1;
    outC->telegramAlreadyInGroup = _2_telegramAlreadyInGroup;
    noname = outC->_L4_IfBlock1;
  }
  else {
    outC->_L21_IfBlock1 = kcg_false;
    telegramAlreadyInGroup = outC->_L21_IfBlock1;
    outC->telegramAlreadyInGroup = telegramAlreadyInGroup;
  }
}
/* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram */
kcg_bool findTelegram_Receive_TrackSide_Msg_Pkg_BaliseSupport(
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::which_pig */ N_PIG which_pig,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::HeaderArray */ TelegramArray_T_BG_Types_Pkg *HeaderArray,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::doSearch */ kcg_bool doSearch)
{
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram */
  static kcg_bool acc;
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram */
  static kcg_bool cond_iterw;
  static kcg_int i;
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::findTelegram::telegramAlreadyInGroup */
  static kcg_bool telegramAlreadyInGroup;
  
  /* ck_valid */ if ((*HeaderArray)[0].valid) {
    telegramAlreadyInGroup = kcg_true;
    if (doSearch) {
      for (i = 0; i < 8; i++) {
        acc = telegramAlreadyInGroup;
        /* 7 */
        simpleTelegramCheck_Receive_TrackSide_Msg_Pkg_BaliseSupport(
          i,
          acc,
          &(*HeaderArray)[i],
          which_pig,
          &cond_iterw,
          &telegramAlreadyInGroup);
        if (!cond_iterw) {
          break;
        }
      }
    }
  }
  else {
    telegramAlreadyInGroup = kcg_false;
  }
  return telegramAlreadyInGroup;
}