# UI_Window_Setting_AvatarBadgeWindow_552.luac
; fn @AvatarBadgeWindow.lua  line 0-0 np=0 va=1 ms=5 code=49 consts=25 upvals=1 protos=10
;   K[0]='AvatarBadgeWindow'
;   K[1]='setmetatable'
;   K[2]='canClickWindowMask'
;   K[3]=true
;   K[4]='BaseWindow'
;   K[5]='__index'
;   K[6]='Avatar'
;   K[7]=1
;   K[8]='Badge'
;   K[9]=2
;   K[10]='Frame'
;   K[11]=3
;   K[12]='avatar'
;   K[13]='badge'
;   K[14]='frame'
;   K[15]='Init'
;   K[16]='OnDestroy'
;   K[17]='_UpdateProfile'
;   K[18]='_SwitchTabs'
;   K[19]='_ShowAllAvatar'
;   K[20]='_ShowAllBadge'
;   K[21]='_ShowAllFrame'
;   K[22]='_Sort'
;   K[23]='_OnAvatarSwitched'
;   K[24]='OnConfirmed'
;   upvals: _ENV
;   locals: ETabKey(13-49), ETabName(18-49)
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  SETTABLE  R1[K2('canClickWindowMask')] = K3(true)
0003  GETTABUP  R2 = _ENV[K4('BaseWindow')]
0004  CALL      R0 = call(R0, 1 args, 2 rets)
0005  SETTABUP  _ENV[K0('AvatarBadgeWindow')] = R0
0006  GETTABUP  R0 = _ENV[K0('AvatarBadgeWindow')]
0007  GETTABUP  R1 = _ENV[K0('AvatarBadgeWindow')]
0008  SETTABLE  R0[K5('__index')] = R1
0009  NEWTABLE  R0 = {} (0 items)
0010  SETTABLE  R0[K6('Avatar')] = K7(1)
0011  SETTABLE  R0[K8('Badge')] = K9(2)
0012  SETTABLE  R0[K10('Frame')] = K11(3)
0013  NEWTABLE  R1 = {} (3 items)
0014  LOADK     R2 = K12 'avatar'
0015  LOADK     R3 = K13 'badge'
0016  LOADK     R4 = K14 'frame'
0017  SETLIST   setlist R1[B=1,C=3]
0018  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0019  CLOSURE   R3 = closure proto0
0020  SETTABLE  R2[K15('Init')] = R3
0021  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0022  CLOSURE   R3 = closure proto1
0023  SETTABLE  R2[K16('OnDestroy')] = R3
0024  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0025  CLOSURE   R3 = closure proto2
0026  SETTABLE  R2[K17('_UpdateProfile')] = R3
0027  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0028  CLOSURE   R3 = closure proto3
0029  SETTABLE  R2[K18('_SwitchTabs')] = R3
0030  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0031  CLOSURE   R3 = closure proto4
0032  SETTABLE  R2[K19('_ShowAllAvatar')] = R3
0033  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0034  CLOSURE   R3 = closure proto5
0035  SETTABLE  R2[K20('_ShowAllBadge')] = R3
0036  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0037  CLOSURE   R3 = closure proto6
0038  SETTABLE  R2[K21('_ShowAllFrame')] = R3
0039  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0040  CLOSURE   R3 = closure proto7
0041  SETTABLE  R2[K22('_Sort')] = R3
0042  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0043  CLOSURE   R3 = closure proto8
0044  SETTABLE  R2[K23('_OnAvatarSwitched')] = R3
0045  GETTABUP  R2 = _ENV[K0('AvatarBadgeWindow')]
0046  CLOSURE   R3 = closure proto9
0047  SETTABLE  R2[K24('OnConfirmed')] = R3
0048  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 19-40 np=1 va=0 ms=6 code=29 consts=19 upvals=2 protos=1
  ;   K[0]='m_selectTab'
  ;   K[1]='Avatar'
  ;   K[2]='m_avatarInited'
  ;   K[3]=false
  ;   K[4]='m_badgeInited'
  ;   K[5]='m_tabView'
  ;   K[6]='Init'
  ;   K[7]='tostring'
  ;   K[8]='m_selectTab'
  ;   K[9]='_SwitchTabs'
  ;   K[10]='m_profileView'
  ;   K[11]='SetUpdateBadgeOnly'
  ;   K[12]='m_confirmBtn'
  ;   K[13]='SetEnabled'
  ;   K[14]='EventDispatcher'
  ;   K[15]='AddListener'
  ;   K[16]='EEventType'
  ;   K[17]='UpdateProfile'
  ;   K[18]='_UpdateProfile'
  ;   upvals: ETabKey, _ENV
  ;   locals: self(0-29)
  0000  GETTABUP  R1 = ETabKey[K1('Avatar')]
  0001  SETTABLE  R0[K0('m_selectTab')] = R1
  0002  SETTABLE  R0[K2('m_avatarInited')] = K3(false)
  0003  SETTABLE  R0[K4('m_badgeInited')] = K3(false)
  0004  GETTABLE  R1 = R0[K5('m_tabView')]
  0005  SELF      R2 = R1[K6('Init')] (self)
  0006  CLOSURE   R3 = closure proto0
  0007  GETTABUP  R4 = _ENV[K7('tostring')]
  0008  GETTABLE  R5 = R0[K8('m_selectTab')]
  0009  CALL      R4 = call(R4, -1 args, 1 rets)
  0010  CALL      R1 = call(R1, 0 args, -1 rets)
  0011  SELF      R2 = R0[K9('_SwitchTabs')] (self)
  0012  GETTABLE  R3 = R0[K8('m_selectTab')]
  0013  CALL      R1 = call(R1, 0 args, 2 rets)
  0014  GETTABLE  R1 = R0[K10('m_profileView')]
  0015  SELF      R2 = R1[K11('SetUpdateBadgeOnly')] (self)
  0016  CALL      R1 = call(R1, 0 args, 1 rets)
  0017  GETTABLE  R1 = R0[K12('m_confirmBtn')]
  0018  SELF      R2 = R1[K13('SetEnabled')] (self)
  0019  LOADBOOL  R3 = false
  0020  CALL      R1 = call(R1, 0 args, 2 rets)
  0021  GETTABUP  R1 = _ENV[K14('EventDispatcher')]
  0022  GETTABLE  R1 = R1[K15('AddListener')]
  0023  GETTABUP  R2 = _ENV[K16('EEventType')]
  0024  GETTABLE  R2 = R2[K17('UpdateProfile')]
  0025  MOVE      R3 = R0
  0026  GETTABLE  R4 = R0[K18('_UpdateProfile')]
  0027  CALL      R1 = call(R1, 0 args, 3 rets)
  0028  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 23-33 np=1 va=0 ms=4 code=18 consts=3 upvals=2 protos=0
    ;   K[0]='tonumber'
    ;   K[1]='m_selectTab'
    ;   K[2]='_SwitchTabs'
    ;   upvals: _ENV, self
    ;   locals: tabKey(0-18)
    0000  TEST      if not R0 then   -> -131069
    0001  JMP       (jump)   -> 3
    0002  RETURN    return R0..R-1
    0003  GETTABUP  R1 = _ENV[K0('tonumber')]
    0004  MOVE      R2 = R0
    0005  CALL      R1 = call(R1, 1 args, 1 rets)
    0006  MOVE      R0 = R0
    0007  GETTABUP  R1 = self[K1('m_selectTab')]
    0008  EQ        if R1 eq R1   -> -131061
    0009  JMP       (jump)   -> 17
    0010  SETTABUP  self[K1('m_selectTab')] = R0
    0011  GETUPVAL  R1 = _ENV
    0012  SELF      R2 = R1[K2('_SwitchTabs')] (self)
    0013  GETTABUP  R3 = self[K1('m_selectTab')]
    0014  CALL      R1 = call(R1, 0 args, 2 rets)
    0015  LOADBOOL  R1 = true
    0016  RETURN    return R1..R0
    0017  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 42-44 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
; ---------- proto2 [_UpdateProfile] ----------
  ; fn ?  line 46-48 np=1 va=0 ms=8 code=21 consts=10 upvals=1 protos=0
  ;   K[0]='m_userAvatar'
  ;   K[1]='SetAvatar'
  ;   K[2]='EAvatarFrame'
  ;   K[3]='Normal'
  ;   K[4]='m_selectedIcon'
  ;   K[5]='GM'
  ;   K[6]='UserProfileModel'
  ;   K[7]='GetAvatar'
  ;   K[8]='GetBadge'
  ;   K[9]='GetFrame'
  ;   upvals: _ENV
  ;   locals: self(0-21)
  0000  GETTABLE  R1 = R0[K0('m_userAvatar')]
  0001  SELF      R2 = R1[K1('SetAvatar')] (self)
  0002  GETTABUP  R3 = _ENV[K2('EAvatarFrame')]
  0003  GETTABLE  R3 = R3[K3('Normal')]
  0004  GETTABLE  R4 = R0[K4('m_selectedIcon')]
  0005  TEST      if not R4 then   -> -131064
  0006  JMP       (jump)   -> 11
  0007  GETTABUP  R4 = _ENV[K5('GM')]
  0008  GETTABLE  R4 = R4[K6('UserProfileModel')]
  0009  SELF      R5 = R4[K7('GetAvatar')] (self)
  0010  CALL      R4 = call(R4, 1 args, 1 rets)
  0011  GETTABUP  R5 = _ENV[K5('GM')]
  0012  GETTABLE  R5 = R5[K6('UserProfileModel')]
  0013  SELF      R6 = R5[K8('GetBadge')] (self)
  0014  CALL      R5 = call(R5, 1 args, 1 rets)
  0015  GETTABUP  R6 = _ENV[K5('GM')]
  0016  GETTABLE  R6 = R6[K6('UserProfileModel')]
  0017  SELF      R7 = R6[K9('GetFrame')] (self)
  0018  CALL      R6 = call(R6, -1 args, 1 rets)
  0019  CALL      R1 = call(R1, 0 args, -1 rets)
  0020  RETURN    return R0..R-1
; ---------- proto3 [_SwitchTabs] ----------
  ; fn ?  line 50-75 np=2 va=0 ms=8 code=83 consts=21 upvals=3 protos=0
  ;   K[0]='Avatar'
  ;   K[1]='m_avatarScrollRect'
  ;   K[2]='gameObject'
  ;   K[3]='SetActive'
  ;   K[4]='m_badgeScrollRect'
  ;   K[5]='m_frameScrollRect'
  ;   K[6]='_ShowAllAvatar'
  ;   K[7]='Badge'
  ;   K[8]='_ShowAllBadge'
  ;   K[9]='Frame'
  ;   K[10]='_ShowAllFrame'
  ;   K[11]='Log'
  ;   K[12]='Error'
  ;   K[13]='AvatarBadgeWindow TabName缺少配置,请检查'
  ;   K[14]='tostring'
  ;   K[15]='LogWindowAction'
  ;   K[16]='EBIType'
  ;   K[17]='UIActionType'
  ;   K[18]='Open'
  ;   K[19]='EBIReferType'
  ;   K[20]='UserClick'
  ;   upvals: ETabKey, ETabName, _ENV
  ;   locals: self(0-83), tabKey(0-83), refer(63-83)
  0000  GETTABUP  R2 = ETabKey[K0('Avatar')]
  0001  EQ        if R0 eq R2   -> -130555
  0002  JMP       (jump)   -> 21
  0003  GETTABLE  R2 = R0[K1('m_avatarScrollRect')]
  0004  GETTABLE  R2 = R2[K2('gameObject')]
  0005  SELF      R3 = R2[K3('SetActive')] (self)
  0006  LOADBOOL  R4 = true
  0007  CALL      R2 = call(R2, 0 args, 2 rets)
  0008  GETTABLE  R2 = R0[K4('m_badgeScrollRect')]
  0009  GETTABLE  R2 = R2[K2('gameObject')]
  0010  SELF      R3 = R2[K3('SetActive')] (self)
  0011  LOADBOOL  R4 = false
  0012  CALL      R2 = call(R2, 0 args, 2 rets)
  0013  GETTABLE  R2 = R0[K5('m_frameScrollRect')]
  0014  GETTABLE  R2 = R2[K2('gameObject')]
  0015  SELF      R3 = R2[K3('SetActive')] (self)
  0016  LOADBOOL  R4 = false
  0017  CALL      R2 = call(R2, 0 args, 2 rets)
  0018  SELF      R3 = R0[K6('_ShowAllAvatar')] (self)
  0019  CALL      R2 = call(R2, 0 args, 1 rets)
  0020  JMP       (jump)   -> 62
  0021  GETTABUP  R2 = ETabKey[K7('Badge')]
  0022  EQ        if R0 eq R2   -> -130534
  0023  JMP       (jump)   -> 42
  0024  GETTABLE  R2 = R0[K4('m_badgeScrollRect')]
  0025  GETTABLE  R2 = R2[K2('gameObject')]
  0026  SELF      R3 = R2[K3('SetActive')] (self)
  0027  LOADBOOL  R4 = true
  0028  CALL      R2 = call(R2, 0 args, 2 rets)
  0029  GETTABLE  R2 = R0[K1('m_avatarScrollRect')]
  0030  GETTABLE  R2 = R2[K2('gameObject')]
  0031  SELF      R3 = R2[K3('SetActive')] (self)
  0032  LOADBOOL  R4 = false
  0033  CALL      R2 = call(R2, 0 args, 2 rets)
  0034  GETTABLE  R2 = R0[K5('m_frameScrollRect')]
  0035  GETTABLE  R2 = R2[K2('gameObject')]
  0036  SELF      R3 = R2[K3('SetActive')] (self)
  0037  LOADBOOL  R4 = false
  0038  CALL      R2 = call(R2, 0 args, 2 rets)
  0039  SELF      R3 = R0[K8('_ShowAllBadge')] (self)
  0040  CALL      R2 = call(R2, 0 args, 1 rets)
  0041  JMP       (jump)   -> 62
  0042  GETTABUP  R2 = ETabKey[K9('Frame')]
  0043  EQ        if R0 eq R2   -> -130513
  0044  JMP       (jump)   -> 62
  0045  GETTABLE  R2 = R0[K5('m_frameScrollRect')]
  0046  GETTABLE  R2 = R2[K2('gameObject')]
  0047  SELF      R3 = R2[K3('SetActive')] (self)
  0048  LOADBOOL  R4 = true
  0049  CALL      R2 = call(R2, 0 args, 2 rets)
  0050  GETTABLE  R2 = R0[K1('m_avatarScrollRect')]
  0051  GETTABLE  R2 = R2[K2('gameObject')]
  0052  SELF      R3 = R2[K3('SetActive')] (self)
  0053  LOADBOOL  R4 = false
  0054  CALL      R2 = call(R2, 0 args, 2 rets)
  0055  GETTABLE  R2 = R0[K4('m_badgeScrollRect')]
  0056  GETTABLE  R2 = R2[K2('gameObject')]
  0057  SELF      R3 = R2[K3('SetActive')] (self)
  0058  LOADBOOL  R4 = false
  0059  CALL      R2 = call(R2, 0 args, 2 rets)
  0060  SELF      R3 = R0[K10('_ShowAllFrame')] (self)
  0061  CALL      R2 = call(R2, 0 args, 1 rets)
  0062  GETTABUP  R2 = ETabName[R1]
  0063  TEST      if not R2 then   -> -131006
  0064  JMP       (jump)   -> 74
  0065  GETTABUP  R3 = _ENV[K11('Log')]
  0066  GETTABLE  R3 = R3[K12('Error')]
  0067  LOADK     R4 = K13 'AvatarBadgeWindow TabName缺少配置,请检查'
  0068  GETTABUP  R5 = _ENV[K14('tostring')]
  0069  MOVE      R6 = R0
  0070  CALL      R5 = call(R5, 1 args, 1 rets)
  0071  CONCAT    R4 = concat(R4..R4)
  0072  CALL      R3 = call(R3, 0 args, 1 rets)
  0073  RETURN    return R0..R-1
  0074  SELF      R4 = R0[K15('LogWindowAction')] (self)
  0075  GETTABUP  R5 = _ENV[K16('EBIType')]
  0076  GETTABLE  R5 = R5[K17('UIActionType')]
  0077  GETTABLE  R5 = R5[K18('Open')]
  0078  GETTABUP  R6 = _ENV[K19('EBIReferType')]
  0079  GETTABLE  R6 = R6[K20('UserClick')]
  0080  MOVE      R7 = R0
  0081  CALL      R3 = call(R3, 0 args, 4 rets)
  0082  RETURN    return R0..R-1
; ---------- proto4 [_ShowAllAvatar] ----------
  ; fn ?  line 77-103 np=1 va=0 ms=14 code=68 consts=23 upvals=1 protos=1
  ;   K[0]='m_avatarInited'
  ;   K[1]=true
  ;   K[2]='m_originalIcon'
  ;   K[3]='GM'
  ;   K[4]='UserProfileModel'
  ;   K[5]='GetAvatar'
  ;   K[6]='m_avatarCells'
  ;   K[7]='GetAllAvatarIds'
  ;   K[8]='AccountManager'
  ;   K[9]='GetAccountPictureUrl'
  ;   K[10]='StringUtil'
  ;   K[11]='IsNilOrEmpty'
  ;   K[12]='table'
  ;   K[13]='insert'
  ;   K[14]=1
  ;   K[15]='m_avatarCellGo'
  ;   K[16]='Object'
  ;   K[17]='Instantiate'
  ;   K[18]='m_avatarScrollRect'
  ;   K[19]='content'
  ;   K[20]='GetLuaTable'
  ;   K[21]='Init'
  ;   K[22]='_OnAvatarSwitched'
  ;   upvals: _ENV
  ;   locals: self(0-68), data(17-68), accountIcon(21-68), selectCallback(34-68), go(35-68), luaTable(35-68), (for index)(38-64), (for limit)(38-64), (for step)(38-64), i(39-63)
  0000  GETTABLE  R1 = R0[K0('m_avatarInited')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SETTABLE  R0[K0('m_avatarInited')] = K1(true)
  0005  GETTABUP  R1 = _ENV[K3('GM')]
  0006  GETTABLE  R1 = R1[K4('UserProfileModel')]
  0007  SELF      R2 = R1[K5('GetAvatar')] (self)
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  SETTABLE  R0[K2('m_originalIcon')] = R1
  0010  NEWTABLE  R1 = {} (0 items)
  0011  SETTABLE  R0[K6('m_avatarCells')] = R1
  0012  GETTABUP  R1 = _ENV[K3('GM')]
  0013  GETTABLE  R1 = R1[K4('UserProfileModel')]
  0014  SELF      R2 = R1[K7('GetAllAvatarIds')] (self)
  0015  LOADBOOL  R3 = true
  0016  CALL      R1 = call(R1, 1 args, 2 rets)
  0017  GETTABUP  R2 = _ENV[K3('GM')]
  0018  GETTABLE  R2 = R2[K8('AccountManager')]
  0019  SELF      R3 = R2[K9('GetAccountPictureUrl')] (self)
  0020  CALL      R2 = call(R2, 1 args, 1 rets)
  0021  GETTABUP  R3 = _ENV[K10('StringUtil')]
  0022  GETTABLE  R3 = R3[K11('IsNilOrEmpty')]
  0023  MOVE      R4 = R0
  0024  CALL      R3 = call(R3, 1 args, 1 rets)
  0025  TEST      if not R3 then   -> -131044
  0026  JMP       (jump)   -> 33
  0027  GETTABUP  R3 = _ENV[K12('table')]
  0028  GETTABLE  R3 = R3[K13('insert')]
  0029  MOVE      R4 = R0
  0030  LOADK     R5 = K14 1
  0031  MOVE      R6 = R0
  0032  CALL      R3 = call(R3, 0 args, 3 rets)
  0033  CLOSURE   R3 = closure proto0
  0034  LOADNIL   R4..R4 = nil
  0035  LOADK     R6 = K14 1
  0036  LEN       R7 = len R0
  0037  LOADK     R8 = K14 1
  0038  FORPREP   forprep R6(sBx=24)   -> 63
  0039  EQ        if R0 eq K14(1)   -> -126153
  0040  JMP       (jump)   -> 44
  0041  GETTABLE  R10 = R0[K15('m_avatarCellGo')]
  0042  TESTSET   if R1 then R4   -> -125907
  0043  JMP       (jump)   -> 51
  0044  GETTABUP  R10 = _ENV[K16('Object')]
  0045  GETTABLE  R10 = R10[K17('Instantiate')]
  0046  GETTABLE  R11 = R0[K15('m_avatarCellGo')]
  0047  GETTABLE  R12 = R0[K18('m_avatarScrollRect')]
  0048  GETTABLE  R12 = R12[K19('content')]
  0049  CALL      R10 = call(R10, 1 args, 2 rets)
  0050  MOVE      R4 = R0
  0051  SELF      R11 = R4[K20('GetLuaTable')] (self)
  0052  CALL      R10 = call(R10, 1 args, 1 rets)
  0053  MOVE      R5 = R0
  0054  SELF      R11 = R5[K21('Init')] (self)
  0055  GETTABLE  R12 = R1[R9]
  0056  MOVE      R13 = R0
  0057  CALL      R10 = call(R10, 0 args, 3 rets)
  0058  GETTABLE  R10 = R0[K6('m_avatarCells')]
  0059  GETTABLE  R11 = R0[K6('m_avatarCells')]
  0060  LEN       R11 = len R0
  0061  ADD       R11 = K14(1) add R11
  0062  SETTABLE  R10[R11] = R5
  0063  FORLOOP   forloop R6(sBx=-25)   -> 39
  0064  SELF      R7 = R0[K22('_OnAvatarSwitched')] (self)
  0065  GETTABLE  R8 = R0[K2('m_originalIcon')]
  0066  CALL      R6 = call(R6, 0 args, 2 rets)
  0067  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 90-92 np=1 va=0 ms=4 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='_OnAvatarSwitched'
    ;   upvals: self
    ;   locals: selected(0-5)
    0000  GETUPVAL  R1 = self
    0001  SELF      R2 = R1[K0('_OnAvatarSwitched')] (self)
    0002  MOVE      R3 = R0
    0003  CALL      R1 = call(R1, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
; ---------- proto5 [_ShowAllBadge] ----------
  ; fn ?  line 105-150 np=1 va=0 ms=15 code=103 consts=27 upvals=1 protos=0
  ;   K[0]='m_badgeInited'
  ;   K[1]=true
  ;   K[2]='GM'
  ;   K[3]='UserProfileModel'
  ;   K[4]='GetAllRewardType'
  ;   K[5]='EProfilePropertyType'
  ;   K[6]='Badge'
  ;   K[7]='GetAcquiredProperties'
  ;   K[8]='pairs'
  ;   K[9]=1
  ;   K[10]='_Sort'
  ;   K[11]='Badges'
  ;   K[12]='AlbumActivityModel'
  ;   K[13]='GetActiveModel'
  ;   K[14]='GetRewardBadgeId'
  ;   K[15]='m_noBadgeDescGo'
  ;   K[16]='SetActive'
  ;   K[17]='m_originalBadge'
  ;   K[18]='GetBadge'
  ;   K[19]='m_badgeCells'
  ;   K[20]='m_badgeCellGo'
  ;   K[21]='Object'
  ;   K[22]='Instantiate'
  ;   K[23]='m_badgeScrollRect'
  ;   K[24]='content'
  ;   K[25]='GetLuaTable'
  ;   K[26]='Init'
  ;   upvals: _ENV
  ;   locals: self(0-103), mapBadgeIds(12-103), acquiredBadgeIds(19-103), arrBadgeIds(20-103), (for generator)(23-32), (for state)(23-32), (for control)(23-32), badgeId(24-30), _(24-30), ongoingAlbumModel(39-103), badgeId(43-51), hasBadge(52-103), go(64-103), luaTable(64-103), (for index)(67-92), (for limit)(67-92), (for step)(67-92), i(68-91), (for index)(95-102), (for limit)(95-102), (for step)(95-102), i(96-101)
  0000  GETTABLE  R1 = R0[K0('m_badgeInited')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SETTABLE  R0[K0('m_badgeInited')] = K1(true)
  0005  GETTABUP  R1 = _ENV[K2('GM')]
  0006  GETTABLE  R1 = R1[K3('UserProfileModel')]
  0007  SELF      R2 = R1[K4('GetAllRewardType')] (self)
  0008  GETTABUP  R3 = _ENV[K5('EProfilePropertyType')]
  0009  GETTABLE  R3 = R3[K6('Badge')]
  0010  LOADBOOL  R4 = true
  0011  CALL      R1 = call(R1, 1 args, 3 rets)
  0012  GETTABUP  R2 = _ENV[K2('GM')]
  0013  GETTABLE  R2 = R2[K3('UserProfileModel')]
  0014  SELF      R3 = R2[K7('GetAcquiredProperties')] (self)
  0015  GETTABUP  R4 = _ENV[K5('EProfilePropertyType')]
  0016  GETTABLE  R4 = R4[K6('Badge')]
  0017  LOADBOOL  R5 = true
  0018  CALL      R2 = call(R2, 1 args, 3 rets)
  0019  NEWTABLE  R3 = {} (0 items)
  0020  GETTABUP  R4 = _ENV[K8('pairs')]
  0021  MOVE      R5 = R0
  0022  CALL      R4 = call(R4, 3 args, 1 rets)
  0023  JMP       (jump)   -> 30
  0024  GETTABLE  R9 = R2[R7]
  0025  TEST      if not R9 then   -> -131045
  0026  JMP       (jump)   -> 30
  0027  LEN       R9 = len R0
  0028  ADD       R9 = K9(1) add R9
  0029  SETTABLE  R3[R9] = R7
  0030  TFORCALL  tforcall R4
  0031  TFORLOOP  tforloop R6(sBx=-8)   -> 24
  0032  SELF      R5 = R0[K10('_Sort')] (self)
  0033  MOVE      R6 = R0
  0034  LOADK     R7 = K11 'Badges'
  0035  CALL      R4 = call(R4, 0 args, 3 rets)
  0036  GETTABUP  R4 = _ENV[K12('AlbumActivityModel')]
  0037  GETTABLE  R4 = R4[K13('GetActiveModel')]
  0038  CALL      R4 = call(R4, 1 args, 0 rets)
  0039  TEST      if not R4 then   -> -131031
  0040  JMP       (jump)   -> 51
  0041  SELF      R6 = R4[K14('GetRewardBadgeId')] (self)
  0042  CALL      R5 = call(R5, 1 args, 1 rets)
  0043  TEST      if not R5 then   -> -131027
  0044  JMP       (jump)   -> 51
  0045  GETTABLE  R6 = R2[R5]
  0046  TEST      if not R6 then   -> -131023
  0047  JMP       (jump)   -> 51
  0048  LEN       R6 = len R0
  0049  ADD       R6 = K9(1) add R6
  0050  SETTABLE  R3[R6] = R5
  0051  GETTABLE  R5 = R3[K9(1)]
  0052  GETTABLE  R6 = R0[K15('m_noBadgeDescGo')]
  0053  SELF      R7 = R6[K16('SetActive')] (self)
  0054  NOT       R8 = not R0
  0055  CALL      R6 = call(R6, 0 args, 2 rets)
  0056  GETTABUP  R6 = _ENV[K2('GM')]
  0057  GETTABLE  R6 = R6[K3('UserProfileModel')]
  0058  SELF      R7 = R6[K18('GetBadge')] (self)
  0059  CALL      R6 = call(R6, 1 args, 1 rets)
  0060  SETTABLE  R0[K17('m_originalBadge')] = R6
  0061  NEWTABLE  R6 = {} (0 items)
  0062  SETTABLE  R0[K19('m_badgeCells')] = R6
  0063  LOADNIL   R6..R6 = nil
  0064  LOADK     R8 = K9 1
  0065  LEN       R9 = len R0
  0066  LOADK     R10 = K9 1
  0067  FORPREP   forprep R8(sBx=23)   -> 91
  0068  EQ        if R0 eq K9(1)   -> -125105
  0069  JMP       (jump)   -> 73
  0070  GETTABLE  R12 = R0[K20('m_badgeCellGo')]
  0071  TESTSET   if R1 then R6   -> -124854
  0072  JMP       (jump)   -> 80
  0073  GETTABUP  R12 = _ENV[K21('Object')]
  0074  GETTABLE  R12 = R12[K22('Instantiate')]
  0075  GETTABLE  R13 = R0[K20('m_badgeCellGo')]
  0076  GETTABLE  R14 = R0[K23('m_badgeScrollRect')]
  0077  GETTABLE  R14 = R14[K24('content')]
  0078  CALL      R12 = call(R12, 1 args, 2 rets)
  0079  MOVE      R6 = R0
  0080  SELF      R13 = R6[K16('SetActive')] (self)
  0081  LOADBOOL  R14 = true
  0082  CALL      R12 = call(R12, 0 args, 2 rets)
  0083  SELF      R13 = R6[K25('GetLuaTable')] (self)
  0084  CALL      R12 = call(R12, 1 args, 1 rets)
  0085  MOVE      R7 = R0
  0086  GETTABLE  R12 = R0[K19('m_badgeCells')]
  0087  GETTABLE  R13 = R0[K19('m_badgeCells')]
  0088  LEN       R13 = len R0
  0089  ADD       R13 = K9(1) add R13
  0090  SETTABLE  R12[R13] = R7
  0091  FORLOOP   forloop R8(sBx=-24)   -> 68
  0092  LOADK     R8 = K9 1
  0093  LEN       R9 = len R0
  0094  LOADK     R10 = K9 1
  0095  FORPREP   forprep R8(sBx=5)   -> 101
  0096  GETTABLE  R12 = R0[K19('m_badgeCells')]
  0097  GETTABLE  R12 = R12[R11]
  0098  SELF      R13 = R12[K26('Init')] (self)
  0099  GETTABLE  R14 = R3[R11]
  0100  CALL      R12 = call(R12, 0 args, 2 rets)
  0101  FORLOOP   forloop R8(sBx=-6)   -> 96
  0102  RETURN    return R0..R-1
; ---------- proto6 [_ShowAllFrame] ----------
  ; fn ?  line 152-198 np=1 va=0 ms=15 code=111 consts=28 upvals=1 protos=0
  ;   K[0]='m_frameInited'
  ;   K[1]=true
  ;   K[2]='GM'
  ;   K[3]='UserProfileModel'
  ;   K[4]='GetAllRewardType'
  ;   K[5]='EProfilePropertyType'
  ;   K[6]='Frame'
  ;   K[7]='GetAcquiredProperties'
  ;   K[8]='pairs'
  ;   K[9]=1
  ;   K[10]='_Sort'
  ;   K[11]='Frames'
  ;   K[12]='FrameDecoActivityModel'
  ;   K[13]='GetActiveModel'
  ;   K[14]='GetRewardFrameId'
  ;   K[15]=nil
  ;   K[16]='m_noFrameDescGo'
  ;   K[17]='SetActive'
  ;   K[18]='m_frameCellGo'
  ;   K[19]='m_originalFrame'
  ;   K[20]='GetFrame'
  ;   K[21]='m_frameCells'
  ;   K[22]='Object'
  ;   K[23]='Instantiate'
  ;   K[24]='m_frameScrollRect'
  ;   K[25]='content'
  ;   K[26]='GetLuaTable'
  ;   K[27]='Init'
  ;   upvals: _ENV
  ;   locals: self(0-111), mapFrameIds(12-111), acquiredFrameIds(19-111), arrFrameIds(20-111), (for generator)(23-32), (for state)(23-32), (for control)(23-32), frameId(24-30), _(24-30), ongoingFrameModel(39-111), frameId(43-51), hasFrame(56-111), go(72-111), luaTable(72-111), (for index)(75-100), (for limit)(75-100), (for step)(75-100), i(76-99), (for index)(103-110), (for limit)(103-110), (for step)(103-110), i(104-109)
  0000  GETTABLE  R1 = R0[K0('m_frameInited')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SETTABLE  R0[K0('m_frameInited')] = K1(true)
  0005  GETTABUP  R1 = _ENV[K2('GM')]
  0006  GETTABLE  R1 = R1[K3('UserProfileModel')]
  0007  SELF      R2 = R1[K4('GetAllRewardType')] (self)
  0008  GETTABUP  R3 = _ENV[K5('EProfilePropertyType')]
  0009  GETTABLE  R3 = R3[K6('Frame')]
  0010  LOADBOOL  R4 = true
  0011  CALL      R1 = call(R1, 1 args, 3 rets)
  0012  GETTABUP  R2 = _ENV[K2('GM')]
  0013  GETTABLE  R2 = R2[K3('UserProfileModel')]
  0014  SELF      R3 = R2[K7('GetAcquiredProperties')] (self)
  0015  GETTABUP  R4 = _ENV[K5('EProfilePropertyType')]
  0016  GETTABLE  R4 = R4[K6('Frame')]
  0017  LOADBOOL  R5 = true
  0018  CALL      R2 = call(R2, 1 args, 3 rets)
  0019  NEWTABLE  R3 = {} (0 items)
  0020  GETTABUP  R4 = _ENV[K8('pairs')]
  0021  MOVE      R5 = R0
  0022  CALL      R4 = call(R4, 3 args, 1 rets)
  0023  JMP       (jump)   -> 30
  0024  GETTABLE  R9 = R2[R7]
  0025  TEST      if not R9 then   -> -131045
  0026  JMP       (jump)   -> 30
  0027  LEN       R9 = len R0
  0028  ADD       R9 = K9(1) add R9
  0029  SETTABLE  R3[R9] = R7
  0030  TFORCALL  tforcall R4
  0031  TFORLOOP  tforloop R6(sBx=-8)   -> 24
  0032  SELF      R5 = R0[K10('_Sort')] (self)
  0033  MOVE      R6 = R0
  0034  LOADK     R7 = K11 'Frames'
  0035  CALL      R4 = call(R4, 0 args, 3 rets)
  0036  GETTABUP  R4 = _ENV[K12('FrameDecoActivityModel')]
  0037  GETTABLE  R4 = R4[K13('GetActiveModel')]
  0038  CALL      R4 = call(R4, 1 args, 0 rets)
  0039  TEST      if not R4 then   -> -131031
  0040  JMP       (jump)   -> 51
  0041  SELF      R6 = R4[K14('GetRewardFrameId')] (self)
  0042  CALL      R5 = call(R5, 1 args, 1 rets)
  0043  TEST      if not R5 then   -> -131027
  0044  JMP       (jump)   -> 51
  0045  GETTABLE  R6 = R2[R5]
  0046  TEST      if not R6 then   -> -131023
  0047  JMP       (jump)   -> 51
  0048  LEN       R6 = len R0
  0049  ADD       R6 = K9(1) add R6
  0050  SETTABLE  R3[R6] = R5
  0051  GETTABLE  R5 = R3[K9(1)]
  0052  EQ        if R0 eq K15(nil)   -> -128187
  0053  JMP       (jump)   -> 55
  0054  LOADBOOL  R5 = false
  0055  LOADBOOL  R5 = true
  0056  GETTABLE  R6 = R0[K16('m_noFrameDescGo')]
  0057  SELF      R7 = R6[K17('SetActive')] (self)
  0058  NOT       R8 = not R0
  0059  CALL      R6 = call(R6, 0 args, 2 rets)
  0060  GETTABLE  R6 = R0[K18('m_frameCellGo')]
  0061  SELF      R7 = R6[K17('SetActive')] (self)
  0062  MOVE      R8 = R0
  0063  CALL      R6 = call(R6, 0 args, 2 rets)
  0064  GETTABUP  R6 = _ENV[K2('GM')]
  0065  GETTABLE  R6 = R6[K3('UserProfileModel')]
  0066  SELF      R7 = R6[K20('GetFrame')] (self)
  0067  CALL      R6 = call(R6, 1 args, 1 rets)
  0068  SETTABLE  R0[K19('m_originalFrame')] = R6
  0069  NEWTABLE  R6 = {} (0 items)
  0070  SETTABLE  R0[K21('m_frameCells')] = R6
  0071  LOADNIL   R6..R6 = nil
  0072  LOADK     R8 = K9 1
  0073  LEN       R9 = len R0
  0074  LOADK     R10 = K9 1
  0075  FORPREP   forprep R8(sBx=23)   -> 99
  0076  EQ        if R0 eq K9(1)   -> -125097
  0077  JMP       (jump)   -> 81
  0078  GETTABLE  R12 = R0[K18('m_frameCellGo')]
  0079  TESTSET   if R1 then R6   -> -124846
  0080  JMP       (jump)   -> 88
  0081  GETTABUP  R12 = _ENV[K22('Object')]
  0082  GETTABLE  R12 = R12[K23('Instantiate')]
  0083  GETTABLE  R13 = R0[K18('m_frameCellGo')]
  0084  GETTABLE  R14 = R0[K24('m_frameScrollRect')]
  0085  GETTABLE  R14 = R14[K25('content')]
  0086  CALL      R12 = call(R12, 1 args, 2 rets)
  0087  MOVE      R6 = R0
  0088  SELF      R13 = R6[K17('SetActive')] (self)
  0089  LOADBOOL  R14 = true
  0090  CALL      R12 = call(R12, 0 args, 2 rets)
  0091  SELF      R13 = R6[K26('GetLuaTable')] (self)
  0092  CALL      R12 = call(R12, 1 args, 1 rets)
  0093  MOVE      R7 = R0
  0094  GETTABLE  R12 = R0[K21('m_frameCells')]
  0095  GETTABLE  R13 = R0[K21('m_frameCells')]
  0096  LEN       R13 = len R0
  0097  ADD       R13 = K9(1) add R13
  0098  SETTABLE  R12[R13] = R7
  0099  FORLOOP   forloop R8(sBx=-24)   -> 76
  0100  LOADK     R8 = K9 1
  0101  LEN       R9 = len R0
  0102  LOADK     R10 = K9 1
  0103  FORPREP   forprep R8(sBx=5)   -> 109
  0104  GETTABLE  R12 = R0[K21('m_frameCells')]
  0105  GETTABLE  R12 = R12[R11]
  0106  SELF      R13 = R12[K27('Init')] (self)
  0107  GETTABLE  R14 = R3[R11]
  0108  CALL      R12 = call(R12, 0 args, 2 rets)
  0109  FORLOOP   forloop R8(sBx=-6)   -> 104
  0110  RETURN    return R0..R-1
; ---------- proto7 [_Sort] ----------
  ; fn ?  line 200-212 np=3 va=0 ms=8 code=20 consts=9 upvals=1 protos=1
  ;   K[0]='StringUtil'
  ;   K[1]='IsNilOrEmpty'
  ;   K[2]='GM'
  ;   K[3]='ConfigModel'
  ;   K[4]='GetLocalConfig'
  ;   K[5]='LocalConfigKey'
  ;   K[6]='ProfilePropertyConfig'
  ;   K[7]='table'
  ;   K[8]='sort'
  ;   upvals: _ENV
  ;   locals: self(0-20), arr(0-20), type(0-20), mapProfilePropertyConfig(13-20), configs(14-20)
  0000  GETTABUP  R3 = _ENV[K0('StringUtil')]
  0001  GETTABLE  R3 = R3[K1('IsNilOrEmpty')]
  0002  MOVE      R4 = R0
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  TEST      if not R3 then   -> -131066
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABUP  R3 = _ENV[K2('GM')]
  0008  GETTABLE  R3 = R3[K3('ConfigModel')]
  0009  SELF      R4 = R3[K4('GetLocalConfig')] (self)
  0010  GETTABUP  R5 = _ENV[K5('LocalConfigKey')]
  0011  GETTABLE  R5 = R5[K6('ProfilePropertyConfig')]
  0012  CALL      R3 = call(R3, 1 args, 2 rets)
  0013  GETTABLE  R4 = R3[R2]
  0014  GETTABUP  R5 = _ENV[K7('table')]
  0015  GETTABLE  R5 = R5[K8('sort')]
  0016  MOVE      R6 = R0
  0017  CLOSURE   R7 = closure proto0
  0018  CALL      R5 = call(R5, 0 args, 2 rets)
  0019  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 207-211 np=2 va=0 ms=6 code=22 consts=3 upvals=2 protos=0
    ;   K[0]='Table'
    ;   K[1]='GetIndex'
    ;   K[2]=0
    ;   upvals: _ENV, configs
    ;   locals: a(0-22), b(0-22), indexA(8-22), indexB(16-22)
    0000  GETTABUP  R2 = _ENV[K0('Table')]
    0001  GETTABLE  R2 = R2[K1('GetIndex')]
    0002  GETUPVAL  R3 = _ENV
    0003  MOVE      R4 = R0
    0004  CALL      R2 = call(R2, 1 args, 2 rets)
    0005  TEST      if not R2 then   -> -131064
    0006  JMP       (jump)   -> 8
    0007  LOADK     R2 = K2 0
    0008  GETTABUP  R3 = _ENV[K0('Table')]
    0009  GETTABLE  R3 = R3[K1('GetIndex')]
    0010  GETUPVAL  R4 = _ENV
    0011  MOVE      R5 = R0
    0012  CALL      R3 = call(R3, 1 args, 2 rets)
    0013  TEST      if not R3 then   -> -131056
    0014  JMP       (jump)   -> 16
    0015  LOADK     R3 = K2 0
    0016  LT        if R1 lt R3   -> -130027
    0017  JMP       (jump)   -> 19
    0018  LOADBOOL  R4 = false
    0019  LOADBOOL  R4 = true
    0020  RETURN    return R4..R3
    0021  RETURN    return R0..R-1
; ---------- proto8 [_OnAvatarSwitched] ----------
  ; fn ?  line 214-224 np=2 va=0 ms=9 code=40 consts=15 upvals=1 protos=0
  ;   K[0]='m_confirmBtn'
  ;   K[1]='SetEnabled'
  ;   K[2]='m_selectedIcon'
  ;   K[3]='m_userAvatar'
  ;   K[4]='SetAvatar'
  ;   K[5]='EAvatarFrame'
  ;   K[6]='Normal'
  ;   K[7]='GM'
  ;   K[8]='UserProfileModel'
  ;   K[9]='GetBadge'
  ;   K[10]='GetFrame'
  ;   K[11]=1
  ;   K[12]='m_avatarCells'
  ;   K[13]='UpdateContent'
  ;   K[14]='icon'
  ;   upvals: _ENV
  ;   locals: self(0-40), selected(0-40), (for index)(26-39), (for limit)(26-39), (for step)(26-39), i(27-38)
  0000  GETTABLE  R2 = R0[K0('m_confirmBtn')]
  0001  SELF      R3 = R2[K1('SetEnabled')] (self)
  0002  LOADBOOL  R4 = true
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  GETTABLE  R2 = R0[K2('m_selectedIcon')]
  0005  EQ        if R1 eq R2   -> -130551
  0006  JMP       (jump)   -> 21
  0007  GETTABLE  R2 = R0[K3('m_userAvatar')]
  0008  SELF      R3 = R2[K4('SetAvatar')] (self)
  0009  GETTABUP  R4 = _ENV[K5('EAvatarFrame')]
  0010  GETTABLE  R4 = R4[K6('Normal')]
  0011  MOVE      R5 = R0
  0012  GETTABUP  R6 = _ENV[K7('GM')]
  0013  GETTABLE  R6 = R6[K8('UserProfileModel')]
  0014  SELF      R7 = R6[K9('GetBadge')] (self)
  0015  CALL      R6 = call(R6, 1 args, 1 rets)
  0016  GETTABUP  R7 = _ENV[K7('GM')]
  0017  GETTABLE  R7 = R7[K8('UserProfileModel')]
  0018  SELF      R8 = R7[K10('GetFrame')] (self)
  0019  CALL      R7 = call(R7, -1 args, 1 rets)
  0020  CALL      R2 = call(R2, 0 args, -1 rets)
  0021  SETTABLE  R0[K2('m_selectedIcon')] = R1
  0022  LOADK     R2 = K11 1
  0023  GETTABLE  R3 = R0[K12('m_avatarCells')]
  0024  LEN       R3 = len R0
  0025  LOADK     R4 = K11 1
  0026  FORPREP   forprep R2(sBx=11)   -> 38
  0027  GETTABLE  R6 = R0[K12('m_avatarCells')]
  0028  GETTABLE  R6 = R6[R5]
  0029  SELF      R7 = R6[K13('UpdateContent')] (self)
  0030  GETTABLE  R8 = R0[K12('m_avatarCells')]
  0031  GETTABLE  R8 = R8[R5]
  0032  GETTABLE  R8 = R8[K14('icon')]
  0033  EQ        if R1 eq R1   -> -126940
  0034  JMP       (jump)   -> 36
  0035  LOADBOOL  R8 = false
  0036  LOADBOOL  R8 = true
  0037  CALL      R6 = call(R6, 0 args, 2 rets)
  0038  FORLOOP   forloop R2(sBx=-12)   -> 27
  0039  RETURN    return R0..R-1
; ---------- proto9 [OnConfirmed] ----------
  ; fn ?  line 226-232 np=1 va=0 ms=4 code=20 consts=9 upvals=1 protos=0
  ;   K[0]='m_originalIcon'
  ;   K[1]=nil
  ;   K[2]='m_selectedIcon'
  ;   K[3]='GM'
  ;   K[4]='UserProfileModel'
  ;   K[5]='ChangeAvatar'
  ;   K[6]='UIManager'
  ;   K[7]='ShowPromptWithKey'
  ;   K[8]='setting_window_change_success'
  ;   upvals: _ENV
  ;   locals: self(0-20)
  0000  GETTABLE  R1 = R0[K0('m_originalIcon')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 14
  0003  GETTABLE  R1 = R0[K2('m_selectedIcon')]
  0004  GETTABLE  R2 = R0[K0('m_originalIcon')]
  0005  EQ        if R1 eq R2   -> -130551
  0006  JMP       (jump)   -> 14
  0007  GETTABUP  R1 = _ENV[K3('GM')]
  0008  GETTABLE  R1 = R1[K4('UserProfileModel')]
  0009  SELF      R2 = R1[K5('ChangeAvatar')] (self)
  0010  GETTABLE  R3 = R0[K2('m_selectedIcon')]
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  GETTABLE  R1 = R0[K2('m_selectedIcon')]
  0013  SETTABLE  R0[K0('m_originalIcon')] = R1
  0014  GETTABUP  R1 = _ENV[K3('GM')]
  0015  GETTABLE  R1 = R1[K6('UIManager')]
  0016  SELF      R2 = R1[K7('ShowPromptWithKey')] (self)
  0017  LOADK     R3 = K8 'setting_window_change_success'
  0018  CALL      R1 = call(R1, 0 args, 2 rets)
  0019  RETURN    return R0..R-1
