# UI_Window_Inventory_InventoryWindow_600.luac
; fn @InventoryWindow.lua  line 0-0 np=0 va=1 ms=3 code=110 consts=54 upvals=1 protos=29
;   K[0]='EInventoryCellCode'
;   K[1]='Empty'
;   K[2]=1
;   K[3]='NewSlot'
;   K[4]=2
;   K[5]='Locked'
;   K[6]=3
;   K[7]='Item'
;   K[8]=4
;   K[9]='ProducerEmpty'
;   K[10]=5
;   K[11]='ProducerLocked'
;   K[12]=6
;   K[13]='EInventoryTabLabel'
;   K[14]='Normal'
;   K[15]='Producer'
;   K[16]='InventoryWindow'
;   K[17]='setmetatable'
;   K[18]='canClickWindowMask'
;   K[19]=true
;   K[20]='itemViewSortingOrderNormal'
;   K[21]=13
;   K[22]='BaseWindow'
;   K[23]='__index'
;   K[24]='Init'
;   K[25]='OnCloseView'
;   K[26]='AddEventListener'
;   K[27]='RemoveEventListener'
;   K[28]='OnDestroy'
;   K[29]='_InitTabButtons'
;   K[30]='OnTabButtonClicked'
;   K[31]='_InitNormalContent'
;   K[32]='InventoryWindow'
;   K[33]='_OnListItemByIndex'
;   K[34]='UpdateOrderRequireState'
;   K[35]='_UpdateNormalContent'
;   K[36]='GetStoreSlotCount'
;   K[37]='_GetPositionFromIndex'
;   K[38]='_GetCell'
;   K[39]='_SetCell'
;   K[40]='_ResetCells'
;   K[41]='_SetBuyCells'
;   K[42]='_OnNewSlotOpen'
;   K[43]='TryRetrieveItem'
;   K[44]='_ToggleHudHighlight'
;   K[45]='ScrollToTargetRow'
;   K[46]='_InitProducerContent'
;   K[47]='_LoadProducerContent'
;   K[48]='_OnListProducerItemByIndex'
;   K[49]='_ResetProducerCells'
;   K[50]='_SetProducerCell'
;   K[51]='GetProducerTabButtonTrans'
;   K[52]='PlayProducerTutorialAnim'
;   K[53]='GetSkipPropBtn'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABLE  R0[K1('Empty')] = K2(1)
0002  SETTABLE  R0[K3('NewSlot')] = K4(2)
0003  SETTABLE  R0[K5('Locked')] = K6(3)
0004  SETTABLE  R0[K7('Item')] = K8(4)
0005  SETTABLE  R0[K9('ProducerEmpty')] = K10(5)
0006  SETTABLE  R0[K11('ProducerLocked')] = K12(6)
0007  SETTABUP  _ENV[K0('EInventoryCellCode')] = R0
0008  NEWTABLE  R0 = {} (0 items)
0009  SETTABLE  R0[K14('Normal')] = K14('Normal')
0010  SETTABLE  R0[K15('Producer')] = K15('Producer')
0011  SETTABUP  _ENV[K13('EInventoryTabLabel')] = R0
0012  GETTABUP  R0 = _ENV[K17('setmetatable')]
0013  NEWTABLE  R1 = {} (0 items)
0014  SETTABLE  R1[K18('canClickWindowMask')] = K19(true)
0015  SETTABLE  R1[K20('itemViewSortingOrderNormal')] = K21(13)
0016  GETTABUP  R2 = _ENV[K22('BaseWindow')]
0017  CALL      R0 = call(R0, 1 args, 2 rets)
0018  SETTABUP  _ENV[K16('InventoryWindow')] = R0
0019  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0020  GETTABUP  R1 = _ENV[K16('InventoryWindow')]
0021  SETTABLE  R0[K23('__index')] = R1
0022  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0023  CLOSURE   R1 = closure proto0
0024  SETTABLE  R0[K24('Init')] = R1
0025  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0026  CLOSURE   R1 = closure proto1
0027  SETTABLE  R0[K25('OnCloseView')] = R1
0028  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0029  CLOSURE   R1 = closure proto2
0030  SETTABLE  R0[K26('AddEventListener')] = R1
0031  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0032  CLOSURE   R1 = closure proto3
0033  SETTABLE  R0[K27('RemoveEventListener')] = R1
0034  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0035  CLOSURE   R1 = closure proto4
0036  SETTABLE  R0[K28('OnDestroy')] = R1
0037  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0038  CLOSURE   R1 = closure proto5
0039  SETTABLE  R0[K29('_InitTabButtons')] = R1
0040  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0041  CLOSURE   R1 = closure proto6
0042  SETTABLE  R0[K30('OnTabButtonClicked')] = R1
0043  GETTABUP  R0 = _ENV[K16('InventoryWindow')]
0044  CLOSURE   R1 = closure proto7
0045  SETTABLE  R0[K31('_InitNormalContent')] = R1
0046  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0047  CLOSURE   R1 = closure proto8
0048  SETTABLE  R0[K33('_OnListItemByIndex')] = R1
0049  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0050  CLOSURE   R1 = closure proto9
0051  SETTABLE  R0[K34('UpdateOrderRequireState')] = R1
0052  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0053  CLOSURE   R1 = closure proto10
0054  SETTABLE  R0[K35('_UpdateNormalContent')] = R1
0055  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0056  CLOSURE   R1 = closure proto11
0057  SETTABLE  R0[K36('GetStoreSlotCount')] = R1
0058  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0059  CLOSURE   R1 = closure proto12
0060  SETTABLE  R0[K37('_GetPositionFromIndex')] = R1
0061  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0062  CLOSURE   R1 = closure proto13
0063  SETTABLE  R0[K38('_GetCell')] = R1
0064  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0065  CLOSURE   R1 = closure proto14
0066  SETTABLE  R0[K39('_SetCell')] = R1
0067  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0068  CLOSURE   R1 = closure proto15
0069  SETTABLE  R0[K40('_ResetCells')] = R1
0070  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0071  CLOSURE   R1 = closure proto16
0072  SETTABLE  R0[K41('_SetBuyCells')] = R1
0073  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0074  CLOSURE   R1 = closure proto17
0075  SETTABLE  R0[K42('_OnNewSlotOpen')] = R1
0076  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0077  CLOSURE   R1 = closure proto18
0078  SETTABLE  R0[K43('TryRetrieveItem')] = R1
0079  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0080  CLOSURE   R1 = closure proto19
0081  SETTABLE  R0[K44('_ToggleHudHighlight')] = R1
0082  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0083  CLOSURE   R1 = closure proto20
0084  SETTABLE  R0[K45('ScrollToTargetRow')] = R1
0085  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0086  CLOSURE   R1 = closure proto21
0087  SETTABLE  R0[K46('_InitProducerContent')] = R1
0088  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0089  CLOSURE   R1 = closure proto22
0090  SETTABLE  R0[K47('_LoadProducerContent')] = R1
0091  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0092  CLOSURE   R1 = closure proto23
0093  SETTABLE  R0[K48('_OnListProducerItemByIndex')] = R1
0094  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0095  CLOSURE   R1 = closure proto24
0096  SETTABLE  R0[K49('_ResetProducerCells')] = R1
0097  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0098  CLOSURE   R1 = closure proto25
0099  SETTABLE  R0[K50('_SetProducerCell')] = R1
0100  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0101  CLOSURE   R1 = closure proto26
0102  SETTABLE  R0[K51('GetProducerTabButtonTrans')] = R1
0103  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0104  CLOSURE   R1 = closure proto27
0105  SETTABLE  R0[K52('PlayProducerTutorialAnim')] = R1
0106  GETTABUP  R0 = _ENV[K32('InventoryWindow')]
0107  CLOSURE   R1 = closure proto28
0108  SETTABLE  R0[K53('GetSkipPropBtn')] = R1
0109  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 23-45 np=3 va=0 ms=8 code=40 consts=17 upvals=1 protos=1
  ;   K[0]='m_bPlayTutorialAnim'
  ;   K[1]='m_scrollTargetItemModel'
  ;   K[2]='GM'
  ;   K[3]='MainBoardModel'
  ;   K[4]='SortInventory'
  ;   K[5]='m_codeStateMap'
  ;   K[6]='GetOrderCodeStateMap'
  ;   K[7]='m_greenBgDishMaterials'
  ;   K[8]='GetUnfilledOrderRequirementsConsiderView'
  ;   K[9]='greenBgDishMaterials'
  ;   K[10]='_InitNormalContent'
  ;   K[11]='_InitProducerContent'
  ;   K[12]='ClearNewStoredItems'
  ;   K[13]='_InitTabButtons'
  ;   K[14]='_ToggleHudHighlight'
  ;   K[15]='DelayExecuteFuncInView'
  ;   K[16]=0.5
  ;   upvals: _ENV
  ;   locals: self(0-40), bPlayTutorialAnim(0-40), scrollTargetItemModel(0-40)
  0000  SETTABLE  R0[K0('m_bPlayTutorialAnim')] = R1
  0001  SETTABLE  R0[K1('m_scrollTargetItemModel')] = R2
  0002  GETTABUP  R3 = _ENV[K2('GM')]
  0003  GETTABLE  R3 = R3[K3('MainBoardModel')]
  0004  SELF      R4 = R3[K4('SortInventory')] (self)
  0005  CALL      R3 = call(R3, 0 args, 1 rets)
  0006  GETTABUP  R3 = _ENV[K2('GM')]
  0007  GETTABLE  R3 = R3[K3('MainBoardModel')]
  0008  SELF      R4 = R3[K6('GetOrderCodeStateMap')] (self)
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  SETTABLE  R0[K5('m_codeStateMap')] = R3
  0011  GETTABUP  R3 = _ENV[K2('GM')]
  0012  GETTABLE  R3 = R3[K3('MainBoardModel')]
  0013  SELF      R4 = R3[K8('GetUnfilledOrderRequirementsConsiderView')] (self)
  0014  CALL      R3 = call(R3, 1 args, 1 rets)
  0015  GETTABLE  R3 = R3[K9('greenBgDishMaterials')]
  0016  SETTABLE  R0[K7('m_greenBgDishMaterials')] = R3
  0017  SELF      R4 = R0[K10('_InitNormalContent')] (self)
  0018  CALL      R3 = call(R3, 0 args, 1 rets)
  0019  SELF      R4 = R0[K11('_InitProducerContent')] (self)
  0020  CALL      R3 = call(R3, 0 args, 1 rets)
  0021  GETTABUP  R3 = _ENV[K2('GM')]
  0022  GETTABLE  R3 = R3[K3('MainBoardModel')]
  0023  SELF      R4 = R3[K12('ClearNewStoredItems')] (self)
  0024  CALL      R3 = call(R3, 0 args, 1 rets)
  0025  SELF      R4 = R0[K13('_InitTabButtons')] (self)
  0026  CALL      R3 = call(R3, 0 args, 1 rets)
  0027  SELF      R4 = R0[K14('_ToggleHudHighlight')] (self)
  0028  LOADBOOL  R5 = true
  0029  CALL      R3 = call(R3, 0 args, 2 rets)
  0030  GETTABLE  R3 = R0[K0('m_bPlayTutorialAnim')]
  0031  TEST      if not R3 then   -> -131039
  0032  JMP       (jump)   -> 39
  0033  GETTABUP  R3 = _ENV[K15('DelayExecuteFuncInView')]
  0034  CLOSURE   R4 = closure proto0
  0035  LOADK     R5 = K16 0.5
  0036  MOVE      R6 = R0
  0037  LOADBOOL  R7 = true
  0038  CALL      R3 = call(R3, 0 args, 4 rets)
  0039  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 41-43 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
    ;   K[0]='PlayProducerTutorialAnim'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('PlayProducerTutorialAnim')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  RETURN    return R0..R-1
; ---------- proto1 [OnCloseView] ----------
  ; fn ?  line 47-50 np=1 va=1 ms=4 code=8 consts=3 upvals=1 protos=0
  ;   K[0]='BaseWindow'
  ;   K[1]='OnCloseView'
  ;   K[2]='_ToggleHudHighlight'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('BaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnCloseView')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('_ToggleHudHighlight')] (self)
  0005  LOADBOOL  R3 = false
  0006  CALL      R1 = call(R1, 0 args, 2 rets)
  0007  RETURN    return R0..R-1
; ---------- proto2 [AddEventListener] ----------
  ; fn ?  line 52-55 np=1 va=0 ms=5 code=15 consts=7 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='AddListener'
  ;   K[2]='EEventType'
  ;   K[3]='InventoryNewSlot'
  ;   K[4]='_OnNewSlotOpen'
  ;   K[5]='OrderStateChanged'
  ;   K[6]='UpdateOrderRequireState'
  ;   upvals: _ENV
  ;   locals: self(0-15)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('AddListener')]
  0002  GETTABUP  R2 = _ENV[K2('EEventType')]
  0003  GETTABLE  R2 = R2[K3('InventoryNewSlot')]
  0004  MOVE      R3 = R0
  0005  GETTABLE  R4 = R0[K4('_OnNewSlotOpen')]
  0006  CALL      R1 = call(R1, 0 args, 3 rets)
  0007  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0008  GETTABLE  R1 = R1[K1('AddListener')]
  0009  GETTABUP  R2 = _ENV[K2('EEventType')]
  0010  GETTABLE  R2 = R2[K5('OrderStateChanged')]
  0011  MOVE      R3 = R0
  0012  GETTABLE  R4 = R0[K6('UpdateOrderRequireState')]
  0013  CALL      R1 = call(R1, 0 args, 3 rets)
  0014  RETURN    return R0..R-1
; ---------- proto3 [RemoveEventListener] ----------
  ; fn ?  line 57-59 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
; ---------- proto4 [OnDestroy] ----------
  ; fn ?  line 61-73 np=1 va=0 ms=4 code=21 consts=10 upvals=1 protos=0
  ;   K[0]='Scheduler'
  ;   K[1]='UnscheduleTarget'
  ;   K[2]='m_seq'
  ;   K[3]=nil
  ;   K[4]='Kill'
  ;   K[5]='m_bEventLocked'
  ;   K[6]='GM'
  ;   K[7]='UIManager'
  ;   K[8]='SetEventLock'
  ;   K[9]=false
  ;   upvals: _ENV
  ;   locals: self(0-21)
  0000  GETTABUP  R1 = _ENV[K0('Scheduler')]
  0001  GETTABLE  R1 = R1[K1('UnscheduleTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_seq')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 11
  0007  GETTABLE  R1 = R0[K2('m_seq')]
  0008  SELF      R2 = R1[K4('Kill')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  SETTABLE  R0[K2('m_seq')] = K3(nil)
  0011  GETTABLE  R1 = R0[K5('m_bEventLocked')]
  0012  TEST      if not R1 then   -> -131058
  0013  JMP       (jump)   -> 20
  0014  GETTABUP  R1 = _ENV[K6('GM')]
  0015  GETTABLE  R1 = R1[K7('UIManager')]
  0016  SELF      R2 = R1[K8('SetEventLock')] (self)
  0017  LOADBOOL  R3 = false
  0018  CALL      R1 = call(R1, 0 args, 2 rets)
  0019  SETTABLE  R0[K5('m_bEventLocked')] = K9(false)
  0020  RETURN    return R0..R-1
; ---------- proto5 [_InitTabButtons] ----------
  ; fn ?  line 75-85 np=1 va=0 ms=10 code=23 consts=7 upvals=1 protos=0
  ;   K[0]='m_mapLabel2TabBtn'
  ;   K[1]='pairs'
  ;   K[2]='EInventoryTabLabel'
  ;   K[3]='m_tabButton'
  ;   K[4]='Init'
  ;   K[5]='OnTabButtonClicked'
  ;   K[6]='Normal'
  ;   upvals: _ENV
  ;   locals: self(0-23), tbTabBtn(3-23), (for generator)(6-18), (for state)(6-18), (for control)(6-18), _(7-16), label(7-16)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_mapLabel2TabBtn')] = R1
  0002  LOADNIL   R1..R1 = nil
  0003  GETTABUP  R2 = _ENV[K1('pairs')]
  0004  GETTABUP  R3 = _ENV[K2('EInventoryTabLabel')]
  0005  CALL      R2 = call(R2, 3 args, 1 rets)
  0006  JMP       (jump)   -> 16
  0007  LOADK     R7 = K3 'm_tabButton'
  0008  MOVE      R8 = R0
  0009  CONCAT    R7 = concat(R7..R7)
  0010  GETTABLE  R1 = R0[R7]
  0011  SELF      R8 = R1[K4('Init')] (self)
  0012  MOVE      R9 = R0
  0013  CALL      R7 = call(R7, 0 args, 2 rets)
  0014  GETTABLE  R7 = R0[K0('m_mapLabel2TabBtn')]
  0015  SETTABLE  R7[R6] = R1
  0016  TFORCALL  tforcall R2
  0017  TFORLOOP  tforloop R4(sBx=-11)   -> 7
  0018  SELF      R3 = R0[K5('OnTabButtonClicked')] (self)
  0019  GETTABUP  R4 = _ENV[K2('EInventoryTabLabel')]
  0020  GETTABLE  R4 = R4[K6('Normal')]
  0021  CALL      R2 = call(R2, 0 args, 2 rets)
  0022  RETURN    return R0..R-1
; ---------- proto6 [OnTabButtonClicked] ----------
  ; fn ?  line 87-99 np=2 va=0 ms=11 code=37 consts=14 upvals=1 protos=0
  ;   K[0]='EInventoryTabLabel'
  ;   K[1]='Producer'
  ;   K[2]='m_bLoadProducerInv'
  ;   K[3]='_LoadProducerContent'
  ;   K[4]='pairs'
  ;   K[5]='m_mapLabel2TabBtn'
  ;   K[6]='SetHighlightActive'
  ;   K[7]='UIUtil'
  ;   K[8]='SetActive'
  ;   K[9]='m_node'
  ;   K[10]='EventDispatcher'
  ;   K[11]='DispatchEvent'
  ;   K[12]='EEventType'
  ;   K[13]='InventoryChangeTab'
  ;   upvals: _ENV
  ;   locals: self(0-37), tabLabel(0-37), bSelect(10-37), (for generator)(13-31), (for state)(13-31), (for control)(13-31), label(14-29), tabBtn(14-29)
  0000  GETTABUP  R2 = _ENV[K0('EInventoryTabLabel')]
  0001  GETTABLE  R2 = R2[K1('Producer')]
  0002  EQ        if R0 eq R2   -> -130554
  0003  JMP       (jump)   -> 9
  0004  GETTABLE  R2 = R0[K2('m_bLoadProducerInv')]
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 9
  0007  SELF      R3 = R0[K3('_LoadProducerContent')] (self)
  0008  CALL      R2 = call(R2, 0 args, 1 rets)
  0009  LOADNIL   R2..R2 = nil
  0010  GETTABUP  R3 = _ENV[K4('pairs')]
  0011  GETTABLE  R4 = R0[K5('m_mapLabel2TabBtn')]
  0012  CALL      R3 = call(R3, 3 args, 1 rets)
  0013  JMP       (jump)   -> 29
  0014  EQ        if R1 eq R6   -> -130538
  0015  JMP       (jump)   -> 17
  0016  LOADBOOL  R2 = false
  0017  LOADBOOL  R2 = true
  0018  SELF      R9 = R7[K6('SetHighlightActive')] (self)
  0019  MOVE      R10 = R0
  0020  CALL      R8 = call(R8, 0 args, 2 rets)
  0021  GETTABUP  R8 = _ENV[K7('UIUtil')]
  0022  GETTABLE  R8 = R8[K8('SetActive')]
  0023  LOADK     R9 = K9 'm_node'
  0024  MOVE      R10 = R0
  0025  CONCAT    R9 = concat(R9..R9)
  0026  GETTABLE  R9 = R0[R9]
  0027  MOVE      R10 = R0
  0028  CALL      R8 = call(R8, 0 args, 2 rets)
  0029  TFORCALL  tforcall R3
  0030  TFORLOOP  tforloop R5(sBx=-17)   -> 14
  0031  GETTABUP  R3 = _ENV[K10('EventDispatcher')]
  0032  GETTABLE  R3 = R3[K11('DispatchEvent')]
  0033  GETTABUP  R4 = _ENV[K12('EEventType')]
  0034  GETTABLE  R4 = R4[K13('InventoryChangeTab')]
  0035  CALL      R3 = call(R3, 0 args, 1 rets)
  0036  RETURN    return R0..R-1
; ---------- proto7 [_InitNormalContent] ----------
  ; fn ?  line 101-141 np=1 va=0 ms=15 code=73 consts=26 upvals=1 protos=1
  ;   K[0]='GetSortingOrder'
  ;   K[1]='InventoryWindow'
  ;   K[2]='itemViewSortingOrderNormal'
  ;   K[3]=3
  ;   K[4]='m_spriteMask'
  ;   K[5]='frontSortingOrder'
  ;   K[6]=4
  ;   K[7]='backSortingOrder'
  ;   K[8]='_UpdateNormalContent'
  ;   K[9]='GetStoreSlotCount'
  ;   K[10]='math'
  ;   K[11]='ceil'
  ;   K[12]='INVENTORY_COLUMN_COUNT'
  ;   K[13]='m_loopListView'
  ;   K[14]='InitListView'
  ;   K[15]=1
  ;   K[16]='SetItemSize'
  ;   K[17]=0
  ;   K[18]=20
  ;   K[19]=200
  ;   K[20]='UpdateContentSize'
  ;   K[21]=nil
  ;   K[22]='_GetPositionFromIndex'
  ;   K[23]=5
  ;   K[24]=2
  ;   K[25]='ScrollToTargetRow'
  ;   upvals: _ENV
  ;   locals: self(0-73), sortingOrder(2-73), scrollTargetItemIndex(12-73), _(14-73), maxCount(14-73), maxRow(19-73), (for index)(33-46), (for limit)(33-46), (for step)(33-46), i(34-45), row(54-72), _(54-72), rowsPerPage(55-72)
  0000  SELF      R2 = R0[K0('GetSortingOrder')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('InventoryWindow')]
  0003  ADD       R3 = K3(3) add R1
  0004  SETTABLE  R2[K2('itemViewSortingOrderNormal')] = R3
  0005  GETTABLE  R2 = R0[K4('m_spriteMask')]
  0006  ADD       R3 = K6(4) add R1
  0007  SETTABLE  R2[K5('frontSortingOrder')] = R3
  0008  GETTABLE  R2 = R0[K4('m_spriteMask')]
  0009  SETTABLE  R2[K7('backSortingOrder')] = R1
  0010  SELF      R3 = R0[K8('_UpdateNormalContent')] (self)
  0011  CALL      R2 = call(R2, 1 args, 1 rets)
  0012  SELF      R4 = R0[K9('GetStoreSlotCount')] (self)
  0013  CALL      R3 = call(R3, 2 args, 1 rets)
  0014  GETTABUP  R5 = _ENV[K10('math')]
  0015  GETTABLE  R5 = R5[K11('ceil')]
  0016  GETTABUP  R6 = _ENV[K12('INVENTORY_COLUMN_COUNT')]
  0017  DIV       R6 = R6 div R4
  0018  CALL      R5 = call(R5, 1 args, 1 rets)
  0019  GETTABLE  R6 = R0[K13('m_loopListView')]
  0020  SELF      R7 = R6[K14('InitListView')] (self)
  0021  ADD       R8 = K15(1) add R5
  0022  CLOSURE   R9 = closure proto0
  0023  CALL      R6 = call(R6, 0 args, 3 rets)
  0024  GETTABLE  R6 = R0[K13('m_loopListView')]
  0025  SELF      R7 = R6[K16('SetItemSize')] (self)
  0026  LOADK     R8 = K17 0
  0027  LOADK     R9 = K18 20
  0028  LOADK     R10 = K17 0
  0029  CALL      R6 = call(R6, 0 args, 4 rets)
  0030  LOADK     R6 = K15 1
  0031  MOVE      R7 = R0
  0032  LOADK     R8 = K15 1
  0033  FORPREP   forprep R6(sBx=11)   -> 45
  0034  GETTABLE  R10 = R0[K13('m_loopListView')]
  0035  SELF      R11 = R10[K16('SetItemSize')] (self)
  0036  MOVE      R12 = R0
  0037  LOADK     R13 = K19 200
  0038  EQ        if R0 eq K15(1)   -> -126153
  0039  JMP       (jump)   -> 43
  0040  LOADK     R14 = K18 20
  0041  TEST      if not R14 then   -> -131028
  0042  JMP       (jump)   -> 44
  0043  LOADK     R14 = K17 0
  0044  CALL      R10 = call(R10, 0 args, 4 rets)
  0045  FORLOOP   forloop R6(sBx=-12)   -> 34
  0046  GETTABLE  R6 = R0[K13('m_loopListView')]
  0047  SELF      R7 = R6[K20('UpdateContentSize')] (self)
  0048  CALL      R6 = call(R6, 0 args, 1 rets)
  0049  EQ        if R1 eq K21(nil)   -> -129720
  0050  JMP       (jump)   -> 72
  0051  SELF      R7 = R0[K22('_GetPositionFromIndex')] (self)
  0052  MOVE      R8 = R0
  0053  CALL      R6 = call(R6, 2 args, 2 rets)
  0054  LOADK     R8 = K23 5
  0055  IDIV      R9 = K24(2) idiv R8
  0056  SUB       R6 = R9 sub R6
  0057  IDIV      R9 = K24(2) idiv R8
  0058  ADD       R9 = K15(1) add R9
  0059  LE        if R0 le R9   -> -127930
  0060  JMP       (jump)   -> 63
  0061  RETURN    return R0..R-1
  0062  JMP       (jump)   -> 69
  0063  SUB       R9 = R8 sub R5
  0064  ADD       R9 = K15(1) add R9
  0065  LE        if R0 le R6   -> -126391
  0066  JMP       (jump)   -> 69
  0067  SUB       R9 = R8 sub R5
  0068  ADD       R6 = K15(1) add R9
  0069  SELF      R10 = R0[K25('ScrollToTargetRow')] (self)
  0070  MOVE      R11 = R0
  0071  CALL      R9 = call(R9, 0 args, 2 rets)
  0072  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 117-119 np=2 va=0 ms=6 code=7 consts=1 upvals=1 protos=0
    ;   K[0]='_OnListItemByIndex'
    ;   upvals: self
    ;   locals: listView(0-7), rowIndex(0-7)
    0000  GETUPVAL  R2 = self
    0001  SELF      R3 = R2[K0('_OnListItemByIndex')] (self)
    0002  MOVE      R4 = R0
    0003  MOVE      R5 = R0
    0004  TAILCALL  tailcall(R2, 0)
    0005  RETURN    return R2..R1
    0006  RETURN    return R0..R-1
; ---------- proto8 [_OnListItemByIndex] ----------
  ; fn ?  line 143-172 np=3 va=0 ms=16 code=68 consts=25 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='NewListViewItem'
  ;   K[2]='InventoryRowTransparent'
  ;   K[3]='Table'
  ;   K[4]='IsEmpty'
  ;   K[5]='m_cellMatrix'
  ;   K[6]='InventoryRow'
  ;   K[7]='gameObject'
  ;   K[8]='GetLuaTable'
  ;   K[9]='ipairs'
  ;   K[10]='HasInited'
  ;   K[11]='Init'
  ;   K[12]='SetCell'
  ;   K[13]='cellCode'
  ;   K[14]='param'
  ;   K[15]='EInventoryCellCode'
  ;   K[16]='Item'
  ;   K[17]='bNewAdded'
  ;   K[18]=false
  ;   K[19]=1
  ;   K[20]='INVENTORY_COLUMN_COUNT'
  ;   K[21]='Empty'
  ;   K[22]='UpdateOrderRequireState'
  ;   K[23]='m_codeStateMap'
  ;   K[24]='m_greenBgDishMaterials'
  ;   upvals: _ENV
  ;   locals: self(0-68), listView(0-68), rowIndex(0-68), rowItem(17-68), rowTb(20-68), arrCellInfo(22-68), (for generator)(25-51), (for state)(25-51), (for control)(25-51), column(26-49), cellInfo(26-49), (for index)(55-62), (for limit)(55-62), (for step)(55-62), column(56-61)
  0000  EQ        if R0 eq K0(0)   -> -129790
  0001  JMP       (jump)   -> 6
  0002  SELF      R4 = R1[K1('NewListViewItem')] (self)
  0003  LOADK     R5 = K2 'InventoryRowTransparent'
  0004  TAILCALL  tailcall(R3, 0)
  0005  RETURN    return R3..R2
  0006  GETTABUP  R3 = _ENV[K3('Table')]
  0007  GETTABLE  R3 = R3[K4('IsEmpty')]
  0008  GETTABLE  R4 = R0[K5('m_cellMatrix')]
  0009  GETTABLE  R4 = R4[R2]
  0010  CALL      R3 = call(R3, 1 args, 1 rets)
  0011  TEST      if not R3 then   -> -131059
  0012  JMP       (jump)   -> 14
  0013  RETURN    return R0..R-1
  0014  SELF      R4 = R1[K1('NewListViewItem')] (self)
  0015  LOADK     R5 = K6 'InventoryRow'
  0016  CALL      R3 = call(R3, 1 args, 2 rets)
  0017  GETTABLE  R4 = R3[K7('gameObject')]
  0018  SELF      R5 = R4[K8('GetLuaTable')] (self)
  0019  CALL      R4 = call(R4, 1 args, 1 rets)
  0020  GETTABLE  R5 = R0[K5('m_cellMatrix')]
  0021  GETTABLE  R5 = R5[R2]
  0022  GETTABUP  R6 = _ENV[K9('ipairs')]
  0023  MOVE      R7 = R0
  0024  CALL      R6 = call(R6, 3 args, 1 rets)
  0025  JMP       (jump)   -> 49
  0026  SELF      R12 = R4[K10('HasInited')] (self)
  0027  CALL      R11 = call(R11, 1 args, 1 rets)
  0028  TEST      if not R11 then   -> -131041
  0029  JMP       (jump)   -> 33
  0030  SELF      R12 = R4[K11('Init')] (self)
  0031  MOVE      R13 = R0
  0032  CALL      R11 = call(R11, 0 args, 2 rets)
  0033  SELF      R12 = R4[K12('SetCell')] (self)
  0034  MOVE      R13 = R0
  0035  GETTABLE  R14 = R10[K13('cellCode')]
  0036  GETTABLE  R15 = R10[K14('param')]
  0037  CALL      R11 = call(R11, 0 args, 4 rets)
  0038  GETTABLE  R11 = R10[K13('cellCode')]
  0039  GETTABUP  R12 = _ENV[K15('EInventoryCellCode')]
  0040  GETTABLE  R12 = R12[K16('Item')]
  0041  EQ        if R0 eq R12   -> -125385
  0042  JMP       (jump)   -> 49
  0043  GETTABLE  R11 = R10[K14('param')]
  0044  GETTABLE  R11 = R11[K17('bNewAdded')]
  0045  TEST      if not R11 then   -> -131025
  0046  JMP       (jump)   -> 49
  0047  GETTABLE  R11 = R10[K14('param')]
  0048  SETTABLE  R11[K17('bNewAdded')] = K18(false)
  0049  TFORCALL  tforcall R6
  0050  TFORLOOP  tforloop R8(sBx=-25)   -> 26
  0051  LEN       R6 = len R0
  0052  ADD       R6 = K19(1) add R6
  0053  GETTABUP  R7 = _ENV[K20('INVENTORY_COLUMN_COUNT')]
  0054  LOADK     R8 = K19 1
  0055  FORPREP   forprep R6(sBx=5)   -> 61
  0056  SELF      R11 = R4[K12('SetCell')] (self)
  0057  MOVE      R12 = R0
  0058  GETTABUP  R13 = _ENV[K15('EInventoryCellCode')]
  0059  GETTABLE  R13 = R13[K21('Empty')]
  0060  CALL      R10 = call(R10, 0 args, 3 rets)
  0061  FORLOOP   forloop R6(sBx=-6)   -> 56
  0062  SELF      R7 = R4[K22('UpdateOrderRequireState')] (self)
  0063  GETTABLE  R8 = R0[K23('m_codeStateMap')]
  0064  GETTABLE  R9 = R0[K24('m_greenBgDishMaterials')]
  0065  CALL      R6 = call(R6, 0 args, 3 rets)
  0066  RETURN    return R3..R2
  0067  RETURN    return R0..R-1
; ---------- proto9 [UpdateOrderRequireState] ----------
  ; fn ?  line 174-187 np=1 va=0 ms=11 code=32 consts=16 upvals=1 protos=0
  ;   K[0]='m_codeStateMap'
  ;   K[1]='GM'
  ;   K[2]='MainBoardModel'
  ;   K[3]='GetOrderCodeStateMap'
  ;   K[4]='m_greenBgDishMaterials'
  ;   K[5]='GetUnfilledOrderRequirementsConsiderView'
  ;   K[6]='greenBgDishMaterials'
  ;   K[7]='m_loopListView'
  ;   K[8]='ItemList'
  ;   K[9]=0
  ;   K[10]='Count'
  ;   K[11]=1
  ;   K[12]='gameObject'
  ;   K[13]='GetLuaTable'
  ;   K[14]=nil
  ;   K[15]='UpdateOrderRequireState'
  ;   upvals: _ENV
  ;   locals: self(0-32), visibleItemList(13-32), rowTb(14-32), (for index)(18-31), (for limit)(18-31), (for step)(18-31), i(19-30)
  0000  GETTABUP  R1 = _ENV[K1('GM')]
  0001  GETTABLE  R1 = R1[K2('MainBoardModel')]
  0002  SELF      R2 = R1[K3('GetOrderCodeStateMap')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SETTABLE  R0[K0('m_codeStateMap')] = R1
  0005  GETTABUP  R1 = _ENV[K1('GM')]
  0006  GETTABLE  R1 = R1[K2('MainBoardModel')]
  0007  SELF      R2 = R1[K5('GetUnfilledOrderRequirementsConsiderView')] (self)
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  GETTABLE  R1 = R1[K6('greenBgDishMaterials')]
  0010  SETTABLE  R0[K4('m_greenBgDishMaterials')] = R1
  0011  GETTABLE  R1 = R0[K7('m_loopListView')]
  0012  GETTABLE  R1 = R1[K8('ItemList')]
  0013  LOADNIL   R2..R2 = nil
  0014  LOADK     R3 = K9 0
  0015  GETTABLE  R4 = R1[K10('Count')]
  0016  SUB       R4 = K11(1) sub R4
  0017  LOADK     R5 = K11 1
  0018  FORPREP   forprep R3(sBx=11)   -> 30
  0019  GETTABLE  R7 = R1[R6]
  0020  GETTABLE  R7 = R7[K12('gameObject')]
  0021  SELF      R8 = R7[K13('GetLuaTable')] (self)
  0022  CALL      R7 = call(R7, 1 args, 1 rets)
  0023  MOVE      R2 = R0
  0024  EQ        if R1 eq K14(nil)   -> -129752
  0025  JMP       (jump)   -> 30
  0026  SELF      R8 = R2[K15('UpdateOrderRequireState')] (self)
  0027  GETTABLE  R9 = R0[K0('m_codeStateMap')]
  0028  GETTABLE  R10 = R0[K4('m_greenBgDishMaterials')]
  0029  CALL      R7 = call(R7, 0 args, 3 rets)
  0030  FORLOOP   forloop R3(sBx=-12)   -> 19
  0031  RETURN    return R0..R-1
; ---------- proto10 [_UpdateNormalContent] ----------
  ; fn ?  line 189-209 np=1 va=0 ms=14 code=28 consts=11 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='GetNewStoredItems'
  ;   K[3]='GetStoreSlotCount'
  ;   K[4]='m_cellMatrix'
  ;   K[5]='_SetBuyCells'
  ;   K[6]='_ResetCells'
  ;   K[7]=1
  ;   K[8]='_SetCell'
  ;   K[9]='EInventoryCellCode'
  ;   K[10]='Locked'
  ;   upvals: _ENV
  ;   locals: self(0-28), arrayNewAddedItems(4-28), slotCount(6-28), maxCount(6-28), canBought(10-28), scrollTargetItemIndex(13-28), (for index)(19-26), (for limit)(19-26), (for step)(19-26), i(20-25)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MainBoardModel')]
  0002  SELF      R2 = R1[K2('GetNewStoredItems')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SELF      R3 = R0[K3('GetStoreSlotCount')] (self)
  0005  CALL      R2 = call(R2, 2 args, 1 rets)
  0006  NEWTABLE  R4 = {} (0 items)
  0007  SETTABLE  R0[K4('m_cellMatrix')] = R4
  0008  SELF      R5 = R0[K5('_SetBuyCells')] (self)
  0009  CALL      R4 = call(R4, 1 args, 1 rets)
  0010  SELF      R6 = R0[K6('_ResetCells')] (self)
  0011  MOVE      R7 = R0
  0012  CALL      R5 = call(R5, 1 args, 2 rets)
  0013  TEST      if not R4 then   -> -131057
  0014  JMP       (jump)   -> 16
  0015  ADD       R2 = K7(1) add R2
  0016  ADD       R6 = K7(1) add R2
  0017  MOVE      R7 = R0
  0018  LOADK     R8 = K7 1
  0019  FORPREP   forprep R6(sBx=5)   -> 25
  0020  SELF      R11 = R0[K8('_SetCell')] (self)
  0021  MOVE      R12 = R0
  0022  GETTABUP  R13 = _ENV[K9('EInventoryCellCode')]
  0023  GETTABLE  R13 = R13[K10('Locked')]
  0024  CALL      R10 = call(R10, 0 args, 3 rets)
  0025  FORLOOP   forloop R6(sBx=-6)   -> 20
  0026  RETURN    return R5..R4
  0027  RETURN    return R0..R-1
; ---------- proto11 [GetStoreSlotCount] ----------
  ; fn ?  line 211-225 np=1 va=0 ms=7 code=35 consts=14 upvals=1 protos=0
  ;   K[0]='INVENTORY_MAX_COUNT'
  ;   K[1]='GM'
  ;   K[2]='MainBoardModel'
  ;   K[3]='GetStoreSlotCount'
  ;   K[4]='GameConfig'
  ;   K[5]='IsTestMode'
  ;   K[6]='UIManager'
  ;   K[7]='GetOpenedViewByName'
  ;   K[8]='UIPrefabConfigName'
  ;   K[9]='TestAutoTimelineView'
  ;   K[10]='TestAutoRunModel'
  ;   K[11]='useInventory'
  ;   K[12]='math'
  ;   K[13]='max'
  ;   upvals: _ENV
  ;   locals: self(0-35), maxCount(1-35), slotCount(5-35), producerNum(5-35)
  0000  GETTABUP  R1 = _ENV[K0('INVENTORY_MAX_COUNT')]
  0001  GETTABUP  R2 = _ENV[K1('GM')]
  0002  GETTABLE  R2 = R2[K2('MainBoardModel')]
  0003  SELF      R3 = R2[K3('GetStoreSlotCount')] (self)
  0004  CALL      R2 = call(R2, 2 args, 1 rets)
  0005  SUB       R2 = R3 sub R2
  0006  GETTABUP  R4 = _ENV[K4('GameConfig')]
  0007  GETTABLE  R4 = R4[K5('IsTestMode')]
  0008  CALL      R4 = call(R4, 1 args, 0 rets)
  0009  TEST      if not R4 then   -> -131061
  0010  JMP       (jump)   -> 31
  0011  GETTABUP  R4 = _ENV[K1('GM')]
  0012  GETTABLE  R4 = R4[K6('UIManager')]
  0013  SELF      R5 = R4[K7('GetOpenedViewByName')] (self)
  0014  GETTABUP  R6 = _ENV[K8('UIPrefabConfigName')]
  0015  GETTABLE  R6 = R6[K9('TestAutoTimelineView')]
  0016  CALL      R4 = call(R4, 1 args, 2 rets)
  0017  TEST      if not R4 then   -> -131053
  0018  JMP       (jump)   -> 31
  0019  GETTABUP  R4 = _ENV[K1('GM')]
  0020  GETTABLE  R4 = R4[K10('TestAutoRunModel')]
  0021  GETTABLE  R4 = R4[K11('useInventory')]
  0022  TEST      if not R4 then   -> -131048
  0023  JMP       (jump)   -> 31
  0024  GETTABUP  R4 = _ENV[K12('math')]
  0025  GETTABLE  R4 = R4[K13('max')]
  0026  MOVE      R5 = R0
  0027  MOVE      R6 = R0
  0028  CALL      R4 = call(R4, 1 args, 2 rets)
  0029  MOVE      R2 = R0
  0030  MOVE      R1 = R0
  0031  MOVE      R4 = R0
  0032  MOVE      R5 = R0
  0033  RETURN    return R4..R3
  0034  RETURN    return R0..R-1
; ---------- proto12 [_GetPositionFromIndex] ----------
  ; fn ?  line 227-231 np=2 va=0 ms=6 code=12 consts=2 upvals=1 protos=0
  ;   K[0]=1
  ;   K[1]='INVENTORY_COLUMN_COUNT'
  ;   upvals: _ENV
  ;   locals: self(0-12), index(0-12), row(4-12), column(8-12)
  0000  SUB       R2 = K0(1) sub R1
  0001  GETTABUP  R3 = _ENV[K1('INVENTORY_COLUMN_COUNT')]
  0002  IDIV      R2 = R3 idiv R2
  0003  ADD       R2 = K0(1) add R2
  0004  SUB       R3 = K0(1) sub R1
  0005  GETTABUP  R4 = _ENV[K1('INVENTORY_COLUMN_COUNT')]
  0006  MOD       R3 = R4 mod R3
  0007  ADD       R3 = K0(1) add R3
  0008  MOVE      R4 = R0
  0009  MOVE      R5 = R0
  0010  RETURN    return R4..R3
  0011  RETURN    return R0..R-1
; ---------- proto13 [_GetCell] ----------
  ; fn ?  line 233-239 np=2 va=0 ms=8 code=17 consts=7 upvals=0 protos=0
  ;   K[0]='_GetPositionFromIndex'
  ;   K[1]='m_loopListView'
  ;   K[2]='GetShownItemByItemIndex'
  ;   K[3]=nil
  ;   K[4]='gameObject'
  ;   K[5]='GetLuaTable'
  ;   K[6]='GetCell'
  ;   locals: self(0-17), index(0-17), row(3-17), column(3-17), rowItem(7-17)
  0000  SELF      R3 = R0[K0('_GetPositionFromIndex')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 2 args, 2 rets)
  0003  GETTABLE  R4 = R0[K1('m_loopListView')]
  0004  SELF      R5 = R4[K2('GetShownItemByItemIndex')] (self)
  0005  MOVE      R6 = R0
  0006  CALL      R4 = call(R4, 1 args, 2 rets)
  0007  EQ        if R1 eq K3(nil)   -> -128756
  0008  JMP       (jump)   -> 16
  0009  GETTABLE  R5 = R4[K4('gameObject')]
  0010  SELF      R6 = R5[K5('GetLuaTable')] (self)
  0011  CALL      R5 = call(R5, 1 args, 1 rets)
  0012  SELF      R6 = R5[K6('GetCell')] (self)
  0013  MOVE      R7 = R0
  0014  TAILCALL  tailcall(R5, 0)
  0015  RETURN    return R5..R4
  0016  RETURN    return R0..R-1
; ---------- proto14 [_SetCell] ----------
  ; fn ?  line 241-252 np=4 va=0 ms=8 code=17 consts=5 upvals=0 protos=0
  ;   K[0]='_GetPositionFromIndex'
  ;   K[1]='m_cellMatrix'
  ;   K[2]=nil
  ;   K[3]='cellCode'
  ;   K[4]='param'
  ;   locals: self(0-17), index(0-17), cellCode(0-17), param(0-17), row(3-17), column(3-17)
  0000  SELF      R5 = R0[K0('_GetPositionFromIndex')] (self)
  0001  MOVE      R6 = R0
  0002  CALL      R4 = call(R4, 2 args, 2 rets)
  0003  GETTABLE  R6 = R0[K1('m_cellMatrix')]
  0004  GETTABLE  R6 = R6[R4]
  0005  EQ        if R0 eq K2(nil)   -> -127735
  0006  JMP       (jump)   -> 10
  0007  GETTABLE  R6 = R0[K1('m_cellMatrix')]
  0008  NEWTABLE  R7 = {} (0 items)
  0009  SETTABLE  R6[R4] = R7
  0010  GETTABLE  R6 = R0[K1('m_cellMatrix')]
  0011  GETTABLE  R6 = R6[R4]
  0012  NEWTABLE  R7 = {} (0 items)
  0013  SETTABLE  R7[K3('cellCode')] = R2
  0014  SETTABLE  R7[K4('param')] = R3
  0015  SETTABLE  R6[R5] = R7
  0016  RETURN    return R0..R-1
; ---------- proto15 [_ResetCells] ----------
  ; fn ?  line 254-293 np=2 va=0 ms=20 code=92 consts=27 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='GetStoreSlotCount'
  ;   K[3]='m_scrollTargetItemModel'
  ;   K[4]=nil
  ;   K[5]=1
  ;   K[6]='GameConfig'
  ;   K[7]='IsTestMode'
  ;   K[8]='TestAutoRunModel'
  ;   K[9]='useInventory'
  ;   K[10]='UIManager'
  ;   K[11]='GetOpenedViewByName'
  ;   K[12]='UIPrefabConfigName'
  ;   K[13]='TestAutoTimelineView'
  ;   K[14]='GetStoredItem'
  ;   K[15]='CanStoreItemInProducer'
  ;   K[16]='GetType'
  ;   K[17]='m_bPlayTutorialAnim'
  ;   K[18]='_SetCell'
  ;   K[19]='EInventoryCellCode'
  ;   K[20]='Item'
  ;   K[21]='index'
  ;   K[22]='itemModel'
  ;   K[23]='bNewAdded'
  ;   K[24]='Table'
  ;   K[25]='ListContain'
  ;   K[26]='Empty'
  ;   upvals: _ENV
  ;   locals: self(0-92), arrayNewAddedItems(0-92), slotCount(4-92), producerNum(4-92), scrollTargetItem(11-92), scrollTargetItemIndex(13-92), index(14-92), (for index)(17-90), (for limit)(17-90), (for step)(17-90), i(18-89), item(44-89)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('MainBoardModel')]
  0002  SELF      R3 = R2[K2('GetStoreSlotCount')] (self)
  0003  CALL      R2 = call(R2, 2 args, 1 rets)
  0004  GETTABLE  R4 = R0[K3('m_scrollTargetItemModel')]
  0005  TEST      if not R4 then   -> -131064
  0006  JMP       (jump)   -> 11
  0007  TESTSET   if R0 then R4   -> -130551
  0008  JMP       (jump)   -> 11
  0009  LEN       R4 = len R0
  0010  GETTABLE  R4 = R1[R4]
  0011  SETTABLE  R0[K3('m_scrollTargetItemModel')] = K4(nil)
  0012  LOADNIL   R5..R5 = nil
  0013  LOADK     R6 = K5 1
  0014  LOADK     R7 = K5 1
  0015  MOVE      R8 = R0
  0016  LOADK     R9 = K5 1
  0017  FORPREP   forprep R7(sBx=71)   -> 89
  0018  SUB       R11 = R3 sub R2
  0019  LT        if R0 lt R6   -> -125413
  0020  JMP       (jump)   -> 39
  0021  GETTABUP  R11 = _ENV[K6('GameConfig')]
  0022  GETTABLE  R11 = R11[K7('IsTestMode')]
  0023  CALL      R11 = call(R11, 1 args, 0 rets)
  0024  TEST      if not R11 then   -> -131046
  0025  JMP       (jump)   -> 90
  0026  GETTABUP  R11 = _ENV[K0('GM')]
  0027  GETTABLE  R11 = R11[K8('TestAutoRunModel')]
  0028  GETTABLE  R11 = R11[K9('useInventory')]
  0029  TEST      if not R11 then   -> -131041
  0030  JMP       (jump)   -> 90
  0031  GETTABUP  R11 = _ENV[K0('GM')]
  0032  GETTABLE  R11 = R11[K10('UIManager')]
  0033  SELF      R12 = R11[K11('GetOpenedViewByName')] (self)
  0034  GETTABUP  R13 = _ENV[K12('UIPrefabConfigName')]
  0035  GETTABLE  R13 = R13[K13('TestAutoTimelineView')]
  0036  CALL      R11 = call(R11, 1 args, 2 rets)
  0037  TEST      if not R11 then   -> -131033
  0038  JMP       (jump)   -> 90
  0039  GETTABUP  R11 = _ENV[K0('GM')]
  0040  GETTABLE  R11 = R11[K1('MainBoardModel')]
  0041  SELF      R12 = R11[K14('GetStoredItem')] (self)
  0042  MOVE      R13 = R0
  0043  CALL      R11 = call(R11, 1 args, 2 rets)
  0044  EQ        if R1 eq K4(nil)   -> -125134
  0045  JMP       (jump)   -> 83
  0046  GETTABUP  R12 = _ENV[K0('GM')]
  0047  GETTABLE  R12 = R12[K1('MainBoardModel')]
  0048  SELF      R13 = R12[K15('CanStoreItemInProducer')] (self)
  0049  SELF      R15 = R11[K16('GetType')] (self)
  0050  CALL      R14 = call(R14, -1 args, 1 rets)
  0051  CALL      R12 = call(R12, 1 args, -1 rets)
  0052  TEST      if not R12 then   -> -131018
  0053  JMP       (jump)   -> 57
  0054  GETTABLE  R12 = R0[K17('m_bPlayTutorialAnim')]
  0055  TEST      if not R12 then   -> -131015
  0056  JMP       (jump)   -> 89
  0057  SELF      R13 = R0[K18('_SetCell')] (self)
  0058  MOVE      R14 = R0
  0059  GETTABUP  R15 = _ENV[K19('EInventoryCellCode')]
  0060  GETTABLE  R15 = R15[K20('Item')]
  0061  NEWTABLE  R16 = {} (0 items)
  0062  SETTABLE  R16[K21('index')] = R6
  0063  SETTABLE  R16[K22('itemModel')] = R11
  0064  EQ        if R1 eq R4   -> -125370
  0065  JMP       (jump)   -> 75
  0066  TESTSET   if R0 then R17   -> -130492
  0067  JMP       (jump)   -> 76
  0068  GETTABUP  R17 = _ENV[K24('Table')]
  0069  GETTABLE  R17 = R17[K25('ListContain')]
  0070  MOVE      R18 = R0
  0071  MOVE      R19 = R0
  0072  CALL      R17 = call(R17, 1 args, 2 rets)
  0073  JMP       (jump)   -> 76
  0074  LOADBOOL  R17 = false
  0075  LOADBOOL  R17 = true
  0076  SETTABLE  R16[K23('bNewAdded')] = R17
  0077  CALL      R12 = call(R12, 0 args, 4 rets)
  0078  EQ        if R0 eq R11   -> -128933
  0079  JMP       (jump)   -> 81
  0080  MOVE      R5 = R0
  0081  ADD       R6 = K5(1) add R6
  0082  JMP       (jump)   -> 89
  0083  SELF      R13 = R0[K18('_SetCell')] (self)
  0084  MOVE      R14 = R0
  0085  GETTABUP  R15 = _ENV[K19('EInventoryCellCode')]
  0086  GETTABLE  R15 = R15[K26('Empty')]
  0087  CALL      R12 = call(R12, 0 args, 3 rets)
  0088  ADD       R6 = K5(1) add R6
  0089  FORLOOP   forloop R7(sBx=-72)   -> 18
  0090  RETURN    return R5..R4
  0091  RETURN    return R0..R-1
; ---------- proto16 [_SetBuyCells] ----------
  ; fn ?  line 295-309 np=1 va=0 ms=9 code=28 consts=14 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ConfigModel'
  ;   K[2]='GetLocalConfig'
  ;   K[3]='LocalConfigKey'
  ;   K[4]='InventorySlot'
  ;   K[5]='MiscModel'
  ;   K[6]='GetInventoryBoughtCapInNumber'
  ;   K[7]='GetStoreSlotCount'
  ;   K[8]='UnlockCost'
  ;   K[9]='INVENTORY_MAX_COUNT'
  ;   K[10]='_SetCell'
  ;   K[11]=1
  ;   K[12]='EInventoryCellCode'
  ;   K[13]='NewSlot'
  ;   upvals: _ENV
  ;   locals: self(0-28), slotConfig(6-28), boughtCount(10-28), inventoryCap(12-28), canBought(13-28)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('ConfigModel')]
  0002  SELF      R2 = R1[K2('GetLocalConfig')] (self)
  0003  GETTABUP  R3 = _ENV[K3('LocalConfigKey')]
  0004  GETTABLE  R3 = R3[K4('InventorySlot')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  GETTABUP  R2 = _ENV[K0('GM')]
  0007  GETTABLE  R2 = R2[K5('MiscModel')]
  0008  SELF      R3 = R2[K6('GetInventoryBoughtCapInNumber')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  SELF      R4 = R0[K7('GetStoreSlotCount')] (self)
  0011  CALL      R3 = call(R3, 1 args, 1 rets)
  0012  LOADBOOL  R4 = false
  0013  GETTABLE  R5 = R1[K8('UnlockCost')]
  0014  LEN       R5 = len R0
  0015  LT        if R0 lt R5   -> -130026
  0016  JMP       (jump)   -> 26
  0017  GETTABUP  R5 = _ENV[K9('INVENTORY_MAX_COUNT')]
  0018  LT        if R0 lt R5   -> -129511
  0019  JMP       (jump)   -> 26
  0020  LOADBOOL  R4 = true
  0021  SELF      R6 = R0[K10('_SetCell')] (self)
  0022  ADD       R7 = K11(1) add R3
  0023  GETTABUP  R8 = _ENV[K12('EInventoryCellCode')]
  0024  GETTABLE  R8 = R8[K13('NewSlot')]
  0025  CALL      R5 = call(R5, 0 args, 3 rets)
  0026  RETURN    return R4..R3
  0027  RETURN    return R0..R-1
; ---------- proto17 [_OnNewSlotOpen] ----------
  ; fn ?  line 311-332 np=1 va=0 ms=8 code=29 consts=12 upvals=1 protos=1
  ;   K[0]='GetStoreSlotCount'
  ;   K[1]='_GetCell'
  ;   K[2]='OnOpened'
  ;   K[3]='Log'
  ;   K[4]='Error'
  ;   K[5]='should not happen'
  ;   K[6]='DelayExecuteFuncInView'
  ;   K[7]='GM'
  ;   K[8]='AudioModel'
  ;   K[9]='PlayEffect'
  ;   K[10]='AudioFileConfigName'
  ;   K[11]='SfxButtonClick'
  ;   upvals: _ENV
  ;   locals: self(0-29), slotCount(2-29), cell(5-29)
  0000  SELF      R2 = R0[K0('GetStoreSlotCount')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('_GetCell')] (self)
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 1 args, 2 rets)
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 10
  0007  GETTABLE  R3 = R2[K2('OnOpened')]
  0008  TEST      if not R3 then   -> -131061
  0009  JMP       (jump)   -> 15
  0010  GETTABUP  R3 = _ENV[K3('Log')]
  0011  GETTABLE  R3 = R3[K4('Error')]
  0012  LOADK     R4 = K5 'should not happen'
  0013  CALL      R3 = call(R3, 0 args, 1 rets)
  0014  RETURN    return R0..R-1
  0015  GETTABUP  R3 = _ENV[K6('DelayExecuteFuncInView')]
  0016  CLOSURE   R4 = closure proto0
  0017  SELF      R6 = R2[K2('OnOpened')] (self)
  0018  CALL      R5 = call(R5, 1 args, 1 rets)
  0019  MOVE      R6 = R0
  0020  LOADBOOL  R7 = true
  0021  CALL      R3 = call(R3, 0 args, 4 rets)
  0022  GETTABUP  R3 = _ENV[K7('GM')]
  0023  GETTABLE  R3 = R3[K8('AudioModel')]
  0024  SELF      R4 = R3[K9('PlayEffect')] (self)
  0025  GETTABUP  R5 = _ENV[K10('AudioFileConfigName')]
  0026  GETTABLE  R5 = R5[K11('SfxButtonClick')]
  0027  CALL      R3 = call(R3, 0 args, 2 rets)
  0028  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 319-329 np=0 va=0 ms=4 code=22 consts=11 upvals=3 protos=0
    ;   K[0]='_SetCell'
    ;   K[1]='EInventoryCellCode'
    ;   K[2]='Empty'
    ;   K[3]='EventDispatcher'
    ;   K[4]='DispatchEvent'
    ;   K[5]='EEventType'
    ;   K[6]='OnInventoryCapacityUpdate'
    ;   K[7]='INVENTORY_MAX_COUNT'
    ;   K[8]='_SetBuyCells'
    ;   K[9]='m_loopListView'
    ;   K[10]='RefreshAllShownItem'
    ;   upvals: self, slotCount, _ENV
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_SetCell')] (self)
    0002  GETUPVAL  R2 = self
    0003  GETTABUP  R3 = _ENV[K1('EInventoryCellCode')]
    0004  GETTABLE  R3 = R3[K2('Empty')]
    0005  CALL      R0 = call(R0, 0 args, 3 rets)
    0006  GETTABUP  R0 = _ENV[K3('EventDispatcher')]
    0007  GETTABLE  R0 = R0[K4('DispatchEvent')]
    0008  GETTABUP  R1 = _ENV[K5('EEventType')]
    0009  GETTABLE  R1 = R1[K6('OnInventoryCapacityUpdate')]
    0010  CALL      R0 = call(R0, 0 args, 1 rets)
    0011  GETUPVAL  R0 = self
    0012  GETTABUP  R1 = _ENV[K7('INVENTORY_MAX_COUNT')]
    0013  LT        if R0 lt R1   -> -131056
    0014  JMP       (jump)   -> 18
    0015  GETUPVAL  R0 = self
    0016  SELF      R1 = R0[K8('_SetBuyCells')] (self)
    0017  CALL      R0 = call(R0, 0 args, 1 rets)
    0018  GETTABUP  R0 = self[K9('m_loopListView')]
    0019  SELF      R1 = R0[K10('RefreshAllShownItem')] (self)
    0020  CALL      R0 = call(R0, 0 args, 1 rets)
    0021  RETURN    return R0..R-1
; ---------- proto18 [TryRetrieveItem] ----------
  ; fn ?  line 334-350 np=2 va=0 ms=7 code=42 consts=16 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='RetrieveStoredItemByItemModel'
  ;   K[3]='itemModel'
  ;   K[4]='AudioModel'
  ;   K[5]='StopCookEffect'
  ;   K[6]='CanStoreItemInProducer'
  ;   K[7]='GetCode'
  ;   K[8]='_ResetProducerCells'
  ;   K[9]='m_producerLoopListView'
  ;   K[10]='RefreshAllShownItem'
  ;   K[11]='DelayExecuteFuncInView'
  ;   K[12]='OnRetrieved'
  ;   K[13]='UIManager'
  ;   K[14]='ShowPromptWithKey'
  ;   K[15]='hint_board_full'
  ;   upvals: _ENV
  ;   locals: self(0-42), cell(0-42)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('MainBoardModel')]
  0002  SELF      R3 = R2[K2('RetrieveStoredItemByItemModel')] (self)
  0003  GETTABLE  R4 = R1[K3('itemModel')]
  0004  CALL      R2 = call(R2, 1 args, 2 rets)
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 36
  0007  GETTABUP  R2 = _ENV[K0('GM')]
  0008  GETTABLE  R2 = R2[K4('AudioModel')]
  0009  SELF      R3 = R2[K5('StopCookEffect')] (self)
  0010  CALL      R2 = call(R2, 0 args, 1 rets)
  0011  GETTABUP  R2 = _ENV[K0('GM')]
  0012  GETTABLE  R2 = R2[K1('MainBoardModel')]
  0013  SELF      R3 = R2[K6('CanStoreItemInProducer')] (self)
  0014  GETTABLE  R4 = R1[K3('itemModel')]
  0015  SELF      R5 = R4[K7('GetCode')] (self)
  0016  CALL      R4 = call(R4, -1 args, 1 rets)
  0017  CALL      R2 = call(R2, 1 args, -1 rets)
  0018  TEST      if not R2 then   -> -131052
  0019  JMP       (jump)   -> 26
  0020  SELF      R3 = R0[K8('_ResetProducerCells')] (self)
  0021  CALL      R2 = call(R2, 0 args, 1 rets)
  0022  GETTABLE  R2 = R0[K9('m_producerLoopListView')]
  0023  SELF      R3 = R2[K10('RefreshAllShownItem')] (self)
  0024  CALL      R2 = call(R2, 0 args, 1 rets)
  0025  JMP       (jump)   -> 33
  0026  GETTABUP  R2 = _ENV[K11('DelayExecuteFuncInView')]
  0027  CLOSURE   R3 = closure proto0
  0028  SELF      R5 = R1[K12('OnRetrieved')] (self)
  0029  CALL      R4 = call(R4, 1 args, 1 rets)
  0030  MOVE      R5 = R0
  0031  LOADBOOL  R6 = true
  0032  CALL      R2 = call(R2, 0 args, 4 rets)
  0033  LOADBOOL  R2 = true
  0034  RETURN    return R2..R1
  0035  JMP       (jump)   -> 41
  0036  GETTABUP  R2 = _ENV[K0('GM')]
  0037  GETTABLE  R2 = R2[K13('UIManager')]
  0038  SELF      R3 = R2[K14('ShowPromptWithKey')] (self)
  0039  LOADK     R4 = K15 'hint_board_full'
  0040  CALL      R2 = call(R2, 0 args, 2 rets)
  0041  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 341-344 np=0 va=0 ms=2 code=7 consts=3 upvals=1 protos=0
    ;   K[0]='_ResetCells'
    ;   K[1]='m_loopListView'
    ;   K[2]='RefreshAllShownItem'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_ResetCells')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  GETTABUP  R0 = self[K1('m_loopListView')]
    0004  SELF      R1 = R0[K2('RefreshAllShownItem')] (self)
    0005  CALL      R0 = call(R0, 0 args, 1 rets)
    0006  RETURN    return R0..R-1
; ---------- proto19 [_ToggleHudHighlight] ----------
  ; fn ?  line 352-354 np=2 va=0 ms=6 code=12 consts=10 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='EEventType'
  ;   K[3]='HighlightHud'
  ;   K[4]='highlight'
  ;   K[5]='hudKey'
  ;   K[6]='ESceneViewHudButtonKey'
  ;   K[7]='Inventory'
  ;   K[8]='enableBtn'
  ;   K[9]=true
  ;   upvals: _ENV
  ;   locals: self(0-12), on(0-12)
  0000  GETTABUP  R2 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R2 = R2[K1('DispatchEvent')]
  0002  GETTABUP  R3 = _ENV[K2('EEventType')]
  0003  GETTABLE  R3 = R3[K3('HighlightHud')]
  0004  NEWTABLE  R4 = {} (0 items)
  0005  SETTABLE  R4[K4('highlight')] = R1
  0006  GETTABUP  R5 = _ENV[K6('ESceneViewHudButtonKey')]
  0007  GETTABLE  R5 = R5[K7('Inventory')]
  0008  SETTABLE  R4[K5('hudKey')] = R5
  0009  SETTABLE  R4[K8('enableBtn')] = K9(true)
  0010  CALL      R2 = call(R2, 0 args, 2 rets)
  0011  RETURN    return R0..R-1
; ---------- proto20 [ScrollToTargetRow] ----------
  ; fn ?  line 356-359 np=2 va=0 ms=5 code=7 consts=3 upvals=0 protos=0
  ;   K[0]='m_loopListView'
  ;   K[1]='MovePanelToItemIndex'
  ;   K[2]=0.5
  ;   locals: self(0-7), rowIndex(0-7)
  0000  GETTABLE  R2 = R0[K0('m_loopListView')]
  0001  SELF      R3 = R2[K1('MovePanelToItemIndex')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  LOADK     R2 = K2 0.5
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto21 [_InitProducerContent] ----------
  ; fn ?  line 363-394 np=1 va=0 ms=15 code=56 consts=28 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='IsProducerInventoryOpen'
  ;   K[3]='m_producerButton'
  ;   K[4]='enabled'
  ;   K[5]=false
  ;   K[6]='m_producerButtonImg'
  ;   K[7]='GetProducerInventoryConfig'
  ;   K[8]='GetNewStoredItems'
  ;   K[9]='GetSortingOrder'
  ;   K[10]='m_producerSpriteMask'
  ;   K[11]='frontSortingOrder'
  ;   K[12]=4
  ;   K[13]='backSortingOrder'
  ;   K[14]='m_producerCellMatrix'
  ;   K[15]='m_producerScrollRect'
  ;   K[16]='content'
  ;   K[17]='math'
  ;   K[18]='max'
  ;   K[19]='ceil'
  ;   K[20]='INVENTORY_COLUMN_COUNT'
  ;   K[21]=5
  ;   K[22]='_ResetProducerCells'
  ;   K[23]=1
  ;   K[24]='_SetProducerCell'
  ;   K[25]='EInventoryCellCode'
  ;   K[26]='Locked'
  ;   K[27]='m_producerRowCount'
  ;   upvals: _ENV
  ;   locals: self(0-56), arrProducerConfig(15-56), arrayNewAddedItems(19-56), sortingOrder(21-56), rootRect(30-56), maxCount(31-56), rowCount(40-56), (for index)(47-54), (for limit)(47-54), (for step)(47-54), i(48-53)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MainBoardModel')]
  0002  SELF      R2 = R1[K2('IsProducerInventoryOpen')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 11
  0006  GETTABLE  R1 = R0[K3('m_producerButton')]
  0007  SETTABLE  R1[K4('enabled')] = K5(false)
  0008  GETTABLE  R1 = R0[K6('m_producerButtonImg')]
  0009  SETTABLE  R1[K4('enabled')] = K5(false)
  0010  RETURN    return R0..R-1
  0011  GETTABUP  R1 = _ENV[K0('GM')]
  0012  GETTABLE  R1 = R1[K1('MainBoardModel')]
  0013  SELF      R2 = R1[K7('GetProducerInventoryConfig')] (self)
  0014  CALL      R1 = call(R1, 1 args, 1 rets)
  0015  GETTABUP  R2 = _ENV[K0('GM')]
  0016  GETTABLE  R2 = R2[K1('MainBoardModel')]
  0017  SELF      R3 = R2[K8('GetNewStoredItems')] (self)
  0018  CALL      R2 = call(R2, 1 args, 1 rets)
  0019  SELF      R4 = R0[K9('GetSortingOrder')] (self)
  0020  CALL      R3 = call(R3, 1 args, 1 rets)
  0021  GETTABLE  R4 = R0[K10('m_producerSpriteMask')]
  0022  ADD       R5 = K12(4) add R3
  0023  SETTABLE  R4[K11('frontSortingOrder')] = R5
  0024  GETTABLE  R4 = R0[K10('m_producerSpriteMask')]
  0025  SETTABLE  R4[K13('backSortingOrder')] = R3
  0026  NEWTABLE  R4 = {} (0 items)
  0027  SETTABLE  R0[K14('m_producerCellMatrix')] = R4
  0028  GETTABLE  R4 = R0[K15('m_producerScrollRect')]
  0029  GETTABLE  R4 = R4[K16('content')]
  0030  LEN       R5 = len R0
  0031  GETTABUP  R6 = _ENV[K17('math')]
  0032  GETTABLE  R6 = R6[K18('max')]
  0033  GETTABUP  R7 = _ENV[K17('math')]
  0034  GETTABLE  R7 = R7[K19('ceil')]
  0035  GETTABUP  R8 = _ENV[K20('INVENTORY_COLUMN_COUNT')]
  0036  DIV       R8 = R8 div R5
  0037  CALL      R7 = call(R7, 1 args, 1 rets)
  0038  LOADK     R8 = K21 5
  0039  CALL      R6 = call(R6, 1 args, 2 rets)
  0040  SELF      R8 = R0[K22('_ResetProducerCells')] (self)
  0041  MOVE      R9 = R0
  0042  CALL      R7 = call(R7, 0 args, 2 rets)
  0043  ADD       R7 = K23(1) add R5
  0044  GETTABUP  R8 = _ENV[K20('INVENTORY_COLUMN_COUNT')]
  0045  MUL       R8 = R8 mul R6
  0046  LOADK     R9 = K23 1
  0047  FORPREP   forprep R7(sBx=5)   -> 53
  0048  SELF      R12 = R0[K24('_SetProducerCell')] (self)
  0049  MOVE      R13 = R0
  0050  GETTABUP  R14 = _ENV[K25('EInventoryCellCode')]
  0051  GETTABLE  R14 = R14[K26('Locked')]
  0052  CALL      R11 = call(R11, 0 args, 3 rets)
  0053  FORLOOP   forloop R7(sBx=-6)   -> 48
  0054  SETTABLE  R0[K27('m_producerRowCount')] = R6
  0055  RETURN    return R0..R-1
; ---------- proto22 [_LoadProducerContent] ----------
  ; fn ?  line 396-415 np=1 va=0 ms=11 code=40 consts=14 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='IsProducerInventoryOpen'
  ;   K[3]='m_bLoadProducerInv'
  ;   K[4]=true
  ;   K[5]='m_producerRowCount'
  ;   K[6]='m_producerLoopListView'
  ;   K[7]='InitListView'
  ;   K[8]=1
  ;   K[9]='SetItemSize'
  ;   K[10]=0
  ;   K[11]=20
  ;   K[12]=200
  ;   K[13]='UpdateContentSize'
  ;   upvals: _ENV
  ;   locals: self(0-40), rowCount(9-40), (for index)(23-36), (for limit)(23-36), (for step)(23-36), i(24-35)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MainBoardModel')]
  0002  SELF      R2 = R1[K2('IsProducerInventoryOpen')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  SETTABLE  R0[K3('m_bLoadProducerInv')] = K4(true)
  0008  GETTABLE  R1 = R0[K5('m_producerRowCount')]
  0009  GETTABLE  R2 = R0[K6('m_producerLoopListView')]
  0010  SELF      R3 = R2[K7('InitListView')] (self)
  0011  ADD       R4 = K8(1) add R1
  0012  CLOSURE   R5 = closure proto0
  0013  CALL      R2 = call(R2, 0 args, 3 rets)
  0014  GETTABLE  R2 = R0[K6('m_producerLoopListView')]
  0015  SELF      R3 = R2[K9('SetItemSize')] (self)
  0016  LOADK     R4 = K10 0
  0017  LOADK     R5 = K11 20
  0018  LOADK     R6 = K10 0
  0019  CALL      R2 = call(R2, 0 args, 4 rets)
  0020  LOADK     R2 = K8 1
  0021  MOVE      R3 = R0
  0022  LOADK     R4 = K8 1
  0023  FORPREP   forprep R2(sBx=11)   -> 35
  0024  GETTABLE  R6 = R0[K6('m_producerLoopListView')]
  0025  SELF      R7 = R6[K9('SetItemSize')] (self)
  0026  MOVE      R8 = R0
  0027  LOADK     R9 = K12 200
  0028  EQ        if R0 eq K8(1)   -> -128218
  0029  JMP       (jump)   -> 33
  0030  LOADK     R10 = K11 20
  0031  TEST      if not R10 then   -> -131038
  0032  JMP       (jump)   -> 34
  0033  LOADK     R10 = K10 0
  0034  CALL      R6 = call(R6, 0 args, 4 rets)
  0035  FORLOOP   forloop R2(sBx=-12)   -> 24
  0036  GETTABLE  R2 = R0[K6('m_producerLoopListView')]
  0037  SELF      R3 = R2[K13('UpdateContentSize')] (self)
  0038  CALL      R2 = call(R2, 0 args, 1 rets)
  0039  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 405-407 np=2 va=0 ms=6 code=7 consts=1 upvals=1 protos=0
    ;   K[0]='_OnListProducerItemByIndex'
    ;   upvals: self
    ;   locals: listView(0-7), rowIndex(0-7)
    0000  GETUPVAL  R2 = self
    0001  SELF      R3 = R2[K0('_OnListProducerItemByIndex')] (self)
    0002  MOVE      R4 = R0
    0003  MOVE      R5 = R0
    0004  TAILCALL  tailcall(R2, 0)
    0005  RETURN    return R2..R1
    0006  RETURN    return R0..R-1
; ---------- proto23 [_OnListProducerItemByIndex] ----------
  ; fn ?  line 417-440 np=3 va=0 ms=15 code=52 consts=19 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='NewListViewItem'
  ;   K[2]='InventoryRowTransparent'
  ;   K[3]='Table'
  ;   K[4]='IsEmpty'
  ;   K[5]='m_producerCellMatrix'
  ;   K[6]='InventoryRow'
  ;   K[7]='gameObject'
  ;   K[8]='GetLuaTable'
  ;   K[9]='ipairs'
  ;   K[10]='HasInited'
  ;   K[11]='Init'
  ;   K[12]='SetCell'
  ;   K[13]='cellCode'
  ;   K[14]='param'
  ;   K[15]='EInventoryCellCode'
  ;   K[16]='Item'
  ;   K[17]='bNewAdded'
  ;   K[18]=false
  ;   upvals: _ENV
  ;   locals: self(0-52), listView(0-52), rowIndex(0-52), rowItem(17-52), rowTb(20-52), (for generator)(24-50), (for state)(24-50), (for control)(24-50), column(25-48), cellInfo(25-48)
  0000  EQ        if R0 eq K0(0)   -> -129790
  0001  JMP       (jump)   -> 6
  0002  SELF      R4 = R1[K1('NewListViewItem')] (self)
  0003  LOADK     R5 = K2 'InventoryRowTransparent'
  0004  TAILCALL  tailcall(R3, 0)
  0005  RETURN    return R3..R2
  0006  GETTABUP  R3 = _ENV[K3('Table')]
  0007  GETTABLE  R3 = R3[K4('IsEmpty')]
  0008  GETTABLE  R4 = R0[K5('m_producerCellMatrix')]
  0009  GETTABLE  R4 = R4[R2]
  0010  CALL      R3 = call(R3, 1 args, 1 rets)
  0011  TEST      if not R3 then   -> -131059
  0012  JMP       (jump)   -> 14
  0013  RETURN    return R0..R-1
  0014  SELF      R4 = R1[K1('NewListViewItem')] (self)
  0015  LOADK     R5 = K6 'InventoryRow'
  0016  CALL      R3 = call(R3, 1 args, 2 rets)
  0017  GETTABLE  R4 = R3[K7('gameObject')]
  0018  SELF      R5 = R4[K8('GetLuaTable')] (self)
  0019  CALL      R4 = call(R4, 1 args, 1 rets)
  0020  GETTABUP  R5 = _ENV[K9('ipairs')]
  0021  GETTABLE  R6 = R0[K5('m_producerCellMatrix')]
  0022  GETTABLE  R6 = R6[R2]
  0023  CALL      R5 = call(R5, 3 args, 1 rets)
  0024  JMP       (jump)   -> 48
  0025  SELF      R11 = R4[K10('HasInited')] (self)
  0026  CALL      R10 = call(R10, 1 args, 1 rets)
  0027  TEST      if not R10 then   -> -131042
  0028  JMP       (jump)   -> 32
  0029  SELF      R11 = R4[K11('Init')] (self)
  0030  MOVE      R12 = R0
  0031  CALL      R10 = call(R10, 0 args, 2 rets)
  0032  SELF      R11 = R4[K12('SetCell')] (self)
  0033  MOVE      R12 = R0
  0034  GETTABLE  R13 = R9[K13('cellCode')]
  0035  GETTABLE  R14 = R9[K14('param')]
  0036  CALL      R10 = call(R10, 0 args, 4 rets)
  0037  GETTABLE  R10 = R9[K13('cellCode')]
  0038  GETTABUP  R11 = _ENV[K15('EInventoryCellCode')]
  0039  GETTABLE  R11 = R11[K16('Item')]
  0040  EQ        if R0 eq R11   -> -125899
  0041  JMP       (jump)   -> 48
  0042  GETTABLE  R10 = R9[K14('param')]
  0043  GETTABLE  R10 = R10[K17('bNewAdded')]
  0044  TEST      if not R10 then   -> -131026
  0045  JMP       (jump)   -> 48
  0046  GETTABLE  R10 = R9[K14('param')]
  0047  SETTABLE  R10[K17('bNewAdded')] = K18(false)
  0048  TFORCALL  tforcall R5
  0049  TFORLOOP  tforloop R7(sBx=-25)   -> 25
  0050  RETURN    return R3..R2
  0051  RETURN    return R0..R-1
; ---------- proto24 [_ResetProducerCells] ----------
  ; fn ?  line 442-473 np=2 va=0 ms=19 code=98 consts=29 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='PlayerPrefs'
  ;   K[3]='GetInt'
  ;   K[4]='EPlayerPrefKey'
  ;   K[5]='TestShowAllLockedProducerInventory'
  ;   K[6]=0
  ;   K[7]=1
  ;   K[8]='GM'
  ;   K[9]='MainBoardModel'
  ;   K[10]='GetProducerInventoryConfig'
  ;   K[11]='ipairs'
  ;   K[12]='GetOneStoredItemByType'
  ;   K[13]='type'
  ;   K[14]='HasUnlockedPDSlot'
  ;   K[15]='day'
  ;   K[16]='_SetProducerCell'
  ;   K[17]='EInventoryCellCode'
  ;   K[18]='ProducerLocked'
  ;   K[19]=nil
  ;   K[20]='_GetPositionFromIndex'
  ;   K[21]='Locked'
  ;   K[22]='ProducerEmpty'
  ;   K[23]='Item'
  ;   K[24]='index'
  ;   K[25]='itemModel'
  ;   K[26]='bNewAdded'
  ;   K[27]='Table'
  ;   K[28]='ListContain'
  ;   upvals: _ENV
  ;   locals: self(0-98), arrayNewAddedItems(0-98), testShowAllLockedPd(15-98), arrProducerConfig(19-98), lockedRow(20-98), item(20-98), (for generator)(23-97), (for state)(23-97), (for control)(23-97), index(24-95), producerConfig(24-95)
  0000  GETTABUP  R2 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R2 = R2[K1('IsTestMode')]
  0002  CALL      R2 = call(R2, 1 args, 0 rets)
  0003  TEST      if not R2 then   -> -131067
  0004  JMP       (jump)   -> 15
  0005  GETTABUP  R2 = _ENV[K2('PlayerPrefs')]
  0006  GETTABLE  R2 = R2[K3('GetInt')]
  0007  GETTABUP  R3 = _ENV[K4('EPlayerPrefKey')]
  0008  GETTABLE  R3 = R3[K5('TestShowAllLockedProducerInventory')]
  0009  LOADK     R4 = K6 0
  0010  CALL      R2 = call(R2, 1 args, 2 rets)
  0011  EQ        if R1 eq K7(1)   -> -129772
  0012  JMP       (jump)   -> 14
  0013  LOADBOOL  R2 = false
  0014  LOADBOOL  R2 = true
  0015  GETTABUP  R3 = _ENV[K8('GM')]
  0016  GETTABLE  R3 = R3[K9('MainBoardModel')]
  0017  SELF      R4 = R3[K10('GetProducerInventoryConfig')] (self)
  0018  CALL      R3 = call(R3, 1 args, 1 rets)
  0019  LOADNIL   R4..R4 = nil
  0020  GETTABUP  R6 = _ENV[K11('ipairs')]
  0021  MOVE      R7 = R0
  0022  CALL      R6 = call(R6, 3 args, 1 rets)
  0023  JMP       (jump)   -> 95
  0024  GETTABUP  R11 = _ENV[K8('GM')]
  0025  GETTABLE  R11 = R11[K9('MainBoardModel')]
  0026  SELF      R12 = R11[K12('GetOneStoredItemByType')] (self)
  0027  GETTABLE  R13 = R10[K13('type')]
  0028  CALL      R11 = call(R11, 1 args, 2 rets)
  0029  MOVE      R5 = R0
  0030  GETTABUP  R11 = _ENV[K8('GM')]
  0031  GETTABLE  R11 = R11[K9('MainBoardModel')]
  0032  SELF      R12 = R11[K14('HasUnlockedPDSlot')] (self)
  0033  GETTABLE  R13 = R10[K15('day')]
  0034  CALL      R11 = call(R11, 1 args, 2 rets)
  0035  TEST      if not R11 then   -> -131034
  0036  JMP       (jump)   -> 70
  0037  TEST      if not R2 then   -> -131033
  0038  JMP       (jump)   -> 46
  0039  SELF      R12 = R0[K16('_SetProducerCell')] (self)
  0040  MOVE      R13 = R0
  0041  GETTABUP  R14 = _ENV[K17('EInventoryCellCode')]
  0042  GETTABLE  R14 = R14[K18('ProducerLocked')]
  0043  GETTABLE  R15 = R10[K15('day')]
  0044  CALL      R11 = call(R11, 0 args, 4 rets)
  0045  JMP       (jump)   -> 95
  0046  EQ        if R0 eq K19(nil)   -> -128701
  0047  JMP       (jump)   -> 52
  0048  SELF      R12 = R0[K20('_GetPositionFromIndex')] (self)
  0049  MOVE      R13 = R0
  0050  CALL      R11 = call(R11, 1 args, 2 rets)
  0051  MOVE      R4 = R0
  0052  SELF      R12 = R0[K20('_GetPositionFromIndex')] (self)
  0053  MOVE      R13 = R0
  0054  CALL      R11 = call(R11, 1 args, 2 rets)
  0055  EQ        if R1 eq R11   -> -128956
  0056  JMP       (jump)   -> 63
  0057  SELF      R12 = R0[K16('_SetProducerCell')] (self)
  0058  MOVE      R13 = R0
  0059  GETTABUP  R14 = _ENV[K17('EInventoryCellCode')]
  0060  GETTABLE  R14 = R14[K21('Locked')]
  0061  CALL      R11 = call(R11, 0 args, 3 rets)
  0062  JMP       (jump)   -> 95
  0063  SELF      R12 = R0[K16('_SetProducerCell')] (self)
  0064  MOVE      R13 = R0
  0065  GETTABUP  R14 = _ENV[K17('EInventoryCellCode')]
  0066  GETTABLE  R14 = R14[K18('ProducerLocked')]
  0067  GETTABLE  R15 = R10[K15('day')]
  0068  CALL      R11 = call(R11, 0 args, 4 rets)
  0069  JMP       (jump)   -> 95
  0070  EQ        if R0 eq K19(nil)   -> -128165
  0071  JMP       (jump)   -> 79
  0072  SELF      R12 = R0[K16('_SetProducerCell')] (self)
  0073  MOVE      R13 = R0
  0074  GETTABUP  R14 = _ENV[K17('EInventoryCellCode')]
  0075  GETTABLE  R14 = R14[K22('ProducerEmpty')]
  0076  GETTABLE  R15 = R10[K13('type')]
  0077  CALL      R11 = call(R11, 0 args, 4 rets)
  0078  JMP       (jump)   -> 95
  0079  SELF      R12 = R0[K16('_SetProducerCell')] (self)
  0080  MOVE      R13 = R0
  0081  GETTABUP  R14 = _ENV[K17('EInventoryCellCode')]
  0082  GETTABLE  R14 = R14[K23('Item')]
  0083  NEWTABLE  R15 = {} (0 items)
  0084  SETTABLE  R15[K24('index')] = R9
  0085  SETTABLE  R15[K25('itemModel')] = R5
  0086  TESTSET   if R0 then R16   -> -130472
  0087  JMP       (jump)   -> 93
  0088  GETTABUP  R16 = _ENV[K27('Table')]
  0089  GETTABLE  R16 = R16[K28('ListContain')]
  0090  MOVE      R17 = R0
  0091  MOVE      R18 = R0
  0092  CALL      R16 = call(R16, 1 args, 2 rets)
  0093  SETTABLE  R15[K26('bNewAdded')] = R16
  0094  CALL      R11 = call(R11, 0 args, 4 rets)
  0095  TFORCALL  tforcall R6
  0096  TFORLOOP  tforloop R8(sBx=-73)   -> 24
  0097  RETURN    return R0..R-1
; ---------- proto25 [_SetProducerCell] ----------
  ; fn ?  line 475-485 np=4 va=0 ms=8 code=17 consts=5 upvals=0 protos=0
  ;   K[0]='_GetPositionFromIndex'
  ;   K[1]='m_producerCellMatrix'
  ;   K[2]=nil
  ;   K[3]='cellCode'
  ;   K[4]='param'
  ;   locals: self(0-17), index(0-17), cellCode(0-17), param(0-17), row(3-17), column(3-17)
  0000  SELF      R5 = R0[K0('_GetPositionFromIndex')] (self)
  0001  MOVE      R6 = R0
  0002  CALL      R4 = call(R4, 2 args, 2 rets)
  0003  GETTABLE  R6 = R0[K1('m_producerCellMatrix')]
  0004  GETTABLE  R6 = R6[R4]
  0005  EQ        if R0 eq K2(nil)   -> -127735
  0006  JMP       (jump)   -> 10
  0007  GETTABLE  R6 = R0[K1('m_producerCellMatrix')]
  0008  NEWTABLE  R7 = {} (0 items)
  0009  SETTABLE  R6[R4] = R7
  0010  GETTABLE  R6 = R0[K1('m_producerCellMatrix')]
  0011  GETTABLE  R6 = R6[R4]
  0012  NEWTABLE  R7 = {} (0 items)
  0013  SETTABLE  R7[K3('cellCode')] = R2
  0014  SETTABLE  R7[K4('param')] = R3
  0015  SETTABLE  R6[R5] = R7
  0016  RETURN    return R0..R-1
; ---------- proto26 [GetProducerTabButtonTrans] ----------
  ; fn ?  line 492-494 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_producerButton'
  ;   K[1]='transform'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_producerButton')]
  0001  GETTABLE  R1 = R1[K1('transform')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto27 [PlayProducerTutorialAnim] ----------
  ; fn ?  line 497-567 np=1 va=0 ms=20 code=90 consts=31 upvals=1 protos=3
  ;   K[0]='ipairs'
  ;   K[1]='m_cellMatrix'
  ;   K[2]='cellCode'
  ;   K[3]='EInventoryCellCode'
  ;   K[4]='Item'
  ;   K[5]='param'
  ;   K[6]='itemModel'
  ;   K[7]=nil
  ;   K[8]='GM'
  ;   K[9]='MainBoardModel'
  ;   K[10]='CanStoreItemInProducer'
  ;   K[11]='GetType'
  ;   K[12]='table'
  ;   K[13]='insert'
  ;   K[14]='PROPERTY_TYPE'
  ;   K[15]='PROPERTY_COUNT'
  ;   K[16]=1
  ;   K[17]='row'
  ;   K[18]='index'
  ;   K[19]='ScrollToTargetRow'
  ;   K[20]='m_bEventLocked'
  ;   K[21]=true
  ;   K[22]='UIManager'
  ;   K[23]='SetEventLock'
  ;   K[24]='DOTween'
  ;   K[25]='Sequence'
  ;   K[26]='AppendInterval'
  ;   K[27]=0.2
  ;   K[28]='AppendCallback'
  ;   K[29]=1
  ;   K[30]='m_seq'
  ;   upvals: _ENV
  ;   locals: self(0-90), arrRewards(1-90), arrCellPos(2-90), firstRowIndex(3-90), (for generator)(9-60), (for state)(9-60), (for control)(9-60), row(10-58), rowTb(10-58), (for generator)(13-58), (for state)(13-58), (for control)(13-58), column(14-56), info(14-56), scrollTime(66-90), seq(75-90), flyFunc(79-90)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  NEWTABLE  R2 = {} (0 items)
  0002  LOADNIL   R3..R3 = nil
  0003  GETTABUP  R4 = _ENV[K0('ipairs')]
  0004  GETTABLE  R5 = R0[K1('m_cellMatrix')]
  0005  TEST      if not R5 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  NEWTABLE  R5 = {} (0 items)
  0008  CALL      R4 = call(R4, 3 args, 1 rets)
  0009  JMP       (jump)   -> 58
  0010  GETTABUP  R9 = _ENV[K0('ipairs')]
  0011  MOVE      R10 = R0
  0012  CALL      R9 = call(R9, 3 args, 1 rets)
  0013  JMP       (jump)   -> 56
  0014  GETTABLE  R14 = R13[K2('cellCode')]
  0015  GETTABUP  R15 = _ENV[K3('EInventoryCellCode')]
  0016  GETTABLE  R15 = R15[K4('Item')]
  0017  EQ        if R0 eq R15   -> -123870
  0018  JMP       (jump)   -> 56
  0019  GETTABLE  R14 = R13[K5('param')]
  0020  GETTABLE  R14 = R14[K6('itemModel')]
  0021  EQ        if R1 eq K7(nil)   -> -123618
  0022  JMP       (jump)   -> 56
  0023  GETTABUP  R14 = _ENV[K8('GM')]
  0024  GETTABLE  R14 = R14[K9('MainBoardModel')]
  0025  SELF      R15 = R14[K10('CanStoreItemInProducer')] (self)
  0026  GETTABLE  R16 = R13[K5('param')]
  0027  GETTABLE  R16 = R16[K6('itemModel')]
  0028  SELF      R17 = R16[K11('GetType')] (self)
  0029  CALL      R16 = call(R16, -1 args, 1 rets)
  0030  CALL      R14 = call(R14, 1 args, -1 rets)
  0031  TEST      if not R14 then   -> -131039
  0032  JMP       (jump)   -> 56
  0033  EQ        if R0 eq K7(nil)   -> -129238
  0034  JMP       (jump)   -> 36
  0035  MOVE      R3 = R0
  0036  GETTABUP  R14 = _ENV[K12('table')]
  0037  GETTABLE  R14 = R14[K13('insert')]
  0038  MOVE      R15 = R0
  0039  NEWTABLE  R16 = {} (0 items)
  0040  GETTABUP  R17 = _ENV[K14('PROPERTY_TYPE')]
  0041  GETTABLE  R18 = R13[K5('param')]
  0042  GETTABLE  R18 = R18[K6('itemModel')]
  0043  SELF      R19 = R18[K11('GetType')] (self)
  0044  CALL      R18 = call(R18, 1 args, 1 rets)
  0045  SETTABLE  R16[R17] = R18
  0046  GETTABUP  R17 = _ENV[K15('PROPERTY_COUNT')]
  0047  SETTABLE  R16[R17] = K16(1)
  0048  CALL      R14 = call(R14, 0 args, 2 rets)
  0049  GETTABUP  R14 = _ENV[K12('table')]
  0050  GETTABLE  R14 = R14[K13('insert')]
  0051  MOVE      R15 = R0
  0052  NEWTABLE  R16 = {} (0 items)
  0053  SETTABLE  R16[K17('row')] = R7
  0054  SETTABLE  R16[K18('index')] = R12
  0055  CALL      R14 = call(R14, 0 args, 2 rets)
  0056  TFORCALL  tforcall R9
  0057  TFORLOOP  tforloop R11(sBx=-44)   -> 14
  0058  TFORCALL  tforcall R4
  0059  TFORLOOP  tforloop R6(sBx=-50)   -> 10
  0060  EQ        if R0 eq K7(nil)   -> -129211
  0061  JMP       (jump)   -> 63
  0062  RETURN    return R0..R-1
  0063  SELF      R5 = R0[K19('ScrollToTargetRow')] (self)
  0064  MOVE      R6 = R0
  0065  CALL      R4 = call(R4, 1 args, 2 rets)
  0066  SETTABLE  R0[K20('m_bEventLocked')] = K21(true)
  0067  GETTABUP  R5 = _ENV[K8('GM')]
  0068  GETTABLE  R5 = R5[K22('UIManager')]
  0069  SELF      R6 = R5[K23('SetEventLock')] (self)
  0070  LOADBOOL  R7 = true
  0071  CALL      R5 = call(R5, 0 args, 2 rets)
  0072  GETTABUP  R5 = _ENV[K24('DOTween')]
  0073  GETTABLE  R5 = R5[K25('Sequence')]
  0074  CALL      R5 = call(R5, 1 args, 0 rets)
  0075  SELF      R7 = R5[K26('AppendInterval')] (self)
  0076  ADD       R8 = K27(0.2) add R4
  0077  CALL      R6 = call(R6, 0 args, 2 rets)
  0078  CLOSURE   R6 = closure proto0
  0079  SELF      R8 = R5[K28('AppendCallback')] (self)
  0080  CLOSURE   R9 = closure proto1
  0081  CALL      R7 = call(R7, 0 args, 2 rets)
  0082  SELF      R8 = R5[K26('AppendInterval')] (self)
  0083  LOADK     R9 = K29 1
  0084  CALL      R7 = call(R7, 0 args, 2 rets)
  0085  SELF      R8 = R5[K28('AppendCallback')] (self)
  0086  CLOSURE   R9 = closure proto2
  0087  CALL      R7 = call(R7, 0 args, 2 rets)
  0088  SETTABLE  R0[K30('m_seq')] = R5
  0089  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 526-548 np=0 va=0 ms=13 code=57 consts=27 upvals=4 protos=0
    ;   K[0]='ipairs'
    ;   K[1]='endPos'
    ;   K[2]='m_producerButton'
    ;   K[3]='transform'
    ;   K[4]='position'
    ;   K[5]='flyCount'
    ;   K[6]=1
    ;   K[7]='spriteKey'
    ;   K[8]='GM'
    ;   K[9]='ItemDataModel'
    ;   K[10]='GetSpriteName'
    ;   K[11]='PROPERTY_TYPE'
    ;   K[12]='targetButton'
    ;   K[13]='m_producerIconArea'
    ;   K[14]='spriteScale'
    ;   K[15]='m_loopListView'
    ;   K[16]='GetShownItemByItemIndex'
    ;   K[17]='row'
    ;   K[18]=nil
    ;   K[19]='gameObject'
    ;   K[20]='GetLuaTable'
    ;   K[21]='GetCell'
    ;   K[22]='index'
    ;   K[23]='PropertyDataManager'
    ;   K[24]='PlayCollectAnimation'
    ;   K[25]='GetItemTrans'
    ;   K[26]='HideAll'
    ;   upvals: _ENV, arrRewards, self, arrCellPos
    ;   locals: rowCell(1-57), itemCell(1-57), (for generator)(4-56), (for state)(4-56), (for control)(4-56), index(5-54), reward(5-54), customData(23-54)
    0000  LOADNIL   R0..R0 = nil
    0001  GETTABUP  R2 = _ENV[K0('ipairs')]
    0002  GETUPVAL  R3 = _ENV
    0003  CALL      R2 = call(R2, 3 args, 1 rets)
    0004  JMP       (jump)   -> 54
    0005  NEWTABLE  R7 = {} (1 items)
    0006  NEWTABLE  R8 = {} (0 items)
    0007  GETTABUP  R9 = self[K2('m_producerButton')]
    0008  GETTABLE  R9 = R9[K3('transform')]
    0009  GETTABLE  R9 = R9[K4('position')]
    0010  SETTABLE  R8[K1('endPos')] = R9
    0011  SETTABLE  R8[K5('flyCount')] = K6(1)
    0012  GETTABUP  R9 = _ENV[K8('GM')]
    0013  GETTABLE  R9 = R9[K9('ItemDataModel')]
    0014  SELF      R10 = R9[K10('GetSpriteName')] (self)
    0015  GETTABUP  R11 = _ENV[K11('PROPERTY_TYPE')]
    0016  GETTABLE  R11 = R6[R11]
    0017  CALL      R9 = call(R9, 1 args, 2 rets)
    0018  SETTABLE  R8[K7('spriteKey')] = R9
    0019  GETTABUP  R9 = self[K13('m_producerIconArea')]
    0020  SETTABLE  R8[K12('targetButton')] = R9
    0021  SETTABLE  R8[K14('spriteScale')] = K6(1)
    0022  SETLIST   setlist R7[B=1,C=1]
    0023  GETTABUP  R8 = self[K15('m_loopListView')]
    0024  SELF      R9 = R8[K16('GetShownItemByItemIndex')] (self)
    0025  GETTABUP  R10 = arrCellPos[R5]
    0026  GETTABLE  R10 = R10[K17('row')]
    0027  CALL      R8 = call(R8, 1 args, 2 rets)
    0028  MOVE      R0 = R0
    0029  EQ        if R1 eq K18(nil)   -> -130767
    0030  JMP       (jump)   -> 54
    0031  GETTABLE  R8 = R0[K19('gameObject')]
    0032  SELF      R9 = R8[K20('GetLuaTable')] (self)
    0033  CALL      R8 = call(R8, 1 args, 1 rets)
    0034  SELF      R9 = R8[K21('GetCell')] (self)
    0035  GETTABUP  R10 = arrCellPos[R5]
    0036  GETTABLE  R10 = R10[K22('index')]
    0037  CALL      R8 = call(R8, 1 args, 2 rets)
    0038  MOVE      R1 = R0
    0039  EQ        if R1 eq K18(nil)   -> -130245
    0040  JMP       (jump)   -> 54
    0041  GETTABUP  R8 = _ENV[K8('GM')]
    0042  GETTABLE  R8 = R8[K23('PropertyDataManager')]
    0043  SELF      R9 = R8[K24('PlayCollectAnimation')] (self)
    0044  NEWTABLE  R10 = {} (1 items)
    0045  MOVE      R11 = R0
    0046  SETLIST   setlist R10[B=1,C=1]
    0047  SELF      R12 = R1[K25('GetItemTrans')] (self)
    0048  CALL      R11 = call(R11, 1 args, 1 rets)
    0049  GETTABLE  R11 = R11[K4('position')]
    0050  MOVE      R12 = R0
    0051  CALL      R8 = call(R8, 0 args, 4 rets)
    0052  SELF      R9 = R1[K26('HideAll')] (self)
    0053  CALL      R8 = call(R8, 0 args, 1 rets)
    0054  TFORCALL  tforcall R2
    0055  TFORLOOP  tforloop R4(sBx=-51)   -> 5
    0056  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 550-552 np=0 va=0 ms=2 code=3 consts=0 upvals=1 protos=0
    ;   upvals: flyFunc
    0000  GETUPVAL  R0 = flyFunc
    0001  CALL      R0 = call(R0, 0 args, 0 rets)
    0002  RETURN    return R0..R-1
  ; ---------- proto2 [m_seq] ----------
    ; fn ?  line 557-564 np=0 va=0 ms=3 code=15 consts=11 upvals=2 protos=0
    ;   K[0]='m_bPlayTutorialAnim'
    ;   K[1]=false
    ;   K[2]='_UpdateNormalContent'
    ;   K[3]='m_loopListView'
    ;   K[4]='RefreshAllShownItem'
    ;   K[5]='m_seq'
    ;   K[6]=nil
    ;   K[7]='GM'
    ;   K[8]='UIManager'
    ;   K[9]='SetEventLock'
    ;   K[10]='m_bEventLocked'
    ;   upvals: self, _ENV
    0000  SETTABUP  self[K0('m_bPlayTutorialAnim')] = K1(false)
    0001  GETUPVAL  R0 = self
    0002  SELF      R1 = R0[K2('_UpdateNormalContent')] (self)
    0003  CALL      R0 = call(R0, 0 args, 1 rets)
    0004  GETTABUP  R0 = self[K3('m_loopListView')]
    0005  SELF      R1 = R0[K4('RefreshAllShownItem')] (self)
    0006  CALL      R0 = call(R0, 0 args, 1 rets)
    0007  SETTABUP  self[K5('m_seq')] = K6(nil)
    0008  GETTABUP  R0 = _ENV[K7('GM')]
    0009  GETTABLE  R0 = R0[K8('UIManager')]
    0010  SELF      R1 = R0[K9('SetEventLock')] (self)
    0011  LOADBOOL  R2 = false
    0012  CALL      R0 = call(R0, 0 args, 2 rets)
    0013  SETTABUP  self[K10('m_bEventLocked')] = K1(false)
    0014  RETURN    return R0..R-1
; ---------- proto28 [GetSkipPropBtn] ----------
  ; fn ?  line 571-573 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_skipPropBtn'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_skipPropBtn')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
