/* Receive_TrackSide_Msg_Pkg::manageTelegram */
void manageTelegram_Receive_TrackSide_Msg_Pkg(
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::newTelegram */ Telegram_T_BG_Types_Pkg *newTelegram,
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::incenterOfBalisePosition */ centerOfBalisePosition_T_BG_Types_Pkg *incenterOfBalisePosition,
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::inCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg *inCollector,
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::inoldTelegramArray */ TelegramArray_T_BG_Types_Pkg *inoldTelegramArray,
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::outBGisComplete */ kcg_bool *outBGisComplete,
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::outBGisChangedEarly */ kcg_bool *outBGisChangedEarly,
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::outCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg *outCollector,
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::outTelegramArray */ TelegramArray_T_BG_Types_Pkg *outTelegramArray,
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::outStoresChanged */ kcg_bool *outStoresChanged)
{
    /* Receive_TrackSide_Msg_Pkg::manageTelegram */
    static BGCollector_T_Receive_TrackSide_Msg_Pkg tmp;
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::isNotReceivedAlready */
    static kcg_bool isNotReceivedAlready;
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::_L53 */
    static kcg_bool _L53;
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::_L63 */
    static BGCollector_T_Receive_TrackSide_Msg_Pkg _L63;
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::_L64 */
    static TelegramArray_T_BG_Types_Pkg _L64;
    /* Receive_TrackSide_Msg_Pkg::manageTelegram::_L67 */
    static kcg_bool _L67;

    /* 1 */ checkInit_Receive_TrackSide_Msg_Pkg(newTelegram, inCollector, &tmp);
    /* 1 */
    checkTelegram_Receive_TrackSide_Msg_Pkg(
        newTelegram,
        inoldTelegramArray,
        &tmp,
        &_L63,
        &_L64,
        &isNotReceivedAlready,
        outBGisChangedEarly);
    /* 4 */
    addTelegram_Receive_TrackSide_Msg_Pkg(
        newTelegram,
        &_L63,
        &_L64,
        isNotReceivedAlready,
        incenterOfBalisePosition,
        outCollector,
        outTelegramArray,
        &_L53,
        &_L67);
    *outBGisComplete = _L53 | *outBGisChangedEarly;
    *outStoresChanged = isNotReceivedAlready | !_L67;
}
/* Receive_TrackSide_Msg_Pkg::manageTelegram */
void manageTelegram_Receive_TrackSide_Msg_Pkg(
  /* Receive_TrackSide_Msg_Pkg::manageTelegram::newTelegram */ Telegram_T_BG_Types_Pkg *newTelegram,
  /* Receive_TrackSide_Msg_Pkg::manageTelegram::incenterOfBalisePosition */ centerOfBalisePosition_T_BG_Types_Pkg *incenterOfBalisePosition,
  /* Receive_TrackSide_Msg_Pkg::manageTelegram::inCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg *inCollector,
  /* Receive_TrackSide_Msg_Pkg::manageTelegram::inoldTelegramArray */ TelegramArray_T_BG_Types_Pkg *inoldTelegramArray,
  outC_manageTelegram_Receive_TrackSide_Msg_Pkg *outC)
{
  kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L6, newTelegram);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->_L60, inoldTelegramArray);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(&outC->_L51, inCollector);
  /* 1 */
  checkInit_Receive_TrackSide_Msg_Pkg(
    &outC->_L6,
    &outC->_L51,
    &outC->Context_1);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->_L66,
    &outC->Context_1.outCollector);
  /* 1 */
  checkTelegram_Receive_TrackSide_Msg_Pkg(
    &outC->_L6,
    &outC->_L60,
    &outC->_L66,
    &outC->_1_Context_1);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->_L63,
    &outC->_1_Context_1.outCollector);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(
    &outC->_L64,
    &outC->_1_Context_1.outTelegramArray);
  outC->_L10 = outC->_1_Context_1.outTelegramNotInGroup;
  outC->_L11 = outC->_1_Context_1.outBGchangedEarly;
  outC->isNotReceivedAlready = outC->_L10;
  outC->_L69 = outC->isNotReceivedAlready;
  kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
    &outC->_L47,
    incenterOfBalisePosition);
  /* 4 */
  addTelegram_Receive_TrackSide_Msg_Pkg(
    &outC->_L6,
    &outC->_L63,
    &outC->_L64,
    outC->_L69,
    &outC->_L47,
    &outC->Context_4);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->_L54,
    &outC->Context_4.outCollector);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(
    &outC->_L58,
    &outC->Context_4.outTelegramArray);
  outC->_L53 = outC->Context_4.outBGisComplete;
  outC->_L67 = outC->Context_4.outIsDuplicate;
  outC->_L65 = outC->_L53 | outC->_L11;
  outC->outBGisComplete = outC->_L65;
  outC->outBGisChangedEarly = outC->_L11;
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->outCollector,
    &outC->_L54);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->outTelegramArray, &outC->_L58);
  outC->_L70 = outC->isNotReceivedAlready;
  outC->_L73 = !outC->_L67;
  outC->needsReplace = outC->_L73;
  outC->_L72 = outC->needsReplace;
  outC->_L68 = outC->_L70 | outC->_L72;
  outC->outStoresChanged = outC->_L68;
}