# UI_Window_Shop_BaseShopListContainer_487.luac
; fn @BaseShopListContainer.lua  line 0-0 np=0 va=1 ms=3 code=66 consts=23 upvals=1 protos=19
;   K[0]='BaseShopListContainer'
;   K[1]='setmetatable'
;   K[2]='BaseShopContainer'
;   K[3]='__index'
;   K[4]='Init'
;   K[5]='OnDestroy'
;   K[6]='UpdatePerSecond'
;   K[7]='_OnShopRefreshed'
;   K[8]='GetCellCount'
;   K[9]='GetCell'
;   K[10]='_GetRefreshTime'
;   K[11]='_DoRefresh'
;   K[12]='_UpdateContent'
;   K[13]='GetShopType'
;   K[14]='UpdateSortingOrder'
;   K[15]='OnClose'
;   K[16]='GetContentHeight'
;   K[17]='_InitContainer'
;   K[18]='_TryUpdateRefreshCostText'
;   K[19]='_UpdateContentForCellCount'
;   K[20]='_UpdateHeight'
;   K[21]='OnRefreshButtonClicked'
;   K[22]='ShowFocusEffect'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('BaseShopContainer')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('BaseShopListContainer')] = R0
0005  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0006  GETTABUP  R1 = _ENV[K0('BaseShopListContainer')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('Init')] = R1
0011  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K5('OnDestroy')] = R1
0014  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K6('UpdatePerSecond')] = R1
0017  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K7('_OnShopRefreshed')] = R1
0020  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K8('GetCellCount')] = R1
0023  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0024  CLOSURE   R1 = closure proto5
0025  SETTABLE  R0[K9('GetCell')] = R1
0026  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0027  CLOSURE   R1 = closure proto6
0028  SETTABLE  R0[K10('_GetRefreshTime')] = R1
0029  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0030  CLOSURE   R1 = closure proto7
0031  SETTABLE  R0[K11('_DoRefresh')] = R1
0032  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0033  CLOSURE   R1 = closure proto8
0034  SETTABLE  R0[K12('_UpdateContent')] = R1
0035  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0036  CLOSURE   R1 = closure proto9
0037  SETTABLE  R0[K13('GetShopType')] = R1
0038  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0039  CLOSURE   R1 = closure proto10
0040  SETTABLE  R0[K14('UpdateSortingOrder')] = R1
0041  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0042  CLOSURE   R1 = closure proto11
0043  SETTABLE  R0[K15('OnClose')] = R1
0044  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0045  CLOSURE   R1 = closure proto12
0046  SETTABLE  R0[K16('GetContentHeight')] = R1
0047  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0048  CLOSURE   R1 = closure proto13
0049  SETTABLE  R0[K17('_InitContainer')] = R1
0050  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0051  CLOSURE   R1 = closure proto14
0052  SETTABLE  R0[K18('_TryUpdateRefreshCostText')] = R1
0053  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0054  CLOSURE   R1 = closure proto15
0055  SETTABLE  R0[K19('_UpdateContentForCellCount')] = R1
0056  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0057  CLOSURE   R1 = closure proto16
0058  SETTABLE  R0[K20('_UpdateHeight')] = R1
0059  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0060  CLOSURE   R1 = closure proto17
0061  SETTABLE  R0[K21('OnRefreshButtonClicked')] = R1
0062  GETTABUP  R0 = _ENV[K0('BaseShopListContainer')]
0063  CLOSURE   R1 = closure proto18
0064  SETTABLE  R0[K22('ShowFocusEffect')] = R1
0065  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 6-21 np=4 va=0 ms=8 code=33 consts=21 upvals=1 protos=0
  ;   K[0]='m_shopType'
  ;   K[1]='m_canCostForRefresh'
  ;   K[2]='m_cellNumberInRow'
  ;   K[3]='_InitContainer'
  ;   K[4]='_UpdateContent'
  ;   K[5]='EventDispatcher'
  ;   K[6]='AddListener'
  ;   K[7]='EEventType'
  ;   K[8]='ShopRefreshed'
  ;   K[9]='_OnShopRefreshed'
  ;   K[10]='m_animated'
  ;   K[11]=true
  ;   K[12]='transform'
  ;   K[13]='SetLocalScaleXY'
  ;   K[14]=0
  ;   K[15]='DOScale'
  ;   K[16]=1
  ;   K[17]=0.4
  ;   K[18]='SetEase'
  ;   K[19]='Ease'
  ;   K[20]='OutBack'
  ;   upvals: _ENV
  ;   locals: self(0-33), shopType(0-33), canCostForRefresh(0-33), cellNumberInRow(0-33)
  0000  SETTABLE  R0[K0('m_shopType')] = R1
  0001  SETTABLE  R0[K1('m_canCostForRefresh')] = R2
  0002  SETTABLE  R0[K2('m_cellNumberInRow')] = R3
  0003  SELF      R5 = R0[K3('_InitContainer')] (self)
  0004  CALL      R4 = call(R4, 0 args, 1 rets)
  0005  SELF      R5 = R0[K4('_UpdateContent')] (self)
  0006  CALL      R4 = call(R4, 0 args, 1 rets)
  0007  GETTABUP  R4 = _ENV[K5('EventDispatcher')]
  0008  GETTABLE  R4 = R4[K6('AddListener')]
  0009  GETTABUP  R5 = _ENV[K7('EEventType')]
  0010  GETTABLE  R5 = R5[K8('ShopRefreshed')]
  0011  MOVE      R6 = R0
  0012  GETTABLE  R7 = R0[K9('_OnShopRefreshed')]
  0013  CALL      R4 = call(R4, 0 args, 3 rets)
  0014  GETTABLE  R4 = R0[K10('m_animated')]
  0015  TEST      if not R4 then   -> -131054
  0016  JMP       (jump)   -> 32
  0017  SETTABLE  R0[K10('m_animated')] = K11(true)
  0018  GETTABLE  R4 = R0[K12('transform')]
  0019  SELF      R5 = R4[K13('SetLocalScaleXY')] (self)
  0020  LOADK     R6 = K14 0
  0021  CALL      R4 = call(R4, 0 args, 2 rets)
  0022  GETTABLE  R4 = R0[K12('transform')]
  0023  SELF      R5 = R4[K15('DOScale')] (self)
  0024  LOADK     R6 = K16 1
  0025  LOADK     R7 = K17 0.4
  0026  CALL      R4 = call(R4, 1 args, 3 rets)
  0027  SELF      R5 = R4[K18('SetEase')] (self)
  0028  GETTABUP  R6 = _ENV[K19('Ease')]
  0029  GETTABLE  R6 = R6[K20('OutBack')]
  0030  LOADK     R7 = K16 1
  0031  CALL      R4 = call(R4, 0 args, 3 rets)
  0032  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 23-25 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 [UpdatePerSecond] ----------
  ; fn ?  line 27-31 np=1 va=0 ms=8 code=21 consts=12 upvals=1 protos=0
  ;   K[0]='m_refreshTime'
  ;   K[1]=nil
  ;   K[2]='m_refreshText'
  ;   K[3]='text'
  ;   K[4]='TimeUtil'
  ;   K[5]='ParseTimeDescription'
  ;   K[6]='math'
  ;   K[7]='max'
  ;   K[8]=0
  ;   K[9]='GM'
  ;   K[10]='GameModel'
  ;   K[11]='GetServerTime'
  ;   upvals: _ENV
  ;   locals: self(0-21)
  0000  GETTABLE  R1 = R0[K0('m_refreshTime')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 20
  0003  GETTABLE  R1 = R0[K2('m_refreshText')]
  0004  GETTABUP  R2 = _ENV[K4('TimeUtil')]
  0005  GETTABLE  R2 = R2[K5('ParseTimeDescription')]
  0006  GETTABUP  R3 = _ENV[K6('math')]
  0007  GETTABLE  R3 = R3[K7('max')]
  0008  LOADK     R4 = K8 0
  0009  GETTABLE  R5 = R0[K0('m_refreshTime')]
  0010  GETTABUP  R6 = _ENV[K9('GM')]
  0011  GETTABLE  R6 = R6[K10('GameModel')]
  0012  SELF      R7 = R6[K11('GetServerTime')] (self)
  0013  CALL      R6 = call(R6, 1 args, 1 rets)
  0014  SUB       R5 = R6 sub R5
  0015  CALL      R3 = call(R3, 1 args, 2 rets)
  0016  LOADNIL   R4..R4 = nil
  0017  LOADBOOL  R6 = false
  0018  CALL      R2 = call(R2, 1 args, 4 rets)
  0019  SETTABLE  R1[K3('text')] = R2
  0020  RETURN    return R0..R-1
; ---------- proto3 [_OnShopRefreshed] ----------
  ; fn ?  line 33-37 np=2 va=0 ms=4 code=9 consts=4 upvals=0 protos=0
  ;   K[0]=nil
  ;   K[1]='shopType'
  ;   K[2]='m_shopType'
  ;   K[3]='_UpdateContent'
  ;   locals: self(0-9), message(0-9)
  0000  EQ        if R1 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 8
  0002  GETTABLE  R2 = R1[K1('shopType')]
  0003  GETTABLE  R3 = R0[K2('m_shopType')]
  0004  EQ        if R0 eq R3   -> -130039
  0005  JMP       (jump)   -> 8
  0006  SELF      R3 = R0[K3('_UpdateContent')] (self)
  0007  CALL      R2 = call(R2, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto4 [GetCellCount] ----------
  ; fn ?  line 39-41 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_cellCount'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_cellCount')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto5 [GetCell] ----------
  ; fn ?  line 43-45 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_cells'
  ;   locals: self(0-4), index(0-4)
  0000  GETTABLE  R2 = R0[K0('m_cells')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto6 [_GetRefreshTime] ----------
  ; fn ?  line 47-49 np=1 va=0 ms=2 code=3 consts=0 upvals=0 protos=0
  ;   locals: self(0-3)
  0000  LOADNIL   R1..R1 = nil
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto7 [_DoRefresh] ----------
  ; fn ?  line 51-53 np=2 va=0 ms=3 code=3 consts=0 upvals=0 protos=0
  ;   locals: self(0-3), isAd(0-3)
  0000  LOADBOOL  R2 = false
  0001  RETURN    return R2..R1
  0002  RETURN    return R0..R-1
; ---------- proto8 [_UpdateContent] ----------
  ; fn ?  line 55-98 np=1 va=0 ms=13 code=106 consts=26 upvals=1 protos=1
  ;   K[0]='_TryUpdateRefreshCostText'
  ;   K[1]='_GetCellData'
  ;   K[2]=0
  ;   K[3]='gameObject'
  ;   K[4]='SetActive'
  ;   K[5]='ipairs'
  ;   K[6]='m_cells'
  ;   K[7]=nil
  ;   K[8]='UpdateContent'
  ;   K[9]='Object'
  ;   K[10]='Instantiate'
  ;   K[11]='m_cellPrefab'
  ;   K[12]='m_cellsLayoutGroup'
  ;   K[13]='transform'
  ;   K[14]='GetLuaTable'
  ;   K[15]='Init'
  ;   K[16]='m_sortingOrder'
  ;   K[17]='m_cells'
  ;   K[18]='UpdateSortingOrder'
  ;   K[19]=1
  ;   K[20]='m_refreshTime'
  ;   K[21]='_GetRefreshTime'
  ;   K[22]='m_refreshContentGo'
  ;   K[23]='UpdatePerSecond'
  ;   K[24]='m_cellCount'
  ;   K[25]='_UpdateContentForCellCount'
  ;   upvals: _ENV
  ;   locals: self(0-106), cellData(4-106), cellDataEmpty(9-106), (for generator)(19-63), (for state)(19-63), (for control)(19-63), i(20-61), data(20-61), cellGo(42-60), (for index)(68-80), (for limit)(68-80), (for step)(68-80), i(69-79)
  0000  SELF      R2 = R0[K0('_TryUpdateRefreshCostText')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  SELF      R2 = R0[K1('_GetCellData')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  LEN       R2 = len R0
  0005  EQ        if R1 eq K2(0)   -> -129783
  0006  JMP       (jump)   -> 8
  0007  LOADBOOL  R2 = false
  0008  LOADBOOL  R2 = true
  0009  GETTABLE  R3 = R0[K3('gameObject')]
  0010  SELF      R4 = R3[K4('SetActive')] (self)
  0011  NOT       R5 = not R0
  0012  CALL      R3 = call(R3, 0 args, 2 rets)
  0013  TEST      if not R2 then   -> -131057
  0014  JMP       (jump)   -> 16
  0015  RETURN    return R0..R-1
  0016  GETTABUP  R3 = _ENV[K5('ipairs')]
  0017  MOVE      R4 = R0
  0018  CALL      R3 = call(R3, 3 args, 1 rets)
  0019  JMP       (jump)   -> 61
  0020  GETTABLE  R8 = R0[K6('m_cells')]
  0021  GETTABLE  R8 = R8[R6]
  0022  EQ        if R1 eq K7(nil)   -> -126689
  0023  JMP       (jump)   -> 36
  0024  GETTABLE  R8 = R0[K6('m_cells')]
  0025  GETTABLE  R8 = R8[R6]
  0026  GETTABLE  R8 = R8[K3('gameObject')]
  0027  SELF      R9 = R8[K4('SetActive')] (self)
  0028  LOADBOOL  R10 = true
  0029  CALL      R8 = call(R8, 0 args, 2 rets)
  0030  GETTABLE  R8 = R0[K6('m_cells')]
  0031  GETTABLE  R8 = R8[R6]
  0032  SELF      R9 = R8[K8('UpdateContent')] (self)
  0033  MOVE      R10 = R0
  0034  CALL      R8 = call(R8, 0 args, 2 rets)
  0035  JMP       (jump)   -> 61
  0036  GETTABUP  R8 = _ENV[K9('Object')]
  0037  GETTABLE  R8 = R8[K10('Instantiate')]
  0038  GETTABLE  R9 = R0[K11('m_cellPrefab')]
  0039  GETTABLE  R10 = R0[K12('m_cellsLayoutGroup')]
  0040  GETTABLE  R10 = R10[K13('transform')]
  0041  CALL      R8 = call(R8, 1 args, 2 rets)
  0042  GETTABLE  R9 = R0[K6('m_cells')]
  0043  SELF      R11 = R8[K14('GetLuaTable')] (self)
  0044  CALL      R10 = call(R10, 1 args, 1 rets)
  0045  SETTABLE  R9[R6] = R10
  0046  GETTABLE  R9 = R0[K6('m_cells')]
  0047  GETTABLE  R9 = R9[R6]
  0048  SELF      R10 = R9[K15('Init')] (self)
  0049  MOVE      R11 = R0
  0050  CLOSURE   R12 = closure proto0
  0051  CALL      R9 = call(R9, 0 args, 3 rets)
  0052  GETTABLE  R9 = R0[K16('m_sortingOrder')]
  0053  EQ        if R1 eq K7(nil)   -> -126146
  0054  JMP       (jump)   -> 61
  0055  GETTABLE  R9 = R0[K17('m_cells')]
  0056  GETTABLE  R9 = R9[R6]
  0057  SELF      R10 = R9[K18('UpdateSortingOrder')] (self)
  0058  GETTABLE  R11 = R0[K16('m_sortingOrder')]
  0059  CALL      R9 = call(R9, 0 args, 2 rets)
  0060  JMP       (jump)   -> 61
  0061  TFORCALL  tforcall R3
  0062  TFORLOOP  tforloop R5(sBx=-43)   -> 20
  0063  LEN       R3 = len R0
  0064  ADD       R3 = K19(1) add R3
  0065  GETTABLE  R4 = R0[K17('m_cells')]
  0066  LEN       R4 = len R0
  0067  LOADK     R5 = K19 1
  0068  FORPREP   forprep R3(sBx=10)   -> 79
  0069  GETTABLE  R7 = R0[K17('m_cells')]
  0070  GETTABLE  R7 = R7[R6]
  0071  EQ        if R1 eq K7(nil)   -> -127152
  0072  JMP       (jump)   -> 79
  0073  GETTABLE  R7 = R0[K17('m_cells')]
  0074  GETTABLE  R7 = R7[R6]
  0075  GETTABLE  R7 = R7[K3('gameObject')]
  0076  SELF      R8 = R7[K4('SetActive')] (self)
  0077  LOADBOOL  R9 = false
  0078  CALL      R7 = call(R7, 0 args, 2 rets)
  0079  FORLOOP   forloop R3(sBx=-11)   -> 69
  0080  SELF      R4 = R0[K21('_GetRefreshTime')] (self)
  0081  CALL      R3 = call(R3, 1 args, 1 rets)
  0082  SETTABLE  R0[K20('m_refreshTime')] = R3
  0083  GETTABLE  R3 = R0[K20('m_refreshTime')]
  0084  EQ        if R1 eq K7(nil)   -> -129187
  0085  JMP       (jump)   -> 93
  0086  GETTABLE  R3 = R0[K22('m_refreshContentGo')]
  0087  SELF      R4 = R3[K4('SetActive')] (self)
  0088  LOADBOOL  R5 = true
  0089  CALL      R3 = call(R3, 0 args, 2 rets)
  0090  SELF      R4 = R0[K23('UpdatePerSecond')] (self)
  0091  CALL      R3 = call(R3, 0 args, 1 rets)
  0092  JMP       (jump)   -> 97
  0093  GETTABLE  R3 = R0[K22('m_refreshContentGo')]
  0094  SELF      R4 = R3[K4('SetActive')] (self)
  0095  LOADBOOL  R5 = false
  0096  CALL      R3 = call(R3, 0 args, 2 rets)
  0097  GETTABLE  R3 = R0[K24('m_cellCount')]
  0098  LEN       R4 = len R0
  0099  EQ        if R1 eq R4   -> -129431
  0100  JMP       (jump)   -> 105
  0101  LEN       R3 = len R0
  0102  SETTABLE  R0[K24('m_cellCount')] = R3
  0103  SELF      R4 = R0[K25('_UpdateContentForCellCount')] (self)
  0104  CALL      R3 = call(R3, 0 args, 1 rets)
  0105  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 72-72 np=0 va=0 ms=4 code=7 consts=2 upvals=2 protos=0
    ;   K[0]='_OnCellClicked'
    ;   K[1]='m_cells'
    ;   upvals: self, i
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_OnCellClicked')] (self)
    0002  GETTABUP  R2 = self[K1('m_cells')]
    0003  GETUPVAL  R3 = self
    0004  GETTABLE  R2 = R2[R3]
    0005  CALL      R0 = call(R0, 0 args, 2 rets)
    0006  RETURN    return R0..R-1
; ---------- proto9 [GetShopType] ----------
  ; fn ?  line 100-102 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_shopType'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_shopType')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto10 [UpdateSortingOrder] ----------
  ; fn ?  line 104-114 np=2 va=0 ms=10 code=19 consts=5 upvals=1 protos=0
  ;   K[0]='m_sortingOrder'
  ;   K[1]=nil
  ;   K[2]='ipairs'
  ;   K[3]='m_cells'
  ;   K[4]='UpdateSortingOrder'
  ;   upvals: _ENV
  ;   locals: self(0-19), sortingOrder(0-19), (for generator)(8-17), (for state)(8-17), (for control)(8-17), _(9-15), cell(9-15)
  0000  GETTABLE  R2 = R0[K0('m_sortingOrder')]
  0001  EQ        if R1 eq R1   -> -130044
  0002  JMP       (jump)   -> 17
  0003  EQ        if R1 eq K1(nil)   -> -130298
  0004  JMP       (jump)   -> 17
  0005  GETTABUP  R2 = _ENV[K2('ipairs')]
  0006  GETTABLE  R3 = R0[K3('m_cells')]
  0007  CALL      R2 = call(R2, 3 args, 1 rets)
  0008  JMP       (jump)   -> 15
  0009  GETTABLE  R7 = R6[K4('UpdateSortingOrder')]
  0010  TEST      if not R7 then   -> -131060
  0011  JMP       (jump)   -> 15
  0012  SELF      R8 = R6[K4('UpdateSortingOrder')] (self)
  0013  MOVE      R9 = R0
  0014  CALL      R7 = call(R7, 0 args, 2 rets)
  0015  TFORCALL  tforcall R2
  0016  TFORLOOP  tforloop R4(sBx=-8)   -> 9
  0017  SETTABLE  R0[K0('m_sortingOrder')] = R1
  0018  RETURN    return R0..R-1
; ---------- proto11 [OnClose] ----------
  ; fn ?  line 116-122 np=1 va=0 ms=8 code=14 consts=6 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='m_cells'
  ;   K[2]='OnClose'
  ;   K[3]='m_focusRootTrans'
  ;   K[4]='gameObject'
  ;   K[5]='SetActive'
  ;   upvals: _ENV
  ;   locals: self(0-14), (for generator)(3-8), (for state)(3-8), (for control)(3-8), _(4-6), cell(4-6)
  0000  GETTABUP  R1 = _ENV[K0('ipairs')]
  0001  GETTABLE  R2 = R0[K1('m_cells')]
  0002  CALL      R1 = call(R1, 3 args, 1 rets)
  0003  JMP       (jump)   -> 6
  0004  SELF      R7 = R5[K2('OnClose')] (self)
  0005  CALL      R6 = call(R6, 0 args, 1 rets)
  0006  TFORCALL  tforcall R1
  0007  TFORLOOP  tforloop R3(sBx=-4)   -> 4
  0008  GETTABLE  R1 = R0[K3('m_focusRootTrans')]
  0009  GETTABLE  R1 = R1[K4('gameObject')]
  0010  SELF      R2 = R1[K5('SetActive')] (self)
  0011  LOADBOOL  R3 = false
  0012  CALL      R1 = call(R1, 0 args, 2 rets)
  0013  RETURN    return R0..R-1
; ---------- proto12 [GetContentHeight] ----------
  ; fn ?  line 124-126 np=1 va=0 ms=2 code=10 consts=4 upvals=0 protos=0
  ;   K[0]='gameObject'
  ;   K[1]='activeSelf'
  ;   K[2]='m_height'
  ;   K[3]=0
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('gameObject')]
  0001  GETTABLE  R1 = R1[K1('activeSelf')]
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  GETTABLE  R1 = R0[K2('m_height')]
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R1 = K3 0
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto13 [_InitContainer] ----------
  ; fn ?  line 128-141 np=1 va=0 ms=4 code=36 consts=22 upvals=0 protos=0
  ;   K[0]='m_cells'
  ;   K[1]='m_cellCount'
  ;   K[2]=0
  ;   K[3]='m_refreshButtonGo'
  ;   K[4]='SetActive'
  ;   K[5]='m_canCostForRefresh'
  ;   K[6]='_TryUpdateRefreshCostText'
  ;   K[7]='m_originHeight'
  ;   K[8]='gameObject'
  ;   K[9]='transform'
  ;   K[10]='sizeDelta'
  ;   K[11]='y'
  ;   K[12]='m_refreshContentHeight'
  ;   K[13]='m_refreshContentGo'
  ;   K[14]='m_cellWidth'
  ;   K[15]='m_cellsLayoutGroup'
  ;   K[16]='cellSize'
  ;   K[17]='x'
  ;   K[18]='m_cellHeight'
  ;   K[19]='m_spacingWidth'
  ;   K[20]='spacing'
  ;   K[21]='m_spacingHeight'
  ;   locals: self(0-36)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_cells')] = R1
  0002  SETTABLE  R0[K1('m_cellCount')] = K2(0)
  0003  GETTABLE  R1 = R0[K3('m_refreshButtonGo')]
  0004  SELF      R2 = R1[K4('SetActive')] (self)
  0005  GETTABLE  R3 = R0[K5('m_canCostForRefresh')]
  0006  CALL      R1 = call(R1, 0 args, 2 rets)
  0007  SELF      R2 = R0[K6('_TryUpdateRefreshCostText')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  GETTABLE  R1 = R0[K8('gameObject')]
  0010  GETTABLE  R1 = R1[K9('transform')]
  0011  GETTABLE  R1 = R1[K10('sizeDelta')]
  0012  GETTABLE  R1 = R1[K11('y')]
  0013  SETTABLE  R0[K7('m_originHeight')] = R1
  0014  GETTABLE  R1 = R0[K13('m_refreshContentGo')]
  0015  GETTABLE  R1 = R1[K9('transform')]
  0016  GETTABLE  R1 = R1[K10('sizeDelta')]
  0017  GETTABLE  R1 = R1[K11('y')]
  0018  SETTABLE  R0[K12('m_refreshContentHeight')] = R1
  0019  GETTABLE  R1 = R0[K15('m_cellsLayoutGroup')]
  0020  GETTABLE  R1 = R1[K16('cellSize')]
  0021  GETTABLE  R1 = R1[K17('x')]
  0022  SETTABLE  R0[K14('m_cellWidth')] = R1
  0023  GETTABLE  R1 = R0[K15('m_cellsLayoutGroup')]
  0024  GETTABLE  R1 = R1[K16('cellSize')]
  0025  GETTABLE  R1 = R1[K11('y')]
  0026  SETTABLE  R0[K18('m_cellHeight')] = R1
  0027  GETTABLE  R1 = R0[K15('m_cellsLayoutGroup')]
  0028  GETTABLE  R1 = R1[K20('spacing')]
  0029  GETTABLE  R1 = R1[K17('x')]
  0030  SETTABLE  R0[K19('m_spacingWidth')] = R1
  0031  GETTABLE  R1 = R0[K15('m_cellsLayoutGroup')]
  0032  GETTABLE  R1 = R1[K20('spacing')]
  0033  GETTABLE  R1 = R1[K11('y')]
  0034  SETTABLE  R0[K21('m_spacingHeight')] = R1
  0035  RETURN    return R0..R-1
; ---------- proto14 [_TryUpdateRefreshCostText] ----------
  ; fn ?  line 143-147 np=1 va=0 ms=4 code=10 consts=6 upvals=1 protos=0
  ;   K[0]='m_canCostForRefresh'
  ;   K[1]='m_refreshButtonText'
  ;   K[2]='text'
  ;   K[3]='GM'
  ;   K[4]='ShopModel'
  ;   K[5]='GetRefreshGemCost'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_canCostForRefresh')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 9
  0003  GETTABLE  R1 = R0[K1('m_refreshButtonText')]
  0004  GETTABUP  R2 = _ENV[K3('GM')]
  0005  GETTABLE  R2 = R2[K4('ShopModel')]
  0006  SELF      R3 = R2[K5('GetRefreshGemCost')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  SETTABLE  R1[K2('text')] = R2
  0009  RETURN    return R0..R-1
; ---------- proto15 [_UpdateContentForCellCount] ----------
  ; fn ?  line 149-157 np=1 va=0 ms=7 code=30 consts=13 upvals=1 protos=0
  ;   K[0]='m_cellCount'
  ;   K[1]=1
  ;   K[2]='m_cellNumberInRow'
  ;   K[3]='m_height'
  ;   K[4]='m_originHeight'
  ;   K[5]='m_cellHeight'
  ;   K[6]='m_spacingHeight'
  ;   K[7]='math'
  ;   K[8]='max'
  ;   K[9]=0
  ;   K[10]='m_refreshTime'
  ;   K[11]='m_refreshContentHeight'
  ;   K[12]='_UpdateHeight'
  ;   upvals: _ENV
  ;   locals: self(0-30), rows(5-30)
  0000  GETTABLE  R1 = R0[K0('m_cellCount')]
  0001  SUB       R1 = K1(1) sub R1
  0002  GETTABLE  R2 = R0[K2('m_cellNumberInRow')]
  0003  IDIV      R1 = R2 idiv R1
  0004  ADD       R1 = K1(1) add R1
  0005  GETTABLE  R2 = R0[K4('m_originHeight')]
  0006  GETTABLE  R3 = R0[K5('m_cellHeight')]
  0007  GETTABLE  R4 = R0[K6('m_spacingHeight')]
  0008  ADD       R3 = R4 add R3
  0009  GETTABUP  R4 = _ENV[K7('math')]
  0010  GETTABLE  R4 = R4[K8('max')]
  0011  LOADK     R5 = K9 0
  0012  SUB       R6 = K1(1) sub R1
  0013  CALL      R4 = call(R4, 1 args, 2 rets)
  0014  MUL       R3 = R4 mul R3
  0015  ADD       R2 = R3 add R2
  0016  GETTABLE  R3 = R0[K5('m_cellHeight')]
  0017  ADD       R2 = R3 add R2
  0018  GETTABLE  R3 = R0[K10('m_refreshTime')]
  0019  TEST      if not R3 then   -> -131051
  0020  JMP       (jump)   -> 24
  0021  LOADK     R3 = K9 0
  0022  TEST      if not R3 then   -> -131047
  0023  JMP       (jump)   -> 25
  0024  GETTABLE  R3 = R0[K11('m_refreshContentHeight')]
  0025  SUB       R2 = R3 sub R2
  0026  SETTABLE  R0[K3('m_height')] = R2
  0027  SELF      R3 = R0[K12('_UpdateHeight')] (self)
  0028  CALL      R2 = call(R2, 0 args, 1 rets)
  0029  RETURN    return R0..R-1
; ---------- proto16 [_UpdateHeight] ----------
  ; fn ?  line 159-168 np=1 va=0 ms=5 code=19 consts=7 upvals=1 protos=0
  ;   K[0]='gameObject'
  ;   K[1]='SetActive'
  ;   K[2]='transform'
  ;   K[3]='sizeDelta'
  ;   K[4]='Vector2'
  ;   K[5]='x'
  ;   K[6]='m_height'
  ;   upvals: _ENV
  ;   locals: self(0-19)
  0000  GETTABLE  R1 = R0[K0('gameObject')]
  0001  SELF      R2 = R1[K1('SetActive')] (self)
  0002  LOADBOOL  R3 = false
  0003  CALL      R1 = call(R1, 0 args, 2 rets)
  0004  GETTABLE  R1 = R0[K0('gameObject')]
  0005  GETTABLE  R1 = R1[K2('transform')]
  0006  GETTABUP  R2 = _ENV[K4('Vector2')]
  0007  GETTABLE  R3 = R0[K0('gameObject')]
  0008  GETTABLE  R3 = R3[K2('transform')]
  0009  GETTABLE  R3 = R3[K3('sizeDelta')]
  0010  GETTABLE  R3 = R3[K5('x')]
  0011  GETTABLE  R4 = R0[K6('m_height')]
  0012  CALL      R2 = call(R2, 1 args, 2 rets)
  0013  SETTABLE  R1[K3('sizeDelta')] = R2
  0014  GETTABLE  R1 = R0[K0('gameObject')]
  0015  SELF      R2 = R1[K1('SetActive')] (self)
  0016  LOADBOOL  R3 = true
  0017  CALL      R1 = call(R1, 0 args, 2 rets)
  0018  RETURN    return R0..R-1
; ---------- proto17 [OnRefreshButtonClicked] ----------
  ; fn ?  line 170-181 np=1 va=0 ms=7 code=30 consts=13 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='PropertyDataManager'
  ;   K[2]='GetPropertyNum'
  ;   K[3]='EPropertyType'
  ;   K[4]='Gem'
  ;   K[5]='ShopModel'
  ;   K[6]='GetRefreshGemCost'
  ;   K[7]='_DoRefresh'
  ;   K[8]='_UpdateContent'
  ;   K[9]='_TryUpdateRefreshCostText'
  ;   K[10]='OnLackOfGem'
  ;   K[11]='EBIType'
  ;   K[12]='ShopRefresh'
  ;   upvals: _ENV
  ;   locals: self(0-30), currentGemCount(6-30), gemCost(10-30)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('PropertyDataManager')]
  0002  SELF      R2 = R1[K2('GetPropertyNum')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EPropertyType')]
  0004  GETTABLE  R3 = R3[K4('Gem')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  GETTABUP  R2 = _ENV[K0('GM')]
  0007  GETTABLE  R2 = R2[K5('ShopModel')]
  0008  SELF      R3 = R2[K6('GetRefreshGemCost')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  LE        if R0 le R1   -> -130035
  0011  JMP       (jump)   -> 22
  0012  SELF      R4 = R0[K7('_DoRefresh')] (self)
  0013  LOADBOOL  R5 = false
  0014  CALL      R3 = call(R3, 1 args, 2 rets)
  0015  TEST      if not R3 then   -> -131055
  0016  JMP       (jump)   -> 19
  0017  SELF      R4 = R0[K8('_UpdateContent')] (self)
  0018  CALL      R3 = call(R3, 0 args, 1 rets)
  0019  SELF      R4 = R0[K9('_TryUpdateRefreshCostText')] (self)
  0020  CALL      R3 = call(R3, 0 args, 1 rets)
  0021  JMP       (jump)   -> 29
  0022  GETTABUP  R3 = _ENV[K0('GM')]
  0023  GETTABLE  R3 = R3[K5('ShopModel')]
  0024  SELF      R4 = R3[K10('OnLackOfGem')] (self)
  0025  SUB       R5 = R1 sub R2
  0026  GETTABUP  R6 = _ENV[K11('EBIType')]
  0027  GETTABLE  R6 = R6[K12('ShopRefresh')]
  0028  CALL      R3 = call(R3, 0 args, 3 rets)
  0029  RETURN    return R0..R-1
; ---------- proto18 [ShowFocusEffect] ----------
  ; fn ?  line 183-185 np=1 va=0 ms=9 code=18 consts=12 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ResourceLoader'
  ;   K[2]='LoadPrefab'
  ;   K[3]='DataResource'
  ;   K[4]='UIPrefabConfig'
  ;   K[5]='GetConfig'
  ;   K[6]='UIPrefabConfigName'
  ;   K[7]='effect_shop_tishi'
  ;   K[8]='m_focusRootTrans'
  ;   K[9]='Vector3'
  ;   K[10]=0
  ;   K[11]=30
  ;   upvals: _ENV
  ;   locals: self(0-18)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('ResourceLoader')]
  0002  SELF      R2 = R1[K2('LoadPrefab')] (self)
  0003  GETTABUP  R3 = _ENV[K0('GM')]
  0004  GETTABLE  R3 = R3[K3('DataResource')]
  0005  GETTABLE  R3 = R3[K4('UIPrefabConfig')]
  0006  SELF      R4 = R3[K5('GetConfig')] (self)
  0007  GETTABUP  R5 = _ENV[K6('UIPrefabConfigName')]
  0008  GETTABLE  R5 = R5[K7('effect_shop_tishi')]
  0009  CALL      R3 = call(R3, 1 args, 2 rets)
  0010  GETTABLE  R4 = R0[K8('m_focusRootTrans')]
  0011  GETTABUP  R5 = _ENV[K9('Vector3')]
  0012  LOADK     R6 = K10 0
  0013  LOADK     R7 = K11 30
  0014  LOADK     R8 = K10 0
  0015  CALL      R5 = call(R5, -1 args, 3 rets)
  0016  CALL      R1 = call(R1, 0 args, -1 rets)
  0017  RETURN    return R0..R-1
