# ExtraBoardBp_Model_ExtraBoardBpActivityModel_1593.luac
; fn @ExtraBoardBpActivityModel.lua  line 0-0 np=0 va=1 ms=5 code=206 consts=81 upvals=1 protos=62
;   K[0]='ExtraBoardBpActivityModel'
;   K[1]='setmetatable'
;   K[2]='BaseActivityModel'
;   K[3]='__index'
;   K[4]='PackConfigKey'
;   K[5]='fund_pack'
;   K[6]='TicketKey'
;   K[7]='ticket'
;   K[8]='HasPopedBuyTicketWindow'
;   K[9]='p_buy'
;   K[10]='HasPopedEndWindow'
;   K[11]='p_end'
;   K[12]='EndWindowHasTicket'
;   K[13]='p_end_ticket'
;   K[14]='LastPopMainWindowTime'
;   K[15]='p_main_t'
;   K[16]='LastProgress'
;   K[17]='l_progress'
;   K[18]='Init'
;   K[19]='Destroy'
;   K[20]='_DropData'
;   K[21]='GetActivityDefinitionByType'
;   K[22]='GetActivityDefinition'
;   K[23]='GetTokenHelper'
;   K[24]='GetQuestHelper'
;   K[25]='_OnStateChanged'
;   K[26]='IsActivityOpen'
;   K[27]='_CalculateState'
;   K[28]='GetResourceLabels'
;   K[29]='_OnViewWillClose'
;   K[30]='_LoadOtherServerConfig'
;   K[31]='ExtraBoardBpActivityModel'
;   K[32]='_CheckConfigValid'
;   K[33]='DB_VALUE_KEY'
;   K[34]=1
;   K[35]='_DBTableGetValue'
;   K[36]='_DBTableGetNumber'
;   K[37]='_DBTableGetTable'
;   K[38]='_DBTableSet'
;   K[39]='_DBTableSetTable'
;   K[40]='_DBTableRemove'
;   K[41]='HasTicket'
;   K[42]='SetHasTicket'
;   K[43]='SetHasPopedBuyTicketWindow'
;   K[44]='SetHasPopedEndWindow'
;   K[45]='GetLastPopMainWindowTime'
;   K[46]='GetEndWindowHasTicket'
;   K[47]='SetEndWindowHasTicket'
;   K[48]='GetLastProgress'
;   K[49]='SetLastProgress'
;   K[50]='GetIAPType'
;   K[51]='GetLocalizedPrice'
;   K[52]='StartPurchase'
;   K[53]='RestoreIapRewards'
;   K[54]='_OnBuyTicketSuccess'
;   K[55]='AcquireVIP'
;   K[56]='CanAddScoreQuest'
;   K[57]='CanAcquirePaidReward'
;   K[58]='OnQuestCompleted'
;   K[59]='OnRewardAcquired'
;   K[60]='IsQuestNeedInheritProgress'
;   K[61]='_DispatchStateChangedEvent'
;   K[62]='_DispatchBuyTicketSuccessEvent'
;   K[63]='_DispatchBuyTicketWindowOpenedEvent'
;   K[64]='_DispatchQuestCompletedEvent'
;   K[65]='_DispatchRewardAcquiredEvent'
;   K[66]='_OpenWindow'
;   K[67]='OpenMainWindow'
;   K[68]='OpenBuyTicketWindow'
;   K[69]='OpenCurrentEndWindow'
;   K[70]='CanPopMainWindow'
;   K[71]='CanPopBuyTicketWindow'
;   K[72]='CanPopEndWindow'
;   K[73]='OnMainWindowPoped'
;   K[74]='_MarkMainWindowPoped'
;   K[75]='OnBuyTicketWindowOpened'
;   K[76]='_IsEntryVisible'
;   K[77]='GetMapEntryShowConfig'
;   K[78]='GetRedPointNum'
;   K[79]='OnEntryClicked'
;   K[80]='_LogActivityRankUp'
;   upvals: _ENV
;   locals: DBKey(17-206), DB_VALUE_KEY(60-206), TRUE_VALUE(61-206)
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('BaseActivityModel')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('ExtraBoardBpActivityModel')] = R0
0005  GETTABUP  R0 = _ENV[K0('ExtraBoardBpActivityModel')]
0006  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('ExtraBoardBpActivityModel')]
0009  SETTABLE  R0[K4('PackConfigKey')] = K5('fund_pack')
0010  NEWTABLE  R0 = {} (0 items)
0011  SETTABLE  R0[K6('TicketKey')] = K7('ticket')
0012  SETTABLE  R0[K8('HasPopedBuyTicketWindow')] = K9('p_buy')
0013  SETTABLE  R0[K10('HasPopedEndWindow')] = K11('p_end')
0014  SETTABLE  R0[K12('EndWindowHasTicket')] = K13('p_end_ticket')
0015  SETTABLE  R0[K14('LastPopMainWindowTime')] = K15('p_main_t')
0016  SETTABLE  R0[K16('LastProgress')] = K17('l_progress')
0017  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0018  CLOSURE   R2 = closure proto0
0019  SETTABLE  R1[K18('Init')] = R2
0020  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0021  CLOSURE   R2 = closure proto1
0022  SETTABLE  R1[K19('Destroy')] = R2
0023  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0024  CLOSURE   R2 = closure proto2
0025  SETTABLE  R1[K20('_DropData')] = R2
0026  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0027  CLOSURE   R2 = closure proto3
0028  SETTABLE  R1[K21('GetActivityDefinitionByType')] = R2
0029  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0030  CLOSURE   R2 = closure proto4
0031  SETTABLE  R1[K22('GetActivityDefinition')] = R2
0032  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0033  CLOSURE   R2 = closure proto5
0034  SETTABLE  R1[K23('GetTokenHelper')] = R2
0035  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0036  CLOSURE   R2 = closure proto6
0037  SETTABLE  R1[K24('GetQuestHelper')] = R2
0038  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0039  CLOSURE   R2 = closure proto7
0040  SETTABLE  R1[K25('_OnStateChanged')] = R2
0041  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0042  CLOSURE   R2 = closure proto8
0043  SETTABLE  R1[K26('IsActivityOpen')] = R2
0044  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0045  CLOSURE   R2 = closure proto9
0046  SETTABLE  R1[K27('_CalculateState')] = R2
0047  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0048  CLOSURE   R2 = closure proto10
0049  SETTABLE  R1[K28('GetResourceLabels')] = R2
0050  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0051  CLOSURE   R2 = closure proto11
0052  SETTABLE  R1[K29('_OnViewWillClose')] = R2
0053  GETTABUP  R1 = _ENV[K0('ExtraBoardBpActivityModel')]
0054  CLOSURE   R2 = closure proto12
0055  SETTABLE  R1[K30('_LoadOtherServerConfig')] = R2
0056  GETTABUP  R1 = _ENV[K31('ExtraBoardBpActivityModel')]
0057  CLOSURE   R2 = closure proto13
0058  SETTABLE  R1[K32('_CheckConfigValid')] = R2
0059  GETTABUP  R1 = _ENV[K33('DB_VALUE_KEY')]
0060  LOADK     R2 = K34 1
0061  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0062  CLOSURE   R4 = closure proto14
0063  SETTABLE  R3[K35('_DBTableGetValue')] = R4
0064  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0065  CLOSURE   R4 = closure proto15
0066  SETTABLE  R3[K36('_DBTableGetNumber')] = R4
0067  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0068  CLOSURE   R4 = closure proto16
0069  SETTABLE  R3[K37('_DBTableGetTable')] = R4
0070  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0071  CLOSURE   R4 = closure proto17
0072  SETTABLE  R3[K38('_DBTableSet')] = R4
0073  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0074  CLOSURE   R4 = closure proto18
0075  SETTABLE  R3[K39('_DBTableSetTable')] = R4
0076  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0077  CLOSURE   R4 = closure proto19
0078  SETTABLE  R3[K40('_DBTableRemove')] = R4
0079  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0080  CLOSURE   R4 = closure proto20
0081  SETTABLE  R3[K41('HasTicket')] = R4
0082  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0083  CLOSURE   R4 = closure proto21
0084  SETTABLE  R3[K42('SetHasTicket')] = R4
0085  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0086  CLOSURE   R4 = closure proto22
0087  SETTABLE  R3[K8('HasPopedBuyTicketWindow')] = R4
0088  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0089  CLOSURE   R4 = closure proto23
0090  SETTABLE  R3[K43('SetHasPopedBuyTicketWindow')] = R4
0091  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0092  CLOSURE   R4 = closure proto24
0093  SETTABLE  R3[K10('HasPopedEndWindow')] = R4
0094  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0095  CLOSURE   R4 = closure proto25
0096  SETTABLE  R3[K44('SetHasPopedEndWindow')] = R4
0097  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0098  CLOSURE   R4 = closure proto26
0099  SETTABLE  R3[K45('GetLastPopMainWindowTime')] = R4
0100  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0101  CLOSURE   R4 = closure proto27
0102  SETTABLE  R3[K46('GetEndWindowHasTicket')] = R4
0103  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0104  CLOSURE   R4 = closure proto28
0105  SETTABLE  R3[K47('SetEndWindowHasTicket')] = R4
0106  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0107  CLOSURE   R4 = closure proto29
0108  SETTABLE  R3[K48('GetLastProgress')] = R4
0109  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0110  CLOSURE   R4 = closure proto30
0111  SETTABLE  R3[K49('SetLastProgress')] = R4
0112  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0113  CLOSURE   R4 = closure proto31
0114  SETTABLE  R3[K50('GetIAPType')] = R4
0115  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0116  CLOSURE   R4 = closure proto32
0117  SETTABLE  R3[K51('GetLocalizedPrice')] = R4
0118  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0119  CLOSURE   R4 = closure proto33
0120  SETTABLE  R3[K52('StartPurchase')] = R4
0121  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0122  CLOSURE   R4 = closure proto34
0123  SETTABLE  R3[K53('RestoreIapRewards')] = R4
0124  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0125  CLOSURE   R4 = closure proto35
0126  SETTABLE  R3[K54('_OnBuyTicketSuccess')] = R4
0127  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0128  CLOSURE   R4 = closure proto36
0129  SETTABLE  R3[K55('AcquireVIP')] = R4
0130  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0131  CLOSURE   R4 = closure proto37
0132  SETTABLE  R3[K56('CanAddScoreQuest')] = R4
0133  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0134  CLOSURE   R4 = closure proto38
0135  SETTABLE  R3[K57('CanAcquirePaidReward')] = R4
0136  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0137  CLOSURE   R4 = closure proto39
0138  SETTABLE  R3[K58('OnQuestCompleted')] = R4
0139  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0140  CLOSURE   R4 = closure proto40
0141  SETTABLE  R3[K59('OnRewardAcquired')] = R4
0142  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0143  CLOSURE   R4 = closure proto41
0144  SETTABLE  R3[K60('IsQuestNeedInheritProgress')] = R4
0145  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0146  CLOSURE   R4 = closure proto42
0147  SETTABLE  R3[K61('_DispatchStateChangedEvent')] = R4
0148  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0149  CLOSURE   R4 = closure proto43
0150  SETTABLE  R3[K62('_DispatchBuyTicketSuccessEvent')] = R4
0151  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0152  CLOSURE   R4 = closure proto44
0153  SETTABLE  R3[K63('_DispatchBuyTicketWindowOpenedEvent')] = R4
0154  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0155  CLOSURE   R4 = closure proto45
0156  SETTABLE  R3[K64('_DispatchQuestCompletedEvent')] = R4
0157  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0158  CLOSURE   R4 = closure proto46
0159  SETTABLE  R3[K65('_DispatchRewardAcquiredEvent')] = R4
0160  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0161  CLOSURE   R4 = closure proto47
0162  SETTABLE  R3[K66('_OpenWindow')] = R4
0163  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0164  CLOSURE   R4 = closure proto48
0165  SETTABLE  R3[K67('OpenMainWindow')] = R4
0166  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0167  CLOSURE   R4 = closure proto49
0168  SETTABLE  R3[K68('OpenBuyTicketWindow')] = R4
0169  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0170  CLOSURE   R4 = closure proto50
0171  SETTABLE  R3[K69('OpenCurrentEndWindow')] = R4
0172  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0173  CLOSURE   R4 = closure proto51
0174  SETTABLE  R3[K70('CanPopMainWindow')] = R4
0175  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0176  CLOSURE   R4 = closure proto52
0177  SETTABLE  R3[K71('CanPopBuyTicketWindow')] = R4
0178  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0179  CLOSURE   R4 = closure proto53
0180  SETTABLE  R3[K72('CanPopEndWindow')] = R4
0181  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0182  CLOSURE   R4 = closure proto54
0183  SETTABLE  R3[K73('OnMainWindowPoped')] = R4
0184  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0185  CLOSURE   R4 = closure proto55
0186  SETTABLE  R3[K74('_MarkMainWindowPoped')] = R4
0187  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0188  CLOSURE   R4 = closure proto56
0189  SETTABLE  R3[K75('OnBuyTicketWindowOpened')] = R4
0190  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0191  CLOSURE   R4 = closure proto57
0192  SETTABLE  R3[K76('_IsEntryVisible')] = R4
0193  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0194  CLOSURE   R4 = closure proto58
0195  SETTABLE  R3[K77('GetMapEntryShowConfig')] = R4
0196  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0197  CLOSURE   R4 = closure proto59
0198  SETTABLE  R3[K78('GetRedPointNum')] = R4
0199  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0200  CLOSURE   R4 = closure proto60
0201  SETTABLE  R3[K79('OnEntryClicked')] = R4
0202  GETTABUP  R3 = _ENV[K31('ExtraBoardBpActivityModel')]
0203  CLOSURE   R4 = closure proto61
0204  SETTABLE  R3[K80('_LogActivityRankUp')] = R4
0205  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 25-35 np=3 va=0 ms=8 code=33 consts=18 upvals=1 protos=0
  ;   K[0]='m_activityDefinition'
  ;   K[1]='ExtraBoardBpActivityDefinition'
  ;   K[2]='m_questHelper'
  ;   K[3]='ActivityQuestHelper'
  ;   K[4]='Create'
  ;   K[5]='eBIType'
  ;   K[6]='GetRewardsBIType'
  ;   K[7]='ePaidBIType'
  ;   K[8]='eRewardScene'
  ;   K[9]='ERewardScene'
  ;   K[10]='Other'
  ;   K[11]='BaseActivityModel'
  ;   K[12]='Init'
  ;   K[13]='EventDispatcher'
  ;   K[14]='AddListener'
  ;   K[15]='EEventType'
  ;   K[16]='OnViewWillClose'
  ;   K[17]='_OnViewWillClose'
  ;   upvals: _ENV
  ;   locals: self(0-33), activityType(0-33), virtualDBTable(0-33)
  0000  GETTABUP  R3 = _ENV[K1('ExtraBoardBpActivityDefinition')]
  0001  GETTABLE  R3 = R3[R1]
  0002  SETTABLE  R0[K0('m_activityDefinition')] = R3
  0003  GETTABUP  R3 = _ENV[K3('ActivityQuestHelper')]
  0004  GETTABLE  R3 = R3[K4('Create')]
  0005  MOVE      R4 = R0
  0006  MOVE      R5 = R0
  0007  NEWTABLE  R6 = {} (0 items)
  0008  GETTABLE  R7 = R0[K0('m_activityDefinition')]
  0009  GETTABLE  R7 = R7[K6('GetRewardsBIType')]
  0010  SETTABLE  R6[K5('eBIType')] = R7
  0011  GETTABLE  R7 = R0[K0('m_activityDefinition')]
  0012  GETTABLE  R7 = R7[K6('GetRewardsBIType')]
  0013  SETTABLE  R6[K7('ePaidBIType')] = R7
  0014  GETTABUP  R7 = _ENV[K9('ERewardScene')]
  0015  GETTABLE  R7 = R7[K10('Other')]
  0016  SETTABLE  R6[K8('eRewardScene')] = R7
  0017  CALL      R3 = call(R3, 1 args, 3 rets)
  0018  SETTABLE  R0[K2('m_questHelper')] = R3
  0019  GETTABUP  R3 = _ENV[K11('BaseActivityModel')]
  0020  GETTABLE  R3 = R3[K12('Init')]
  0021  MOVE      R4 = R0
  0022  MOVE      R5 = R0
  0023  MOVE      R6 = R0
  0024  CALL      R3 = call(R3, 0 args, 3 rets)
  0025  GETTABUP  R3 = _ENV[K13('EventDispatcher')]
  0026  GETTABLE  R3 = R3[K14('AddListener')]
  0027  GETTABUP  R4 = _ENV[K15('EEventType')]
  0028  GETTABLE  R4 = R4[K16('OnViewWillClose')]
  0029  MOVE      R5 = R0
  0030  GETTABLE  R6 = R0[K17('_OnViewWillClose')]
  0031  CALL      R3 = call(R3, 0 args, 3 rets)
  0032  RETURN    return R0..R-1
; ---------- proto1 [Destroy] ----------
  ; fn ?  line 37-40 np=1 va=0 ms=3 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='BaseActivityModel'
  ;   K[1]='Destroy'
  ;   K[2]='GetQuestHelper'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABUP  R1 = _ENV[K0('BaseActivityModel')]
  0001  GETTABLE  R1 = R1[K1('Destroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('GetQuestHelper')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  SELF      R2 = R1[K1('Destroy')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto2 [_DropData] ----------
  ; fn ?  line 42-47 np=1 va=0 ms=3 code=11 consts=7 upvals=1 protos=0
  ;   K[0]='BaseActivityModel'
  ;   K[1]='_DropData'
  ;   K[2]='GetQuestHelper'
  ;   K[3]='DropData'
  ;   K[4]='m_bJustClosedUIBoardMainWindow'
  ;   K[5]=nil
  ;   K[6]='m_bJustCompletedQuests'
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABUP  R1 = _ENV[K0('BaseActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_DropData')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('GetQuestHelper')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  SELF      R2 = R1[K3('DropData')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  SETTABLE  R0[K4('m_bJustClosedUIBoardMainWindow')] = K5(nil)
  0009  SETTABLE  R0[K6('m_bJustCompletedQuests')] = K5(nil)
  0010  RETURN    return R0..R-1
; ---------- proto3 [GetActivityDefinitionByType] ----------
  ; fn ?  line 51-53 np=2 va=0 ms=3 code=4 consts=1 upvals=1 protos=0
  ;   K[0]='ExtraBoardBpActivityDefinition'
  ;   upvals: _ENV
  ;   locals: self(0-4), activityType(0-4)
  0000  GETTABUP  R2 = _ENV[K0('ExtraBoardBpActivityDefinition')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto4 [GetActivityDefinition] ----------
  ; fn ?  line 55-57 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_activityDefinition'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_activityDefinition')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto5 [GetTokenHelper] ----------
  ; fn ?  line 59-61 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_tokenHelper'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_tokenHelper')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto6 [GetQuestHelper] ----------
  ; fn ?  line 63-65 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_questHelper'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_questHelper')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto7 [_OnStateChanged] ----------
  ; fn ?  line 67-71 np=1 va=0 ms=3 code=7 consts=3 upvals=1 protos=0
  ;   K[0]='BaseActivityModel'
  ;   K[1]='_OnStateChanged'
  ;   K[2]='_DispatchStateChangedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('BaseActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_OnStateChanged')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('_DispatchStateChangedEvent')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto8 [IsActivityOpen] ----------
  ; fn ?  line 73-75 np=1 va=0 ms=3 code=10 consts=3 upvals=1 protos=0
  ;   K[0]='GetState'
  ;   K[1]='ActivityState'
  ;   K[2]='Started'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('GetState')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('ActivityState')]
  0003  GETTABLE  R2 = R2[K2('Started')]
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto9 [_CalculateState] ----------
  ; fn ?  line 77-84 np=2 va=0 ms=6 code=24 consts=9 upvals=1 protos=0
  ;   K[0]='BaseActivityModel'
  ;   K[1]='_CalculateState'
  ;   K[2]='ActivityState'
  ;   K[3]='Started'
  ;   K[4]='GetQuestHelper'
  ;   K[5]='IsAllQuestAcquired'
  ;   K[6]='Ended'
  ;   K[7]='m_config'
  ;   K[8]='rTime'
  ;   upvals: _ENV
  ;   locals: self(0-24), bIgnoreCondition(0-24), state(5-24), nextStateTime(5-24)
  0000  GETTABUP  R2 = _ENV[K0('BaseActivityModel')]
  0001  GETTABLE  R2 = R2[K1('_CalculateState')]
  0002  MOVE      R3 = R0
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 2 args, 2 rets)
  0005  GETTABUP  R4 = _ENV[K2('ActivityState')]
  0006  GETTABLE  R4 = R4[K3('Started')]
  0007  EQ        if R0 eq R4   -> -130035
  0008  JMP       (jump)   -> 20
  0009  SELF      R5 = R0[K4('GetQuestHelper')] (self)
  0010  CALL      R4 = call(R4, 1 args, 1 rets)
  0011  SELF      R5 = R4[K5('IsAllQuestAcquired')] (self)
  0012  CALL      R4 = call(R4, 1 args, 1 rets)
  0013  TEST      if not R4 then   -> -131057
  0014  JMP       (jump)   -> 20
  0015  GETTABUP  R4 = _ENV[K2('ActivityState')]
  0016  GETTABLE  R4 = R4[K6('Ended')]
  0017  GETTABLE  R5 = R0[K7('m_config')]
  0018  GETTABLE  R5 = R5[K8('rTime')]
  0019  RETURN    return R4..R3
  0020  MOVE      R4 = R0
  0021  MOVE      R5 = R0
  0022  RETURN    return R4..R3
  0023  RETURN    return R0..R-1
; ---------- proto10 [GetResourceLabels] ----------
  ; fn ?  line 86-88 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='GetActivityDefinition'
  ;   K[1]='ResourceLabels'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('GetActivityDefinition')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R1 = R1[K1('ResourceLabels')]
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto11 [_OnViewWillClose] ----------
  ; fn ?  line 90-101 np=2 va=0 ms=9 code=26 consts=9 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='UIBoardActivityModel'
  ;   K[2]='GetAllUIBoardActivityDefinition'
  ;   K[3]='name'
  ;   K[4]='MainWindowPrefabName'
  ;   K[5]='m_bJustClosedUIBoardMainWindow'
  ;   K[6]=true
  ;   K[7]='m_activityDefinition'
  ;   K[8]='_MarkMainWindowPoped'
  ;   upvals: _ENV
  ;   locals: self(0-26), msg(0-26), (for generator)(5-16), (for state)(5-16), (for control)(5-16), _(6-14), definition(6-14)
  0000  GETTABUP  R2 = _ENV[K0('pairs')]
  0001  GETTABUP  R3 = _ENV[K1('UIBoardActivityModel')]
  0002  GETTABLE  R3 = R3[K2('GetAllUIBoardActivityDefinition')]
  0003  CALL      R3 = call(R3, -1 args, 0 rets)
  0004  CALL      R2 = call(R2, 3 args, -1 rets)
  0005  JMP       (jump)   -> 14
  0006  TEST      if not R1 then   -> -131064
  0007  JMP       (jump)   -> 14
  0008  GETTABLE  R7 = R1[K3('name')]
  0009  GETTABLE  R8 = R6[K4('MainWindowPrefabName')]
  0010  EQ        if R0 eq R8   -> -127468
  0011  JMP       (jump)   -> 14
  0012  SETTABLE  R0[K5('m_bJustClosedUIBoardMainWindow')] = K6(true)
  0013  JMP       (jump)   -> 16
  0014  TFORCALL  tforcall R2
  0015  TFORLOOP  tforloop R4(sBx=-10)   -> 6
  0016  TEST      if not R1 then   -> -131054
  0017  JMP       (jump)   -> 25
  0018  GETTABLE  R2 = R1[K3('name')]
  0019  GETTABLE  R3 = R0[K7('m_activityDefinition')]
  0020  GETTABLE  R3 = R3[K4('MainWindowPrefabName')]
  0021  EQ        if R0 eq R3   -> -130022
  0022  JMP       (jump)   -> 25
  0023  SELF      R3 = R0[K8('_MarkMainWindowPoped')] (self)
  0024  CALL      R2 = call(R2, 0 args, 1 rets)
  0025  RETURN    return R0..R-1
; ---------- proto12 [_LoadOtherServerConfig] ----------
  ; fn ?  line 107-118 np=2 va=0 ms=6 code=27 consts=14 upvals=1 protos=0
  ;   K[0]='GetQuestHelper'
  ;   K[1]='LoadConfig'
  ;   K[2]='weeklyActiveQuestTask'
  ;   K[3]='ExtraBoardBpActivityModel'
  ;   K[4]='PackConfigKey'
  ;   K[5]='m_eIAPType'
  ;   K[6]='FundPackActivityConfig'
  ;   K[7]='Create'
  ;   K[8]=1
  ;   K[9]='payID'
  ;   K[10]='m_minPopBuyTicketCount'
  ;   K[11]='popCount'
  ;   K[12]=9
  ;   K[13]='_CheckConfigValid'
  ;   upvals: _ENV
  ;   locals: self(0-27), config(0-27), configKey(7-27), arrPackConfig(8-27)
  0000  SELF      R3 = R0[K0('GetQuestHelper')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  SELF      R3 = R2[K1('LoadConfig')] (self)
  0003  GETTABLE  R4 = R1[K2('weeklyActiveQuestTask')]
  0004  CALL      R2 = call(R2, 0 args, 2 rets)
  0005  GETTABUP  R2 = _ENV[K3('ExtraBoardBpActivityModel')]
  0006  GETTABLE  R2 = R2[K4('PackConfigKey')]
  0007  GETTABLE  R3 = R1[R2]
  0008  GETTABUP  R4 = _ENV[K6('FundPackActivityConfig')]
  0009  GETTABLE  R4 = R4[K7('Create')]
  0010  GETTABLE  R5 = R3[K8(1)]
  0011  CALL      R4 = call(R4, 1 args, 1 rets)
  0012  GETTABLE  R4 = R4[K9('payID')]
  0013  SETTABLE  R0[K5('m_eIAPType')] = R4
  0014  GETTABUP  R4 = _ENV[K6('FundPackActivityConfig')]
  0015  GETTABLE  R4 = R4[K7('Create')]
  0016  GETTABLE  R5 = R3[K8(1)]
  0017  CALL      R4 = call(R4, 1 args, 1 rets)
  0018  GETTABLE  R4 = R4[K11('popCount')]
  0019  GETTABLE  R4 = R4[K8(1)]
  0020  TEST      if not R4 then   -> -131049
  0021  JMP       (jump)   -> 23
  0022  LOADK     R4 = K12 9
  0023  SETTABLE  R0[K10('m_minPopBuyTicketCount')] = R4
  0024  SELF      R5 = R0[K13('_CheckConfigValid')] (self)
  0025  CALL      R4 = call(R4, 0 args, 1 rets)
  0026  RETURN    return R0..R-1
; ---------- proto13 [_CheckConfigValid] ----------
  ; fn ?  line 120-163 np=1 va=0 ms=14 code=116 consts=36 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='string'
  ;   K[3]='format'
  ;   K[4]='[小棋盘bp] 活动type=<color=#FFA000>%s</color>，id=%d，'
  ;   K[5]='m_type'
  ;   K[6]='m_config'
  ;   K[7]='id'
  ;   K[8]='pairs'
  ;   K[9]='GetQuestHelper'
  ;   K[10]='GetAllQuestType'
  ;   K[11]='ExtractActivityQuestType'
  ;   K[12]=true
  ;   K[13]='Table'
  ;   K[14]='GetMapSize'
  ;   K[15]=1
  ;   K[16]='Log'
  ;   K[17]='Error'
  ;   K[18]='%s只能配同一种任务类型！当前任务类型为：%s，请检查！'
  ;   K[19]='table'
  ;   K[20]='concat'
  ;   K[21]='GetKeys'
  ;   K[22]=','
  ;   K[23]='GetAllQuestConfig'
  ;   K[24]=2
  ;   K[25]=nil
  ;   K[26]='%sgroup=%d配置错误，每个 group 里只能有一个任务！请检查！'
  ;   K[27]='UIBoardActivityModel'
  ;   K[28]='GetAllUIBoardActivityDefinition'
  ;   K[29]='extraCondition'
  ;   K[30]='ipairs'
  ;   K[31]='param_string'
  ;   K[32]='type'
  ;   K[33]='ActivityExtraConditionType'
  ;   K[34]='Exist'
  ;   K[35]='[小棋盘bp] 活动type=<color=#FFA000>%s</color>，id=%d，未配置extraCondition，小棋盘bp需要配置任意小棋盘exist的extraCondition'
  ;   upvals: _ENV
  ;   locals: self(0-116), logPrefix(13-116), mapAllQuestType(14-116), (for generator)(20-27), (for state)(20-27), (for control)(20-27), questType(21-25), mapAllQuestConfig(53-116), (for generator)(56-71), (for state)(56-71), (for control)(56-71), groupId(57-69), arrQuestConfig(57-69), bExtraCondition(75-115), activityType(76-115), uiBoardActivityDefinition(79-115), (for generator)(87-103), (for state)(87-103), (for control)(87-103), _(88-101), config(88-101)
  0000  GETTABUP  R1 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R1 = R1[K1('IsTestMode')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TEST      if not R1 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  GETTABUP  R1 = _ENV[K2('string')]
  0007  GETTABLE  R1 = R1[K3('format')]
  0008  LOADK     R2 = K4 '[小棋盘bp] 活动type=<color=#FFA000>%s</color>，id=%d，'
  0009  GETTABLE  R3 = R0[K5('m_type')]
  0010  GETTABLE  R4 = R0[K6('m_config')]
  0011  GETTABLE  R4 = R4[K7('id')]
  0012  CALL      R1 = call(R1, 1 args, 3 rets)
  0013  NEWTABLE  R2 = {} (0 items)
  0014  GETTABUP  R3 = _ENV[K8('pairs')]
  0015  SELF      R5 = R0[K9('GetQuestHelper')] (self)
  0016  CALL      R4 = call(R4, 1 args, 1 rets)
  0017  SELF      R5 = R4[K10('GetAllQuestType')] (self)
  0018  CALL      R4 = call(R4, -1 args, 1 rets)
  0019  CALL      R3 = call(R3, 3 args, -1 rets)
  0020  JMP       (jump)   -> 25
  0021  GETTABUP  R7 = _ENV[K11('ExtractActivityQuestType')]
  0022  MOVE      R8 = R0
  0023  CALL      R7 = call(R7, 1 args, 1 rets)
  0024  SETTABLE  R2[R7] = K12(true)
  0025  TFORCALL  tforcall R3
  0026  TFORLOOP  tforloop R5(sBx=-6)   -> 21
  0027  GETTABUP  R3 = _ENV[K13('Table')]
  0028  GETTABLE  R3 = R3[K14('GetMapSize')]
  0029  MOVE      R4 = R0
  0030  CALL      R3 = call(R3, 1 args, 1 rets)
  0031  EQ        if R1 eq K15(1)   -> -129232
  0032  JMP       (jump)   -> 49
  0033  GETTABUP  R3 = _ENV[K16('Log')]
  0034  GETTABLE  R3 = R3[K17('Error')]
  0035  GETTABUP  R4 = _ENV[K2('string')]
  0036  GETTABLE  R4 = R4[K3('format')]
  0037  LOADK     R5 = K18 '%s只能配同一种任务类型！当前任务类型为：%s，请检查！'
  0038  MOVE      R6 = R0
  0039  GETTABUP  R7 = _ENV[K19('table')]
  0040  GETTABLE  R7 = R7[K20('concat')]
  0041  GETTABUP  R8 = _ENV[K13('Table')]
  0042  GETTABLE  R8 = R8[K21('GetKeys')]
  0043  MOVE      R9 = R0
  0044  CALL      R8 = call(R8, 1 args, 1 rets)
  0045  LOADK     R9 = K22 ','
  0046  CALL      R7 = call(R7, -1 args, 2 rets)
  0047  CALL      R4 = call(R4, -1 args, -1 rets)
  0048  CALL      R3 = call(R3, 0 args, -1 rets)
  0049  SELF      R4 = R0[K9('GetQuestHelper')] (self)
  0050  CALL      R3 = call(R3, 1 args, 1 rets)
  0051  SELF      R4 = R3[K23('GetAllQuestConfig')] (self)
  0052  CALL      R3 = call(R3, 1 args, 1 rets)
  0053  GETTABUP  R4 = _ENV[K8('pairs')]
  0054  MOVE      R5 = R0
  0055  CALL      R4 = call(R4, 3 args, 1 rets)
  0056  JMP       (jump)   -> 69
  0057  GETTABLE  R9 = R8[K24(2)]
  0058  EQ        if R1 eq K25(nil)   -> -126123
  0059  JMP       (jump)   -> 69
  0060  GETTABUP  R9 = _ENV[K16('Log')]
  0061  GETTABLE  R9 = R9[K17('Error')]
  0062  GETTABUP  R10 = _ENV[K2('string')]
  0063  GETTABLE  R10 = R10[K3('format')]
  0064  LOADK     R11 = K26 '%sgroup=%d配置错误，每个 group 里只能有一个任务！请检查！'
  0065  MOVE      R12 = R0
  0066  MOVE      R13 = R0
  0067  CALL      R10 = call(R10, -1 args, 3 rets)
  0068  CALL      R9 = call(R9, 0 args, -1 rets)
  0069  TFORCALL  tforcall R4
  0070  TFORLOOP  tforloop R6(sBx=-14)   -> 57
  0071  GETTABLE  R4 = R0[K6('m_config')]
  0072  EQ        if R1 eq K25(nil)   -> -128669
  0073  JMP       (jump)   -> 115
  0074  LOADBOOL  R4 = false
  0075  LOADNIL   R5..R5 = nil
  0076  GETTABUP  R6 = _ENV[K27('UIBoardActivityModel')]
  0077  GETTABLE  R6 = R6[K28('GetAllUIBoardActivityDefinition')]
  0078  CALL      R6 = call(R6, 1 args, 0 rets)
  0079  GETTABLE  R7 = R0[K6('m_config')]
  0080  GETTABLE  R7 = R7[K29('extraCondition')]
  0081  EQ        if R1 eq K25(nil)   -> -127124
  0082  JMP       (jump)   -> 103
  0083  GETTABUP  R7 = _ENV[K30('ipairs')]
  0084  GETTABLE  R8 = R0[K6('m_config')]
  0085  GETTABLE  R8 = R8[K29('extraCondition')]
  0086  CALL      R7 = call(R7, 3 args, 1 rets)
  0087  JMP       (jump)   -> 101
  0088  GETTABLE  R5 = R11[K31('param_string')]
  0089  GETTABLE  R12 = R11[K32('type')]
  0090  GETTABUP  R13 = _ENV[K33('ActivityExtraConditionType')]
  0091  GETTABLE  R13 = R13[K34('Exist')]
  0092  EQ        if R0 eq R13   -> -124821
  0093  JMP       (jump)   -> 101
  0094  TEST      if not R5 then   -> -130976
  0095  JMP       (jump)   -> 101
  0096  GETTABLE  R12 = R6[R5]
  0097  TEST      if not R12 then   -> -130973
  0098  JMP       (jump)   -> 101
  0099  LOADBOOL  R4 = true
  0100  JMP       (jump)   -> 103
  0101  TFORCALL  tforcall R7
  0102  TFORLOOP  tforloop R9(sBx=-15)   -> 88
  0103  TEST      if not R4 then   -> -130966
  0104  JMP       (jump)   -> 115
  0105  GETTABUP  R7 = _ENV[K16('Log')]
  0106  GETTABLE  R7 = R7[K17('Error')]
  0107  GETTABUP  R8 = _ENV[K2('string')]
  0108  GETTABLE  R8 = R8[K3('format')]
  0109  LOADK     R9 = K35 '[小棋盘bp] 活动type=<color=#FFA000>%s</color>，id=%d，未配置extraCondition，小棋盘bp需要配置任意小棋盘exist的extraCondition'
  0110  GETTABLE  R10 = R0[K5('m_type')]
  0111  GETTABLE  R11 = R0[K6('m_config')]
  0112  GETTABLE  R11 = R11[K7('id')]
  0113  CALL      R8 = call(R8, -1 args, 3 rets)
  0114  CALL      R7 = call(R7, 0 args, -1 rets)
  0115  RETURN    return R0..R-1
; ---------- proto14 [_DBTableGetValue] ----------
  ; fn ?  line 178-180 np=2 va=0 ms=6 code=7 consts=2 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   upvals: DB_VALUE_KEY
  ;   locals: self(0-7), key(0-7)
  0000  GETTABLE  R2 = R0[K0('m_dbTable')]
  0001  SELF      R3 = R2[K1('GetValue')] (self)
  0002  MOVE      R4 = R0
  0003  GETUPVAL  R5 = DB_VALUE_KEY
  0004  TAILCALL  tailcall(R2, 0)
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto15 [_DBTableGetNumber] ----------
  ; fn ?  line 184-187 np=3 va=0 ms=7 code=13 consts=3 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='tonumber'
  ;   K[2]='_DBTableGetValue'
  ;   upvals: _ENV
  ;   locals: self(0-13), key(0-13), defaultValue(0-13)
  0000  TEST      if not R2 then   -> -131069
  0001  JMP       (jump)   -> 3
  0002  LOADK     R2 = K0 0
  0003  GETTABUP  R3 = _ENV[K1('tonumber')]
  0004  SELF      R5 = R0[K2('_DBTableGetValue')] (self)
  0005  MOVE      R6 = R0
  0006  CALL      R4 = call(R4, -1 args, 2 rets)
  0007  CALL      R3 = call(R3, 1 args, -1 rets)
  0008  TEST      if not R3 then   -> -131061
  0009  JMP       (jump)   -> 11
  0010  MOVE      R3 = R0
  0011  RETURN    return R3..R2
  0012  RETURN    return R0..R-1
; ---------- proto16 [_DBTableGetTable] ----------
  ; fn ?  line 191-193 np=2 va=0 ms=6 code=14 consts=4 upvals=1 protos=0
  ;   K[0]='json'
  ;   K[1]='decode'
  ;   K[2]='_DBTableGetValue'
  ;   K[3]=''
  ;   upvals: _ENV
  ;   locals: self(0-14), key(0-14)
  0000  GETTABUP  R2 = _ENV[K0('json')]
  0001  GETTABLE  R2 = R2[K1('decode')]
  0002  SELF      R4 = R0[K2('_DBTableGetValue')] (self)
  0003  MOVE      R5 = R0
  0004  CALL      R3 = call(R3, 1 args, 2 rets)
  0005  TEST      if not R3 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R3 = K3 ''
  0008  CALL      R2 = call(R2, 1 args, 1 rets)
  0009  TEST      if not R2 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  NEWTABLE  R2 = {} (0 items)
  0012  RETURN    return R2..R1
  0013  RETURN    return R0..R-1
; ---------- proto17 [_DBTableSet] ----------
  ; fn ?  line 197-199 np=3 va=0 ms=8 code=7 consts=2 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='Set'
  ;   upvals: DB_VALUE_KEY
  ;   locals: self(0-7), key(0-7), value(0-7)
  0000  GETTABLE  R3 = R0[K0('m_dbTable')]
  0001  SELF      R4 = R3[K1('Set')] (self)
  0002  MOVE      R5 = R0
  0003  GETUPVAL  R6 = DB_VALUE_KEY
  0004  MOVE      R7 = R0
  0005  CALL      R3 = call(R3, 0 args, 4 rets)
  0006  RETURN    return R0..R-1
; ---------- proto18 [_DBTableSetTable] ----------
  ; fn ?  line 203-205 np=3 va=0 ms=8 code=8 consts=3 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='json'
  ;   K[2]='encode'
  ;   upvals: _ENV
  ;   locals: self(0-8), key(0-8), value(0-8)
  0000  SELF      R4 = R0[K0('_DBTableSet')] (self)
  0001  MOVE      R5 = R0
  0002  GETTABUP  R6 = _ENV[K1('json')]
  0003  GETTABLE  R6 = R6[K2('encode')]
  0004  MOVE      R7 = R0
  0005  CALL      R6 = call(R6, -1 args, 1 rets)
  0006  CALL      R3 = call(R3, 0 args, -1 rets)
  0007  RETURN    return R0..R-1
; ---------- proto19 [_DBTableRemove] ----------
  ; fn ?  line 208-210 np=2 va=0 ms=5 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='Remove'
  ;   locals: self(0-5), key(0-5)
  0000  GETTABLE  R2 = R0[K0('m_dbTable')]
  0001  SELF      R3 = R2[K1('Remove')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  RETURN    return R0..R-1
; ---------- proto20 [HasTicket] ----------
  ; fn ?  line 212-214 np=1 va=0 ms=4 code=10 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='TicketKey'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('TicketKey')]
  0002  CALL      R1 = call(R1, 1 args, 2 rets)
  0003  GETUPVAL  R2 = DBKey
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto21 [SetHasTicket] ----------
  ; fn ?  line 216-218 np=1 va=0 ms=5 code=5 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='TicketKey'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R3 = DBKey[K1('TicketKey')]
  0002  GETUPVAL  R4 = DBKey
  0003  CALL      R1 = call(R1, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto22 [HasPopedBuyTicketWindow] ----------
  ; fn ?  line 220-222 np=1 va=0 ms=4 code=10 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='HasPopedBuyTicketWindow'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasPopedBuyTicketWindow')]
  0002  CALL      R1 = call(R1, 1 args, 2 rets)
  0003  GETUPVAL  R2 = DBKey
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto23 [SetHasPopedBuyTicketWindow] ----------
  ; fn ?  line 224-226 np=1 va=0 ms=5 code=5 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasPopedBuyTicketWindow'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasPopedBuyTicketWindow')]
  0002  GETUPVAL  R4 = DBKey
  0003  CALL      R1 = call(R1, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto24 [HasPopedEndWindow] ----------
  ; fn ?  line 228-230 np=1 va=0 ms=4 code=10 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='HasPopedEndWindow'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasPopedEndWindow')]
  0002  CALL      R1 = call(R1, 1 args, 2 rets)
  0003  GETUPVAL  R2 = DBKey
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto25 [SetHasPopedEndWindow] ----------
  ; fn ?  line 232-234 np=1 va=0 ms=5 code=5 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasPopedEndWindow'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasPopedEndWindow')]
  0002  GETUPVAL  R4 = DBKey
  0003  CALL      R1 = call(R1, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto26 [GetLastPopMainWindowTime] ----------
  ; fn ?  line 236-238 np=1 va=0 ms=4 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='LastPopMainWindowTime'
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('LastPopMainWindowTime')]
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto27 [GetEndWindowHasTicket] ----------
  ; fn ?  line 240-242 np=1 va=0 ms=4 code=10 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='EndWindowHasTicket'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('EndWindowHasTicket')]
  0002  CALL      R1 = call(R1, 1 args, 2 rets)
  0003  GETUPVAL  R2 = DBKey
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto28 [SetEndWindowHasTicket] ----------
  ; fn ?  line 245-251 np=2 va=0 ms=6 code=11 consts=3 upvals=2 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='EndWindowHasTicket'
  ;   K[2]='_DBTableRemove'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-11), bHasTicket(0-11)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 7
  0002  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0003  GETTABUP  R4 = DBKey[K1('EndWindowHasTicket')]
  0004  GETUPVAL  R5 = DBKey
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  JMP       (jump)   -> 10
  0007  SELF      R3 = R0[K2('_DBTableRemove')] (self)
  0008  GETTABUP  R4 = DBKey[K1('EndWindowHasTicket')]
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
; ---------- proto29 [GetLastProgress] ----------
  ; fn ?  line 254-256 np=1 va=0 ms=4 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableGetTable'
  ;   K[1]='LastProgress'
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableGetTable')] (self)
  0001  GETTABUP  R3 = DBKey[K1('LastProgress')]
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto30 [SetLastProgress] ----------
  ; fn ?  line 259-265 np=2 va=0 ms=6 code=15 consts=5 upvals=2 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='_DBTableRemove'
  ;   K[3]='LastProgress'
  ;   K[4]='_DBTableSetTable'
  ;   upvals: _ENV, DBKey
  ;   locals: self(0-15), lastProgress(0-15)
  0000  GETTABUP  R2 = _ENV[K0('Table')]
  0001  GETTABLE  R2 = R2[K1('IsEmpty')]
  0002  MOVE      R3 = R0
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131066
  0005  JMP       (jump)   -> 10
  0006  SELF      R3 = R0[K2('_DBTableRemove')] (self)
  0007  GETTABUP  R4 = DBKey[K3('LastProgress')]
  0008  CALL      R2 = call(R2, 0 args, 2 rets)
  0009  JMP       (jump)   -> 14
  0010  SELF      R3 = R0[K4('_DBTableSetTable')] (self)
  0011  GETTABUP  R4 = DBKey[K3('LastProgress')]
  0012  MOVE      R5 = R0
  0013  CALL      R2 = call(R2, 0 args, 3 rets)
  0014  RETURN    return R0..R-1
; ---------- proto31 [GetIAPType] ----------
  ; fn ?  line 272-274 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_eIAPType'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_eIAPType')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto32 [GetLocalizedPrice] ----------
  ; fn ?  line 277-279 np=1 va=0 ms=5 code=8 consts=4 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='InAppPurchaseModel'
  ;   K[2]='GetLocalizedPrice'
  ;   K[3]='GetIAPType'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('InAppPurchaseModel')]
  0002  SELF      R2 = R1[K2('GetLocalizedPrice')] (self)
  0003  SELF      R4 = R0[K3('GetIAPType')] (self)
  0004  CALL      R3 = call(R3, -1 args, 1 rets)
  0005  TAILCALL  tailcall(R1, 0)
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto33 [StartPurchase] ----------
  ; fn ?  line 282-295 np=1 va=0 ms=7 code=25 consts=12 upvals=1 protos=1
  ;   K[0]='HasTicket'
  ;   K[1]='GameConfig'
  ;   K[2]='IsTestMode'
  ;   K[3]='Log'
  ;   K[4]='Error'
  ;   K[5]='[小棋盘bp] 已购买，但仍然尝试发起支付！'
  ;   K[6]='GM'
  ;   K[7]='InAppPurchaseModel'
  ;   K[8]='StartPurchase'
  ;   K[9]='GetIAPType'
  ;   K[10]='EBIType'
  ;   K[11]='ShopBuy'
  ;   upvals: _ENV
  ;   locals: self(0-25), purchaseCallback(15-25)
  0000  SELF      R2 = R0[K0('HasTicket')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 14
  0004  GETTABUP  R1 = _ENV[K1('GameConfig')]
  0005  GETTABLE  R1 = R1[K2('IsTestMode')]
  0006  CALL      R1 = call(R1, 1 args, 0 rets)
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 13
  0009  GETTABUP  R1 = _ENV[K3('Log')]
  0010  GETTABLE  R1 = R1[K4('Error')]
  0011  LOADK     R2 = K5 '[小棋盘bp] 已购买，但仍然尝试发起支付！'
  0012  CALL      R1 = call(R1, 0 args, 1 rets)
  0013  RETURN    return R0..R-1
  0014  CLOSURE   R1 = closure proto0
  0015  GETTABUP  R2 = _ENV[K6('GM')]
  0016  GETTABLE  R2 = R2[K7('InAppPurchaseModel')]
  0017  SELF      R3 = R2[K8('StartPurchase')] (self)
  0018  SELF      R5 = R0[K9('GetIAPType')] (self)
  0019  CALL      R4 = call(R4, 1 args, 1 rets)
  0020  MOVE      R5 = R0
  0021  GETTABUP  R6 = _ENV[K10('EBIType')]
  0022  GETTABLE  R6 = R6[K11('ShopBuy')]
  0023  CALL      R2 = call(R2, 0 args, 4 rets)
  0024  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 291-293 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
    ;   K[0]='_OnBuyTicketSuccess'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_OnBuyTicketSuccess')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  RETURN    return R0..R-1
; ---------- proto34 [RestoreIapRewards] ----------
  ; fn ?  line 299-306 np=2 va=0 ms=4 code=15 consts=3 upvals=0 protos=0
  ;   K[0]='GetIAPType'
  ;   K[1]='HasTicket'
  ;   K[2]='_OnBuyTicketSuccess'
  ;   locals: self(0-15), eIAPType(0-15)
  0000  SELF      R3 = R0[K0('GetIAPType')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  EQ        if R0 eq R2   -> -130554
  0003  JMP       (jump)   -> 12
  0004  SELF      R3 = R0[K1('HasTicket')] (self)
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  TEST      if not R2 then   -> -131063
  0007  JMP       (jump)   -> 12
  0008  SELF      R3 = R0[K2('_OnBuyTicketSuccess')] (self)
  0009  CALL      R2 = call(R2, 0 args, 1 rets)
  0010  LOADBOOL  R2 = true
  0011  RETURN    return R2..R1
  0012  LOADBOOL  R2 = false
  0013  RETURN    return R2..R1
  0014  RETURN    return R0..R-1
; ---------- proto35 [_OnBuyTicketSuccess] ----------
  ; fn ?  line 309-314 np=1 va=0 ms=4 code=9 consts=5 upvals=1 protos=0
  ;   K[0]='SetHasTicket'
  ;   K[1]='_DispatchBuyTicketSuccessEvent'
  ;   K[2]='LogActivity'
  ;   K[3]='EBIType'
  ;   K[4]='ExtraBoardBpBuyVIPSuccess'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  SELF      R2 = R0[K0('SetHasTicket')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  SELF      R2 = R0[K1('_DispatchBuyTicketSuccessEvent')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('LogActivity')] (self)
  0005  GETTABUP  R3 = _ENV[K3('EBIType')]
  0006  GETTABLE  R3 = R3[K4('ExtraBoardBpBuyVIPSuccess')]
  0007  CALL      R1 = call(R1, 0 args, 2 rets)
  0008  RETURN    return R0..R-1
; ---------- proto36 [AcquireVIP] ----------
  ; fn ?  line 316-322 np=1 va=0 ms=3 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='HasTicket'
  ;   K[1]='_OnBuyTicketSuccess'
  ;   locals: self(0-11)
  0000  SELF      R2 = R0[K0('HasTicket')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R1 = false
  0005  RETURN    return R1..R0
  0006  SELF      R2 = R0[K1('_OnBuyTicketSuccess')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  LOADBOOL  R1 = true
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto37 [CanAddScoreQuest] ----------
  ; fn ?  line 329-331 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='IsActivityOpen'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('IsActivityOpen')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto38 [CanAcquirePaidReward] ----------
  ; fn ?  line 334-336 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='HasTicket'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('HasTicket')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto39 [OnQuestCompleted] ----------
  ; fn ?  line 338-352 np=2 va=0 ms=12 code=21 consts=8 upvals=0 protos=0
  ;   K[0]='GetQuestHelper'
  ;   K[1]='GetCompletedQuestCount'
  ;   K[2]=1
  ;   K[3]='_LogActivityRankUp'
  ;   K[4]='_DispatchQuestCompletedEvent'
  ;   K[5]=nil
  ;   K[6]='m_bJustCompletedQuests'
  ;   K[7]=true
  ;   locals: self(0-21), arrCompletedQuest(0-21), questHelper(2-21), completedQuestCount(4-21), completedQuestCountPrevious(6-21), (for index)(9-14), (for limit)(9-14), (for step)(9-14), count(10-13)
  0000  SELF      R3 = R0[K0('GetQuestHelper')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  SELF      R4 = R2[K1('GetCompletedQuestCount')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  LEN       R4 = len R0
  0005  SUB       R4 = R4 sub R3
  0006  ADD       R5 = K2(1) add R4
  0007  MOVE      R6 = R0
  0008  LOADK     R7 = K2 1
  0009  FORPREP   forprep R5(sBx=3)   -> 13
  0010  SELF      R10 = R0[K3('_LogActivityRankUp')] (self)
  0011  MOVE      R11 = R0
  0012  CALL      R9 = call(R9, 0 args, 2 rets)
  0013  FORLOOP   forloop R5(sBx=-4)   -> 10
  0014  SELF      R6 = R0[K4('_DispatchQuestCompletedEvent')] (self)
  0015  CALL      R5 = call(R5, 0 args, 1 rets)
  0016  GETTABLE  R5 = R1[K2(1)]
  0017  EQ        if R1 eq K5(nil)   -> -128232
  0018  JMP       (jump)   -> 20
  0019  SETTABLE  R0[K6('m_bJustCompletedQuests')] = K7(true)
  0020  RETURN    return R0..R-1
; ---------- proto40 [OnRewardAcquired] ----------
  ; fn ?  line 354-356 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='_DispatchRewardAcquiredEvent'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('_DispatchRewardAcquiredEvent')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto41 [IsQuestNeedInheritProgress] ----------
  ; fn ?  line 358-360 np=2 va=0 ms=3 code=3 consts=0 upvals=0 protos=0
  ;   locals: self(0-3), questConfig(0-3)
  0000  LOADBOOL  R2 = true
  0001  RETURN    return R2..R1
  0002  RETURN    return R0..R-1
; ---------- proto42 [_DispatchStateChangedEvent] ----------
  ; fn ?  line 365-367 np=1 va=0 ms=4 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='StateChangedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('DispatchEvent')]
  0002  SELF      R3 = R0[K2('GetActivityDefinition')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R2 = R2[K3('StateChangedEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto43 [_DispatchBuyTicketSuccessEvent] ----------
  ; fn ?  line 369-371 np=1 va=0 ms=4 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='BuyTicketSuccessEvent'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('DispatchEvent')]
  0002  SELF      R3 = R0[K2('GetActivityDefinition')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R2 = R2[K3('BuyTicketSuccessEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto44 [_DispatchBuyTicketWindowOpenedEvent] ----------
  ; fn ?  line 373-375 np=1 va=0 ms=4 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='BuyTicketWindowOpenedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('DispatchEvent')]
  0002  SELF      R3 = R0[K2('GetActivityDefinition')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R2 = R2[K3('BuyTicketWindowOpenedEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto45 [_DispatchQuestCompletedEvent] ----------
  ; fn ?  line 377-379 np=1 va=0 ms=4 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='QuestCompletedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('DispatchEvent')]
  0002  SELF      R3 = R0[K2('GetActivityDefinition')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R2 = R2[K3('QuestCompletedEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto46 [_DispatchRewardAcquiredEvent] ----------
  ; fn ?  line 381-383 np=1 va=0 ms=4 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='RewardAcquiredEvent'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('DispatchEvent')]
  0002  SELF      R3 = R0[K2('GetActivityDefinition')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R2 = R2[K3('RewardAcquiredEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto47 [_OpenWindow] ----------
  ; fn ?  line 389-391 np=2 va=1 ms=8 code=11 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='OpenView'
  ;   K[3]='GetType'
  ;   K[4]='GetId'
  ;   upvals: _ENV
  ;   locals: self(0-11), prefabName(0-11)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('UIManager')]
  0002  SELF      R3 = R2[K2('OpenView')] (self)
  0003  MOVE      R4 = R0
  0004  SELF      R6 = R0[K3('GetType')] (self)
  0005  CALL      R5 = call(R5, 1 args, 1 rets)
  0006  SELF      R7 = R0[K4('GetId')] (self)
  0007  CALL      R6 = call(R6, 1 args, 1 rets)
  0008  VARARG    R7 = vararg(0)
  0009  CALL      R2 = call(R2, 0 args, -1 rets)
  0010  RETURN    return R0..R-1
; ---------- proto48 [OpenMainWindow] ----------
  ; fn ?  line 395-397 np=2 va=0 ms=6 code=7 consts=3 upvals=0 protos=0
  ;   K[0]='_OpenWindow'
  ;   K[1]='GetActivityDefinition'
  ;   K[2]='MainWindowPrefabName'
  ;   locals: self(0-7), bAuto(0-7)
  0000  SELF      R3 = R0[K0('_OpenWindow')] (self)
  0001  SELF      R5 = R0[K1('GetActivityDefinition')] (self)
  0002  CALL      R4 = call(R4, 1 args, 1 rets)
  0003  GETTABLE  R4 = R4[K2('MainWindowPrefabName')]
  0004  MOVE      R5 = R0
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  RETURN    return R0..R-1
; ---------- proto49 [OpenBuyTicketWindow] ----------
  ; fn ?  line 400-402 np=2 va=0 ms=6 code=7 consts=3 upvals=0 protos=0
  ;   K[0]='_OpenWindow'
  ;   K[1]='GetActivityDefinition'
  ;   K[2]='BuyTicketWindowPrefabName'
  ;   locals: self(0-7), bAuto(0-7)
  0000  SELF      R3 = R0[K0('_OpenWindow')] (self)
  0001  SELF      R5 = R0[K1('GetActivityDefinition')] (self)
  0002  CALL      R4 = call(R4, 1 args, 1 rets)
  0003  GETTABLE  R4 = R4[K2('BuyTicketWindowPrefabName')]
  0004  MOVE      R5 = R0
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  RETURN    return R0..R-1
; ---------- proto50 [OpenCurrentEndWindow] ----------
  ; fn ?  line 405-416 np=2 va=0 ms=11 code=26 consts=9 upvals=1 protos=0
  ;   K[0]='GetActivityDefinition'
  ;   K[1]='EndWindowPrefabName'
  ;   K[2]='HasTicket'
  ;   K[3]='ipairs'
  ;   K[4]='GetQuestHelper'
  ;   K[5]='GetAllCompletedQuests'
  ;   K[6]='CanAcquirePaidReward'
  ;   K[7]='RewardRecoverWindowPrefabName'
  ;   K[8]='_OpenWindow'
  ;   upvals: _ENV
  ;   locals: self(0-26), bAuto(0-26), activityDefinition(2-26), prefabName(3-26), (for generator)(13-21), (for state)(13-21), (for control)(13-21), _(14-19), questEntity(14-19)
  0000  SELF      R3 = R0[K0('GetActivityDefinition')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  GETTABLE  R3 = R2[K1('EndWindowPrefabName')]
  0003  SELF      R5 = R0[K2('HasTicket')] (self)
  0004  CALL      R4 = call(R4, 1 args, 1 rets)
  0005  TEST      if not R4 then   -> -131065
  0006  JMP       (jump)   -> 21
  0007  GETTABUP  R4 = _ENV[K3('ipairs')]
  0008  SELF      R6 = R0[K4('GetQuestHelper')] (self)
  0009  CALL      R5 = call(R5, 1 args, 1 rets)
  0010  SELF      R6 = R5[K5('GetAllCompletedQuests')] (self)
  0011  CALL      R5 = call(R5, -1 args, 1 rets)
  0012  CALL      R4 = call(R4, 3 args, -1 rets)
  0013  JMP       (jump)   -> 19
  0014  SELF      R10 = R8[K6('CanAcquirePaidReward')] (self)
  0015  CALL      R9 = call(R9, 1 args, 1 rets)
  0016  TEST      if not R9 then   -> -131054
  0017  JMP       (jump)   -> 19
  0018  GETTABLE  R3 = R2[K7('RewardRecoverWindowPrefabName')]
  0019  TFORCALL  tforcall R4
  0020  TFORLOOP  tforloop R6(sBx=-7)   -> 14
  0021  SELF      R5 = R0[K8('_OpenWindow')] (self)
  0022  MOVE      R6 = R0
  0023  MOVE      R7 = R0
  0024  CALL      R4 = call(R4, 0 args, 3 rets)
  0025  RETURN    return R0..R-1
; ---------- proto51 [CanPopMainWindow] ----------
  ; fn ?  line 419-445 np=1 va=0 ms=6 code=49 consts=16 upvals=1 protos=0
  ;   K[0]='m_bJustClosedUIBoardMainWindow'
  ;   K[1]=false
  ;   K[2]='GetState'
  ;   K[3]='ActivityState'
  ;   K[4]='Started'
  ;   K[5]='GetQuestHelper'
  ;   K[6]='IsAllQuestAcquired'
  ;   K[7]='m_bJustCompletedQuests'
  ;   K[8]='GetLastPopMainWindowTime'
  ;   K[9]='GM'
  ;   K[10]='GameModel'
  ;   K[11]='GetServerTime'
  ;   K[12]=0
  ;   K[13]=86400
  ;   K[14]='m_questHelper'
  ;   K[15]='GetCanAcquireQuestCount'
  ;   upvals: _ENV
  ;   locals: self(0-49), lastTime(28-49), curTime(32-49)
  0000  GETTABLE  R1 = R0[K0('m_bJustClosedUIBoardMainWindow')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 5
  0003  LOADBOOL  R1 = false
  0004  RETURN    return R1..R0
  0005  SETTABLE  R0[K0('m_bJustClosedUIBoardMainWindow')] = K1(false)
  0006  SELF      R2 = R0[K2('GetState')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  GETTABUP  R2 = _ENV[K3('ActivityState')]
  0009  GETTABLE  R2 = R2[K4('Started')]
  0010  EQ        if R0 eq R2   -> -130546
  0011  JMP       (jump)   -> 18
  0012  SELF      R2 = R0[K5('GetQuestHelper')] (self)
  0013  CALL      R1 = call(R1, 1 args, 1 rets)
  0014  SELF      R2 = R1[K6('IsAllQuestAcquired')] (self)
  0015  CALL      R1 = call(R1, 1 args, 1 rets)
  0016  TEST      if not R1 then   -> -131054
  0017  JMP       (jump)   -> 20
  0018  LOADBOOL  R1 = false
  0019  RETURN    return R1..R0
  0020  GETTABLE  R1 = R0[K7('m_bJustCompletedQuests')]
  0021  TEST      if not R1 then   -> -131049
  0022  JMP       (jump)   -> 26
  0023  SETTABLE  R0[K7('m_bJustCompletedQuests')] = K1(false)
  0024  LOADBOOL  R1 = true
  0025  RETURN    return R1..R0
  0026  SELF      R2 = R0[K8('GetLastPopMainWindowTime')] (self)
  0027  CALL      R1 = call(R1, 1 args, 1 rets)
  0028  GETTABUP  R2 = _ENV[K9('GM')]
  0029  GETTABLE  R2 = R2[K10('GameModel')]
  0030  SELF      R3 = R2[K11('GetServerTime')] (self)
  0031  CALL      R2 = call(R2, 1 args, 1 rets)
  0032  EQ        if R1 eq K12(0)   -> -130258
  0033  JMP       (jump)   -> 38
  0034  IDIV      R3 = K13(86400) idiv R1
  0035  IDIV      R4 = K13(86400) idiv R2
  0036  LT        if R0 lt R4   -> -129494
  0037  JMP       (jump)   -> 46
  0038  GETTABLE  R3 = R0[K14('m_questHelper')]
  0039  SELF      R4 = R3[K15('GetCanAcquireQuestCount')] (self)
  0040  LOADBOOL  R5 = true
  0041  CALL      R3 = call(R3, 1 args, 2 rets)
  0042  LT        if R0 lt R3   -> 6191
  0043  JMP       (jump)   -> 46
  0044  LOADBOOL  R3 = true
  0045  RETURN    return R3..R2
  0046  LOADBOOL  R3 = false
  0047  RETURN    return R3..R2
  0048  RETURN    return R0..R-1
; ---------- proto52 [CanPopBuyTicketWindow] ----------
  ; fn ?  line 448-463 np=1 va=0 ms=3 code=26 consts=6 upvals=0 protos=0
  ;   K[0]='HasPopedBuyTicketWindow'
  ;   K[1]='HasTicket'
  ;   K[2]='GetQuestHelper'
  ;   K[3]='GetCompletedQuestCount'
  ;   K[4]='m_minPopBuyTicketCount'
  ;   K[5]='SetHasPopedBuyTicketWindow'
  ;   locals: self(0-26)
  0000  SELF      R2 = R0[K0('HasPopedBuyTicketWindow')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R1 = false
  0005  RETURN    return R1..R0
  0006  SELF      R2 = R0[K1('HasTicket')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  TEST      if not R1 then   -> -131062
  0009  JMP       (jump)   -> 12
  0010  LOADBOOL  R1 = false
  0011  RETURN    return R1..R0
  0012  SELF      R2 = R0[K2('GetQuestHelper')] (self)
  0013  CALL      R1 = call(R1, 1 args, 1 rets)
  0014  SELF      R2 = R1[K3('GetCompletedQuestCount')] (self)
  0015  CALL      R1 = call(R1, 1 args, 1 rets)
  0016  GETTABLE  R2 = R0[K4('m_minPopBuyTicketCount')]
  0017  LT        if R0 lt R2   -> -130539
  0018  JMP       (jump)   -> 21
  0019  LOADBOOL  R1 = false
  0020  RETURN    return R1..R0
  0021  SELF      R2 = R0[K5('SetHasPopedBuyTicketWindow')] (self)
  0022  CALL      R1 = call(R1, 0 args, 1 rets)
  0023  LOADBOOL  R1 = true
  0024  RETURN    return R1..R0
  0025  RETURN    return R0..R-1
; ---------- proto53 [CanPopEndWindow] ----------
  ; fn ?  line 466-475 np=1 va=0 ms=5 code=21 consts=5 upvals=0 protos=0
  ;   K[0]='HasPopedEndWindow'
  ;   K[1]='GetEndWindowHasTicket'
  ;   K[2]='HasTicket'
  ;   K[3]='SetHasPopedEndWindow'
  ;   K[4]='SetEndWindowHasTicket'
  ;   locals: self(0-21)
  0000  SELF      R2 = R0[K0('HasPopedEndWindow')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 12
  0004  SELF      R2 = R0[K1('GetEndWindowHasTicket')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  SELF      R3 = R0[K2('HasTicket')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  EQ        if R0 eq R2   -> -130548
  0009  JMP       (jump)   -> 12
  0010  LOADBOOL  R1 = false
  0011  RETURN    return R1..R0
  0012  SELF      R2 = R0[K3('SetHasPopedEndWindow')] (self)
  0013  CALL      R1 = call(R1, 0 args, 1 rets)
  0014  SELF      R2 = R0[K4('SetEndWindowHasTicket')] (self)
  0015  SELF      R4 = R0[K2('HasTicket')] (self)
  0016  CALL      R3 = call(R3, -1 args, 1 rets)
  0017  CALL      R1 = call(R1, 0 args, -1 rets)
  0018  LOADBOOL  R1 = true
  0019  RETURN    return R1..R0
  0020  RETURN    return R0..R-1
; ---------- proto54 [OnMainWindowPoped] ----------
  ; fn ?  line 478-481 np=1 va=0 ms=5 code=9 consts=4 upvals=0 protos=0
  ;   K[0]='SetLastProgress'
  ;   K[1]='GetQuestHelper'
  ;   K[2]='GetAllTypeCurrentScore'
  ;   K[3]='_MarkMainWindowPoped'
  ;   locals: self(0-9)
  0000  SELF      R2 = R0[K0('SetLastProgress')] (self)
  0001  SELF      R4 = R0[K1('GetQuestHelper')] (self)
  0002  CALL      R3 = call(R3, 1 args, 1 rets)
  0003  SELF      R4 = R3[K2('GetAllTypeCurrentScore')] (self)
  0004  CALL      R3 = call(R3, -1 args, 1 rets)
  0005  CALL      R1 = call(R1, 0 args, -1 rets)
  0006  SELF      R2 = R0[K3('_MarkMainWindowPoped')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto55 [_MarkMainWindowPoped] ----------
  ; fn ?  line 483-487 np=1 va=0 ms=6 code=10 consts=8 upvals=2 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='LastPopMainWindowTime'
  ;   K[2]='GM'
  ;   K[3]='GameModel'
  ;   K[4]='GetServerTime'
  ;   K[5]='m_bJustClosedUIBoardMainWindow'
  ;   K[6]=false
  ;   K[7]='m_bJustCompletedQuests'
  ;   upvals: DBKey, _ENV
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R3 = DBKey[K1('LastPopMainWindowTime')]
  0002  GETTABUP  R4 = _ENV[K2('GM')]
  0003  GETTABLE  R4 = R4[K3('GameModel')]
  0004  SELF      R5 = R4[K4('GetServerTime')] (self)
  0005  CALL      R4 = call(R4, -1 args, 1 rets)
  0006  CALL      R1 = call(R1, 0 args, -1 rets)
  0007  SETTABLE  R0[K5('m_bJustClosedUIBoardMainWindow')] = K6(false)
  0008  SETTABLE  R0[K7('m_bJustCompletedQuests')] = K6(false)
  0009  RETURN    return R0..R-1
; ---------- proto56 [OnBuyTicketWindowOpened] ----------
  ; fn ?  line 489-491 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='_DispatchBuyTicketWindowOpenedEvent'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('_DispatchBuyTicketWindowOpenedEvent')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto57 [_IsEntryVisible] ----------
  ; fn ?  line 497-499 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='IsActivityOpen'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('IsActivityOpen')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto58 [GetMapEntryShowConfig] ----------
  ; fn ?  line 502-512 np=1 va=0 ms=4 code=20 consts=11 upvals=1 protos=1
  ;   K[0]='statusChangeEvent'
  ;   K[1]='GetActivityDefinition'
  ;   K[2]='StateChangedEvent'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EEntryRootKey'
  ;   K[5]='ExtraBoardBp'
  ;   K[6]='entryPrefabName'
  ;   K[7]='MainEntryPrefabName'
  ;   K[8]='hudKey'
  ;   K[9]='EntryButtonKey'
  ;   K[10]='checkFun'
  ;   upvals: _ENV
  ;   locals: self(0-20)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SELF      R3 = R0[K1('GetActivityDefinition')] (self)
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  GETTABLE  R2 = R2[K2('StateChangedEvent')]
  0004  SETTABLE  R1[K0('statusChangeEvent')] = R2
  0005  GETTABUP  R2 = _ENV[K4('EEntryRootKey')]
  0006  GETTABLE  R2 = R2[K5('ExtraBoardBp')]
  0007  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0008  SELF      R3 = R0[K1('GetActivityDefinition')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  GETTABLE  R2 = R2[K7('MainEntryPrefabName')]
  0011  SETTABLE  R1[K6('entryPrefabName')] = R2
  0012  SELF      R3 = R0[K1('GetActivityDefinition')] (self)
  0013  CALL      R2 = call(R2, 1 args, 1 rets)
  0014  GETTABLE  R2 = R2[K9('EntryButtonKey')]
  0015  SETTABLE  R1[K8('hudKey')] = R2
  0016  CLOSURE   R2 = closure proto0
  0017  SETTABLE  R1[K10('checkFun')] = R2
  0018  RETURN    return R1..R0
  0019  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 508-510 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='_IsEntryVisible'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_IsEntryVisible')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto59 [GetRedPointNum] ----------
  ; fn ?  line 515-517 np=1 va=0 ms=4 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_questHelper'
  ;   K[1]='GetCanAcquireRewardCount'
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('m_questHelper')]
  0001  SELF      R2 = R1[K1('GetCanAcquireRewardCount')] (self)
  0002  LOADBOOL  R3 = true
  0003  TAILCALL  tailcall(R1, 0)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto60 [OnEntryClicked] ----------
  ; fn ?  line 520-524 np=1 va=0 ms=3 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='IsActivityOpen'
  ;   K[1]='OpenMainWindow'
  ;   locals: self(0-7)
  0000  SELF      R2 = R0[K0('IsActivityOpen')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  SELF      R2 = R0[K1('OpenMainWindow')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto61 [_LogActivityRankUp] ----------
  ; fn ?  line 530-532 np=2 va=0 ms=6 code=6 consts=3 upvals=1 protos=0
  ;   K[0]='LogActivity'
  ;   K[1]='EBIType'
  ;   K[2]='ActivityRankUp'
  ;   upvals: _ENV
  ;   locals: self(0-6), rank(0-6)
  0000  SELF      R3 = R0[K0('LogActivity')] (self)
  0001  GETTABUP  R4 = _ENV[K1('EBIType')]
  0002  GETTABLE  R4 = R4[K2('ActivityRankUp')]
  0003  MOVE      R5 = R0
  0004  CALL      R2 = call(R2, 0 args, 3 rets)
  0005  RETURN    return R0..R-1
