# CrashRace_View_CrashRaceBaseWindow_1083.luac
; fn @CrashRaceBaseWindow.lua  line 0-0 np=0 va=1 ms=3 code=55 consts=24 upvals=1 protos=11
;   K[0]='CrashRaceBaseWindow'
;   K[1]='setmetatable'
;   K[2]='m_bCloseWhenFinish'
;   K[3]=true
;   K[4]='m_bCloseWhenFail'
;   K[5]=false
;   K[6]='BaseWindow'
;   K[7]='__index'
;   K[8]='BeforeOpenCheck'
;   K[9]='Init'
;   K[10]='_BeforeAddListeners'
;   K[11]='OnDestroy'
;   K[12]='GetModel'
;   K[13]='_OnStateChanged'
;   K[14]='_OnFail'
;   K[15]='CloseWhenNotValid'
;   K[16]='IsActivityValid'
;   K[17]='IsActivityValidConsideringDeadline'
;   K[18]='_IsModelIdChanged'
;   K[19]='CrashRaceHelpWindow'
;   K[20]='windowMaskAlpha'
;   K[21]='EWindowMaskAlpha'
;   K[22]='Dark'
;   K[23]='BaseWindow'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  SETTABLE  R1[K2('m_bCloseWhenFinish')] = K3(true)
0003  SETTABLE  R1[K4('m_bCloseWhenFail')] = K5(false)
0004  GETTABUP  R2 = _ENV[K6('BaseWindow')]
0005  CALL      R0 = call(R0, 1 args, 2 rets)
0006  SETTABUP  _ENV[K0('CrashRaceBaseWindow')] = R0
0007  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0008  GETTABUP  R1 = _ENV[K0('CrashRaceBaseWindow')]
0009  SETTABLE  R0[K7('__index')] = R1
0010  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0011  CLOSURE   R1 = closure proto0
0012  SETTABLE  R0[K8('BeforeOpenCheck')] = R1
0013  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0014  CLOSURE   R1 = closure proto1
0015  SETTABLE  R0[K9('Init')] = R1
0016  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0017  CLOSURE   R1 = closure proto2
0018  SETTABLE  R0[K10('_BeforeAddListeners')] = R1
0019  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0020  CLOSURE   R1 = closure proto3
0021  SETTABLE  R0[K11('OnDestroy')] = R1
0022  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0023  CLOSURE   R1 = closure proto4
0024  SETTABLE  R0[K12('GetModel')] = R1
0025  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0026  CLOSURE   R1 = closure proto5
0027  SETTABLE  R0[K13('_OnStateChanged')] = R1
0028  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0029  CLOSURE   R1 = closure proto6
0030  SETTABLE  R0[K14('_OnFail')] = R1
0031  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0032  CLOSURE   R1 = closure proto7
0033  SETTABLE  R0[K15('CloseWhenNotValid')] = R1
0034  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0035  CLOSURE   R1 = closure proto8
0036  SETTABLE  R0[K16('IsActivityValid')] = R1
0037  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0038  CLOSURE   R1 = closure proto9
0039  SETTABLE  R0[K17('IsActivityValidConsideringDeadline')] = R1
0040  GETTABUP  R0 = _ENV[K0('CrashRaceBaseWindow')]
0041  CLOSURE   R1 = closure proto10
0042  SETTABLE  R0[K18('_IsModelIdChanged')] = R1
0043  GETTABUP  R0 = _ENV[K1('setmetatable')]
0044  NEWTABLE  R1 = {} (0 items)
0045  GETTABUP  R2 = _ENV[K21('EWindowMaskAlpha')]
0046  GETTABLE  R2 = R2[K22('Dark')]
0047  SETTABLE  R1[K20('windowMaskAlpha')] = R2
0048  GETTABUP  R2 = _ENV[K23('BaseWindow')]
0049  CALL      R0 = call(R0, 1 args, 2 rets)
0050  SETTABUP  _ENV[K19('CrashRaceHelpWindow')] = R0
0051  GETTABUP  R0 = _ENV[K19('CrashRaceHelpWindow')]
0052  GETTABUP  R1 = _ENV[K19('CrashRaceHelpWindow')]
0053  SETTABLE  R0[K7('__index')] = R1
0054  RETURN    return R0..R-1
; ---------- proto0 [BeforeOpenCheck] ----------
  ; fn ?  line 16-21 np=2 va=0 ms=5 code=24 consts=9 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ActivityManager'
  ;   K[2]='GetModel'
  ;   K[3]='GetState'
  ;   K[4]=nil
  ;   K[5]='m_bCloseWhenFinish'
  ;   K[6]='ActivityState'
  ;   K[7]='Started'
  ;   K[8]='Ended'
  ;   upvals: _ENV
  ;   locals: self(0-24), activityType(0-24), model(5-24), state(7-24)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('ActivityManager')]
  0002  SELF      R3 = R2[K2('GetModel')] (self)
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 1 args, 2 rets)
  0005  SELF      R4 = R2[K3('GetState')] (self)
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  EQ        if R1 eq K4(nil)   -> -129779
  0008  JMP       (jump)   -> 20
  0009  GETTABLE  R4 = R0[K5('m_bCloseWhenFinish')]
  0010  TEST      if not R4 then   -> -131060
  0011  JMP       (jump)   -> 21
  0012  GETTABUP  R4 = _ENV[K6('ActivityState')]
  0013  GETTABLE  R4 = R4[K7('Started')]
  0014  EQ        if R1 eq R4   -> -129516
  0015  JMP       (jump)   -> 21
  0016  GETTABUP  R4 = _ENV[K6('ActivityState')]
  0017  GETTABLE  R4 = R4[K8('Ended')]
  0018  EQ        if R1 eq R4   -> -129512
  0019  JMP       (jump)   -> 21
  0020  LOADBOOL  R4 = false
  0021  LOADBOOL  R4 = true
  0022  RETURN    return R4..R3
  0023  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 25-43 np=3 va=0 ms=8 code=56 consts=26 upvals=1 protos=0
  ;   K[0]='m_activityType'
  ;   K[1]='m_model'
  ;   K[2]='GM'
  ;   K[3]='ActivityManager'
  ;   K[4]='GetModel'
  ;   K[5]='m_activityDefinition'
  ;   K[6]='GetActivityDefinition'
  ;   K[7]='SetWindowOpened'
  ;   K[8]='m_id'
  ;   K[9]='GetId'
  ;   K[10]='_BeforeAddListeners'
  ;   K[11]='m_bCloseWhenFinish'
  ;   K[12]='EventDispatcher'
  ;   K[13]='AddListener'
  ;   K[14]='StateChangedEvent'
  ;   K[15]='_OnStateChanged'
  ;   K[16]='m_bCloseWhenFail'
  ;   K[17]='FailEvent'
  ;   K[18]='_OnFail'
  ;   K[19]='LogWindowAction'
  ;   K[20]='EBIType'
  ;   K[21]='UIActionType'
  ;   K[22]='Open'
  ;   K[23]='EBIReferType'
  ;   K[24]='AutoPopup'
  ;   K[25]='UserClick'
  ;   upvals: _ENV
  ;   locals: self(0-56), activityType(0-56), bAutoOpen(0-56)
  0000  SETTABLE  R0[K0('m_activityType')] = R1
  0001  GETTABUP  R3 = _ENV[K2('GM')]
  0002  GETTABLE  R3 = R3[K3('ActivityManager')]
  0003  SELF      R4 = R3[K4('GetModel')] (self)
  0004  MOVE      R5 = R0
  0005  CALL      R3 = call(R3, 1 args, 2 rets)
  0006  SETTABLE  R0[K1('m_model')] = R3
  0007  GETTABLE  R3 = R0[K1('m_model')]
  0008  SELF      R4 = R3[K6('GetActivityDefinition')] (self)
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  SETTABLE  R0[K5('m_activityDefinition')] = R3
  0011  GETTABLE  R3 = R0[K1('m_model')]
  0012  SELF      R4 = R3[K7('SetWindowOpened')] (self)
  0013  CALL      R3 = call(R3, 0 args, 1 rets)
  0014  GETTABLE  R3 = R0[K1('m_model')]
  0015  SELF      R4 = R3[K9('GetId')] (self)
  0016  CALL      R3 = call(R3, 1 args, 1 rets)
  0017  SETTABLE  R0[K8('m_id')] = R3
  0018  SELF      R4 = R0[K10('_BeforeAddListeners')] (self)
  0019  CALL      R3 = call(R3, 0 args, 1 rets)
  0020  GETTABLE  R3 = R0[K11('m_bCloseWhenFinish')]
  0021  TEST      if not R3 then   -> -131049
  0022  JMP       (jump)   -> 30
  0023  GETTABUP  R3 = _ENV[K12('EventDispatcher')]
  0024  GETTABLE  R3 = R3[K13('AddListener')]
  0025  GETTABLE  R4 = R0[K5('m_activityDefinition')]
  0026  GETTABLE  R4 = R4[K14('StateChangedEvent')]
  0027  MOVE      R5 = R0
  0028  GETTABLE  R6 = R0[K15('_OnStateChanged')]
  0029  CALL      R3 = call(R3, 0 args, 3 rets)
  0030  GETTABLE  R3 = R0[K16('m_bCloseWhenFail')]
  0031  TEST      if not R3 then   -> -131039
  0032  JMP       (jump)   -> 40
  0033  GETTABUP  R3 = _ENV[K12('EventDispatcher')]
  0034  GETTABLE  R3 = R3[K13('AddListener')]
  0035  GETTABLE  R4 = R0[K5('m_activityDefinition')]
  0036  GETTABLE  R4 = R4[K17('FailEvent')]
  0037  MOVE      R5 = R0
  0038  GETTABLE  R6 = R0[K18('_OnFail')]
  0039  CALL      R3 = call(R3, 0 args, 3 rets)
  0040  SELF      R4 = R0[K19('LogWindowAction')] (self)
  0041  GETTABUP  R5 = _ENV[K20('EBIType')]
  0042  GETTABLE  R5 = R5[K21('UIActionType')]
  0043  GETTABLE  R5 = R5[K22('Open')]
  0044  NEWTABLE  R6 = {} (1 items)
  0045  TEST      if not R2 then   -> -131025
  0046  JMP       (jump)   -> 51
  0047  GETTABUP  R7 = _ENV[K23('EBIReferType')]
  0048  GETTABLE  R7 = R7[K24('AutoPopup')]
  0049  TEST      if not R7 then   -> -131020
  0050  JMP       (jump)   -> 53
  0051  GETTABUP  R7 = _ENV[K23('EBIReferType')]
  0052  GETTABLE  R7 = R7[K25('UserClick')]
  0053  SETLIST   setlist R6[B=1,C=1]
  0054  CALL      R3 = call(R3, 0 args, 3 rets)
  0055  RETURN    return R0..R-1
; ---------- proto2 [_BeforeAddListeners] ----------
  ; fn ?  line 45-46 np=1 va=0 ms=2 code=1 consts=0 upvals=0 protos=0
  ;   locals: self(0-1)
  0000  RETURN    return R0..R-1
; ---------- proto3 [OnDestroy] ----------
  ; fn ?  line 48-57 np=1 va=0 ms=4 code=20 consts=8 upvals=1 protos=0
  ;   K[0]='BaseWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='m_model'
  ;   K[3]=nil
  ;   K[4]='RemoveAllHandlers'
  ;   K[5]='event'
  ;   K[6]='audioSeq'
  ;   K[7]='Kill'
  ;   upvals: _ENV
  ;   locals: self(0-20)
  0000  GETTABUP  R1 = _ENV[K0('BaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_model')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 12
  0007  GETTABUP  R1 = _ENV[K4('RemoveAllHandlers')]
  0008  GETTABLE  R2 = R0[K2('m_model')]
  0009  GETTABLE  R2 = R2[K5('event')]
  0010  MOVE      R3 = R0
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  GETTABLE  R1 = R0[K6('audioSeq')]
  0013  EQ        if R1 eq K3(nil)   -> -130286
  0014  JMP       (jump)   -> 19
  0015  GETTABLE  R1 = R0[K6('audioSeq')]
  0016  SELF      R2 = R1[K7('Kill')] (self)
  0017  CALL      R1 = call(R1, 0 args, 1 rets)
  0018  SETTABLE  R0[K6('audioSeq')] = K3(nil)
  0019  RETURN    return R0..R-1
; ---------- proto4 [GetModel] ----------
  ; fn ?  line 59-61 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_model'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto5 [_OnStateChanged] ----------
  ; fn ?  line 63-66 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='CloseWhenNotValid'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('CloseWhenNotValid')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto6 [_OnFail] ----------
  ; fn ?  line 68-73 np=1 va=0 ms=3 code=13 consts=4 upvals=0 protos=0
  ;   K[0]='IsActivityValid'
  ;   K[1]='GetModel'
  ;   K[2]='NeedPopFailWindow'
  ;   K[3]='Close'
  ;   locals: self(0-13)
  0000  SELF      R2 = R0[K0('IsActivityValid')] (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('GetModel')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  SELF      R2 = R1[K2('NeedPopFailWindow')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  TEST      if not R1 then   -> -131062
  0009  JMP       (jump)   -> 12
  0010  SELF      R2 = R0[K3('Close')] (self)
  0011  CALL      R1 = call(R1, 0 args, 1 rets)
  0012  RETURN    return R0..R-1
; ---------- proto7 [CloseWhenNotValid] ----------
  ; fn ?  line 75-79 np=1 va=0 ms=3 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='IsActivityValid'
  ;   K[1]='Close'
  ;   locals: self(0-7)
  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)   -> 6
  0004  SELF      R2 = R0[K1('Close')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto8 [IsActivityValid] ----------
  ; fn ?  line 81-83 np=1 va=0 ms=3 code=16 consts=5 upvals=1 protos=0
  ;   K[0]='GetModel'
  ;   K[1]='GetState'
  ;   K[2]='ActivityState'
  ;   K[3]='Started'
  ;   K[4]='_IsModelIdChanged'
  ;   upvals: _ENV
  ;   locals: self(0-16)
  0000  SELF      R2 = R0[K0('GetModel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R2 = R1[K1('GetState')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K2('ActivityState')]
  0005  GETTABLE  R2 = R2[K3('Started')]
  0006  EQ        if R0 eq R2   -> -130550
  0007  JMP       (jump)   -> 12
  0008  SELF      R2 = R0[K4('_IsModelIdChanged')] (self)
  0009  CALL      R1 = call(R1, 1 args, 1 rets)
  0010  NOT       R1 = not R0
  0011  JMP       (jump)   -> 14
  0012  LOADBOOL  R1 = false
  0013  LOADBOOL  R1 = true
  0014  RETURN    return R1..R0
  0015  RETURN    return R0..R-1
; ---------- proto9 [IsActivityValidConsideringDeadline] ----------
  ; fn ?  line 85-87 np=1 va=0 ms=3 code=11 consts=3 upvals=0 protos=0
  ;   K[0]='GetModel'
  ;   K[1]='IsActivityOpen'
  ;   K[2]='_IsModelIdChanged'
  ;   locals: self(0-11)
  0000  SELF      R2 = R0[K0('GetModel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R2 = R1[K1('IsActivityOpen')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 9
  0006  SELF      R2 = R0[K2('_IsModelIdChanged')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  NOT       R1 = not R0
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto10 [_IsModelIdChanged] ----------
  ; fn ?  line 89-91 np=1 va=0 ms=4 code=11 consts=3 upvals=0 protos=0
  ;   K[0]='m_id'
  ;   K[1]='GetModel'
  ;   K[2]='GetId'
  ;   locals: self(0-11)
  0000  GETTABLE  R1 = R0[K0('m_id')]
  0001  SELF      R3 = R0[K1('GetModel')] (self)
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  SELF      R3 = R2[K2('GetId')] (self)
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  EQ        if R0 eq R2   -> -130551
  0006  JMP       (jump)   -> 8
  0007  LOADBOOL  R1 = false
  0008  LOADBOOL  R1 = true
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
