# CoinRaceActivity_Model_CoinRaceModel_890.luac
; fn @CoinRaceModel.lua  line 0-0 np=0 va=1 ms=4 code=75 consts=37 upvals=1 protos=18
;   K[0]='COIN_RACE_MAX_PLAYER_COUNT'
;   K[1]=5
;   K[2]='CoinRaceModel'
;   K[3]='setmetatable'
;   K[4]='bShouldSkipEndWindowOnLongAway'
;   K[5]=true
;   K[6]='EntryOpName'
;   K[7]='BLCoinRaceEntry1'
;   K[8]='BaseRaceActivityModel'
;   K[9]='__index'
;   K[10]='RoundConfigKey'
;   K[11]='coin_race'
;   K[12]='coinrace_show_round'
;   K[13]='Init'
;   K[14]='GetActivityDefinitionByType'
;   K[15]='Destroy'
;   K[16]='GetBoardEntryShowConfig'
;   K[17]='GetMapEntryShowConfig'
;   K[18]='AcquireActivityToken'
;   K[19]='GetActivityTokenNumber'
;   K[20]='_CreateRobotPlayers'
;   K[21]=3
;   K[22]=1
;   K[23]=2
;   K[24]=4
;   K[25]=5
;   K[26]='_PlayerRankSortFunc'
;   K[27]='_CanShowEntry'
;   K[28]='CanShowOrderCell'
;   K[29]='CanAddOrderReward'
;   K[30]='GetOrderExtraReward'
;   K[31]='GetScoreRatio'
;   K[32]='_LoadOtherServerConfig'
;   K[33]='CoinRaceModel'
;   K[34]='_CreateMySelfData'
;   K[35]='GetCurrentRoundReward'
;   K[36]='CanShowRound'
;   upvals: _ENV
;   locals: ShowRoundKey(14-75), arrDefaultRank(44-75)
0000  SETTABUP  _ENV[K0('COIN_RACE_MAX_PLAYER_COUNT')] = K1(5)
0001  GETTABUP  R0 = _ENV[K3('setmetatable')]
0002  NEWTABLE  R1 = {} (0 items)
0003  SETTABLE  R1[K4('bShouldSkipEndWindowOnLongAway')] = K5(true)
0004  SETTABLE  R1[K6('EntryOpName')] = K7('BLCoinRaceEntry1')
0005  GETTABUP  R2 = _ENV[K8('BaseRaceActivityModel')]
0006  CALL      R0 = call(R0, 1 args, 2 rets)
0007  SETTABUP  _ENV[K2('CoinRaceModel')] = R0
0008  GETTABUP  R0 = _ENV[K2('CoinRaceModel')]
0009  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0010  SETTABLE  R0[K9('__index')] = R1
0011  GETTABUP  R0 = _ENV[K2('CoinRaceModel')]
0012  SETTABLE  R0[K10('RoundConfigKey')] = K11('coin_race')
0013  LOADK     R0 = K12 'coinrace_show_round'
0014  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0015  CLOSURE   R2 = closure proto0
0016  SETTABLE  R1[K13('Init')] = R2
0017  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0018  CLOSURE   R2 = closure proto1
0019  SETTABLE  R1[K14('GetActivityDefinitionByType')] = R2
0020  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0021  CLOSURE   R2 = closure proto2
0022  SETTABLE  R1[K15('Destroy')] = R2
0023  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0024  CLOSURE   R2 = closure proto3
0025  SETTABLE  R1[K16('GetBoardEntryShowConfig')] = R2
0026  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0027  CLOSURE   R2 = closure proto4
0028  SETTABLE  R1[K17('GetMapEntryShowConfig')] = R2
0029  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0030  CLOSURE   R2 = closure proto5
0031  SETTABLE  R1[K18('AcquireActivityToken')] = R2
0032  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0033  CLOSURE   R2 = closure proto6
0034  SETTABLE  R1[K19('GetActivityTokenNumber')] = R2
0035  GETTABUP  R1 = _ENV[K2('CoinRaceModel')]
0036  CLOSURE   R2 = closure proto7
0037  SETTABLE  R1[K20('_CreateRobotPlayers')] = R2
0038  NEWTABLE  R1 = {} (0 items)
0039  SETTABLE  R1[K21(3)] = K22(1)
0040  SETTABLE  R1[K23(2)] = K23(2)
0041  SETTABLE  R1[K24(4)] = K21(3)
0042  SETTABLE  R1[K22(1)] = K24(4)
0043  SETTABLE  R1[K25(5)] = K25(5)
0044  GETTABUP  R2 = _ENV[K2('CoinRaceModel')]
0045  CLOSURE   R3 = closure proto8
0046  SETTABLE  R2[K26('_PlayerRankSortFunc')] = R3
0047  GETTABUP  R2 = _ENV[K2('CoinRaceModel')]
0048  CLOSURE   R3 = closure proto9
0049  SETTABLE  R2[K27('_CanShowEntry')] = R3
0050  GETTABUP  R2 = _ENV[K2('CoinRaceModel')]
0051  CLOSURE   R3 = closure proto10
0052  SETTABLE  R2[K28('CanShowOrderCell')] = R3
0053  GETTABUP  R2 = _ENV[K2('CoinRaceModel')]
0054  CLOSURE   R3 = closure proto11
0055  SETTABLE  R2[K29('CanAddOrderReward')] = R3
0056  GETTABUP  R2 = _ENV[K2('CoinRaceModel')]
0057  CLOSURE   R3 = closure proto12
0058  SETTABLE  R2[K30('GetOrderExtraReward')] = R3
0059  GETTABUP  R2 = _ENV[K2('CoinRaceModel')]
0060  CLOSURE   R3 = closure proto13
0061  SETTABLE  R2[K31('GetScoreRatio')] = R3
0062  GETTABUP  R2 = _ENV[K2('CoinRaceModel')]
0063  CLOSURE   R3 = closure proto14
0064  SETTABLE  R2[K32('_LoadOtherServerConfig')] = R3
0065  GETTABUP  R2 = _ENV[K33('CoinRaceModel')]
0066  CLOSURE   R3 = closure proto15
0067  SETTABLE  R2[K34('_CreateMySelfData')] = R3
0068  GETTABUP  R2 = _ENV[K33('CoinRaceModel')]
0069  CLOSURE   R3 = closure proto16
0070  SETTABLE  R2[K35('GetCurrentRoundReward')] = R3
0071  GETTABUP  R2 = _ENV[K33('CoinRaceModel')]
0072  CLOSURE   R3 = closure proto17
0073  SETTABLE  R2[K36('CanShowRound')] = R3
0074  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 24-26 np=3 va=0 ms=7 code=7 consts=2 upvals=1 protos=0
  ;   K[0]='BaseRaceActivityModel'
  ;   K[1]='Init'
  ;   upvals: _ENV
  ;   locals: self(0-7), activityType(0-7), virtualDBTable(0-7)
  0000  GETTABUP  R3 = _ENV[K0('BaseRaceActivityModel')]
  0001  GETTABLE  R3 = R3[K1('Init')]
  0002  MOVE      R4 = R0
  0003  MOVE      R5 = R0
  0004  MOVE      R6 = R0
  0005  CALL      R3 = call(R3, 0 args, 3 rets)
  0006  RETURN    return R0..R-1
; ---------- proto1 [GetActivityDefinitionByType] ----------
  ; fn ?  line 28-30 np=2 va=0 ms=3 code=4 consts=1 upvals=1 protos=0
  ;   K[0]='CoinRaceActivityDefinition'
  ;   upvals: _ENV
  ;   locals: self(0-4), activityType(0-4)
  0000  GETTABUP  R2 = _ENV[K0('CoinRaceActivityDefinition')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto2 [Destroy] ----------
  ; fn ?  line 32-34 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('RemoveTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto3 [GetBoardEntryShowConfig] ----------
  ; fn ?  line 36-45 np=1 va=0 ms=3 code=14 consts=9 upvals=1 protos=1
  ;   K[0]='statusChangeEvent'
  ;   K[1]='m_activityDefinition'
  ;   K[2]='StateChangedEvent'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EEntryRootKey'
  ;   K[5]='CoinRace'
  ;   K[6]='entryPrefabName'
  ;   K[7]='OrderCellPrefabName'
  ;   K[8]='checkFun'
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0002  GETTABLE  R2 = R2[K2('StateChangedEvent')]
  0003  SETTABLE  R1[K0('statusChangeEvent')] = R2
  0004  GETTABUP  R2 = _ENV[K4('EEntryRootKey')]
  0005  GETTABLE  R2 = R2[K5('CoinRace')]
  0006  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0007  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0008  GETTABLE  R2 = R2[K7('OrderCellPrefabName')]
  0009  SETTABLE  R1[K6('entryPrefabName')] = R2
  0010  CLOSURE   R2 = closure proto0
  0011  SETTABLE  R1[K8('checkFun')] = R2
  0012  RETURN    return R1..R0
  0013  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 41-43 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='CanShowOrderCell'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('CanShowOrderCell')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto4 [GetMapEntryShowConfig] ----------
  ; fn ?  line 47-57 np=1 va=0 ms=3 code=17 consts=11 upvals=1 protos=1
  ;   K[0]='statusChangeEvent'
  ;   K[1]='m_activityDefinition'
  ;   K[2]='StateChangedEvent'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EEntryRootKey'
  ;   K[5]='CoinRace'
  ;   K[6]='entryPrefabName'
  ;   K[7]='EntryPrefabName'
  ;   K[8]='hudKey'
  ;   K[9]='EntryButtonKey'
  ;   K[10]='checkFun'
  ;   upvals: _ENV
  ;   locals: self(0-17)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0002  GETTABLE  R2 = R2[K2('StateChangedEvent')]
  0003  SETTABLE  R1[K0('statusChangeEvent')] = R2
  0004  GETTABUP  R2 = _ENV[K4('EEntryRootKey')]
  0005  GETTABLE  R2 = R2[K5('CoinRace')]
  0006  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0007  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0008  GETTABLE  R2 = R2[K7('EntryPrefabName')]
  0009  SETTABLE  R1[K6('entryPrefabName')] = R2
  0010  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0011  GETTABLE  R2 = R2[K9('EntryButtonKey')]
  0012  SETTABLE  R1[K8('hudKey')] = R2
  0013  CLOSURE   R2 = closure proto0
  0014  SETTABLE  R1[K10('checkFun')] = R2
  0015  RETURN    return R1..R0
  0016  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 53-55 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='_CanShowEntry'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_CanShowEntry')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto5 [AcquireActivityToken] ----------
  ; fn ?  line 60-64 np=2 va=0 ms=6 code=8 consts=4 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='_AddMyScore'
  ;   K[2]='RaceActivityLogBIType'
  ;   K[3]='Order'
  ;   upvals: _ENV
  ;   locals: self(0-8), score(0-8)
  0000  LT        if R0 lt R1   -> 3
  0001  JMP       (jump)   -> 7
  0002  SELF      R3 = R0[K1('_AddMyScore')] (self)
  0003  MOVE      R4 = R0
  0004  GETTABUP  R5 = _ENV[K2('RaceActivityLogBIType')]
  0005  GETTABLE  R5 = R5[K3('Order')]
  0006  CALL      R2 = call(R2, 0 args, 3 rets)
  0007  RETURN    return R0..R-1
; ---------- proto6 [GetActivityTokenNumber] ----------
  ; fn ?  line 67-69 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='GetMyScore'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('GetMyScore')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto7 [_CreateRobotPlayers] ----------
  ; fn ?  line 72-95 np=2 va=0 ms=17 code=63 consts=21 upvals=1 protos=0
  ;   K[0]='GetTargetScore'
  ;   K[1]=1
  ;   K[2]=2
  ;   K[3]=4
  ;   K[4]=5
  ;   K[5]='Table'
  ;   K[6]='Shuffle'
  ;   K[7]='m_arrPlayerData'
  ;   K[8]='GM'
  ;   K[9]='UserProfileModel'
  ;   K[10]='GetAllAvatarIds'
  ;   K[11]='ListRemove'
  ;   K[12]='GetAvatar'
  ;   K[13]='ListAlwaysRandomSelectN'
  ;   K[14]='ipairs'
  ;   K[15]='icon'
  ;   K[16]='GenerateAllAdornmentForData'
  ;   K[17]='RacePlayerData'
  ;   K[18]='Create'
  ;   K[19]=0
  ;   K[20]='SetTrack'
  ;   upvals: _ENV
  ;   locals: self(0-63), robots(0-63), targetScore(2-63), arrTrack(8-63), arrAvatars(19-63), arrSelectAvatar(32-63), playerData(33-63), (for generator)(36-62), (for state)(36-62), (for control)(36-62), index(37-60), value(37-60)
  0000  SELF      R3 = R0[K0('GetTargetScore')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  NEWTABLE  R3 = {} (4 items)
  0003  LOADK     R4 = K1 1
  0004  LOADK     R5 = K2 2
  0005  LOADK     R6 = K3 4
  0006  LOADK     R7 = K4 5
  0007  SETLIST   setlist R3[B=1,C=4]
  0008  GETTABUP  R4 = _ENV[K5('Table')]
  0009  GETTABLE  R4 = R4[K6('Shuffle')]
  0010  MOVE      R5 = R0
  0011  CALL      R4 = call(R4, 0 args, 1 rets)
  0012  NEWTABLE  R4 = {} (0 items)
  0013  SETTABLE  R0[K7('m_arrPlayerData')] = R4
  0014  GETTABUP  R4 = _ENV[K8('GM')]
  0015  GETTABLE  R4 = R4[K9('UserProfileModel')]
  0016  SELF      R5 = R4[K10('GetAllAvatarIds')] (self)
  0017  LOADBOOL  R6 = true
  0018  CALL      R4 = call(R4, 1 args, 2 rets)
  0019  GETTABUP  R5 = _ENV[K5('Table')]
  0020  GETTABLE  R5 = R5[K11('ListRemove')]
  0021  MOVE      R6 = R0
  0022  GETTABUP  R7 = _ENV[K8('GM')]
  0023  GETTABLE  R7 = R7[K9('UserProfileModel')]
  0024  SELF      R8 = R7[K12('GetAvatar')] (self)
  0025  CALL      R7 = call(R7, -1 args, 1 rets)
  0026  CALL      R5 = call(R5, 0 args, -1 rets)
  0027  GETTABUP  R5 = _ENV[K5('Table')]
  0028  GETTABLE  R5 = R5[K13('ListAlwaysRandomSelectN')]
  0029  MOVE      R6 = R0
  0030  LEN       R7 = len R0
  0031  CALL      R5 = call(R5, 1 args, 2 rets)
  0032  LOADNIL   R6..R6 = nil
  0033  GETTABUP  R7 = _ENV[K14('ipairs')]
  0034  MOVE      R8 = R0
  0035  CALL      R7 = call(R7, 3 args, 1 rets)
  0036  JMP       (jump)   -> 60
  0037  GETTABLE  R12 = R5[R10]
  0038  SETTABLE  R11[K15('icon')] = R12
  0039  GETTABUP  R12 = _ENV[K8('GM')]
  0040  GETTABLE  R12 = R12[K9('UserProfileModel')]
  0041  SELF      R13 = R12[K16('GenerateAllAdornmentForData')] (self)
  0042  MOVE      R14 = R0
  0043  CALL      R12 = call(R12, 0 args, 2 rets)
  0044  GETTABUP  R12 = _ENV[K17('RacePlayerData')]
  0045  GETTABLE  R12 = R12[K18('Create')]
  0046  MOVE      R13 = R0
  0047  MOVE      R14 = R0
  0048  MOVE      R15 = R0
  0049  LOADK     R16 = K19 0
  0050  CALL      R12 = call(R12, 1 args, 4 rets)
  0051  MOVE      R6 = R0
  0052  SELF      R13 = R6[K20('SetTrack')] (self)
  0053  GETTABLE  R14 = R3[R10]
  0054  CALL      R12 = call(R12, 0 args, 2 rets)
  0055  GETTABLE  R12 = R0[K7('m_arrPlayerData')]
  0056  GETTABLE  R13 = R0[K7('m_arrPlayerData')]
  0057  LEN       R13 = len R0
  0058  ADD       R13 = K1(1) add R13
  0059  SETTABLE  R12[R13] = R6
  0060  TFORCALL  tforcall R7
  0061  TFORLOOP  tforloop R9(sBx=-25)   -> 37
  0062  RETURN    return R0..R-1
; ---------- proto8 [_PlayerRankSortFunc] ----------
  ; fn ?  line 106-113 np=3 va=0 ms=7 code=26 consts=5 upvals=2 protos=0
  ;   K[0]='m_curScore'
  ;   K[1]=0
  ;   K[2]='GetTrack'
  ;   K[3]='BaseRaceActivityModel'
  ;   K[4]='_PlayerRankSortFunc'
  ;   upvals: arrDefaultRank, _ENV
  ;   locals: self(0-26), a(0-26), b(0-26)
  0000  GETTABLE  R3 = R1[K0('m_curScore')]
  0001  EQ        if R0 eq K1(0)   -> -129276
  0002  JMP       (jump)   -> 18
  0003  GETTABLE  R3 = R2[K0('m_curScore')]
  0004  EQ        if R0 eq K1(0)   -> -129273
  0005  JMP       (jump)   -> 18
  0006  SELF      R4 = R1[K2('GetTrack')] (self)
  0007  CALL      R3 = call(R3, 1 args, 1 rets)
  0008  GETTABUP  R3 = arrDefaultRank[R3]
  0009  SELF      R5 = R2[K2('GetTrack')] (self)
  0010  CALL      R4 = call(R4, 1 args, 1 rets)
  0011  GETTABUP  R4 = arrDefaultRank[R4]
  0012  LT        if R1 lt R4   -> -129518
  0013  JMP       (jump)   -> 15
  0014  LOADBOOL  R3 = false
  0015  LOADBOOL  R3 = true
  0016  RETURN    return R3..R2
  0017  JMP       (jump)   -> 25
  0018  GETTABUP  R3 = _ENV[K3('BaseRaceActivityModel')]
  0019  GETTABLE  R3 = R3[K4('_PlayerRankSortFunc')]
  0020  MOVE      R4 = R0
  0021  MOVE      R5 = R0
  0022  MOVE      R6 = R0
  0023  TAILCALL  tailcall(R3, 0)
  0024  RETURN    return R3..R2
  0025  RETURN    return R0..R-1
; ---------- proto9 [_CanShowEntry] ----------
  ; fn ?  line 115-117 np=1 va=0 ms=3 code=13 consts=3 upvals=0 protos=0
  ;   K[0]='IsActivityOpen'
  ;   K[1]='IsInRace'
  ;   K[2]='IsDeadline'
  ;   locals: self(0-13)
  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)   -> 11
  0004  SELF      R2 = R0[K1('IsInRace')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 11
  0008  SELF      R2 = R0[K2('IsDeadline')] (self)
  0009  CALL      R1 = call(R1, 1 args, 1 rets)
  0010  NOT       R1 = not R0
  0011  RETURN    return R1..R0
  0012  RETURN    return R0..R-1
; ---------- proto10 [CanShowOrderCell] ----------
  ; fn ?  line 119-121 np=1 va=0 ms=3 code=13 consts=4 upvals=1 protos=0
  ;   K[0]='GetState'
  ;   K[1]='ActivityState'
  ;   K[2]='Started'
  ;   K[3]='_CanShowEntry'
  ;   upvals: _ENV
  ;   locals: self(0-13)
  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 R0 eq R2   -> -130552
  0005  JMP       (jump)   -> 9
  0006  SELF      R2 = R0[K3('_CanShowEntry')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  JMP       (jump)   -> 11
  0009  LOADBOOL  R1 = false
  0010  LOADBOOL  R1 = true
  0011  RETURN    return R1..R0
  0012  RETURN    return R0..R-1
; ---------- proto11 [CanAddOrderReward] ----------
  ; fn ?  line 123-125 np=2 va=0 ms=4 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='CanAddScore'
  ;   locals: self(0-4), orderType(0-4)
  0000  SELF      R3 = R0[K0('CanAddScore')] (self)
  0001  TAILCALL  tailcall(R2, 0)
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto12 [GetOrderExtraReward] ----------
  ; fn ?  line 127-139 np=3 va=0 ms=8 code=25 consts=11 upvals=1 protos=0
  ;   K[0]=nil
  ;   K[1]=0
  ;   K[2]='GetScoreRatio'
  ;   K[3]='math'
  ;   K[4]='max'
  ;   K[5]='floor'
  ;   K[6]=1
  ;   K[7]='PROPERTY_TYPE'
  ;   K[8]='m_activityDefinition'
  ;   K[9]='ActivityTokenPropertyType'
  ;   K[10]='PROPERTY_COUNT'
  ;   upvals: _ENV
  ;   locals: self(0-25), orderScore(0-25), coinNum(0-25), ratio(8-25), tokenNum(16-25)
  0000  EQ        if R1 eq K0(nil)   -> -129790
  0001  JMP       (jump)   -> 4
  0002  LE        if R0 le K1(0)   -> -129787
  0003  JMP       (jump)   -> 6
  0004  LOADK     R3 = K1 0
  0005  RETURN    return R3..R2
  0006  SELF      R4 = R0[K2('GetScoreRatio')] (self)
  0007  CALL      R3 = call(R3, 1 args, 1 rets)
  0008  GETTABUP  R4 = _ENV[K3('math')]
  0009  GETTABLE  R4 = R4[K4('max')]
  0010  GETTABUP  R5 = _ENV[K3('math')]
  0011  GETTABLE  R5 = R5[K5('floor')]
  0012  MUL       R6 = R3 mul R2
  0013  CALL      R5 = call(R5, 1 args, 1 rets)
  0014  LOADK     R6 = K6 1
  0015  CALL      R4 = call(R4, 1 args, 2 rets)
  0016  NEWTABLE  R5 = {} (0 items)
  0017  GETTABUP  R6 = _ENV[K7('PROPERTY_TYPE')]
  0018  GETTABLE  R7 = R0[K8('m_activityDefinition')]
  0019  GETTABLE  R7 = R7[K9('ActivityTokenPropertyType')]
  0020  SETTABLE  R5[R6] = R7
  0021  GETTABUP  R6 = _ENV[K10('PROPERTY_COUNT')]
  0022  SETTABLE  R5[R6] = R4
  0023  RETURN    return R5..R4
  0024  RETURN    return R0..R-1
; ---------- proto13 [GetScoreRatio] ----------
  ; fn ?  line 141-144 np=1 va=0 ms=5 code=11 consts=6 upvals=1 protos=0
  ;   K[0]='GetGeneralConfig'
  ;   K[1]='divided'
  ;   K[2]='EConfigParamType'
  ;   K[3]='Int'
  ;   K[4]=15
  ;   K[5]=1
  ;   upvals: _ENV
  ;   locals: self(0-11), divided(8-11)
  0000  SELF      R2 = R0[K0('GetGeneralConfig')] (self)
  0001  LOADK     R3 = K1 'divided'
  0002  GETTABUP  R4 = _ENV[K2('EConfigParamType')]
  0003  GETTABLE  R4 = R4[K3('Int')]
  0004  CALL      R1 = call(R1, 1 args, 3 rets)
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R1 = K4 15
  0008  DIV       R2 = R1 div K5(1)
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto14 [_LoadOtherServerConfig] ----------
  ; fn ?  line 146-156 np=2 va=0 ms=6 code=22 consts=11 upvals=1 protos=1
  ;   K[0]='BaseRaceActivityModel'
  ;   K[1]='_LoadOtherServerConfig'
  ;   K[2]='Table'
  ;   K[3]='DeepCopy'
  ;   K[4]='CoinRaceModel'
  ;   K[5]='RoundConfigKey'
  ;   K[6]='table'
  ;   K[7]='sort'
  ;   K[8]='m_config'
  ;   K[9]='roundConfigs'
  ;   K[10]='CheckConfigValid'
  ;   upvals: _ENV
  ;   locals: self(0-22), config(0-22), arrConfig(12-22)
  0000  GETTABUP  R2 = _ENV[K0('BaseRaceActivityModel')]
  0001  GETTABLE  R2 = R2[K1('_LoadOtherServerConfig')]
  0002  MOVE      R3 = R0
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 0 args, 2 rets)
  0005  GETTABUP  R2 = _ENV[K2('Table')]
  0006  GETTABLE  R2 = R2[K3('DeepCopy')]
  0007  GETTABUP  R3 = _ENV[K4('CoinRaceModel')]
  0008  GETTABLE  R3 = R3[K5('RoundConfigKey')]
  0009  GETTABLE  R3 = R1[R3]
  0010  LOADBOOL  R4 = true
  0011  CALL      R2 = call(R2, 1 args, 2 rets)
  0012  GETTABUP  R3 = _ENV[K6('table')]
  0013  GETTABLE  R3 = R3[K7('sort')]
  0014  MOVE      R4 = R0
  0015  CLOSURE   R5 = closure proto0
  0016  CALL      R3 = call(R3, 0 args, 2 rets)
  0017  GETTABLE  R3 = R0[K8('m_config')]
  0018  SETTABLE  R3[K9('roundConfigs')] = R2
  0019  SELF      R4 = R0[K10('CheckConfigValid')] (self)
  0020  CALL      R3 = call(R3, 0 args, 1 rets)
  0021  RETURN    return R0..R-1
  ; ---------- proto0 [roundConfigs] ----------
    ; fn ?  line 150-152 np=2 va=0 ms=4 code=8 consts=1 upvals=0 protos=0
    ;   K[0]='round'
    ;   locals: a(0-8), b(0-8)
    0000  GETTABLE  R2 = R0[K0('round')]
    0001  GETTABLE  R3 = R1[K0('round')]
    0002  LT        if R1 lt R3   -> -130041
    0003  JMP       (jump)   -> 5
    0004  LOADBOOL  R2 = false
    0005  LOADBOOL  R2 = true
    0006  RETURN    return R2..R1
    0007  RETURN    return R0..R-1
; ---------- proto15 [_CreateMySelfData] ----------
  ; fn ?  line 158-162 np=1 va=0 ms=5 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='BaseRaceActivityModel'
  ;   K[1]='_CreateMySelfData'
  ;   K[2]='SetTrack'
  ;   K[3]=3
  ;   upvals: _ENV
  ;   locals: self(0-9), data(4-9)
  0000  GETTABUP  R1 = _ENV[K0('BaseRaceActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_CreateMySelfData')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SELF      R3 = R1[K2('SetTrack')] (self)
  0005  LOADK     R4 = K3 3
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto16 [GetCurrentRoundReward] ----------
  ; fn ?  line 164-178 np=1 va=0 ms=7 code=16 consts=6 upvals=0 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='m_config'
  ;   K[2]='roundConfigs'
  ;   K[3]='rankReward1'
  ;   K[4]='rankReward2'
  ;   K[5]='rankReward3'
  ;   locals: self(0-16), curRound(2-16), roundConfig(5-16), rewards(14-16)
  0000  SELF      R2 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_config')]
  0003  GETTABLE  R2 = R2[K2('roundConfigs')]
  0004  GETTABLE  R2 = R2[R1]
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 9
  0007  NEWTABLE  R3 = {} (0 items)
  0008  RETURN    return R3..R2
  0009  NEWTABLE  R3 = {} (3 items)
  0010  GETTABLE  R4 = R2[K3('rankReward1')]
  0011  GETTABLE  R5 = R2[K4('rankReward2')]
  0012  GETTABLE  R6 = R2[K5('rankReward3')]
  0013  SETLIST   setlist R3[B=1,C=3]
  0014  RETURN    return R3..R2
  0015  RETURN    return R0..R-1
; ---------- proto17 [CanShowRound] ----------
  ; fn ?  line 180-183 np=1 va=0 ms=5 code=14 consts=5 upvals=2 protos=0
  ;   K[0]='GetGeneralConfig'
  ;   K[1]='EConfigParamType'
  ;   K[2]='Int'
  ;   K[3]=0
  ;   K[4]=1
  ;   upvals: ShowRoundKey, _ENV
  ;   locals: self(0-14), switch(8-14)
  0000  SELF      R2 = R0[K0('GetGeneralConfig')] (self)
  0001  GETUPVAL  R3 = ShowRoundKey
  0002  GETTABUP  R4 = _ENV[K1('EConfigParamType')]
  0003  GETTABLE  R4 = R4[K2('Int')]
  0004  CALL      R1 = call(R1, 1 args, 3 rets)
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R1 = K3 0
  0008  EQ        if R1 eq K4(1)   -> -130290
  0009  JMP       (jump)   -> 11
  0010  LOADBOOL  R2 = false
  0011  LOADBOOL  R2 = true
  0012  RETURN    return R2..R1
  0013  RETURN    return R0..R-1
