# DiscoSpin_View_DiscoSpinActivityMainWindow_1479.luac
; fn @DiscoSpinActivityMainWindow.lua  line 0-0 np=0 va=1 ms=3 code=90 consts=34 upvals=1 protos=26
;   K[0]='DiscoSpinActivityMainWindow'
;   K[1]='setmetatable'
;   K[2]='DiscoSpinActivityBaseWindow'
;   K[3]='__index'
;   K[4]='Idle'
;   K[5]='idle1'
;   K[6]='Spin'
;   K[7]='idle2'
;   K[8]='Init'
;   K[9]='OnDestroy'
;   K[10]='_KillTween'
;   K[11]='_TryKillGestureTapSequence'
;   K[12]='AddEventListener'
;   K[13]='UpdatePerSecond'
;   K[14]='_InitView'
;   K[15]='OnPurchaseBtnClicked'
;   K[16]='_InitContent'
;   K[17]='GetRewardContent'
;   K[18]='UpdateView'
;   K[19]='_OnStateChanged'
;   K[20]='_OnPurchaseSuccess'
;   K[21]='_OnOpenView'
;   K[22]='_OnCloseView'
;   K[23]='OnButtonDanceClicked'
;   K[24]='OnHelpBtnClick'
;   K[25]='StartPurchase'
;   K[26]='CanSpin'
;   K[27]='StartSpin'
;   K[28]='_CircleHighlightRewardContent'
;   K[29]='_HighlightRewardContent'
;   K[30]='_SetButtonDanceEnabled'
;   K[31]='_TryStartGestureTap'
;   K[32]='Update'
;   K[33]='_StopGestureTap'
;   upvals: _ENV
;   locals: EAnimationName(11-90)
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('DiscoSpinActivityBaseWindow')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('DiscoSpinActivityMainWindow')] = R0
0005  GETTABUP  R0 = _ENV[K0('DiscoSpinActivityMainWindow')]
0006  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  NEWTABLE  R0 = {} (0 items)
0009  SETTABLE  R0[K4('Idle')] = K5('idle1')
0010  SETTABLE  R0[K6('Spin')] = K7('idle2')
0011  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0012  CLOSURE   R2 = closure proto0
0013  SETTABLE  R1[K8('Init')] = R2
0014  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0015  CLOSURE   R2 = closure proto1
0016  SETTABLE  R1[K9('OnDestroy')] = R2
0017  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0018  CLOSURE   R2 = closure proto2
0019  SETTABLE  R1[K10('_KillTween')] = R2
0020  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0021  CLOSURE   R2 = closure proto3
0022  SETTABLE  R1[K11('_TryKillGestureTapSequence')] = R2
0023  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0024  CLOSURE   R2 = closure proto4
0025  SETTABLE  R1[K12('AddEventListener')] = R2
0026  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0027  CLOSURE   R2 = closure proto5
0028  SETTABLE  R1[K13('UpdatePerSecond')] = R2
0029  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0030  CLOSURE   R2 = closure proto6
0031  SETTABLE  R1[K14('_InitView')] = R2
0032  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0033  CLOSURE   R2 = closure proto7
0034  SETTABLE  R1[K15('OnPurchaseBtnClicked')] = R2
0035  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0036  CLOSURE   R2 = closure proto8
0037  SETTABLE  R1[K16('_InitContent')] = R2
0038  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0039  CLOSURE   R2 = closure proto9
0040  SETTABLE  R1[K17('GetRewardContent')] = R2
0041  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0042  CLOSURE   R2 = closure proto10
0043  SETTABLE  R1[K18('UpdateView')] = R2
0044  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0045  CLOSURE   R2 = closure proto11
0046  SETTABLE  R1[K19('_OnStateChanged')] = R2
0047  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0048  CLOSURE   R2 = closure proto12
0049  SETTABLE  R1[K20('_OnPurchaseSuccess')] = R2
0050  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0051  CLOSURE   R2 = closure proto13
0052  SETTABLE  R1[K21('_OnOpenView')] = R2
0053  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0054  CLOSURE   R2 = closure proto14
0055  SETTABLE  R1[K22('_OnCloseView')] = R2
0056  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0057  CLOSURE   R2 = closure proto15
0058  SETTABLE  R1[K23('OnButtonDanceClicked')] = R2
0059  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0060  CLOSURE   R2 = closure proto16
0061  SETTABLE  R1[K24('OnHelpBtnClick')] = R2
0062  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0063  CLOSURE   R2 = closure proto17
0064  SETTABLE  R1[K25('StartPurchase')] = R2
0065  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0066  CLOSURE   R2 = closure proto18
0067  SETTABLE  R1[K26('CanSpin')] = R2
0068  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0069  CLOSURE   R2 = closure proto19
0070  SETTABLE  R1[K27('StartSpin')] = R2
0071  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0072  CLOSURE   R2 = closure proto20
0073  SETTABLE  R1[K28('_CircleHighlightRewardContent')] = R2
0074  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0075  CLOSURE   R2 = closure proto21
0076  SETTABLE  R1[K29('_HighlightRewardContent')] = R2
0077  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0078  CLOSURE   R2 = closure proto22
0079  SETTABLE  R1[K30('_SetButtonDanceEnabled')] = R2
0080  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0081  CLOSURE   R2 = closure proto23
0082  SETTABLE  R1[K31('_TryStartGestureTap')] = R2
0083  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0084  CLOSURE   R2 = closure proto24
0085  SETTABLE  R1[K32('Update')] = R2
0086  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityMainWindow')]
0087  CLOSURE   R2 = closure proto25
0088  SETTABLE  R1[K33('_StopGestureTap')] = R2
0089  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 35-52 np=4 va=0 ms=9 code=40 consts=18 upvals=1 protos=0
  ;   K[0]='DiscoSpinActivityBaseWindow'
  ;   K[1]='Init'
  ;   K[2]='GetModel'
  ;   K[3]='HasLastChance'
  ;   K[4]='canCloseByAndroidBack'
  ;   K[5]=false
  ;   K[6]='LogWindowAction'
  ;   K[7]='EBIType'
  ;   K[8]='UIActionType'
  ;   K[9]='Open'
  ;   K[10]='EBIReferType'
  ;   K[11]='AutoPopup'
  ;   K[12]='UserClick'
  ;   K[13]='_InitView'
  ;   K[14]='_InitContent'
  ;   K[15]='SetMainWindowPoped'
  ;   K[16]='UpdatePerSecond'
  ;   K[17]='_TryStartGestureTap'
  ;   upvals: _ENV
  ;   locals: self(0-40), activityType(0-40), id(0-40), bAuto(0-40)
  0000  GETTABUP  R4 = _ENV[K0('DiscoSpinActivityBaseWindow')]
  0001  GETTABLE  R4 = R4[K1('Init')]
  0002  MOVE      R5 = R0
  0003  MOVE      R6 = R0
  0004  CALL      R4 = call(R4, 0 args, 2 rets)
  0005  SELF      R5 = R0[K2('GetModel')] (self)
  0006  CALL      R4 = call(R4, 1 args, 1 rets)
  0007  SELF      R5 = R4[K3('HasLastChance')] (self)
  0008  CALL      R4 = call(R4, 1 args, 1 rets)
  0009  TEST      if not R4 then   -> -131061
  0010  JMP       (jump)   -> 12
  0011  SETTABLE  R0[K4('canCloseByAndroidBack')] = K5(false)
  0012  SELF      R5 = R0[K6('LogWindowAction')] (self)
  0013  GETTABUP  R6 = _ENV[K7('EBIType')]
  0014  GETTABLE  R6 = R6[K8('UIActionType')]
  0015  GETTABLE  R6 = R6[K9('Open')]
  0016  NEWTABLE  R7 = {} (1 items)
  0017  TEST      if not R3 then   -> -131053
  0018  JMP       (jump)   -> 23
  0019  GETTABUP  R8 = _ENV[K10('EBIReferType')]
  0020  GETTABLE  R8 = R8[K11('AutoPopup')]
  0021  TEST      if not R8 then   -> -131048
  0022  JMP       (jump)   -> 25
  0023  GETTABUP  R8 = _ENV[K10('EBIReferType')]
  0024  GETTABLE  R8 = R8[K12('UserClick')]
  0025  SETLIST   setlist R7[B=1,C=1]
  0026  CALL      R4 = call(R4, 0 args, 3 rets)
  0027  SELF      R5 = R0[K13('_InitView')] (self)
  0028  CALL      R4 = call(R4, 0 args, 1 rets)
  0029  SELF      R5 = R0[K14('_InitContent')] (self)
  0030  CALL      R4 = call(R4, 0 args, 1 rets)
  0031  SELF      R5 = R0[K2('GetModel')] (self)
  0032  CALL      R4 = call(R4, 1 args, 1 rets)
  0033  SELF      R5 = R4[K15('SetMainWindowPoped')] (self)
  0034  CALL      R4 = call(R4, 0 args, 1 rets)
  0035  SELF      R5 = R0[K16('UpdatePerSecond')] (self)
  0036  CALL      R4 = call(R4, 0 args, 1 rets)
  0037  SELF      R5 = R0[K17('_TryStartGestureTap')] (self)
  0038  CALL      R4 = call(R4, 0 args, 1 rets)
  0039  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 54-58 np=1 va=0 ms=4 code=12 consts=6 upvals=1 protos=0
  ;   K[0]='DiscoSpinActivityBaseWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='_KillTween'
  ;   K[3]='GM'
  ;   K[4]='UIManager'
  ;   K[5]='RemoveAllEventLocks'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('_KillTween')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  GETTABUP  R1 = _ENV[K3('GM')]
  0007  GETTABLE  R1 = R1[K4('UIManager')]
  0008  SELF      R2 = R1[K5('RemoveAllEventLocks')] (self)
  0009  MOVE      R3 = R0
  0010  CALL      R1 = call(R1, 0 args, 2 rets)
  0011  RETURN    return R0..R-1
; ---------- proto2 [_KillTween] ----------
  ; fn ?  line 60-68 np=1 va=0 ms=3 code=15 consts=5 upvals=0 protos=0
  ;   K[0]='m_spinSequence'
  ;   K[1]=nil
  ;   K[2]='Kill'
  ;   K[3]='m_rewardSequence'
  ;   K[4]='_TryKillGestureTapSequence'
  ;   locals: self(0-15)
  0000  GETTABLE  R1 = R0[K0('m_spinSequence')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 6
  0003  GETTABLE  R1 = R0[K0('m_spinSequence')]
  0004  SELF      R2 = R1[K2('Kill')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  GETTABLE  R1 = R0[K3('m_rewardSequence')]
  0007  EQ        if R1 eq K1(nil)   -> -130294
  0008  JMP       (jump)   -> 12
  0009  GETTABLE  R1 = R0[K3('m_rewardSequence')]
  0010  SELF      R2 = R1[K2('Kill')] (self)
  0011  CALL      R1 = call(R1, 0 args, 1 rets)
  0012  SELF      R2 = R0[K4('_TryKillGestureTapSequence')] (self)
  0013  CALL      R1 = call(R1, 0 args, 1 rets)
  0014  RETURN    return R0..R-1
; ---------- proto3 [_TryKillGestureTapSequence] ----------
  ; fn ?  line 70-74 np=1 va=0 ms=3 code=7 consts=3 upvals=0 protos=0
  ;   K[0]='m_gestureTapSequence'
  ;   K[1]=nil
  ;   K[2]='Kill'
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_gestureTapSequence')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 6
  0003  GETTABLE  R1 = R0[K0('m_gestureTapSequence')]
  0004  SELF      R2 = R1[K2('Kill')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto4 [AddEventListener] ----------
  ; fn ?  line 77-83 np=1 va=0 ms=5 code=27 consts=12 upvals=1 protos=0
  ;   K[0]='DiscoSpinActivityBaseWindow'
  ;   K[1]='AddEventListener'
  ;   K[2]='EventDispatcher'
  ;   K[3]='AddListener'
  ;   K[4]='GetActivityDefinition'
  ;   K[5]='PurchaseSuccessEvent'
  ;   K[6]='_OnPurchaseSuccess'
  ;   K[7]='EEventType'
  ;   K[8]='OpenView'
  ;   K[9]='_OnOpenView'
  ;   K[10]='CloseView'
  ;   K[11]='_OnCloseView'
  ;   upvals: _ENV
  ;   locals: self(0-27)
  0000  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('AddEventListener')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0005  GETTABLE  R1 = R1[K3('AddListener')]
  0006  SELF      R3 = R0[K4('GetActivityDefinition')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  GETTABLE  R2 = R2[K5('PurchaseSuccessEvent')]
  0009  MOVE      R3 = R0
  0010  GETTABLE  R4 = R0[K6('_OnPurchaseSuccess')]
  0011  CALL      R1 = call(R1, 0 args, 3 rets)
  0012  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0013  GETTABLE  R1 = R1[K3('AddListener')]
  0014  GETTABUP  R2 = _ENV[K7('EEventType')]
  0015  GETTABLE  R2 = R2[K8('OpenView')]
  0016  MOVE      R3 = R0
  0017  GETTABLE  R4 = R0[K9('_OnOpenView')]
  0018  CALL      R1 = call(R1, 0 args, 3 rets)
  0019  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0020  GETTABLE  R1 = R1[K3('AddListener')]
  0021  GETTABUP  R2 = _ENV[K7('EEventType')]
  0022  GETTABLE  R2 = R2[K10('CloseView')]
  0023  MOVE      R3 = R0
  0024  GETTABLE  R4 = R0[K11('_OnCloseView')]
  0025  CALL      R1 = call(R1, 0 args, 3 rets)
  0026  RETURN    return R0..R-1
; ---------- proto5 [UpdatePerSecond] ----------
  ; fn ?  line 85-92 np=1 va=0 ms=8 code=28 consts=14 upvals=1 protos=0
  ;   K[0]='IsActivityValid'
  ;   K[1]='math'
  ;   K[2]='max'
  ;   K[3]=0
  ;   K[4]='GetModel'
  ;   K[5]='GetEndTime'
  ;   K[6]='GM'
  ;   K[7]='GameModel'
  ;   K[8]='GetServerTime'
  ;   K[9]='m_countDownText'
  ;   K[10]='text'
  ;   K[11]='TimeUtil'
  ;   K[12]='ParseTimeDescription'
  ;   K[13]=2
  ;   upvals: _ENV
  ;   locals: self(0-28), leftDuration(18-28)
  0000  SELF      R2 = R0[K0('IsActivityValid')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  GETTABUP  R1 = _ENV[K1('math')]
  0006  GETTABLE  R1 = R1[K2('max')]
  0007  LOADK     R2 = K3 0
  0008  SELF      R4 = R0[K4('GetModel')] (self)
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  SELF      R4 = R3[K5('GetEndTime')] (self)
  0011  CALL      R3 = call(R3, 1 args, 1 rets)
  0012  GETTABUP  R4 = _ENV[K6('GM')]
  0013  GETTABLE  R4 = R4[K7('GameModel')]
  0014  SELF      R5 = R4[K8('GetServerTime')] (self)
  0015  CALL      R4 = call(R4, 1 args, 1 rets)
  0016  SUB       R3 = R4 sub R3
  0017  CALL      R1 = call(R1, 1 args, 2 rets)
  0018  GETTABLE  R2 = R0[K9('m_countDownText')]
  0019  GETTABUP  R3 = _ENV[K11('TimeUtil')]
  0020  GETTABLE  R3 = R3[K12('ParseTimeDescription')]
  0021  MOVE      R4 = R0
  0022  LOADK     R5 = K13 2
  0023  LOADBOOL  R6 = false
  0024  LOADBOOL  R7 = false
  0025  CALL      R3 = call(R3, 1 args, 4 rets)
  0026  SETTABLE  R2[K10('text')] = R3
  0027  RETURN    return R0..R-1
; ---------- proto6 [_InitView] ----------
  ; fn ?  line 94-100 np=1 va=0 ms=8 code=25 consts=11 upvals=1 protos=0
  ;   K[0]='UpdateView'
  ;   K[1]='GameConfig'
  ;   K[2]='IsTestMode'
  ;   K[3]='m_testTextDailyShowNum'
  ;   K[4]='text'
  ;   K[5]='dailyShowNum: '
  ;   K[6]='tostring'
  ;   K[7]='GetModel'
  ;   K[8]='GetDailyPopCount'
  ;   K[9]='/'
  ;   K[10]='GetDailyShowNum'
  ;   upvals: _ENV
  ;   locals: self(0-25)
  0000  SELF      R2 = R0[K0('UpdateView')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  GETTABUP  R1 = _ENV[K1('GameConfig')]
  0003  GETTABLE  R1 = R1[K2('IsTestMode')]
  0004  CALL      R1 = call(R1, 1 args, 0 rets)
  0005  TEST      if not R1 then   -> -131065
  0006  JMP       (jump)   -> 24
  0007  GETTABLE  R1 = R0[K3('m_testTextDailyShowNum')]
  0008  LOADK     R2 = K5 'dailyShowNum: '
  0009  GETTABUP  R3 = _ENV[K6('tostring')]
  0010  SELF      R5 = R0[K7('GetModel')] (self)
  0011  CALL      R4 = call(R4, 1 args, 1 rets)
  0012  SELF      R5 = R4[K8('GetDailyPopCount')] (self)
  0013  CALL      R4 = call(R4, -1 args, 1 rets)
  0014  CALL      R3 = call(R3, 1 args, -1 rets)
  0015  LOADK     R4 = K9 '/'
  0016  GETTABUP  R5 = _ENV[K6('tostring')]
  0017  SELF      R7 = R0[K7('GetModel')] (self)
  0018  CALL      R6 = call(R6, 1 args, 1 rets)
  0019  SELF      R7 = R6[K10('GetDailyShowNum')] (self)
  0020  CALL      R6 = call(R6, -1 args, 1 rets)
  0021  CALL      R5 = call(R5, 1 args, -1 rets)
  0022  CONCAT    R2 = concat(R2..R2)
  0023  SETTABLE  R1[K4('text')] = R2
  0024  RETURN    return R0..R-1
; ---------- proto7 [OnPurchaseBtnClicked] ----------
  ; fn ?  line 102-104 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='GetModel'
  ;   K[1]='StartPurchase'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('GetModel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R2 = R1[K1('StartPurchase')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto8 [_InitContent] ----------
  ; fn ?  line 108-138 np=1 va=0 ms=21 code=77 consts=31 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_mapRewardContent'
  ;   K[3]='pairs'
  ;   K[4]='Object'
  ;   K[5]='Destroy'
  ;   K[6]='gameObject'
  ;   K[7]='GetModel'
  ;   K[8]='GetActivityDefinition'
  ;   K[9]=0
  ;   K[10]=1
  ;   K[11]=2
  ;   K[12]=3
  ;   K[13]=4
  ;   K[14]=12
  ;   K[15]=5
  ;   K[16]=11
  ;   K[17]=6
  ;   K[18]=10
  ;   K[19]=9
  ;   K[20]=8
  ;   K[21]=7
  ;   K[22]='ipairs'
  ;   K[23]='Instantiate'
  ;   K[24]='m_spacePrefab'
  ;   K[25]='m_contentRectTransform'
  ;   K[26]='m_rewardContentPrefab'
  ;   K[27]='GetLuaTable'
  ;   K[28]='Init'
  ;   K[29]='GetRewardByIndex'
  ;   K[30]='RewardScene'
  ;   upvals: _ENV
  ;   locals: self(0-77), (for generator)(9-16), (for state)(9-16), (for control)(9-16), _(10-14), rewardContent(10-14), model(18-77), activityDefinition(20-77), EMPTY_INDEX(21-77), arrLoadOrder(39-77), go(42-77), rewardContent(42-77), (for generator)(45-76), (for state)(45-76), (for control)(45-76), _(46-74), index(46-74)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_mapRewardContent')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 16
  0006  GETTABUP  R1 = _ENV[K3('pairs')]
  0007  GETTABLE  R2 = R0[K2('m_mapRewardContent')]
  0008  CALL      R1 = call(R1, 3 args, 1 rets)
  0009  JMP       (jump)   -> 14
  0010  GETTABUP  R6 = _ENV[K4('Object')]
  0011  GETTABLE  R6 = R6[K5('Destroy')]
  0012  GETTABLE  R7 = R5[K6('gameObject')]
  0013  CALL      R6 = call(R6, 0 args, 1 rets)
  0014  TFORCALL  tforcall R1
  0015  TFORLOOP  tforloop R3(sBx=-6)   -> 10
  0016  SELF      R2 = R0[K7('GetModel')] (self)
  0017  CALL      R1 = call(R1, 1 args, 1 rets)
  0018  SELF      R3 = R0[K8('GetActivityDefinition')] (self)
  0019  CALL      R2 = call(R2, 1 args, 1 rets)
  0020  LOADK     R3 = K9 0
  0021  NEWTABLE  R4 = {} (16 items)
  0022  LOADK     R5 = K10 1
  0023  LOADK     R6 = K11 2
  0024  LOADK     R7 = K12 3
  0025  LOADK     R8 = K13 4
  0026  LOADK     R9 = K14 12
  0027  LOADK     R10 = K9 0
  0028  LOADK     R11 = K9 0
  0029  LOADK     R12 = K15 5
  0030  LOADK     R13 = K16 11
  0031  LOADK     R14 = K9 0
  0032  LOADK     R15 = K9 0
  0033  LOADK     R16 = K17 6
  0034  LOADK     R17 = K18 10
  0035  LOADK     R18 = K19 9
  0036  LOADK     R19 = K20 8
  0037  LOADK     R20 = K21 7
  0038  SETLIST   setlist R4[B=1,C=16]
  0039  NEWTABLE  R5 = {} (0 items)
  0040  SETTABLE  R0[K2('m_mapRewardContent')] = R5
  0041  LOADNIL   R5..R5 = nil
  0042  GETTABUP  R7 = _ENV[K22('ipairs')]
  0043  MOVE      R8 = R0
  0044  CALL      R7 = call(R7, 3 args, 1 rets)
  0045  JMP       (jump)   -> 74
  0046  EQ        if R0 eq R3   -> -125389
  0047  JMP       (jump)   -> 55
  0048  GETTABUP  R12 = _ENV[K4('Object')]
  0049  GETTABLE  R12 = R12[K23('Instantiate')]
  0050  GETTABLE  R13 = R0[K24('m_spacePrefab')]
  0051  GETTABLE  R14 = R0[K25('m_contentRectTransform')]
  0052  CALL      R12 = call(R12, 1 args, 2 rets)
  0053  MOVE      R5 = R0
  0054  JMP       (jump)   -> 74
  0055  GETTABUP  R12 = _ENV[K4('Object')]
  0056  GETTABLE  R12 = R12[K23('Instantiate')]
  0057  GETTABLE  R13 = R0[K26('m_rewardContentPrefab')]
  0058  GETTABLE  R14 = R0[K25('m_contentRectTransform')]
  0059  CALL      R12 = call(R12, 1 args, 2 rets)
  0060  MOVE      R5 = R0
  0061  SELF      R13 = R5[K27('GetLuaTable')] (self)
  0062  CALL      R12 = call(R12, 1 args, 1 rets)
  0063  MOVE      R6 = R0
  0064  SELF      R13 = R6[K28('Init')] (self)
  0065  MOVE      R14 = R0
  0066  MOVE      R15 = R0
  0067  SELF      R17 = R1[K29('GetRewardByIndex')] (self)
  0068  MOVE      R18 = R0
  0069  CALL      R16 = call(R16, 1 args, 2 rets)
  0070  GETTABLE  R17 = R2[K30('RewardScene')]
  0071  CALL      R12 = call(R12, 0 args, 5 rets)
  0072  GETTABLE  R12 = R0[K2('m_mapRewardContent')]
  0073  SETTABLE  R12[R11] = R6
  0074  TFORCALL  tforcall R7
  0075  TFORLOOP  tforloop R9(sBx=-30)   -> 46
  0076  RETURN    return R0..R-1
; ---------- proto9 [GetRewardContent] ----------
  ; fn ?  line 140-142 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_mapRewardContent'
  ;   locals: self(0-4), index(0-4)
  0000  GETTABLE  R2 = R0[K0('m_mapRewardContent')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto10 [UpdateView] ----------
  ; fn ?  line 148-168 np=1 va=0 ms=9 code=59 consts=16 upvals=1 protos=0
  ;   K[0]='GetModel'
  ;   K[1]='IsActivityValid'
  ;   K[2]='HasLastChance'
  ;   K[3]='m_bInSpinAnimation'
  ;   K[4]='CanSpin'
  ;   K[5]='IsFreeThisRound'
  ;   K[6]='IsActivityOpen'
  ;   K[7]='UIUtil'
  ;   K[8]='SetActive'
  ;   K[9]='m_priceGo'
  ;   K[10]='m_buttonHelpGo'
  ;   K[11]='m_countDownGo'
  ;   K[12]='m_buttonCloseGo'
  ;   K[13]='m_priceText'
  ;   K[14]='text'
  ;   K[15]='GetLocalizedPrice'
  ;   upvals: _ENV
  ;   locals: self(0-59), model(2-59), bShowPrice(25-59), bShowHelpButton(28-59), bIsActivityOpen(30-59), bCanSpin(32-59)
  0000  SELF      R2 = R0[K0('GetModel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('IsActivityValid')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131065
  0005  JMP       (jump)   -> 11
  0006  SELF      R3 = R1[K2('HasLastChance')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  TEST      if not R2 then   -> -131061
  0009  JMP       (jump)   -> 11
  0010  RETURN    return R0..R-1
  0011  GETTABLE  R2 = R0[K3('m_bInSpinAnimation')]
  0012  TEST      if not R2 then   -> -131058
  0013  JMP       (jump)   -> 15
  0014  RETURN    return R0..R-1
  0015  SELF      R3 = R0[K4('CanSpin')] (self)
  0016  CALL      R2 = call(R2, 1 args, 1 rets)
  0017  TEST      if not R2 then   -> -131052
  0018  JMP       (jump)   -> 23
  0019  SELF      R3 = R1[K5('IsFreeThisRound')] (self)
  0020  CALL      R2 = call(R2, 1 args, 1 rets)
  0021  NOT       R2 = not R0
  0022  JMP       (jump)   -> 25
  0023  LOADBOOL  R2 = false
  0024  LOADBOOL  R2 = true
  0025  SELF      R4 = R1[K5('IsFreeThisRound')] (self)
  0026  CALL      R3 = call(R3, 1 args, 1 rets)
  0027  NOT       R3 = not R0
  0028  SELF      R5 = R1[K6('IsActivityOpen')] (self)
  0029  CALL      R4 = call(R4, 1 args, 1 rets)
  0030  SELF      R6 = R0[K4('CanSpin')] (self)
  0031  CALL      R5 = call(R5, 1 args, 1 rets)
  0032  GETTABUP  R6 = _ENV[K7('UIUtil')]
  0033  GETTABLE  R6 = R6[K8('SetActive')]
  0034  GETTABLE  R7 = R0[K9('m_priceGo')]
  0035  MOVE      R8 = R0
  0036  CALL      R6 = call(R6, 0 args, 2 rets)
  0037  GETTABUP  R6 = _ENV[K7('UIUtil')]
  0038  GETTABLE  R6 = R6[K8('SetActive')]
  0039  GETTABLE  R7 = R0[K10('m_buttonHelpGo')]
  0040  MOVE      R8 = R0
  0041  CALL      R6 = call(R6, 0 args, 2 rets)
  0042  GETTABUP  R6 = _ENV[K7('UIUtil')]
  0043  GETTABLE  R6 = R6[K8('SetActive')]
  0044  GETTABLE  R7 = R0[K11('m_countDownGo')]
  0045  MOVE      R8 = R0
  0046  CALL      R6 = call(R6, 0 args, 2 rets)
  0047  GETTABUP  R6 = _ENV[K7('UIUtil')]
  0048  GETTABLE  R6 = R6[K8('SetActive')]
  0049  GETTABLE  R7 = R0[K12('m_buttonCloseGo')]
  0050  MOVE      R8 = R0
  0051  CALL      R6 = call(R6, 0 args, 2 rets)
  0052  TEST      if not R2 then   -> -131018
  0053  JMP       (jump)   -> 58
  0054  GETTABLE  R6 = R0[K13('m_priceText')]
  0055  SELF      R8 = R1[K15('GetLocalizedPrice')] (self)
  0056  CALL      R7 = call(R7, 1 args, 1 rets)
  0057  SETTABLE  R6[K14('text')] = R7
  0058  RETURN    return R0..R-1
; ---------- proto11 [_OnStateChanged] ----------
  ; fn ?  line 175-180 np=1 va=0 ms=3 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='m_bInSpinAnimation'
  ;   K[1]='DiscoSpinActivityBaseWindow'
  ;   K[2]='_OnStateChanged'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABLE  R1 = R0[K0('m_bInSpinAnimation')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  GETTABUP  R1 = _ENV[K1('DiscoSpinActivityBaseWindow')]
  0005  GETTABLE  R1 = R1[K2('_OnStateChanged')]
  0006  MOVE      R2 = R0
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto12 [_OnPurchaseSuccess] ----------
  ; fn ?  line 182-188 np=1 va=0 ms=12 code=25 consts=14 upvals=1 protos=0
  ;   K[0]='UpdateView'
  ;   K[1]=45
  ;   K[2]='GM'
  ;   K[3]='UIManager'
  ;   K[4]='ShowPromptWithKey'
  ;   K[5]='GetActivityDefinition'
  ;   K[6]='PurchaseSuccessPromptKey'
  ;   K[7]='PositionUtil'
  ;   K[8]='UICameraWorld2Screen'
  ;   K[9]='Vector3'
  ;   K[10]=0
  ;   K[11]=-90
  ;   K[12]='PromptPrefabName'
  ;   K[13]='_TryStartGestureTap'
  ;   upvals: _ENV
  ;   locals: self(0-25), promptAnimationY(3-25)
  0000  SELF      R2 = R0[K0('UpdateView')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  LOADK     R1 = K1 45
  0003  GETTABUP  R2 = _ENV[K2('GM')]
  0004  GETTABLE  R2 = R2[K3('UIManager')]
  0005  SELF      R3 = R2[K4('ShowPromptWithKey')] (self)
  0006  SELF      R5 = R0[K5('GetActivityDefinition')] (self)
  0007  CALL      R4 = call(R4, 1 args, 1 rets)
  0008  GETTABLE  R4 = R4[K6('PurchaseSuccessPromptKey')]
  0009  GETTABUP  R5 = _ENV[K7('PositionUtil')]
  0010  GETTABLE  R5 = R5[K8('UICameraWorld2Screen')]
  0011  GETTABUP  R6 = _ENV[K9('Vector3')]
  0012  LOADK     R7 = K10 0
  0013  SUB       R8 = R1 sub K11(-90)
  0014  LOADK     R9 = K10 0
  0015  CALL      R6 = call(R6, -1 args, 3 rets)
  0016  CALL      R5 = call(R5, 1 args, -1 rets)
  0017  LOADNIL   R6..R6 = nil
  0018  SELF      R11 = R0[K5('GetActivityDefinition')] (self)
  0019  CALL      R10 = call(R10, 1 args, 1 rets)
  0020  GETTABLE  R10 = R10[K12('PromptPrefabName')]
  0021  CALL      R2 = call(R2, 0 args, 8 rets)
  0022  SELF      R3 = R0[K13('_TryStartGestureTap')] (self)
  0023  CALL      R2 = call(R2, 0 args, 1 rets)
  0024  RETURN    return R0..R-1
; ---------- proto13 [_OnOpenView] ----------
  ; fn ?  line 190-195 np=2 va=0 ms=4 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='name'
  ;   K[1]='_StopGestureTap'
  ;   locals: self(0-8), msg(0-8)
  0000  GETTABLE  R2 = R1[K0('name')]
  0001  GETTABLE  R3 = R0[K0('name')]
  0002  EQ        if R0 eq R3   -> -130041
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R3 = R0[K1('_StopGestureTap')] (self)
  0006  CALL      R2 = call(R2, 0 args, 1 rets)
  0007  RETURN    return R0..R-1
; ---------- proto14 [_OnCloseView] ----------
  ; fn ?  line 197-202 np=2 va=0 ms=4 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='name'
  ;   K[1]='_TryStartGestureTap'
  ;   locals: self(0-8), msg(0-8)
  0000  GETTABLE  R2 = R1[K0('name')]
  0001  GETTABLE  R3 = R0[K0('name')]
  0002  EQ        if R0 eq R3   -> -130041
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R3 = R0[K1('_TryStartGestureTap')] (self)
  0006  CALL      R2 = call(R2, 0 args, 1 rets)
  0007  RETURN    return R0..R-1
; ---------- proto15 [OnButtonDanceClicked] ----------
  ; fn ?  line 209-215 np=1 va=0 ms=3 code=10 consts=3 upvals=0 protos=0
  ;   K[0]='CanSpin'
  ;   K[1]='StartSpin'
  ;   K[2]='StartPurchase'
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('CanSpin')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  SELF      R2 = R0[K1('StartSpin')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  JMP       (jump)   -> 9
  0007  SELF      R2 = R0[K2('StartPurchase')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  RETURN    return R0..R-1
; ---------- proto16 [OnHelpBtnClick] ----------
  ; fn ?  line 218-220 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='GetModel'
  ;   K[1]='OpenInfoWindow'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('GetModel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R2 = R1[K1('OpenInfoWindow')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto17 [StartPurchase] ----------
  ; fn ?  line 226-228 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='GetModel'
  ;   K[1]='StartPurchase'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('GetModel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R2 = R1[K1('StartPurchase')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto18 [CanSpin] ----------
  ; fn ?  line 234-236 np=1 va=0 ms=3 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='GetModel'
  ;   K[1]='CanSpin'
  ;   locals: self(0-6)
  0000  SELF      R2 = R0[K0('GetModel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R2 = R1[K1('CanSpin')] (self)
  0003  TAILCALL  tailcall(R1, 0)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto19 [StartSpin] ----------
  ; fn ?  line 238-351 np=1 va=0 ms=19 code=103 consts=30 upvals=2 protos=4
  ;   K[0]='CanSpin'
  ;   K[1]='GetModel'
  ;   K[2]='GetCurrentWeightInfo'
  ;   K[3]='Spin'
  ;   K[4]=nil
  ;   K[5]='GM'
  ;   K[6]='UIManager'
  ;   K[7]='SetEventLock'
  ;   K[8]='_SetButtonDanceEnabled'
  ;   K[9]='m_bInSpinAnimation'
  ;   K[10]=true
  ;   K[11]='_StopGestureTap'
  ;   K[12]='m_spineAnimation'
  ;   K[13]='PlayAnimation'
  ;   K[14]='DOTween'
  ;   K[15]='Sequence'
  ;   K[16]='ipairs'
  ;   K[17]='Index'
  ;   K[18]=14
  ;   K[19]=21
  ;   K[20]='_HighlightRewardContent'
  ;   K[21]=1
  ;   K[22]='_CircleHighlightRewardContent'
  ;   K[23]=2
  ;   K[24]='Append'
  ;   K[25]='GetRewardContent'
  ;   K[26]='PlaySpinResultAnimation'
  ;   K[27]='AppendCallback'
  ;   K[28]='OnKill'
  ;   K[29]='m_spinSequence'
  ;   upvals: _ENV, EAnimationName
  ;   locals: self(0-103), currentWeightInfo(9-103), spinIndex(13-103), arrRewards(13-103), sequence(37-103), spinAnimationIndex(38-103), (for generator)(41-49), (for state)(41-49), (for control)(41-49), animationIndex(42-47), weightInfo(42-47), initialVelocity(50-103), fastVelocity(51-103), acceleration(76-103), totalTime(78-103), cache(79-103), CalculateTimeFromDisplacement(80-103)
  0000  SELF      R2 = R0[K0('CanSpin')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R2 = R0[K1('GetModel')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  SELF      R2 = R1[K2('GetCurrentWeightInfo')] (self)
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  SELF      R3 = R0[K1('GetModel')] (self)
  0010  CALL      R2 = call(R2, 1 args, 1 rets)
  0011  SELF      R3 = R2[K3('Spin')] (self)
  0012  CALL      R2 = call(R2, 2 args, 1 rets)
  0013  EQ        if R0 eq K4(nil)   -> -129773
  0014  JMP       (jump)   -> 16
  0015  RETURN    return R0..R-1
  0016  GETTABUP  R4 = _ENV[K5('GM')]
  0017  GETTABLE  R4 = R4[K6('UIManager')]
  0018  SELF      R5 = R4[K7('SetEventLock')] (self)
  0019  LOADBOOL  R6 = true
  0020  MOVE      R7 = R0
  0021  CALL      R4 = call(R4, 0 args, 3 rets)
  0022  SELF      R5 = R0[K8('_SetButtonDanceEnabled')] (self)
  0023  LOADBOOL  R6 = false
  0024  CALL      R4 = call(R4, 0 args, 2 rets)
  0025  SETTABLE  R0[K9('m_bInSpinAnimation')] = K10(true)
  0026  SELF      R5 = R0[K11('_StopGestureTap')] (self)
  0027  CALL      R4 = call(R4, 0 args, 1 rets)
  0028  GETTABLE  R4 = R0[K12('m_spineAnimation')]
  0029  SELF      R5 = R4[K13('PlayAnimation')] (self)
  0030  GETTABUP  R6 = EAnimationName[K3('Spin')]
  0031  LOADNIL   R7..R7 = nil
  0032  LOADBOOL  R8 = true
  0033  CALL      R4 = call(R4, 0 args, 4 rets)
  0034  GETTABUP  R4 = _ENV[K14('DOTween')]
  0035  GETTABLE  R4 = R4[K15('Sequence')]
  0036  CALL      R4 = call(R4, 1 args, 0 rets)
  0037  LOADNIL   R5..R5 = nil
  0038  GETTABUP  R6 = _ENV[K16('ipairs')]
  0039  MOVE      R7 = R0
  0040  CALL      R6 = call(R6, 3 args, 1 rets)
  0041  JMP       (jump)   -> 47
  0042  GETTABLE  R11 = R10[K17('Index')]
  0043  EQ        if R0 eq R2   -> -125393
  0044  JMP       (jump)   -> 47
  0045  MOVE      R5 = R0
  0046  JMP       (jump)   -> 49
  0047  TFORCALL  tforcall R6
  0048  TFORLOOP  tforloop R8(sBx=-7)   -> 42
  0049  LOADK     R6 = K18 14
  0050  LOADK     R7 = K19 21
  0051  SELF      R9 = R0[K20('_HighlightRewardContent')] (self)
  0052  GETTABLE  R10 = R1[K21(1)]
  0053  GETTABLE  R10 = R10[K17('Index')]
  0054  CALL      R8 = call(R8, 0 args, 2 rets)
  0055  SELF      R9 = R0[K22('_CircleHighlightRewardContent')] (self)
  0056  MOVE      R10 = R0
  0057  LOADK     R11 = K21 1
  0058  LEN       R12 = len R0
  0059  ADD       R12 = R12 add R5
  0060  MOVE      R13 = R0
  0061  DIV       R14 = R7 div K21(1)
  0062  CALL      R8 = call(R8, 0 args, 6 rets)
  0063  SELF      R9 = R0[K22('_CircleHighlightRewardContent')] (self)
  0064  MOVE      R10 = R0
  0065  MOVE      R11 = R0
  0066  LEN       R12 = len R0
  0067  ADD       R12 = R12 add R5
  0068  MOVE      R13 = R0
  0069  DIV       R14 = R6 div K21(1)
  0070  CALL      R8 = call(R8, 0 args, 6 rets)
  0071  UNM       R8 = unm R0
  0072  MUL       R8 = R6 mul R8
  0073  DIV       R8 = K23(2) div R8
  0074  LEN       R9 = len R0
  0075  DIV       R8 = R9 div R8
  0076  UNM       R9 = unm R0
  0077  DIV       R9 = R8 div R9
  0078  NEWTABLE  R10 = {} (0 items)
  0079  CLOSURE   R11 = closure proto0
  0080  SELF      R13 = R0[K22('_CircleHighlightRewardContent')] (self)
  0081  MOVE      R14 = R0
  0082  MOVE      R15 = R0
  0083  LEN       R16 = len R0
  0084  ADD       R16 = R16 add R5
  0085  MOVE      R17 = R0
  0086  CLOSURE   R18 = closure proto1
  0087  CALL      R12 = call(R12, 0 args, 6 rets)
  0088  SELF      R13 = R4[K24('Append')] (self)
  0089  SELF      R15 = R0[K25('GetRewardContent')] (self)
  0090  MOVE      R16 = R0
  0091  CALL      R14 = call(R14, 1 args, 2 rets)
  0092  SELF      R15 = R14[K26('PlaySpinResultAnimation')] (self)
  0093  CALL      R14 = call(R14, -1 args, 1 rets)
  0094  CALL      R12 = call(R12, 0 args, -1 rets)
  0095  SELF      R13 = R4[K27('AppendCallback')] (self)
  0096  CLOSURE   R14 = closure proto2
  0097  CALL      R12 = call(R12, 0 args, 2 rets)
  0098  SELF      R13 = R4[K28('OnKill')] (self)
  0099  CLOSURE   R14 = closure proto3
  0100  CALL      R12 = call(R12, 0 args, 2 rets)
  0101  SETTABLE  R0[K29('m_spinSequence')] = R4
  0102  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 292-310 np=1 va=0 ms=8 code=44 consts=5 upvals=5 protos=1
    ;   K[0]='math'
    ;   K[1]='sqrt'
    ;   K[2]='max'
    ;   K[3]=0
    ;   K[4]=2
    ;   upvals: cache, _ENV, initialVelocity, acceleration, totalTime
    ;   locals: displacement(0-44), determinant(19-44), time1(29-44), time2(29-44), GetDelta(30-44), time(41-44)
    0000  GETTABUP  R1 = cache[R0]
    0001  TEST      if not R1 then   -> -131069
    0002  JMP       (jump)   -> 5
    0003  GETTABUP  R1 = cache[R0]
    0004  RETURN    return R1..R0
    0005  GETTABUP  R1 = _ENV[K0('math')]
    0006  GETTABLE  R1 = R1[K1('sqrt')]
    0007  GETTABUP  R2 = _ENV[K0('math')]
    0008  GETTABLE  R2 = R2[K2('max')]
    0009  LOADK     R3 = K3 0
    0010  GETUPVAL  R4 = cache
    0011  GETUPVAL  R5 = cache
    0012  MUL       R4 = R5 mul R4
    0013  GETUPVAL  R5 = cache
    0014  MUL       R5 = R5 mul K4(2)
    0015  MUL       R5 = R0 mul R5
    0016  ADD       R4 = R5 add R4
    0017  CALL      R2 = call(R2, -1 args, 2 rets)
    0018  CALL      R1 = call(R1, 1 args, -1 rets)
    0019  GETUPVAL  R2 = cache
    0020  UNM       R2 = unm R0
    0021  ADD       R2 = R1 add R2
    0022  GETUPVAL  R3 = cache
    0023  DIV       R2 = R3 div R2
    0024  GETUPVAL  R3 = cache
    0025  UNM       R3 = unm R0
    0026  SUB       R3 = R1 sub R3
    0027  GETUPVAL  R4 = cache
    0028  DIV       R3 = R4 div R3
    0029  CLOSURE   R4 = closure proto0
    0030  MOVE      R5 = R0
    0031  MOVE      R6 = R0
    0032  CALL      R5 = call(R5, 1 args, 1 rets)
    0033  MOVE      R6 = R0
    0034  MOVE      R7 = R0
    0035  CALL      R6 = call(R6, 1 args, 1 rets)
    0036  LT        if R0 lt R6   -> -128468
    0037  JMP       (jump)   -> 40
    0038  TESTSET   if R1 then R5   -> -130007
    0039  JMP       (jump)   -> 41
    0040  MOVE      R5 = R0
    0041  SETTABUP  cache[R0] = R5
    0042  RETURN    return R5..R4
    0043  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 302-304 np=1 va=0 ms=6 code=12 consts=3 upvals=2 protos=0
      ;   K[0]='math'
      ;   K[1]='max'
      ;   K[2]=0
      ;   upvals: _ENV, totalTime
      ;   locals: time(0-12)
      0000  GETTABUP  R1 = _ENV[K0('math')]
      0001  GETTABLE  R1 = R1[K1('max')]
      0002  LOADK     R2 = K2 0
      0003  GETTABUP  R3 = _ENV[K0('math')]
      0004  GETTABLE  R3 = R3[K1('max')]
      0005  GETUPVAL  R4 = _ENV
      0006  SUB       R4 = R4 sub R0
      0007  SUB       R5 = R0 sub K2(0)
      0008  CALL      R3 = call(R3, -1 args, 2 rets)
      0009  TAILCALL  tailcall(R1, 0)
      0010  RETURN    return R1..R0
      0011  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 312-314 np=1 va=0 ms=4 code=9 consts=1 upvals=1 protos=0
    ;   K[0]=1
    ;   upvals: CalculateTimeFromDisplacement
    ;   locals: displacement(0-9)
    0000  GETUPVAL  R1 = CalculateTimeFromDisplacement
    0001  MOVE      R2 = R0
    0002  CALL      R1 = call(R1, 1 args, 1 rets)
    0003  GETUPVAL  R2 = CalculateTimeFromDisplacement
    0004  SUB       R3 = K0(1) sub R0
    0005  CALL      R2 = call(R2, 1 args, 1 rets)
    0006  SUB       R1 = R2 sub R1
    0007  RETURN    return R1..R0
    0008  RETURN    return R0..R-1
  ; ---------- proto2 [m_spinSequence] ----------
    ; fn ?  line 320-342 np=0 va=0 ms=11 code=27 consts=10 upvals=4 protos=1
    ;   K[0]='GetModel'
    ;   K[1]='GetActivityDefinition'
    ;   K[2]='RewardWindowPrefabName'
    ;   K[3]='GM'
    ;   K[4]='UIManager'
    ;   K[5]='OpenView'
    ;   K[6]='RewardScene'
    ;   K[7]='m_spineAnimation'
    ;   K[8]='AddAnimation'
    ;   K[9]='Idle'
    ;   upvals: _ENV, self, arrRewards, EAnimationName
    ;   locals: closeCallback(1-27), rewardWindowPrefabName(7-27)
    0000  CLOSURE   R0 = closure proto0
    0001  GETUPVAL  R1 = _ENV
    0002  SELF      R2 = R1[K0('GetModel')] (self)
    0003  CALL      R1 = call(R1, 1 args, 1 rets)
    0004  SELF      R2 = R1[K1('GetActivityDefinition')] (self)
    0005  CALL      R1 = call(R1, 1 args, 1 rets)
    0006  GETTABLE  R1 = R1[K2('RewardWindowPrefabName')]
    0007  GETTABUP  R2 = _ENV[K3('GM')]
    0008  GETTABLE  R2 = R2[K4('UIManager')]
    0009  SELF      R3 = R2[K5('OpenView')] (self)
    0010  MOVE      R4 = R0
    0011  GETUPVAL  R5 = _ENV
    0012  LOADNIL   R6..R6 = nil
    0013  LOADBOOL  R7 = true
    0014  GETUPVAL  R8 = _ENV
    0015  SELF      R9 = R8[K1('GetActivityDefinition')] (self)
    0016  CALL      R8 = call(R8, 1 args, 1 rets)
    0017  GETTABLE  R8 = R8[K6('RewardScene')]
    0018  LOADNIL   R9..R9 = nil
    0019  MOVE      R10 = R0
    0020  CALL      R2 = call(R2, 0 args, 8 rets)
    0021  GETTABUP  R2 = self[K7('m_spineAnimation')]
    0022  SELF      R3 = R2[K8('AddAnimation')] (self)
    0023  GETTABUP  R4 = EAnimationName[K9('Idle')]
    0024  LOADBOOL  R5 = true
    0025  CALL      R2 = call(R2, 0 args, 3 rets)
    0026  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 321-338 np=0 va=0 ms=4 code=20 consts=10 upvals=2 protos=2
      ;   K[0]='GM'
      ;   K[1]='UIManager'
      ;   K[2]='SetEventLock'
      ;   K[3]='DOTween'
      ;   K[4]='Sequence'
      ;   K[5]='AppendInterval'
      ;   K[6]=0.3333333333333333
      ;   K[7]='AppendCallback'
      ;   K[8]='OnKill'
      ;   K[9]='m_rewardSequence'
      ;   upvals: _ENV, self
      ;   locals: sequence(9-20)
      0000  GETTABUP  R0 = _ENV[K0('GM')]
      0001  GETTABLE  R0 = R0[K1('UIManager')]
      0002  SELF      R1 = R0[K2('SetEventLock')] (self)
      0003  LOADBOOL  R2 = true
      0004  GETUPVAL  R3 = _ENV
      0005  CALL      R0 = call(R0, 0 args, 3 rets)
      0006  GETTABUP  R0 = _ENV[K3('DOTween')]
      0007  GETTABLE  R0 = R0[K4('Sequence')]
      0008  CALL      R0 = call(R0, 1 args, 0 rets)
      0009  SELF      R2 = R0[K5('AppendInterval')] (self)
      0010  LOADK     R3 = K6 0.3333333333333333
      0011  CALL      R1 = call(R1, 0 args, 2 rets)
      0012  SELF      R2 = R0[K7('AppendCallback')] (self)
      0013  CLOSURE   R3 = closure proto0
      0014  CALL      R1 = call(R1, 0 args, 2 rets)
      0015  SELF      R2 = R0[K8('OnKill')] (self)
      0016  CLOSURE   R3 = closure proto1
      0017  CALL      R1 = call(R1, 0 args, 2 rets)
      0018  SETTABUP  self[K9('m_rewardSequence')] = R0
      0019  RETURN    return R0..R-1
      ; ---------- proto0 [] ----------
        ; fn ?  line 326-332 np=0 va=0 ms=3 code=15 consts=6 upvals=1 protos=0
        ;   K[0]='m_bInSpinAnimation'
        ;   K[1]=nil
        ;   K[2]='UpdateView'
        ;   K[3]='_SetButtonDanceEnabled'
        ;   K[4]='CloseWhenNotValid'
        ;   K[5]='_TryStartGestureTap'
        ;   upvals: self
        0000  SETTABUP  self[K0('m_bInSpinAnimation')] = K1(nil)
        0001  GETUPVAL  R0 = self
        0002  SELF      R1 = R0[K2('UpdateView')] (self)
        0003  CALL      R0 = call(R0, 0 args, 1 rets)
        0004  GETUPVAL  R0 = self
        0005  SELF      R1 = R0[K3('_SetButtonDanceEnabled')] (self)
        0006  LOADBOOL  R2 = true
        0007  CALL      R0 = call(R0, 0 args, 2 rets)
        0008  GETUPVAL  R0 = self
        0009  SELF      R1 = R0[K4('CloseWhenNotValid')] (self)
        0010  CALL      R0 = call(R0, 0 args, 1 rets)
        0011  GETUPVAL  R0 = self
        0012  SELF      R1 = R0[K5('_TryStartGestureTap')] (self)
        0013  CALL      R0 = call(R0, 0 args, 1 rets)
        0014  RETURN    return R0..R-1
      ; ---------- proto1 [] ----------
        ; fn ?  line 333-336 np=0 va=0 ms=4 code=8 consts=5 upvals=2 protos=0
        ;   K[0]='GM'
        ;   K[1]='UIManager'
        ;   K[2]='SetEventLock'
        ;   K[3]='m_rewardSequence'
        ;   K[4]=nil
        ;   upvals: _ENV, self
        0000  GETTABUP  R0 = _ENV[K0('GM')]
        0001  GETTABLE  R0 = R0[K1('UIManager')]
        0002  SELF      R1 = R0[K2('SetEventLock')] (self)
        0003  LOADBOOL  R2 = false
        0004  GETUPVAL  R3 = _ENV
        0005  CALL      R0 = call(R0, 0 args, 3 rets)
        0006  SETTABUP  self[K3('m_rewardSequence')] = K4(nil)
        0007  RETURN    return R0..R-1
  ; ---------- proto3 [m_spinSequence] ----------
    ; fn ?  line 345-348 np=0 va=0 ms=4 code=8 consts=5 upvals=2 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='SetEventLock'
    ;   K[3]='m_spinSequence'
    ;   K[4]=nil
    ;   upvals: _ENV, self
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('UIManager')]
    0002  SELF      R1 = R0[K2('SetEventLock')] (self)
    0003  LOADBOOL  R2 = false
    0004  GETUPVAL  R3 = _ENV
    0005  CALL      R0 = call(R0, 0 args, 3 rets)
    0006  SETTABUP  self[K3('m_spinSequence')] = K4(nil)
    0007  RETURN    return R0..R-1
; ---------- proto20 [_CircleHighlightRewardContent] ----------
  ; fn ?  line 354-371 np=6 va=0 ms=15 code=29 consts=4 upvals=1 protos=1
  ;   K[0]=1
  ;   K[1]='IsFunction'
  ;   K[2]='AppendInterval'
  ;   K[3]='AppendCallback'
  ;   upvals: _ENV
  ;   locals: self(0-29), sequence(0-29), from(0-29), to(0-29), currentWeightInfo(0-29), getInterval(0-29), interval(1-29), (for index)(4-28), (for limit)(4-28), (for step)(4-28), animationIndex(5-27), actualAnimationIndex(9-27)
  0000  LOADNIL   R6..R6 = nil
  0001  ADD       R7 = K0(1) add R2
  0002  MOVE      R8 = R0
  0003  LOADK     R9 = K0 1
  0004  FORPREP   forprep R7(sBx=22)   -> 27
  0005  SUB       R11 = K0(1) sub R10
  0006  LEN       R12 = len R0
  0007  MOD       R11 = R12 mod R11
  0008  ADD       R11 = K0(1) add R11
  0009  GETTABUP  R12 = _ENV[K1('IsFunction')]
  0010  MOVE      R13 = R0
  0011  CALL      R12 = call(R12, 1 args, 1 rets)
  0012  TEST      if not R12 then   -> -131058
  0013  JMP       (jump)   -> 19
  0014  MOVE      R12 = R0
  0015  SUB       R13 = R2 sub R10
  0016  CALL      R12 = call(R12, 1 args, 1 rets)
  0017  MOVE      R6 = R0
  0018  JMP       (jump)   -> 20
  0019  MOVE      R6 = R0
  0020  SELF      R13 = R1[K2('AppendInterval')] (self)
  0021  MOVE      R14 = R0
  0022  CALL      R12 = call(R12, 0 args, 2 rets)
  0023  SELF      R13 = R1[K3('AppendCallback')] (self)
  0024  CLOSURE   R14 = closure proto0
  0025  CALL      R12 = call(R12, 0 args, 2 rets)
  0026  JMP       (jump)   -> 27
  0027  FORLOOP   forloop R7(sBx=-23)   -> 5
  0028  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 366-369 np=0 va=0 ms=3 code=13 consts=7 upvals=4 protos=0
    ;   K[0]='_HighlightRewardContent'
    ;   K[1]='Index'
    ;   K[2]='GM'
    ;   K[3]='AudioModel'
    ;   K[4]='PlayEffect'
    ;   K[5]='AudioFileConfigName'
    ;   K[6]='sfxSpinWhirl'
    ;   upvals: self, currentWeightInfo, actualAnimationIndex, _ENV
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_HighlightRewardContent')] (self)
    0002  GETUPVAL  R2 = self
    0003  GETTABUP  R2 = currentWeightInfo[R2]
    0004  GETTABLE  R2 = R2[K1('Index')]
    0005  CALL      R0 = call(R0, 0 args, 2 rets)
    0006  GETTABUP  R0 = _ENV[K2('GM')]
    0007  GETTABLE  R0 = R0[K3('AudioModel')]
    0008  SELF      R1 = R0[K4('PlayEffect')] (self)
    0009  GETTABUP  R2 = _ENV[K5('AudioFileConfigName')]
    0010  GETTABLE  R2 = R2[K6('sfxSpinWhirl')]
    0011  CALL      R0 = call(R0, 0 args, 2 rets)
    0012  RETURN    return R0..R-1
; ---------- proto21 [_HighlightRewardContent] ----------
  ; fn ?  line 373-381 np=2 va=0 ms=5 code=19 consts=4 upvals=0 protos=0
  ;   K[0]='m_highlightIndex'
  ;   K[1]=nil
  ;   K[2]='GetRewardContent'
  ;   K[3]='SetHighlight'
  ;   locals: self(0-19), index(0-19)
  0000  GETTABLE  R2 = R0[K0('m_highlightIndex')]
  0001  EQ        if R1 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 9
  0003  SELF      R3 = R0[K2('GetRewardContent')] (self)
  0004  GETTABLE  R4 = R0[K0('m_highlightIndex')]
  0005  CALL      R2 = call(R2, 1 args, 2 rets)
  0006  SELF      R3 = R2[K3('SetHighlight')] (self)
  0007  LOADBOOL  R4 = false
  0008  CALL      R2 = call(R2, 0 args, 2 rets)
  0009  EQ        if R1 eq K1(nil)   -> -130292
  0010  JMP       (jump)   -> 17
  0011  SELF      R3 = R0[K2('GetRewardContent')] (self)
  0012  MOVE      R4 = R0
  0013  CALL      R2 = call(R2, 1 args, 2 rets)
  0014  SELF      R3 = R2[K3('SetHighlight')] (self)
  0015  LOADBOOL  R4 = true
  0016  CALL      R2 = call(R2, 0 args, 2 rets)
  0017  SETTABLE  R0[K0('m_highlightIndex')] = R1
  0018  RETURN    return R0..R-1
; ---------- proto22 [_SetButtonDanceEnabled] ----------
  ; fn ?  line 387-391 np=2 va=0 ms=5 code=12 consts=7 upvals=1 protos=0
  ;   K[0]='m_buttonDanceSimpleButton'
  ;   K[1]='SetUIEnabled'
  ;   K[2]='m_buttonDanceButton'
  ;   K[3]='interactable'
  ;   K[4]='UIUtil'
  ;   K[5]='SetActive'
  ;   K[6]='m_buttonDanceLoopLightGo'
  ;   upvals: _ENV
  ;   locals: self(0-12), bEnabled(0-12)
  0000  GETTABLE  R2 = R0[K0('m_buttonDanceSimpleButton')]
  0001  SELF      R3 = R2[K1('SetUIEnabled')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  GETTABLE  R2 = R0[K2('m_buttonDanceButton')]
  0005  SETTABLE  R2[K3('interactable')] = R1
  0006  GETTABUP  R2 = _ENV[K4('UIUtil')]
  0007  GETTABLE  R2 = R2[K5('SetActive')]
  0008  GETTABLE  R3 = R0[K6('m_buttonDanceLoopLightGo')]
  0009  MOVE      R4 = R0
  0010  CALL      R2 = call(R2, 0 args, 2 rets)
  0011  RETURN    return R0..R-1
; ---------- proto23 [_TryStartGestureTap] ----------
  ; fn ?  line 397-424 np=1 va=0 ms=5 code=34 consts=13 upvals=1 protos=2
  ;   K[0]='m_gestureTapSequence'
  ;   K[1]=nil
  ;   K[2]='CanSpin'
  ;   K[3]='m_bInSpinAnimation'
  ;   K[4]='GM'
  ;   K[5]='UIManager'
  ;   K[6]='GetOpenedTopView'
  ;   K[7]='DOTween'
  ;   K[8]='Sequence'
  ;   K[9]='AppendInterval'
  ;   K[10]=1
  ;   K[11]='AppendCallback'
  ;   K[12]='OnKill'
  ;   upvals: _ENV
  ;   locals: self(0-34), sequence(23-34)
  0000  GETTABLE  R1 = R0[K0('m_gestureTapSequence')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SELF      R2 = R0[K2('CanSpin')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  RETURN    return R0..R-1
  0009  GETTABLE  R1 = R0[K3('m_bInSpinAnimation')]
  0010  TEST      if not R1 then   -> -131060
  0011  JMP       (jump)   -> 13
  0012  RETURN    return R0..R-1
  0013  GETTABUP  R1 = _ENV[K4('GM')]
  0014  GETTABLE  R1 = R1[K5('UIManager')]
  0015  SELF      R2 = R1[K6('GetOpenedTopView')] (self)
  0016  CALL      R1 = call(R1, 1 args, 1 rets)
  0017  EQ        if R1 eq R0   -> -130541
  0018  JMP       (jump)   -> 20
  0019  RETURN    return R0..R-1
  0020  GETTABUP  R1 = _ENV[K7('DOTween')]
  0021  GETTABLE  R1 = R1[K8('Sequence')]
  0022  CALL      R1 = call(R1, 1 args, 0 rets)
  0023  SELF      R3 = R1[K9('AppendInterval')] (self)
  0024  LOADK     R4 = K10 1
  0025  CALL      R2 = call(R2, 0 args, 2 rets)
  0026  SELF      R3 = R1[K11('AppendCallback')] (self)
  0027  CLOSURE   R4 = closure proto0
  0028  CALL      R2 = call(R2, 0 args, 2 rets)
  0029  SELF      R3 = R1[K12('OnKill')] (self)
  0030  CLOSURE   R4 = closure proto1
  0031  CALL      R2 = call(R2, 0 args, 2 rets)
  0032  SETTABLE  R0[K0('m_gestureTapSequence')] = R1
  0033  RETURN    return R0..R-1
  ; ---------- proto0 [m_gestureTapSequence] ----------
    ; fn ?  line 417-419 np=0 va=0 ms=3 code=6 consts=3 upvals=2 protos=0
    ;   K[0]='UIUtil'
    ;   K[1]='SetActive'
    ;   K[2]='m_gestureTapGo'
    ;   upvals: _ENV, self
    0000  GETTABUP  R0 = _ENV[K0('UIUtil')]
    0001  GETTABLE  R0 = R0[K1('SetActive')]
    0002  GETTABUP  R1 = self[K2('m_gestureTapGo')]
    0003  LOADBOOL  R2 = true
    0004  CALL      R0 = call(R0, 0 args, 2 rets)
    0005  RETURN    return R0..R-1
  ; ---------- proto1 [m_gestureTapSequence] ----------
    ; fn ?  line 420-422 np=0 va=0 ms=2 code=2 consts=2 upvals=1 protos=0
    ;   K[0]='m_gestureTapSequence'
    ;   K[1]=nil
    ;   upvals: self
    0000  SETTABUP  self[K0('m_gestureTapSequence')] = K1(nil)
    0001  RETURN    return R0..R-1
; ---------- proto24 [Update] ----------
  ; fn ?  line 426-440 np=1 va=0 ms=7 code=31 consts=10 upvals=1 protos=0
  ;   K[0]='Input'
  ;   K[1]='GetMouseButtonDown'
  ;   K[2]=0
  ;   K[3]='_StopGestureTap'
  ;   K[4]='touchCount'
  ;   K[5]=1
  ;   K[6]='GetTouch'
  ;   K[7]='phase'
  ;   K[8]='TouchPhase'
  ;   K[9]='Began'
  ;   upvals: _ENV
  ;   locals: self(0-31), (for index)(17-30), (for limit)(17-30), (for step)(17-30), i(18-29)
  0000  GETTABUP  R1 = _ENV[K0('Input')]
  0001  GETTABLE  R1 = R1[K1('GetMouseButtonDown')]
  0002  LOADK     R2 = K2 0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 8
  0006  SELF      R2 = R0[K3('_StopGestureTap')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  GETTABUP  R1 = _ENV[K0('Input')]
  0009  GETTABLE  R1 = R1[K4('touchCount')]
  0010  LT        if R0 lt R1   -> 1037
  0011  JMP       (jump)   -> 30
  0012  LOADK     R1 = K2 0
  0013  GETTABUP  R2 = _ENV[K0('Input')]
  0014  GETTABLE  R2 = R2[K4('touchCount')]
  0015  SUB       R2 = K5(1) sub R2
  0016  LOADK     R3 = K5 1
  0017  FORPREP   forprep R1(sBx=11)   -> 29
  0018  GETTABUP  R5 = _ENV[K0('Input')]
  0019  GETTABLE  R5 = R5[K6('GetTouch')]
  0020  MOVE      R6 = R0
  0021  CALL      R5 = call(R5, 1 args, 1 rets)
  0022  GETTABLE  R5 = R5[K7('phase')]
  0023  GETTABUP  R6 = _ENV[K8('TouchPhase')]
  0024  GETTABLE  R6 = R6[K9('Began')]
  0025  EQ        if R0 eq R6   -> -128479
  0026  JMP       (jump)   -> 29
  0027  SELF      R6 = R0[K3('_StopGestureTap')] (self)
  0028  CALL      R5 = call(R5, 0 args, 1 rets)
  0029  FORLOOP   forloop R1(sBx=-12)   -> 18
  0030  RETURN    return R0..R-1
; ---------- proto25 [_StopGestureTap] ----------
  ; fn ?  line 442-447 np=1 va=0 ms=4 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='_TryKillGestureTapSequence'
  ;   K[1]='UIUtil'
  ;   K[2]='SetActive'
  ;   K[3]='m_gestureTapGo'
  ;   K[4]='_TryStartGestureTap'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_TryKillGestureTapSequence')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  GETTABUP  R1 = _ENV[K1('UIUtil')]
  0003  GETTABLE  R1 = R1[K2('SetActive')]
  0004  GETTABLE  R2 = R0[K3('m_gestureTapGo')]
  0005  LOADBOOL  R3 = false
  0006  CALL      R1 = call(R1, 0 args, 2 rets)
  0007  SELF      R2 = R0[K4('_TryStartGestureTap')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  RETURN    return R0..R-1
