# UI_Window_ItemDetail_ItemDishDetailWindow_470.luac
; fn @ItemDishDetailWindow.lua  line 0-0 np=0 va=1 ms=3 code=69 consts=28 upvals=1 protos=16
;   K[0]='ItemDishDetailWindow'
;   K[1]='setmetatable'
;   K[2]='ItemDetailWindow'
;   K[3]='__index'
;   K[4]='_UpdateView'
;   K[5]='ItemDishDetailWindow'
;   K[6]='OnDestroy'
;   K[7]='OnCloseView'
;   K[8]='_FindCookInstrumentOnBoard'
;   K[9]='_FindCookingOrCookedCookCmpOnBoard'
;   K[10]='ToggleSkipOrDishDesc'
;   K[11]='SpeedModelAndPlaySkipSpeedUpAnim1'
;   K[12]='_ShowYellowInstruBg'
;   K[13]='PlayCookedSpine'
;   K[14]='_AddTween'
;   K[15]='_OnLoadItemSpine'
;   K[16]='_ToggleItemSpine'
;   K[17]='_TryAddTipForDishMaterials'
;   K[18]='_UpdateHotSaleDisplay'
;   K[19]='OnHelpClicked'
;   K[20]='_OnDishCookFinished'
;   K[21]='HowToCookWindow'
;   K[22]='windowMaskAlpha'
;   K[23]='EWindowMaskAlpha'
;   K[24]='Dark'
;   K[25]='canClickWindowMask'
;   K[26]=true
;   K[27]='BaseWindow'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('ItemDetailWindow')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('ItemDishDetailWindow')] = R0
0005  GETTABUP  R0 = _ENV[K0('ItemDishDetailWindow')]
0006  GETTABUP  R1 = _ENV[K0('ItemDishDetailWindow')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('ItemDishDetailWindow')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('_UpdateView')] = R1
0011  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K6('OnDestroy')] = R1
0014  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K7('OnCloseView')] = R1
0017  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K8('_FindCookInstrumentOnBoard')] = R1
0020  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K9('_FindCookingOrCookedCookCmpOnBoard')] = R1
0023  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0024  CLOSURE   R1 = closure proto5
0025  SETTABLE  R0[K10('ToggleSkipOrDishDesc')] = R1
0026  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0027  CLOSURE   R1 = closure proto6
0028  SETTABLE  R0[K11('SpeedModelAndPlaySkipSpeedUpAnim1')] = R1
0029  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0030  CLOSURE   R1 = closure proto7
0031  SETTABLE  R0[K12('_ShowYellowInstruBg')] = R1
0032  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0033  CLOSURE   R1 = closure proto8
0034  SETTABLE  R0[K13('PlayCookedSpine')] = R1
0035  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0036  CLOSURE   R1 = closure proto9
0037  SETTABLE  R0[K14('_AddTween')] = R1
0038  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0039  CLOSURE   R1 = closure proto10
0040  SETTABLE  R0[K15('_OnLoadItemSpine')] = R1
0041  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0042  CLOSURE   R1 = closure proto11
0043  SETTABLE  R0[K16('_ToggleItemSpine')] = R1
0044  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0045  CLOSURE   R1 = closure proto12
0046  SETTABLE  R0[K17('_TryAddTipForDishMaterials')] = R1
0047  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0048  CLOSURE   R1 = closure proto13
0049  SETTABLE  R0[K18('_UpdateHotSaleDisplay')] = R1
0050  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0051  CLOSURE   R1 = closure proto14
0052  SETTABLE  R0[K19('OnHelpClicked')] = R1
0053  GETTABUP  R0 = _ENV[K5('ItemDishDetailWindow')]
0054  CLOSURE   R1 = closure proto15
0055  SETTABLE  R0[K20('_OnDishCookFinished')] = R1
0056  GETTABUP  R0 = _ENV[K1('setmetatable')]
0057  NEWTABLE  R1 = {} (0 items)
0058  GETTABUP  R2 = _ENV[K23('EWindowMaskAlpha')]
0059  GETTABLE  R2 = R2[K24('Dark')]
0060  SETTABLE  R1[K22('windowMaskAlpha')] = R2
0061  SETTABLE  R1[K25('canClickWindowMask')] = K26(true)
0062  GETTABUP  R2 = _ENV[K27('BaseWindow')]
0063  CALL      R0 = call(R0, 1 args, 2 rets)
0064  SETTABUP  _ENV[K21('HowToCookWindow')] = R0
0065  GETTABUP  R0 = _ENV[K21('HowToCookWindow')]
0066  GETTABUP  R1 = _ENV[K21('HowToCookWindow')]
0067  SETTABLE  R0[K3('__index')] = R1
0068  RETURN    return R0..R-1
; ---------- proto0 [_UpdateView] ----------
  ; fn ?  line 7-194 np=4 va=0 ms=37 code=496 consts=126 upvals=1 protos=3
  ;   K[0]='m_arrTweens'
  ;   K[1]='mode'
  ;   K[2]='nextRefer'
  ;   K[3]='EItemDetailWindowRefer'
  ;   K[4]='DishDetailWin'
  ;   K[5]='m_arrCells'
  ;   K[6]='m_notSameEqTip'
  ;   K[7]='SetActive'
  ;   K[8]='m_itemType'
  ;   K[9]='GM'
  ;   K[10]='GameTextModel'
  ;   K[11]='GetText'
  ;   K[12]='ItemNameDefinition'
  ;   K[13]='GetName'
  ;   K[14]='m_titleText'
  ;   K[15]='text'
  ;   K[16]='ItemDataModel'
  ;   K[17]='GetMaterials'
  ;   K[18]='ipairs'
  ;   K[19]='_AddCell'
  ;   K[20]='m_materialRoot'
  ;   K[21]='Table'
  ;   K[22]='ShallowCopy'
  ;   K[23]='GetDishUnlockedInstru'
  ;   K[24]='GetChainId'
  ;   K[25]='m_dishDesc'
  ;   K[26]='general_dish_desc'
  ;   K[27]='TimeUtil'
  ;   K[28]='ParseTimeDescription'
  ;   K[29]='StringUtil'
  ;   K[30]='Replace'
  ;   K[31]=' '
  ;   K[32]=''
  ;   K[33]='m_cookTimeTxt'
  ;   K[34]='LayoutRebuilder'
  ;   K[35]='ForceRebuildLayoutImmediate'
  ;   K[36]='m_cookTimeTrans'
  ;   K[37]='preferredWidth'
  ;   K[38]=80
  ;   K[39]='UIUtil'
  ;   K[40]='SetSizeDelta'
  ;   K[41]='transform'
  ;   K[42]=28
  ;   K[43]=1
  ;   K[44]='m_dish'
  ;   K[45]='Init'
  ;   K[46]=4
  ;   K[47]='AddSizeDelta'
  ;   K[48]='m_materialBgTrans'
  ;   K[49]=200
  ;   K[50]='m_contentRectTrans'
  ;   K[51]='m_originSize'
  ;   K[52]='sizeDelta'
  ;   K[53]='EventDispatcher'
  ;   K[54]='AddListener'
  ;   K[55]='EEventType'
  ;   K[56]='ShopBuyItemSuccess'
  ;   K[57]='_UpdateHotSaleDisplay'
  ;   K[58]='ShopRefreshed'
  ;   K[59]='EUILoaderConfigName'
  ;   K[60]='ItemDishDetailWindowBottomLeft'
  ;   K[61]='m_activityEntryLoader'
  ;   K[62]='EUILoaderType'
  ;   K[63]='ItemDishDetailWindow'
  ;   K[64]='_UpdateTestMsg'
  ;   K[65]='ItemDetailWindowMode'
  ;   K[66]='Order'
  ;   K[67]='m_instrument'
  ;   K[68]='m_helpGo'
  ;   K[69]='m_newRecipeRewardView'
  ;   K[70]='m_dishDescGo'
  ;   K[71]='ToggleSkipOrDishDesc'
  ;   K[72]='BoardModelHelper'
  ;   K[73]='GetActiveModel'
  ;   K[74]='GetAllItemCookCmp'
  ;   K[75]='GetState'
  ;   K[76]='GetRecipe'
  ;   K[77]='GetItemModel'
  ;   K[78]='GetCode'
  ;   K[79]='EItemCookState'
  ;   K[80]='Cooked'
  ;   K[81]='Cooking'
  ;   K[82]='Prepare'
  ;   K[83]='CanCook'
  ;   K[84]='GetCurMaterialsArray'
  ;   K[85]='ListContain'
  ;   K[86]=true
  ;   K[87]='IsSubArray'
  ;   K[88]='_FindCookInstrumentOnBoard'
  ;   K[89]='m_curCookCmp'
  ;   K[90]='SetClickCallback'
  ;   K[91]='gameObject'
  ;   K[92]='_OnDishCookFinished'
  ;   K[93]='m_curCookCmp'
  ;   K[94]='_spine'
  ;   K[95]='DataResource'
  ;   K[96]='ScenePrefabConfig'
  ;   K[97]='HasConfig'
  ;   K[98]='ResourceLoader'
  ;   K[99]='LoadPrefab'
  ;   K[100]='GetConfig'
  ;   K[101]='m_instruBgImg'
  ;   K[102]='Vector3'
  ;   K[103]='zero'
  ;   K[104]='m_cookingSpine'
  ;   K[105]='PlayAnimation'
  ;   K[106]='cook'
  ;   K[107]=nil
  ;   K[108]='ChangeBg'
  ;   K[109]='EItemDetailCellBg'
  ;   K[110]='Yellow'
  ;   K[111]='ItemFindHelper'
  ;   K[112]='FindOneTargetMaterialForDish'
  ;   K[113]='EItemPlaceType'
  ;   K[114]='None'
  ;   K[115]='DarkGreen'
  ;   K[116]='Board'
  ;   K[117]='GameObject'
  ;   K[118]='Instantiate'
  ;   K[119]='m_placeTipGo'
  ;   K[120]='GetLuaTable'
  ;   K[121]='hasPlaceTip'
  ;   K[122]='_TryAddTipForDishMaterials'
  ;   K[123]='GetKeys'
  ;   K[124]='y'
  ;   K[125]=100
  ;   upvals: _ENV
  ;   locals: self(0-496), itemType(0-496), mode(0-496), order(0-496), dishName(21-496), arrNeedMaterials(30-496), (for generator)(33-44), (for state)(33-44), (for control)(33-44), _(34-42), material(34-42), mapCookingRecipes(45-496), mapCookedRecipes(46-496), arrMaterialCells(50-496), unlockedInstrument(55-496), duration(55-496), instrumentChain(60-496), text(80-496), txtWidth(102-496), getEntryConfigName(162-496), canCook(209-496), boardModel(212-496), allCookCmp(214-496), cooked(215-496), cooking(216-496), inCookMaterials(217-496), (for generator)(220-298), (for state)(220-298), (for control)(220-298), _(221-296), cookCmp(221-296), state(223-296), recipe(225-296), materials(263-285), (for generator)(266-277), (for state)(266-277), (for control)(266-277), _(267-275), material(267-275), curCookCmp(299-496), realUseInstrument(299-496), spinePrefab(375-408), cell(409-496), go(409-496), luaTable(409-496), (for generator)(412-463), (for state)(412-463), (for control)(412-463), index(413-461), material(413-461), ePlaceType(428-461), findItemModel(428-461)
  0000  NEWTABLE  R4 = {} (0 items)
  0001  SETTABLE  R0[K0('m_arrTweens')] = R4
  0002  SETTABLE  R0[K1('mode')] = R2
  0003  GETTABUP  R4 = _ENV[K3('EItemDetailWindowRefer')]
  0004  GETTABLE  R4 = R4[K4('DishDetailWin')]
  0005  SETTABLE  R0[K2('nextRefer')] = R4
  0006  NEWTABLE  R4 = {} (0 items)
  0007  SETTABLE  R0[K5('m_arrCells')] = R4
  0008  GETTABLE  R4 = R0[K6('m_notSameEqTip')]
  0009  SELF      R5 = R4[K7('SetActive')] (self)
  0010  LOADBOOL  R6 = false
  0011  CALL      R4 = call(R4, 0 args, 2 rets)
  0012  SETTABLE  R0[K8('m_itemType')] = R1
  0013  GETTABUP  R4 = _ENV[K9('GM')]
  0014  GETTABLE  R4 = R4[K10('GameTextModel')]
  0015  SELF      R5 = R4[K11('GetText')] (self)
  0016  GETTABUP  R6 = _ENV[K12('ItemNameDefinition')]
  0017  GETTABLE  R6 = R6[K13('GetName')]
  0018  MOVE      R7 = R0
  0019  CALL      R6 = call(R6, -1 args, 1 rets)
  0020  CALL      R4 = call(R4, 1 args, -1 rets)
  0021  GETTABLE  R5 = R0[K14('m_titleText')]
  0022  SETTABLE  R5[K15('text')] = R4
  0023  GETTABUP  R5 = _ENV[K9('GM')]
  0024  GETTABLE  R5 = R5[K16('ItemDataModel')]
  0025  SELF      R6 = R5[K17('GetMaterials')] (self)
  0026  MOVE      R7 = R0
  0027  LOADBOOL  R8 = false
  0028  LOADBOOL  R9 = false
  0029  CALL      R5 = call(R5, 1 args, 4 rets)
  0030  GETTABUP  R6 = _ENV[K18('ipairs')]
  0031  MOVE      R7 = R0
  0032  CALL      R6 = call(R6, 3 args, 1 rets)
  0033  JMP       (jump)   -> 42
  0034  SELF      R12 = R0[K19('_AddCell')] (self)
  0035  MOVE      R13 = R0
  0036  LOADBOOL  R14 = true
  0037  LOADBOOL  R15 = false
  0038  LOADBOOL  R16 = true
  0039  LOADBOOL  R17 = true
  0040  GETTABLE  R18 = R0[K20('m_materialRoot')]
  0041  CALL      R11 = call(R11, 0 args, 7 rets)
  0042  TFORCALL  tforcall R6
  0043  TFORLOOP  tforloop R8(sBx=-10)   -> 34
  0044  NEWTABLE  R6 = {} (0 items)
  0045  NEWTABLE  R7 = {} (0 items)
  0046  GETTABUP  R8 = _ENV[K21('Table')]
  0047  GETTABLE  R8 = R8[K22('ShallowCopy')]
  0048  GETTABLE  R9 = R0[K5('m_arrCells')]
  0049  CALL      R8 = call(R8, 1 args, 1 rets)
  0050  GETTABUP  R9 = _ENV[K9('GM')]
  0051  GETTABLE  R9 = R9[K16('ItemDataModel')]
  0052  SELF      R10 = R9[K23('GetDishUnlockedInstru')] (self)
  0053  MOVE      R11 = R0
  0054  CALL      R9 = call(R9, 2 args, 2 rets)
  0055  GETTABUP  R11 = _ENV[K9('GM')]
  0056  GETTABLE  R11 = R11[K16('ItemDataModel')]
  0057  SELF      R12 = R11[K24('GetChainId')] (self)
  0058  MOVE      R13 = R0
  0059  CALL      R11 = call(R11, 1 args, 2 rets)
  0060  GETTABLE  R12 = R0[K25('m_dishDesc')]
  0061  GETTABUP  R13 = _ENV[K9('GM')]
  0062  GETTABLE  R13 = R13[K10('GameTextModel')]
  0063  SELF      R14 = R13[K11('GetText')] (self)
  0064  LOADK     R15 = K26 'general_dish_desc'
  0065  GETTABUP  R16 = _ENV[K9('GM')]
  0066  GETTABLE  R16 = R16[K10('GameTextModel')]
  0067  SELF      R17 = R16[K11('GetText')] (self)
  0068  GETTABUP  R18 = _ENV[K12('ItemNameDefinition')]
  0069  GETTABLE  R18 = R18[K13('GetName')]
  0070  MOVE      R19 = R0
  0071  CALL      R18 = call(R18, -1 args, 1 rets)
  0072  CALL      R16 = call(R16, 1 args, -1 rets)
  0073  MOVE      R17 = R0
  0074  CALL      R13 = call(R13, 1 args, 4 rets)
  0075  SETTABLE  R12[K15('text')] = R13
  0076  GETTABUP  R12 = _ENV[K27('TimeUtil')]
  0077  GETTABLE  R12 = R12[K28('ParseTimeDescription')]
  0078  MOVE      R13 = R0
  0079  CALL      R12 = call(R12, 1 args, 1 rets)
  0080  GETTABUP  R13 = _ENV[K29('StringUtil')]
  0081  GETTABLE  R13 = R13[K30('Replace')]
  0082  MOVE      R14 = R0
  0083  LOADK     R15 = K31 ' '
  0084  LOADK     R16 = K32 ''
  0085  CALL      R13 = call(R13, 1 args, 3 rets)
  0086  MOVE      R12 = R0
  0087  GETTABLE  R13 = R0[K33('m_cookTimeTxt')]
  0088  SETTABLE  R13[K15('text')] = R12
  0089  GETTABUP  R13 = _ENV[K34('LayoutRebuilder')]
  0090  GETTABLE  R13 = R13[K35('ForceRebuildLayoutImmediate')]
  0091  GETTABLE  R14 = R0[K36('m_cookTimeTrans')]
  0092  CALL      R13 = call(R13, 0 args, 1 rets)
  0093  GETTABLE  R13 = R0[K33('m_cookTimeTxt')]
  0094  GETTABLE  R13 = R13[K37('preferredWidth')]
  0095  LT        if R0 lt R13   -> 19566
  0096  JMP       (jump)   -> 100
  0097  LOADK     R13 = K38 80
  0098  TEST      if not R13 then   -> -130971
  0099  JMP       (jump)   -> 102
  0100  GETTABLE  R13 = R0[K33('m_cookTimeTxt')]
  0101  GETTABLE  R13 = R13[K37('preferredWidth')]
  0102  GETTABUP  R14 = _ENV[K39('UIUtil')]
  0103  GETTABLE  R14 = R14[K40('SetSizeDelta')]
  0104  GETTABLE  R15 = R0[K33('m_cookTimeTxt')]
  0105  GETTABLE  R15 = R15[K41('transform')]
  0106  MOVE      R16 = R0
  0107  CALL      R14 = call(R14, 0 args, 2 rets)
  0108  GETTABUP  R14 = _ENV[K39('UIUtil')]
  0109  GETTABLE  R14 = R14[K40('SetSizeDelta')]
  0110  GETTABLE  R15 = R0[K36('m_cookTimeTrans')]
  0111  ADD       R16 = R13 add K42(28)
  0112  CALL      R14 = call(R14, 0 args, 2 rets)
  0113  GETTABLE  R14 = R0[K5('m_arrCells')]
  0114  GETTABLE  R15 = R0[K5('m_arrCells')]
  0115  LEN       R15 = len R0
  0116  ADD       R15 = K43(1) add R15
  0117  GETTABLE  R16 = R0[K44('m_dish')]
  0118  SETTABLE  R14[R15] = R16
  0119  GETTABLE  R14 = R0[K44('m_dish')]
  0120  SELF      R15 = R14[K45('Init')] (self)
  0121  MOVE      R16 = R0
  0122  LOADBOOL  R17 = false
  0123  LOADBOOL  R18 = false
  0124  LOADBOOL  R19 = true
  0125  LOADBOOL  R20 = false
  0126  MOVE      R21 = R0
  0127  CALL      R14 = call(R14, 0 args, 7 rets)
  0128  LEN       R14 = len R0
  0129  LT        if R0 lt R14   -> 23697
  0130  JMP       (jump)   -> 143
  0131  GETTABUP  R14 = _ENV[K39('UIUtil')]
  0132  GETTABLE  R14 = R14[K47('AddSizeDelta')]
  0133  GETTABLE  R15 = R0[K48('m_materialBgTrans')]
  0134  LOADNIL   R16..R16 = nil
  0135  LOADK     R17 = K49 200
  0136  CALL      R14 = call(R14, 0 args, 3 rets)
  0137  GETTABUP  R14 = _ENV[K39('UIUtil')]
  0138  GETTABLE  R14 = R14[K47('AddSizeDelta')]
  0139  GETTABLE  R15 = R0[K50('m_contentRectTrans')]
  0140  LOADNIL   R16..R16 = nil
  0141  LOADK     R17 = K49 200
  0142  CALL      R14 = call(R14, 0 args, 3 rets)
  0143  GETTABLE  R14 = R0[K50('m_contentRectTrans')]
  0144  GETTABLE  R14 = R14[K52('sizeDelta')]
  0145  SETTABLE  R0[K51('m_originSize')] = R14
  0146  GETTABUP  R14 = _ENV[K53('EventDispatcher')]
  0147  GETTABLE  R14 = R14[K54('AddListener')]
  0148  GETTABUP  R15 = _ENV[K55('EEventType')]
  0149  GETTABLE  R15 = R15[K56('ShopBuyItemSuccess')]
  0150  MOVE      R16 = R0
  0151  GETTABLE  R17 = R0[K57('_UpdateHotSaleDisplay')]
  0152  CALL      R14 = call(R14, 0 args, 3 rets)
  0153  GETTABUP  R14 = _ENV[K53('EventDispatcher')]
  0154  GETTABLE  R14 = R14[K54('AddListener')]
  0155  GETTABUP  R15 = _ENV[K55('EEventType')]
  0156  GETTABLE  R15 = R15[K58('ShopRefreshed')]
  0157  MOVE      R16 = R0
  0158  GETTABLE  R17 = R0[K57('_UpdateHotSaleDisplay')]
  0159  CALL      R14 = call(R14, 0 args, 3 rets)
  0160  GETTABUP  R14 = _ENV[K59('EUILoaderConfigName')]
  0161  GETTABLE  R14 = R14[K60('ItemDishDetailWindowBottomLeft')]
  0162  GETTABLE  R15 = R0[K61('m_activityEntryLoader')]
  0163  SELF      R16 = R15[K45('Init')] (self)
  0164  MOVE      R17 = R0
  0165  LOADNIL   R18..R18 = nil
  0166  MOVE      R19 = R0
  0167  GETTABUP  R20 = _ENV[K62('EUILoaderType')]
  0168  GETTABLE  R20 = R20[K63('ItemDishDetailWindow')]
  0169  CALL      R15 = call(R15, 0 args, 5 rets)
  0170  SELF      R16 = R0[K64('_UpdateTestMsg')] (self)
  0171  MOVE      R17 = R0
  0172  MOVE      R18 = R0
  0173  CALL      R15 = call(R15, 0 args, 3 rets)
  0174  GETTABUP  R15 = _ENV[K65('ItemDetailWindowMode')]
  0175  GETTABLE  R15 = R15[K66('Order')]
  0176  EQ        if R1 eq R15   -> -129855
  0177  JMP       (jump)   -> 200
  0178  GETTABLE  R15 = R0[K5('m_arrCells')]
  0179  GETTABLE  R16 = R0[K5('m_arrCells')]
  0180  LEN       R16 = len R0
  0181  ADD       R16 = K43(1) add R16
  0182  GETTABLE  R17 = R0[K67('m_instrument')]
  0183  SETTABLE  R15[R16] = R17
  0184  GETTABLE  R15 = R0[K67('m_instrument')]
  0185  SELF      R16 = R15[K45('Init')] (self)
  0186  MOVE      R17 = R0
  0187  LOADBOOL  R18 = false
  0188  LOADBOOL  R19 = false
  0189  LOADBOOL  R20 = true
  0190  LOADBOOL  R21 = true
  0191  MOVE      R22 = R0
  0192  CALL      R15 = call(R15, 0 args, 7 rets)
  0193  SELF      R16 = R0[K57('_UpdateHotSaleDisplay')] (self)
  0194  CALL      R15 = call(R15, 0 args, 1 rets)
  0195  GETTABLE  R15 = R0[K68('m_helpGo')]
  0196  SELF      R16 = R15[K7('SetActive')] (self)
  0197  LOADBOOL  R17 = false
  0198  CALL      R15 = call(R15, 0 args, 2 rets)
  0199  RETURN    return R0..R-1
  0200  GETTABLE  R15 = R0[K69('m_newRecipeRewardView')]
  0201  SELF      R16 = R15[K45('Init')] (self)
  0202  MOVE      R17 = R0
  0203  GETTABLE  R18 = R0[K70('m_dishDescGo')]
  0204  MOVE      R19 = R0
  0205  CALL      R15 = call(R15, 0 args, 4 rets)
  0206  SELF      R16 = R0[K71('ToggleSkipOrDishDesc')] (self)
  0207  CALL      R15 = call(R15, 0 args, 1 rets)
  0208  LOADBOOL  R15 = false
  0209  GETTABUP  R16 = _ENV[K72('BoardModelHelper')]
  0210  GETTABLE  R16 = R16[K73('GetActiveModel')]
  0211  CALL      R16 = call(R16, 1 args, 0 rets)
  0212  SELF      R18 = R16[K74('GetAllItemCookCmp')] (self)
  0213  CALL      R17 = call(R17, 1 args, 1 rets)
  0214  LOADBOOL  R18 = false
  0215  LOADBOOL  R19 = false
  0216  NEWTABLE  R20 = {} (0 items)
  0217  GETTABUP  R21 = _ENV[K18('ipairs')]
  0218  MOVE      R22 = R0
  0219  CALL      R21 = call(R21, 3 args, 1 rets)
  0220  JMP       (jump)   -> 296
  0221  SELF      R27 = R25[K75('GetState')] (self)
  0222  CALL      R26 = call(R26, 1 args, 1 rets)
  0223  SELF      R28 = R25[K76('GetRecipe')] (self)
  0224  CALL      R27 = call(R27, 1 args, 1 rets)
  0225  TEST      if not R18 then   -> -130844
  0226  JMP       (jump)   -> 285
  0227  GETTABUP  R28 = _ENV[K9('GM')]
  0228  GETTABLE  R28 = R28[K16('ItemDataModel')]
  0229  SELF      R29 = R28[K24('GetChainId')] (self)
  0230  SELF      R31 = R25[K77('GetItemModel')] (self)
  0231  CALL      R30 = call(R30, 1 args, 1 rets)
  0232  SELF      R31 = R30[K78('GetCode')] (self)
  0233  CALL      R30 = call(R30, -1 args, 1 rets)
  0234  CALL      R28 = call(R28, 1 args, -1 rets)
  0235  EQ        if R0 eq R11   -> -116488
  0236  JMP       (jump)   -> 285
  0237  GETTABUP  R28 = _ENV[K79('EItemCookState')]
  0238  GETTABLE  R28 = R28[K80('Cooked')]
  0239  EQ        if R0 eq R28   -> -117491
  0240  JMP       (jump)   -> 245
  0241  EQ        if R0 eq R1   -> -117004
  0242  JMP       (jump)   -> 245
  0243  LOADBOOL  R18 = true
  0244  JMP       (jump)   -> 285
  0245  GETTABUP  R28 = _ENV[K79('EItemCookState')]
  0246  GETTABLE  R28 = R28[K81('Cooking')]
  0247  EQ        if R0 eq R28   -> -117483
  0248  JMP       (jump)   -> 253
  0249  EQ        if R0 eq R1   -> -116996
  0250  JMP       (jump)   -> 253
  0251  LOADBOOL  R19 = true
  0252  JMP       (jump)   -> 285
  0253  GETTABUP  R28 = _ENV[K79('EItemCookState')]
  0254  GETTABLE  R28 = R28[K82('Prepare')]
  0255  EQ        if R1 eq R28   -> -117475
  0256  JMP       (jump)   -> 261
  0257  GETTABUP  R28 = _ENV[K79('EItemCookState')]
  0258  GETTABLE  R28 = R28[K83('CanCook')]
  0259  EQ        if R0 eq R28   -> -117471
  0260  JMP       (jump)   -> 285
  0261  SELF      R29 = R25[K84('GetCurMaterialsArray')] (self)
  0262  CALL      R28 = call(R28, 1 args, 1 rets)
  0263  GETTABUP  R29 = _ENV[K18('ipairs')]
  0264  MOVE      R30 = R0
  0265  CALL      R29 = call(R29, 3 args, 1 rets)
  0266  JMP       (jump)   -> 275
  0267  GETTABUP  R34 = _ENV[K21('Table')]
  0268  GETTABLE  R34 = R34[K85('ListContain')]
  0269  MOVE      R35 = R0
  0270  MOVE      R36 = R0
  0271  CALL      R34 = call(R34, 1 args, 2 rets)
  0272  TEST      if not R34 then   -> -130798
  0273  JMP       (jump)   -> 275
  0274  SETTABLE  R20[R33] = K86(true)
  0275  TFORCALL  tforcall R29
  0276  TFORLOOP  tforloop R31(sBx=-10)   -> 267
  0277  GETTABUP  R29 = _ENV[K21('Table')]
  0278  GETTABLE  R29 = R29[K87('IsSubArray')]
  0279  MOVE      R30 = R0
  0280  MOVE      R31 = R0
  0281  CALL      R29 = call(R29, 1 args, 2 rets)
  0282  TEST      if not R29 then   -> -130788
  0283  JMP       (jump)   -> 285
  0284  LOADBOOL  R15 = true
  0285  GETTABUP  R28 = _ENV[K79('EItemCookState')]
  0286  GETTABLE  R28 = R28[K80('Cooked')]
  0287  EQ        if R0 eq R28   -> -117443
  0288  JMP       (jump)   -> 291
  0289  SETTABLE  R7[R27] = K86(true)
  0290  JMP       (jump)   -> 296
  0291  GETTABUP  R28 = _ENV[K79('EItemCookState')]
  0292  GETTABLE  R28 = R28[K81('Cooking')]
  0293  EQ        if R0 eq R28   -> -117437
  0294  JMP       (jump)   -> 296
  0295  SETTABLE  R6[R27] = K86(true)
  0296  TFORCALL  tforcall R21
  0297  TFORLOOP  tforloop R23(sBx=-77)   -> 221
  0298  LOADNIL   R21..R21 = nil
  0299  TEST      if not R18 then   -> -130770
  0300  JMP       (jump)   -> 303
  0301  TEST      if not R19 then   -> -130769
  0302  JMP       (jump)   -> 311
  0303  SELF      R24 = R0[K88('_FindCookInstrumentOnBoard')] (self)
  0304  MOVE      R25 = R0
  0305  MOVE      R26 = R0
  0306  MOVE      R27 = R0
  0307  CALL      R23 = call(R23, 2 args, 4 rets)
  0308  MOVE      R22 = R0
  0309  MOVE      R21 = R0
  0310  JMP       (jump)   -> 312
  0311  MOVE      R22 = R0
  0312  SETTABLE  R0[K89('m_curCookCmp')] = R21
  0313  GETTABLE  R23 = R0[K5('m_arrCells')]
  0314  GETTABLE  R24 = R0[K5('m_arrCells')]
  0315  LEN       R24 = len R0
  0316  ADD       R24 = K43(1) add R24
  0317  GETTABLE  R25 = R0[K67('m_instrument')]
  0318  SETTABLE  R23[R24] = R25
  0319  GETTABLE  R23 = R0[K67('m_instrument')]
  0320  SELF      R24 = R23[K45('Init')] (self)
  0321  MOVE      R25 = R0
  0322  LOADBOOL  R26 = false
  0323  LOADBOOL  R27 = false
  0324  LOADBOOL  R28 = true
  0325  LOADBOOL  R29 = true
  0326  MOVE      R30 = R0
  0327  CALL      R23 = call(R23, 0 args, 7 rets)
  0328  GETTABLE  R23 = R0[K67('m_instrument')]
  0329  SELF      R24 = R23[K90('SetClickCallback')] (self)
  0330  CLOSURE   R25 = closure proto0
  0331  CALL      R23 = call(R23, 0 args, 2 rets)
  0332  SELF      R24 = R0[K57('_UpdateHotSaleDisplay')] (self)
  0333  CALL      R23 = call(R23, 0 args, 1 rets)
  0334  GETTABLE  R23 = R0[K25('m_dishDesc')]
  0335  GETTABUP  R24 = _ENV[K9('GM')]
  0336  GETTABLE  R24 = R24[K10('GameTextModel')]
  0337  SELF      R25 = R24[K11('GetText')] (self)
  0338  LOADK     R26 = K26 'general_dish_desc'
  0339  GETTABUP  R27 = _ENV[K9('GM')]
  0340  GETTABLE  R27 = R27[K10('GameTextModel')]
  0341  SELF      R28 = R27[K11('GetText')] (self)
  0342  GETTABUP  R29 = _ENV[K12('ItemNameDefinition')]
  0343  GETTABLE  R29 = R29[K13('GetName')]
  0344  MOVE      R30 = R0
  0345  CALL      R29 = call(R29, -1 args, 1 rets)
  0346  CALL      R27 = call(R27, 1 args, -1 rets)
  0347  MOVE      R28 = R0
  0348  CALL      R24 = call(R24, 1 args, 4 rets)
  0349  SETTABLE  R23[K15('text')] = R24
  0350  GETTABUP  R23 = _ENV[K39('UIUtil')]
  0351  GETTABLE  R23 = R23[K7('SetActive')]
  0352  GETTABLE  R24 = R0[K36('m_cookTimeTrans')]
  0353  GETTABLE  R24 = R24[K91('gameObject')]
  0354  TEST      if not R18 then   -> -130715
  0355  JMP       (jump)   -> 358
  0356  NOT       R25 = not R0
  0357  JMP       (jump)   -> 360
  0358  LOADBOOL  R25 = false
  0359  LOADBOOL  R25 = true
  0360  CALL      R23 = call(R23, 0 args, 2 rets)
  0361  TEST      if not R18 then   -> -130709
  0362  JMP       (jump)   -> 367
  0363  SELF      R24 = R0[K92('_OnDishCookFinished')] (self)
  0364  CALL      R23 = call(R23, 0 args, 1 rets)
  0365  RETURN    return R0..R-1
  0366  JMP       (jump)   -> 408
  0367  TEST      if not R19 then   -> -130703
  0368  JMP       (jump)   -> 408
  0369  SELF      R24 = R0[K71('ToggleSkipOrDishDesc')] (self)
  0370  GETTABLE  R25 = R0[K93('m_curCookCmp')]
  0371  CALL      R23 = call(R23, 0 args, 2 rets)
  0372  MOVE      R23 = R0
  0373  LOADK     R24 = K94 '_spine'
  0374  CONCAT    R23 = concat(R23..R23)
  0375  GETTABUP  R24 = _ENV[K9('GM')]
  0376  GETTABLE  R24 = R24[K95('DataResource')]
  0377  GETTABLE  R24 = R24[K96('ScenePrefabConfig')]
  0378  SELF      R25 = R24[K97('HasConfig')] (self)
  0379  MOVE      R26 = R0
  0380  CALL      R24 = call(R24, 1 args, 2 rets)
  0381  TEST      if not R24 then   -> -130689
  0382  JMP       (jump)   -> 398
  0383  GETTABUP  R24 = _ENV[K9('GM')]
  0384  GETTABLE  R24 = R24[K98('ResourceLoader')]
  0385  SELF      R25 = R24[K99('LoadPrefab')] (self)
  0386  GETTABUP  R26 = _ENV[K9('GM')]
  0387  GETTABLE  R26 = R26[K95('DataResource')]
  0388  GETTABLE  R26 = R26[K96('ScenePrefabConfig')]
  0389  SELF      R27 = R26[K100('GetConfig')] (self)
  0390  MOVE      R28 = R0
  0391  CALL      R26 = call(R26, 1 args, 2 rets)
  0392  GETTABLE  R27 = R0[K101('m_instruBgImg')]
  0393  GETTABLE  R27 = R27[K41('transform')]
  0394  GETTABUP  R28 = _ENV[K102('Vector3')]
  0395  GETTABLE  R28 = R28[K103('zero')]
  0396  CLOSURE   R29 = closure proto1
  0397  CALL      R24 = call(R24, 0 args, 5 rets)
  0398  GETTABLE  R24 = R0[K104('m_cookingSpine')]
  0399  SELF      R25 = R24[K45('Init')] (self)
  0400  CALL      R24 = call(R24, 0 args, 1 rets)
  0401  GETTABLE  R24 = R0[K104('m_cookingSpine')]
  0402  SELF      R25 = R24[K105('PlayAnimation')] (self)
  0403  LOADK     R26 = K106 'cook'
  0404  LOADNIL   R27..R27 = nil
  0405  LOADBOOL  R28 = true
  0406  CALL      R24 = call(R24, 0 args, 4 rets)
  0407  RETURN    return R0..R-1
  0408  LOADNIL   R23..R23 = nil
  0409  GETTABUP  R26 = _ENV[K18('ipairs')]
  0410  MOVE      R27 = R0
  0411  CALL      R26 = call(R26, 3 args, 1 rets)
  0412  JMP       (jump)   -> 461
  0413  GETTABLE  R31 = R0[K5('m_arrCells')]
  0414  GETTABLE  R23 = R31[R29]
  0415  GETTABLE  R31 = R20[R30]
  0416  EQ        if R1 eq K107(nil)   -> -114419
  0417  JMP       (jump)   -> 423
  0418  SELF      R32 = R23[K108('ChangeBg')] (self)
  0419  GETTABUP  R33 = _ENV[K109('EItemDetailCellBg')]
  0420  GETTABLE  R33 = R33[K110('Yellow')]
  0421  CALL      R31 = call(R31, 0 args, 2 rets)
  0422  JMP       (jump)   -> 461
  0423  GETTABUP  R31 = _ENV[K111('ItemFindHelper')]
  0424  GETTABLE  R31 = R31[K112('FindOneTargetMaterialForDish')]
  0425  MOVE      R32 = R0
  0426  LOADNIL   R33..R33 = nil
  0427  CALL      R31 = call(R31, 2 args, 2 rets)
  0428  GETTABUP  R33 = _ENV[K113('EItemPlaceType')]
  0429  GETTABLE  R33 = R33[K114('None')]
  0430  EQ        if R1 eq R33   -> -114735
  0431  JMP       (jump)   -> 461
  0432  SELF      R34 = R23[K108('ChangeBg')] (self)
  0433  GETTABUP  R35 = _ENV[K109('EItemDetailCellBg')]
  0434  GETTABLE  R35 = R35[K115('DarkGreen')]
  0435  CALL      R33 = call(R33, 0 args, 2 rets)
  0436  GETTABUP  R33 = _ENV[K113('EItemPlaceType')]
  0437  GETTABLE  R33 = R33[K116('Board')]
  0438  EQ        if R1 eq R33   -> -114727
  0439  JMP       (jump)   -> 457
  0440  GETTABUP  R33 = _ENV[K117('GameObject')]
  0441  GETTABLE  R33 = R33[K118('Instantiate')]
  0442  GETTABLE  R34 = R0[K119('m_placeTipGo')]
  0443  GETTABLE  R35 = R23[K41('transform')]
  0444  CALL      R33 = call(R33, 1 args, 2 rets)
  0445  MOVE      R24 = R0
  0446  SELF      R34 = R24[K7('SetActive')] (self)
  0447  LOADBOOL  R35 = true
  0448  CALL      R33 = call(R33, 0 args, 2 rets)
  0449  SELF      R34 = R24[K120('GetLuaTable')] (self)
  0450  CALL      R33 = call(R33, 1 args, 1 rets)
  0451  MOVE      R25 = R0
  0452  SELF      R34 = R25[K45('Init')] (self)
  0453  MOVE      R35 = R0
  0454  MOVE      R36 = R0
  0455  CALL      R33 = call(R33, 0 args, 3 rets)
  0456  SETTABLE  R23[K121('hasPlaceTip')] = K86(true)
  0457  SELF      R34 = R23[K90('SetClickCallback')] (self)
  0458  CLOSURE   R35 = closure proto2
  0459  CALL      R33 = call(R33, 0 args, 2 rets)
  0460  JMP       (jump)   -> 461
  0461  TFORCALL  tforcall R26
  0462  TFORLOOP  tforloop R28(sBx=-50)   -> 413
  0463  SELF      R27 = R0[K122('_TryAddTipForDishMaterials')] (self)
  0464  MOVE      R28 = R0
  0465  MOVE      R29 = R0
  0466  MOVE      R30 = R0
  0467  CALL      R26 = call(R26, 0 args, 4 rets)
  0468  GETTABUP  R26 = _ENV[K21('Table')]
  0469  GETTABLE  R26 = R26[K123('GetKeys')]
  0470  MOVE      R27 = R0
  0471  CALL      R26 = call(R26, 1 args, 1 rets)
  0472  LEN       R26 = len R0
  0473  LEN       R27 = len R0
  0474  EQ        if R0 eq R27   -> -117257
  0475  JMP       (jump)   -> 495
  0476  TEST      if not R15 then   -> -130593
  0477  JMP       (jump)   -> 495
  0478  GETTABLE  R26 = R0[K6('m_notSameEqTip')]
  0479  SELF      R27 = R26[K7('SetActive')] (self)
  0480  LOADBOOL  R28 = true
  0481  CALL      R26 = call(R26, 0 args, 2 rets)
  0482  GETTABUP  R26 = _ENV[K39('UIUtil')]
  0483  GETTABLE  R26 = R26[K40('SetSizeDelta')]
  0484  GETTABLE  R27 = R0[K50('m_contentRectTrans')]
  0485  LOADNIL   R28..R28 = nil
  0486  GETTABLE  R29 = R0[K51('m_originSize')]
  0487  GETTABLE  R29 = R29[K124('y')]
  0488  ADD       R29 = K125(100) add R29
  0489  CALL      R26 = call(R26, 0 args, 3 rets)
  0490  GETTABLE  R26 = R0[K50('m_contentRectTrans')]
  0491  GETTABLE  R26 = R26[K52('sizeDelta')]
  0492  SETTABLE  R0[K51('m_originSize')] = R26
  0493  SELF      R27 = R0[K57('_UpdateHotSaleDisplay')] (self)
  0494  CALL      R26 = call(R26, 0 args, 1 rets)
  0495  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 117-134 np=0 va=0 ms=5 code=34 consts=12 upvals=2 protos=0
    ;   K[0]='m_curCookCmp'
    ;   K[1]=nil
    ;   K[2]='GetState'
    ;   K[3]='EItemCookState'
    ;   K[4]='Cooked'
    ;   K[5]='ItemDetailWindow'
    ;   K[6]='CloseAll'
    ;   K[7]='OnTap'
    ;   K[8]='GetItemModel'
    ;   K[9]='MainBoardView'
    ;   K[10]='GetInstance'
    ;   K[11]='UpdateSelectedItem'
    ;   upvals: self, _ENV
    ;   locals: itemModel(21-31), boardView(24-31)
    0000  GETTABUP  R0 = self[K0('m_curCookCmp')]
    0001  EQ        if R0 eq K1(nil)   -> -130812
    0002  JMP       (jump)   -> 5
    0003  LOADBOOL  R0 = false
    0004  RETURN    return R0..R-1
    0005  GETTABUP  R0 = self[K0('m_curCookCmp')]
    0006  SELF      R1 = R0[K2('GetState')] (self)
    0007  CALL      R0 = call(R0, 1 args, 1 rets)
    0008  GETTABUP  R1 = _ENV[K3('EItemCookState')]
    0009  GETTABLE  R1 = R1[K4('Cooked')]
    0010  EQ        if R0 eq R1   -> -131059
    0011  JMP       (jump)   -> 31
    0012  GETTABUP  R0 = _ENV[K5('ItemDetailWindow')]
    0013  GETTABLE  R0 = R0[K6('CloseAll')]
    0014  CALL      R0 = call(R0, 0 args, 0 rets)
    0015  GETTABUP  R0 = self[K0('m_curCookCmp')]
    0016  SELF      R1 = R0[K7('OnTap')] (self)
    0017  CALL      R0 = call(R0, 0 args, 1 rets)
    0018  GETTABUP  R0 = self[K0('m_curCookCmp')]
    0019  SELF      R1 = R0[K8('GetItemModel')] (self)
    0020  CALL      R0 = call(R0, 1 args, 1 rets)
    0021  GETTABUP  R1 = _ENV[K9('MainBoardView')]
    0022  GETTABLE  R1 = R1[K10('GetInstance')]
    0023  CALL      R1 = call(R1, 1 args, 0 rets)
    0024  EQ        if R1 eq K1(nil)   -> -130277
    0025  JMP       (jump)   -> 29
    0026  SELF      R3 = R1[K11('UpdateSelectedItem')] (self)
    0027  MOVE      R4 = R0
    0028  CALL      R2 = call(R2, 0 args, 2 rets)
    0029  LOADBOOL  R2 = true
    0030  RETURN    return R2..R1
    0031  LOADBOOL  R0 = false
    0032  RETURN    return R0..R-1
    0033  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 148-150 np=1 va=0 ms=5 code=6 consts=1 upvals=2 protos=0
    ;   K[0]='_OnLoadItemSpine'
    ;   upvals: self, itemType
    ;   locals: go(0-6)
    0000  GETUPVAL  R1 = self
    0001  SELF      R2 = R1[K0('_OnLoadItemSpine')] (self)
    0002  MOVE      R3 = R0
    0003  GETUPVAL  R4 = self
    0004  CALL      R1 = call(R1, 0 args, 3 rets)
    0005  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 175-179 np=0 va=0 ms=3 code=11 consts=4 upvals=3 protos=0
    ;   K[0]='ItemDetailWindow'
    ;   K[1]='CloseAll'
    ;   K[2]='ItemFindHelper'
    ;   K[3]='LocateTargetMaterial'
    ;   upvals: _ENV, ePlaceType, findItemModel
    0000  GETTABUP  R0 = _ENV[K0('ItemDetailWindow')]
    0001  GETTABLE  R0 = R0[K1('CloseAll')]
    0002  CALL      R0 = call(R0, 0 args, 0 rets)
    0003  GETTABUP  R0 = _ENV[K2('ItemFindHelper')]
    0004  GETTABLE  R0 = R0[K3('LocateTargetMaterial')]
    0005  GETUPVAL  R1 = _ENV
    0006  GETUPVAL  R2 = _ENV
    0007  CALL      R0 = call(R0, 0 args, 2 rets)
    0008  LOADBOOL  R0 = true
    0009  RETURN    return R0..R-1
    0010  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 196-206 np=1 va=0 ms=8 code=23 consts=8 upvals=1 protos=0
  ;   K[0]='ItemDetailWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='m_newRecipeRewardView'
  ;   K[3]='Scheduler'
  ;   K[4]='UnscheduleTarget'
  ;   K[5]='ipairs'
  ;   K[6]='m_arrTweens'
  ;   K[7]='Kill'
  ;   upvals: _ENV
  ;   locals: self(0-23), (for generator)(14-20), (for state)(14-20), (for control)(14-20), _(15-18), tween(15-18)
  0000  GETTABUP  R1 = _ENV[K0('ItemDetailWindow')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_newRecipeRewardView')]
  0005  SELF      R2 = R1[K1('OnDestroy')] (self)
  0006  CALL      R1 = call(R1, 0 args, 1 rets)
  0007  GETTABUP  R1 = _ENV[K3('Scheduler')]
  0008  GETTABLE  R1 = R1[K4('UnscheduleTarget')]
  0009  MOVE      R2 = R0
  0010  CALL      R1 = call(R1, 0 args, 1 rets)
  0011  GETTABUP  R1 = _ENV[K5('ipairs')]
  0012  GETTABLE  R2 = R0[K6('m_arrTweens')]
  0013  CALL      R1 = call(R1, 3 args, 1 rets)
  0014  JMP       (jump)   -> 18
  0015  SELF      R7 = R5[K7('Kill')] (self)
  0016  CALL      R6 = call(R6, 0 args, 1 rets)
  0017  LOADNIL   R5..R5 = nil
  0018  TFORCALL  tforcall R1
  0019  TFORLOOP  tforloop R3(sBx=-5)   -> 15
  0020  NEWTABLE  R1 = {} (0 items)
  0021  SETTABLE  R0[K6('m_arrTweens')] = R1
  0022  RETURN    return R0..R-1
; ---------- proto2 [OnCloseView] ----------
  ; fn ?  line 208-213 np=1 va=0 ms=4 code=11 consts=5 upvals=1 protos=0
  ;   K[0]='_ToggleItemSpine'
  ;   K[1]='ItemDetailWindow'
  ;   K[2]='OnCloseView'
  ;   K[3]='m_activityEntryLoader'
  ;   K[4]='PlayEntryHide'
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  SELF      R2 = R0[K0('_ToggleItemSpine')] (self)
  0001  LOADBOOL  R3 = false
  0002  CALL      R1 = call(R1, 0 args, 2 rets)
  0003  GETTABUP  R1 = _ENV[K1('ItemDetailWindow')]
  0004  GETTABLE  R1 = R1[K2('OnCloseView')]
  0005  MOVE      R2 = R0
  0006  CALL      R1 = call(R1, 0 args, 1 rets)
  0007  GETTABLE  R1 = R0[K3('m_activityEntryLoader')]
  0008  SELF      R2 = R1[K4('PlayEntryHide')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  RETURN    return R0..R-1
; ---------- proto3 [_FindCookInstrumentOnBoard] ----------
  ; fn ?  line 215-225 np=4 va=0 ms=11 code=32 consts=5 upvals=0 protos=0
  ;   K[0]='GetAllItemCookCmp'
  ;   K[1]=0
  ;   K[2]='_FindCookingOrCookedCookCmpOnBoard'
  ;   K[3]='GetItemModel'
  ;   K[4]='GetCode'
  ;   locals: self(0-32), boardModel(0-32), itemType(0-32), defaultInstrument(0-32), boardCookCmp(4-32), cookingCmp(16-32), cookedCmp(16-32), curCookCmp(19-32), realUseInstrument(28-32)
  0000  SELF      R5 = R1[K0('GetAllItemCookCmp')] (self)
  0001  LOADBOOL  R6 = true
  0002  LOADBOOL  R7 = false
  0003  CALL      R4 = call(R4, 1 args, 3 rets)
  0004  TEST      if not R4 then   -> -131066
  0005  JMP       (jump)   -> 9
  0006  LEN       R5 = len R0
  0007  EQ        if R0 eq K1(0)   -> -128246
  0008  JMP       (jump)   -> 12
  0009  LOADNIL   R5..R5 = nil
  0010  MOVE      R6 = R0
  0011  RETURN    return R5..R4
  0012  SELF      R6 = R0[K2('_FindCookingOrCookedCookCmpOnBoard')] (self)
  0013  MOVE      R7 = R0
  0014  MOVE      R8 = R0
  0015  CALL      R5 = call(R5, 2 args, 3 rets)
  0016  TESTSET   if R1 then R7   -> -127981
  0017  JMP       (jump)   -> 19
  0018  MOVE      R7 = R0
  0019  TEST      if not R7 then   -> -131051
  0020  JMP       (jump)   -> 27
  0021  SELF      R9 = R7[K3('GetItemModel')] (self)
  0022  CALL      R8 = call(R8, 1 args, 1 rets)
  0023  SELF      R9 = R8[K4('GetCode')] (self)
  0024  CALL      R8 = call(R8, 1 args, 1 rets)
  0025  TEST      if not R8 then   -> -131044
  0026  JMP       (jump)   -> 28
  0027  MOVE      R8 = R0
  0028  MOVE      R9 = R0
  0029  MOVE      R10 = R0
  0030  RETURN    return R9..R8
  0031  RETURN    return R0..R-1
; ---------- proto4 [_FindCookingOrCookedCookCmpOnBoard] ----------
  ; fn ?  line 228-248 np=3 va=0 ms=20 code=54 consts=13 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='GetRecipe'
  ;   K[2]='GetState'
  ;   K[3]='EItemCookState'
  ;   K[4]='Cooking'
  ;   K[5]='GetRemainCookDuration'
  ;   K[6]=nil
  ;   K[7]='Cooked'
  ;   K[8]='GM'
  ;   K[9]='ItemDataModel'
  ;   K[10]='GetChainLevel'
  ;   K[11]='GetItemModel'
  ;   K[12]='GetCode'
  ;   upvals: _ENV
  ;   locals: self(0-54), boardCookCmp(0-54), itemType(0-54), cookingCmp(1-54), cookedCmp(1-54), minTime(1-54), recipe(1-54), state(1-54), remainCookDuration(1-54), level(1-54), curLevel(1-54), (for generator)(4-50), (for state)(4-50), (for control)(4-50), _(5-48), cookCmp(5-48)
  0000  LOADNIL   R3..R3 = nil
  0001  GETTABUP  R11 = _ENV[K0('ipairs')]
  0002  MOVE      R12 = R0
  0003  CALL      R11 = call(R11, 3 args, 1 rets)
  0004  JMP       (jump)   -> 48
  0005  SELF      R17 = R15[K1('GetRecipe')] (self)
  0006  CALL      R16 = call(R16, 1 args, 1 rets)
  0007  MOVE      R6 = R0
  0008  SELF      R17 = R15[K2('GetState')] (self)
  0009  CALL      R16 = call(R16, 1 args, 1 rets)
  0010  MOVE      R7 = R0
  0011  EQ        if R0 eq R2   -> -127985
  0012  JMP       (jump)   -> 27
  0013  GETTABUP  R16 = _ENV[K3('EItemCookState')]
  0014  GETTABLE  R16 = R16[K4('Cooking')]
  0015  EQ        if R0 eq R16   -> -127455
  0016  JMP       (jump)   -> 27
  0017  SELF      R17 = R15[K5('GetRemainCookDuration')] (self)
  0018  CALL      R16 = call(R16, 1 args, 1 rets)
  0019  MOVE      R8 = R0
  0020  EQ        if R1 eq K6(nil)   -> -128228
  0021  JMP       (jump)   -> 24
  0022  LT        if R0 lt R5   -> -126947
  0023  JMP       (jump)   -> 48
  0024  MOVE      R5 = R0
  0025  MOVE      R3 = R0
  0026  JMP       (jump)   -> 48
  0027  EQ        if R0 eq R2   -> -127969
  0028  JMP       (jump)   -> 48
  0029  GETTABUP  R16 = _ENV[K3('EItemCookState')]
  0030  GETTABLE  R16 = R16[K7('Cooked')]
  0031  EQ        if R0 eq R16   -> -127439
  0032  JMP       (jump)   -> 48
  0033  GETTABUP  R16 = _ENV[K8('GM')]
  0034  GETTABLE  R16 = R16[K9('ItemDataModel')]
  0035  SELF      R17 = R16[K10('GetChainLevel')] (self)
  0036  SELF      R19 = R15[K11('GetItemModel')] (self)
  0037  CALL      R18 = call(R18, 1 args, 1 rets)
  0038  SELF      R19 = R18[K12('GetCode')] (self)
  0039  CALL      R18 = call(R18, -1 args, 1 rets)
  0040  CALL      R16 = call(R16, 1 args, -1 rets)
  0041  MOVE      R9 = R0
  0042  EQ        if R1 eq K6(nil)   -> -125646
  0043  JMP       (jump)   -> 46
  0044  LT        if R0 lt R9   -> -125897
  0045  JMP       (jump)   -> 48
  0046  MOVE      R10 = R0
  0047  MOVE      R4 = R0
  0048  TFORCALL  tforcall R11
  0049  TFORLOOP  tforloop R13(sBx=-45)   -> 5
  0050  MOVE      R11 = R0
  0051  MOVE      R12 = R0
  0052  RETURN    return R11..R10
  0053  RETURN    return R0..R-1
; ---------- proto5 [ToggleSkipOrDishDesc] ----------
  ; fn ?  line 250-260 np=2 va=0 ms=6 code=32 consts=8 upvals=0 protos=0
  ;   K[0]='bShowingSkip'
  ;   K[1]=nil
  ;   K[2]='m_dishSkipView'
  ;   K[3]='gameObject'
  ;   K[4]='SetActive'
  ;   K[5]='UpdateSkipInfoContent'
  ;   K[6]='m_newRecipeRewardView'
  ;   K[7]='ToggleInfoContent'
  ;   locals: self(0-32), curCookCmp(0-32)
  0000  EQ        if R0 eq K1(nil)   -> -130301
  0001  JMP       (jump)   -> 3
  0002  LOADBOOL  R2 = false
  0003  LOADBOOL  R2 = true
  0004  SETTABLE  R0[K0('bShowingSkip')] = R2
  0005  TEST      if not R1 then   -> -131065
  0006  JMP       (jump)   -> 22
  0007  GETTABLE  R2 = R0[K2('m_dishSkipView')]
  0008  GETTABLE  R2 = R2[K3('gameObject')]
  0009  SELF      R3 = R2[K4('SetActive')] (self)
  0010  LOADBOOL  R4 = true
  0011  CALL      R2 = call(R2, 0 args, 2 rets)
  0012  GETTABLE  R2 = R0[K2('m_dishSkipView')]
  0013  SELF      R3 = R2[K5('UpdateSkipInfoContent')] (self)
  0014  MOVE      R4 = R0
  0015  MOVE      R5 = R0
  0016  CALL      R2 = call(R2, 0 args, 3 rets)
  0017  GETTABLE  R2 = R0[K6('m_newRecipeRewardView')]
  0018  SELF      R3 = R2[K7('ToggleInfoContent')] (self)
  0019  LOADBOOL  R4 = false
  0020  CALL      R2 = call(R2, 0 args, 2 rets)
  0021  JMP       (jump)   -> 31
  0022  GETTABLE  R2 = R0[K2('m_dishSkipView')]
  0023  GETTABLE  R2 = R2[K3('gameObject')]
  0024  SELF      R3 = R2[K4('SetActive')] (self)
  0025  LOADBOOL  R4 = false
  0026  CALL      R2 = call(R2, 0 args, 2 rets)
  0027  GETTABLE  R2 = R0[K6('m_newRecipeRewardView')]
  0028  SELF      R3 = R2[K7('ToggleInfoContent')] (self)
  0029  LOADBOOL  R4 = true
  0030  CALL      R2 = call(R2, 0 args, 2 rets)
  0031  RETURN    return R0..R-1
; ---------- proto6 [SpeedModelAndPlaySkipSpeedUpAnim1] ----------
  ; fn ?  line 262-291 np=3 va=0 ms=11 code=34 consts=15 upvals=1 protos=2
  ;   K[0]='SpeedUpItem'
  ;   K[1]='m_dishSkipView'
  ;   K[2]='GetItemCookState'
  ;   K[3]='SetSkipSpeeding'
  ;   K[4]='EItemCookState'
  ;   K[5]='Cooked'
  ;   K[6]='ToggleSkipOrDishDesc'
  ;   K[7]='_ShowYellowInstruBg'
  ;   K[8]='m_cookingSpine'
  ;   K[9]='gameObject'
  ;   K[10]='SetActive'
  ;   K[11]='ItemCookView'
  ;   K[12]='SpeedUpAnim1'
  ;   K[13]='m_instruBgImg'
  ;   K[14]='transform'
  ;   upvals: _ENV
  ;   locals: self(0-34), boardModel(0-34), itemModel(0-34), state(6-34), func(24-34)
  0000  SELF      R4 = R1[K0('SpeedUpItem')] (self)
  0001  MOVE      R5 = R0
  0002  CALL      R3 = call(R3, 0 args, 2 rets)
  0003  GETTABLE  R3 = R0[K1('m_dishSkipView')]
  0004  SELF      R4 = R3[K2('GetItemCookState')] (self)
  0005  CALL      R3 = call(R3, 1 args, 1 rets)
  0006  GETTABLE  R4 = R0[K1('m_dishSkipView')]
  0007  SELF      R5 = R4[K3('SetSkipSpeeding')] (self)
  0008  LOADBOOL  R6 = true
  0009  CALL      R4 = call(R4, 0 args, 2 rets)
  0010  GETTABUP  R4 = _ENV[K4('EItemCookState')]
  0011  GETTABLE  R4 = R4[K5('Cooked')]
  0012  EQ        if R0 eq R4   -> -129518
  0013  JMP       (jump)   -> 18
  0014  SELF      R5 = R0[K6('ToggleSkipOrDishDesc')] (self)
  0015  CALL      R4 = call(R4, 0 args, 1 rets)
  0016  SELF      R5 = R0[K7('_ShowYellowInstruBg')] (self)
  0017  CALL      R4 = call(R4, 0 args, 1 rets)
  0018  GETTABLE  R4 = R0[K8('m_cookingSpine')]
  0019  GETTABLE  R4 = R4[K9('gameObject')]
  0020  SELF      R5 = R4[K10('SetActive')] (self)
  0021  LOADBOOL  R6 = false
  0022  CALL      R4 = call(R4, 0 args, 2 rets)
  0023  CLOSURE   R4 = closure proto0
  0024  GETTABUP  R5 = _ENV[K11('ItemCookView')]
  0025  GETTABLE  R5 = R5[K12('SpeedUpAnim1')]
  0026  MOVE      R6 = R0
  0027  GETTABLE  R7 = R0[K13('m_instruBgImg')]
  0028  GETTABLE  R7 = R7[K14('transform')]
  0029  CLOSURE   R8 = closure proto1
  0030  MOVE      R9 = R0
  0031  MOVE      R10 = R0
  0032  CALL      R5 = call(R5, 0 args, 5 rets)
  0033  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 272-276 np=1 va=0 ms=5 code=17 consts=9 upvals=2 protos=0
    ;   K[0]='UIUtil'
    ;   K[1]='UpdateSortingOrder'
    ;   K[2]='GetSortingOrder'
    ;   K[3]=3
    ;   K[4]='LayerMask'
    ;   K[5]='NameToLayer'
    ;   K[6]='UI'
    ;   K[7]='transform'
    ;   K[8]='SetLayerRecursively'
    ;   upvals: _ENV, self
    ;   locals: go(0-17), uiLayer(12-17)
    0000  GETTABUP  R1 = _ENV[K0('UIUtil')]
    0001  GETTABLE  R1 = R1[K1('UpdateSortingOrder')]
    0002  MOVE      R2 = R0
    0003  GETUPVAL  R3 = _ENV
    0004  SELF      R4 = R3[K2('GetSortingOrder')] (self)
    0005  CALL      R3 = call(R3, 1 args, 1 rets)
    0006  ADD       R3 = K3(3) add R3
    0007  CALL      R1 = call(R1, 0 args, 2 rets)
    0008  GETTABUP  R1 = _ENV[K4('LayerMask')]
    0009  GETTABLE  R1 = R1[K5('NameToLayer')]
    0010  LOADK     R2 = K6 'UI'
    0011  CALL      R1 = call(R1, 1 args, 1 rets)
    0012  GETTABLE  R2 = R0[K7('transform')]
    0013  SELF      R3 = R2[K8('SetLayerRecursively')] (self)
    0014  MOVE      R4 = R0
    0015  CALL      R2 = call(R2, 0 args, 2 rets)
    0016  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 278-290 np=0 va=0 ms=4 code=31 consts=10 upvals=2 protos=1
    ;   K[0]='m_dishSkipView'
    ;   K[1]='GetItemCookState'
    ;   K[2]='EItemCookState'
    ;   K[3]='Cooked'
    ;   K[4]='PlayCookedSpine'
    ;   K[5]='Cooking'
    ;   K[6]='m_cookingSpine'
    ;   K[7]='gameObject'
    ;   K[8]='SetActive'
    ;   K[9]='SetSkipSpeeding'
    ;   upvals: self, _ENV
    ;   locals: curState(3-31)
    0000  GETTABUP  R0 = self[K0('m_dishSkipView')]
    0001  SELF      R1 = R0[K1('GetItemCookState')] (self)
    0002  CALL      R0 = call(R0, 1 args, 1 rets)
    0003  GETTABUP  R1 = _ENV[K2('EItemCookState')]
    0004  GETTABLE  R1 = R1[K3('Cooked')]
    0005  EQ        if R0 eq R1   -> -131064
    0006  JMP       (jump)   -> 12
    0007  GETUPVAL  R1 = self
    0008  SELF      R2 = R1[K4('PlayCookedSpine')] (self)
    0009  CLOSURE   R3 = closure proto0
    0010  CALL      R1 = call(R1, 0 args, 2 rets)
    0011  JMP       (jump)   -> 30
    0012  GETTABUP  R1 = _ENV[K2('EItemCookState')]
    0013  GETTABLE  R1 = R1[K5('Cooking')]
    0014  EQ        if R0 eq R1   -> -131055
    0015  JMP       (jump)   -> 26
    0016  GETTABUP  R1 = self[K6('m_cookingSpine')]
    0017  GETTABLE  R1 = R1[K7('gameObject')]
    0018  SELF      R2 = R1[K8('SetActive')] (self)
    0019  LOADBOOL  R3 = true
    0020  CALL      R1 = call(R1, 0 args, 2 rets)
    0021  GETTABUP  R1 = self[K0('m_dishSkipView')]
    0022  SELF      R2 = R1[K9('SetSkipSpeeding')] (self)
    0023  LOADBOOL  R3 = false
    0024  CALL      R1 = call(R1, 0 args, 2 rets)
    0025  JMP       (jump)   -> 30
    0026  GETTABUP  R1 = self[K0('m_dishSkipView')]
    0027  SELF      R2 = R1[K9('SetSkipSpeeding')] (self)
    0028  LOADBOOL  R3 = false
    0029  CALL      R1 = call(R1, 0 args, 2 rets)
    0030  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 281-283 np=0 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
      ;   K[0]='m_dishSkipView'
      ;   K[1]='SetSkipSpeeding'
      ;   upvals: self
      0000  GETTABUP  R0 = self[K0('m_dishSkipView')]
      0001  SELF      R1 = R0[K1('SetSkipSpeeding')] (self)
      0002  LOADBOOL  R2 = false
      0003  CALL      R0 = call(R0, 0 args, 2 rets)
      0004  RETURN    return R0..R-1
; ---------- proto7 [_ShowYellowInstruBg] ----------
  ; fn ?  line 293-295 np=1 va=0 ms=4 code=7 consts=5 upvals=1 protos=0
  ;   K[0]='m_cookedInstruBg'
  ;   K[1]='sprite'
  ;   K[2]='m_instrument'
  ;   K[3]='EItemDetailCellBg'
  ;   K[4]='Yellow'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_cookedInstruBg')]
  0001  GETTABLE  R2 = R0[K2('m_instrument')]
  0002  GETTABUP  R3 = _ENV[K3('EItemDetailCellBg')]
  0003  GETTABLE  R3 = R3[K4('Yellow')]
  0004  GETTABLE  R2 = R2[R3]
  0005  SETTABLE  R1[K1('sprite')] = R2
  0006  RETURN    return R0..R-1
; ---------- proto8 [PlayCookedSpine] ----------
  ; fn ?  line 297-311 np=2 va=0 ms=7 code=22 consts=9 upvals=1 protos=1
  ;   K[0]='_ShowYellowInstruBg'
  ;   K[1]='ToggleSkipOrDishDesc'
  ;   K[2]='m_itemSpine'
  ;   K[3]='_OnDishCookFinished'
  ;   K[4]='ItemCookView'
  ;   K[5]='GetCookAnimName'
  ;   K[6]='m_itemType'
  ;   K[7]='end'
  ;   K[8]='PlayAnimThenStop'
  ;   upvals: _ENV
  ;   locals: self(0-22), callback(0-22), anim(16-22)
  0000  SELF      R3 = R0[K0('_ShowYellowInstruBg')] (self)
  0001  CALL      R2 = call(R2, 0 args, 1 rets)
  0002  SELF      R3 = R0[K1('ToggleSkipOrDishDesc')] (self)
  0003  CALL      R2 = call(R2, 0 args, 1 rets)
  0004  GETTABLE  R2 = R0[K2('m_itemSpine')]
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 10
  0007  SELF      R3 = R0[K3('_OnDishCookFinished')] (self)
  0008  CALL      R2 = call(R2, 0 args, 1 rets)
  0009  RETURN    return R0..R-1
  0010  GETTABUP  R2 = _ENV[K4('ItemCookView')]
  0011  GETTABLE  R2 = R2[K5('GetCookAnimName')]
  0012  GETTABLE  R3 = R0[K6('m_itemType')]
  0013  GETTABLE  R4 = R0[K2('m_itemSpine')]
  0014  LOADK     R5 = K7 'end'
  0015  CALL      R2 = call(R2, 1 args, 3 rets)
  0016  GETTABLE  R3 = R0[K2('m_itemSpine')]
  0017  SELF      R4 = R3[K8('PlayAnimThenStop')] (self)
  0018  MOVE      R5 = R0
  0019  CLOSURE   R6 = closure proto0
  0020  CALL      R3 = call(R3, 0 args, 3 rets)
  0021  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 305-310 np=0 va=0 ms=2 code=9 consts=1 upvals=2 protos=0
    ;   K[0]='_OnDishCookFinished'
    ;   upvals: self, callback
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_OnDishCookFinished')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  GETUPVAL  R0 = self
    0004  TEST      if not R0 then   -> -131066
    0005  JMP       (jump)   -> 8
    0006  GETUPVAL  R0 = self
    0007  CALL      R0 = call(R0, 0 args, 0 rets)
    0008  RETURN    return R0..R-1
; ---------- proto9 [_AddTween] ----------
  ; fn ?  line 313-315 np=2 va=0 ms=4 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_arrTweens'
  ;   K[1]=1
  ;   locals: self(0-6), tween(0-6)
  0000  GETTABLE  R2 = R0[K0('m_arrTweens')]
  0001  GETTABLE  R3 = R0[K0('m_arrTweens')]
  0002  LEN       R3 = len R0
  0003  ADD       R3 = K1(1) add R3
  0004  SETTABLE  R2[R3] = R1
  0005  RETURN    return R0..R-1
; ---------- proto10 [_OnLoadItemSpine] ----------
  ; fn ?  line 317-334 np=3 va=0 ms=12 code=53 consts=21 upvals=1 protos=1
  ;   K[0]='m_itemSpine'
  ;   K[1]='GetLuaTable'
  ;   K[2]='Init'
  ;   K[3]='UIUtil'
  ;   K[4]='UpdateSortingOrder'
  ;   K[5]='gameObject'
  ;   K[6]='GetSortingOrder'
  ;   K[7]=1
  ;   K[8]='LayerMask'
  ;   K[9]='NameToLayer'
  ;   K[10]='UI'
  ;   K[11]='transform'
  ;   K[12]='SetLayerRecursively'
  ;   K[13]='GM'
  ;   K[14]='ItemDataModel'
  ;   K[15]='GetCookAnimationName'
  ;   K[16]='HasAnimation'
  ;   K[17]='PlayLoopAnimation'
  ;   K[18]='SetActive'
  ;   K[19]='DelayExecuteFuncInView'
  ;   K[20]=0.1
  ;   upvals: _ENV
  ;   locals: self(0-53), go(0-53), recipe(0-53), uiLayer(18-53), origin(28-53), special(28-53), animName(37-53)
  0000  SELF      R4 = R1[K1('GetLuaTable')] (self)
  0001  CALL      R3 = call(R3, 1 args, 1 rets)
  0002  SETTABLE  R0[K0('m_itemSpine')] = R3
  0003  GETTABLE  R3 = R0[K0('m_itemSpine')]
  0004  SELF      R4 = R3[K2('Init')] (self)
  0005  CALL      R3 = call(R3, 0 args, 1 rets)
  0006  GETTABUP  R3 = _ENV[K3('UIUtil')]
  0007  GETTABLE  R3 = R3[K4('UpdateSortingOrder')]
  0008  GETTABLE  R4 = R0[K0('m_itemSpine')]
  0009  GETTABLE  R4 = R4[K5('gameObject')]
  0010  SELF      R6 = R0[K6('GetSortingOrder')] (self)
  0011  CALL      R5 = call(R5, 1 args, 1 rets)
  0012  ADD       R5 = K7(1) add R5
  0013  CALL      R3 = call(R3, 0 args, 2 rets)
  0014  GETTABUP  R3 = _ENV[K8('LayerMask')]
  0015  GETTABLE  R3 = R3[K9('NameToLayer')]
  0016  LOADK     R4 = K10 'UI'
  0017  CALL      R3 = call(R3, 1 args, 1 rets)
  0018  GETTABLE  R4 = R0[K0('m_itemSpine')]
  0019  GETTABLE  R4 = R4[K11('transform')]
  0020  SELF      R5 = R4[K12('SetLayerRecursively')] (self)
  0021  MOVE      R6 = R0
  0022  CALL      R4 = call(R4, 0 args, 2 rets)
  0023  GETTABUP  R4 = _ENV[K13('GM')]
  0024  GETTABLE  R4 = R4[K14('ItemDataModel')]
  0025  SELF      R5 = R4[K15('GetCookAnimationName')] (self)
  0026  MOVE      R6 = R0
  0027  CALL      R4 = call(R4, 2 args, 2 rets)
  0028  GETTABLE  R6 = R0[K0('m_itemSpine')]
  0029  SELF      R7 = R6[K16('HasAnimation')] (self)
  0030  MOVE      R8 = R0
  0031  CALL      R6 = call(R6, 1 args, 2 rets)
  0032  TEST      if not R6 then   -> -131038
  0033  JMP       (jump)   -> 36
  0034  TESTSET   if R1 then R6   -> -128475
  0035  JMP       (jump)   -> 37
  0036  MOVE      R6 = R0
  0037  GETTABLE  R7 = R0[K0('m_itemSpine')]
  0038  SELF      R8 = R7[K17('PlayLoopAnimation')] (self)
  0039  MOVE      R9 = R0
  0040  CALL      R7 = call(R7, 0 args, 2 rets)
  0041  GETTABLE  R7 = R0[K0('m_itemSpine')]
  0042  GETTABLE  R7 = R7[K5('gameObject')]
  0043  SELF      R8 = R7[K18('SetActive')] (self)
  0044  LOADBOOL  R9 = false
  0045  CALL      R7 = call(R7, 0 args, 2 rets)
  0046  GETTABUP  R7 = _ENV[K19('DelayExecuteFuncInView')]
  0047  CLOSURE   R8 = closure proto0
  0048  LOADK     R9 = K20 0.1
  0049  MOVE      R10 = R0
  0050  LOADBOOL  R11 = false
  0051  CALL      R7 = call(R7, 0 args, 4 rets)
  0052  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 331-333 np=0 va=0 ms=3 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='_ToggleItemSpine'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_ToggleItemSpine')] (self)
    0002  LOADBOOL  R2 = true
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
; ---------- proto11 [_ToggleItemSpine] ----------
  ; fn ?  line 336-349 np=2 va=0 ms=5 code=23 consts=8 upvals=0 protos=0
  ;   K[0]=true
  ;   K[1]='m_bCooked'
  ;   K[2]='m_itemSpine'
  ;   K[3]='m_instruItemGo'
  ;   K[4]='SetActive'
  ;   K[5]='m_instruBgImg'
  ;   K[6]='enabled'
  ;   K[7]='gameObject'
  ;   locals: self(0-23), visible(0-23)
  0000  EQ        if R0 eq K0(true)   -> -130302
  0001  JMP       (jump)   -> 6
  0002  GETTABLE  R2 = R0[K1('m_bCooked')]
  0003  EQ        if R0 eq K0(true)   -> -129787
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  GETTABLE  R2 = R0[K2('m_itemSpine')]
  0007  TEST      if not R2 then   -> -131062
  0008  JMP       (jump)   -> 10
  0009  RETURN    return R0..R-1
  0010  GETTABLE  R2 = R0[K3('m_instruItemGo')]
  0011  SELF      R3 = R2[K4('SetActive')] (self)
  0012  NOT       R4 = not R0
  0013  CALL      R2 = call(R2, 0 args, 2 rets)
  0014  GETTABLE  R2 = R0[K5('m_instruBgImg')]
  0015  NOT       R3 = not R0
  0016  SETTABLE  R2[K6('enabled')] = R3
  0017  GETTABLE  R2 = R0[K2('m_itemSpine')]
  0018  GETTABLE  R2 = R2[K7('gameObject')]
  0019  SELF      R3 = R2[K4('SetActive')] (self)
  0020  MOVE      R4 = R0
  0021  CALL      R2 = call(R2, 0 args, 2 rets)
  0022  RETURN    return R0..R-1
; ---------- proto12 [_TryAddTipForDishMaterials] ----------
  ; fn ?  line 351-369 np=4 va=0 ms=16 code=59 consts=20 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='GM'
  ;   K[2]='ItemDataModel'
  ;   K[3]='IsDishes'
  ;   K[4]='itemType'
  ;   K[5]='hasPlaceTip'
  ;   K[6]='GameObject'
  ;   K[7]='Instantiate'
  ;   K[8]='m_cookedGo'
  ;   K[9]='transform'
  ;   K[10]='SetActive'
  ;   K[11]='ItemCookView'
  ;   K[12]='Shake'
  ;   K[13]='_AddTween'
  ;   K[14]='m_cookingSpine'
  ;   K[15]='gameObject'
  ;   K[16]='GetLuaTable'
  ;   K[17]='Init'
  ;   K[18]='PlayAnimation'
  ;   K[19]='cook'
  ;   upvals: _ENV
  ;   locals: self(0-59), arrMaterialCells(0-59), mapCookingRecipes(0-59), mapCookedRecipes(0-59), (for generator)(3-58), (for state)(3-58), (for control)(3-58), _(4-56), cell(4-56), go(23-33), cookedTween(30-33), go(44-56), spine(49-56)
  0000  GETTABUP  R4 = _ENV[K0('ipairs')]
  0001  MOVE      R5 = R0
  0002  CALL      R4 = call(R4, 3 args, 1 rets)
  0003  JMP       (jump)   -> 56
  0004  GETTABUP  R9 = _ENV[K1('GM')]
  0005  GETTABLE  R9 = R9[K2('ItemDataModel')]
  0006  SELF      R10 = R9[K3('IsDishes')] (self)
  0007  GETTABLE  R11 = R8[K4('itemType')]
  0008  CALL      R9 = call(R9, 1 args, 2 rets)
  0009  TEST      if not R9 then   -> -131061
  0010  JMP       (jump)   -> 56
  0011  GETTABLE  R9 = R8[K5('hasPlaceTip')]
  0012  TEST      if not R9 then   -> -131057
  0013  JMP       (jump)   -> 56
  0014  GETTABLE  R9 = R8[K4('itemType')]
  0015  GETTABLE  R9 = R3[R9]
  0016  TEST      if not R9 then   -> -131054
  0017  JMP       (jump)   -> 34
  0018  GETTABUP  R9 = _ENV[K6('GameObject')]
  0019  GETTABLE  R9 = R9[K7('Instantiate')]
  0020  GETTABLE  R10 = R0[K8('m_cookedGo')]
  0021  GETTABLE  R11 = R8[K9('transform')]
  0022  CALL      R9 = call(R9, 1 args, 2 rets)
  0023  SELF      R11 = R9[K10('SetActive')] (self)
  0024  LOADBOOL  R12 = true
  0025  CALL      R10 = call(R10, 0 args, 2 rets)
  0026  GETTABUP  R10 = _ENV[K11('ItemCookView')]
  0027  GETTABLE  R10 = R10[K12('Shake')]
  0028  GETTABLE  R11 = R9[K9('transform')]
  0029  CALL      R10 = call(R10, 1 args, 1 rets)
  0030  SELF      R12 = R0[K13('_AddTween')] (self)
  0031  MOVE      R13 = R0
  0032  CALL      R11 = call(R11, 0 args, 2 rets)
  0033  JMP       (jump)   -> 56
  0034  GETTABLE  R9 = R8[K4('itemType')]
  0035  GETTABLE  R9 = R2[R9]
  0036  TEST      if not R9 then   -> -131034
  0037  JMP       (jump)   -> 56
  0038  GETTABUP  R9 = _ENV[K6('GameObject')]
  0039  GETTABLE  R9 = R9[K7('Instantiate')]
  0040  GETTABLE  R10 = R0[K14('m_cookingSpine')]
  0041  GETTABLE  R10 = R10[K15('gameObject')]
  0042  GETTABLE  R11 = R8[K9('transform')]
  0043  CALL      R9 = call(R9, 1 args, 2 rets)
  0044  SELF      R11 = R9[K10('SetActive')] (self)
  0045  LOADBOOL  R12 = true
  0046  CALL      R10 = call(R10, 0 args, 2 rets)
  0047  SELF      R11 = R9[K16('GetLuaTable')] (self)
  0048  CALL      R10 = call(R10, 1 args, 1 rets)
  0049  SELF      R12 = R10[K17('Init')] (self)
  0050  CALL      R11 = call(R11, 0 args, 1 rets)
  0051  SELF      R12 = R10[K18('PlayAnimation')] (self)
  0052  LOADK     R13 = K19 'cook'
  0053  LOADNIL   R14..R14 = nil
  0054  LOADBOOL  R15 = true
  0055  CALL      R11 = call(R11, 0 args, 4 rets)
  0056  TFORCALL  tforcall R4
  0057  TFORLOOP  tforloop R6(sBx=-54)   -> 4
  0058  RETURN    return R0..R-1
; ---------- proto13 [_UpdateHotSaleDisplay] ----------
  ; fn ?  line 371-376 np=1 va=0 ms=7 code=32 consts=15 upvals=1 protos=0
  ;   K[0]='ItemDetailWindow'
  ;   K[1]='_UpdateHotSaleDisplay'
  ;   K[2]='m_instrument'
  ;   K[3]='inHotSale'
  ;   K[4]='UIUtil'
  ;   K[5]='SetSizeDelta'
  ;   K[6]='m_contentRectTrans'
  ;   K[7]='m_originSize'
  ;   K[8]='y'
  ;   K[9]=20
  ;   K[10]=0
  ;   K[11]='SetAnchoredPosition'
  ;   K[12]='m_cookTrans'
  ;   K[13]=144
  ;   K[14]=124
  ;   upvals: _ENV
  ;   locals: self(0-32), inHotSale(6-32)
  0000  GETTABUP  R1 = _ENV[K0('ItemDetailWindow')]
  0001  GETTABLE  R1 = R1[K1('_UpdateHotSaleDisplay')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_instrument')]
  0005  GETTABLE  R1 = R1[K3('inHotSale')]
  0006  GETTABUP  R2 = _ENV[K4('UIUtil')]
  0007  GETTABLE  R2 = R2[K5('SetSizeDelta')]
  0008  GETTABLE  R3 = R0[K6('m_contentRectTrans')]
  0009  LOADNIL   R4..R4 = nil
  0010  GETTABLE  R5 = R0[K7('m_originSize')]
  0011  GETTABLE  R5 = R5[K8('y')]
  0012  TEST      if not R1 then   -> -131058
  0013  JMP       (jump)   -> 17
  0014  LOADK     R6 = K9 20
  0015  TEST      if not R6 then   -> -131054
  0016  JMP       (jump)   -> 18
  0017  LOADK     R6 = K10 0
  0018  ADD       R5 = R6 add R5
  0019  CALL      R2 = call(R2, 0 args, 3 rets)
  0020  GETTABUP  R2 = _ENV[K4('UIUtil')]
  0021  GETTABLE  R2 = R2[K11('SetAnchoredPosition')]
  0022  GETTABLE  R3 = R0[K12('m_cookTrans')]
  0023  LOADNIL   R4..R4 = nil
  0024  TEST      if not R1 then   -> -131046
  0025  JMP       (jump)   -> 29
  0026  LOADK     R5 = K13 144
  0027  TEST      if not R5 then   -> -131042
  0028  JMP       (jump)   -> 30
  0029  LOADK     R5 = K14 124
  0030  CALL      R2 = call(R2, 0 args, 3 rets)
  0031  RETURN    return R0..R-1
; ---------- proto14 [OnHelpClicked] ----------
  ; fn ?  line 378-380 np=1 va=0 ms=4 code=7 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='OpenView'
  ;   K[3]='UIPrefabConfigName'
  ;   K[4]='HowToCookWindow'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  SELF      R2 = R1[K2('OpenView')] (self)
  0003  GETTABUP  R3 = _ENV[K3('UIPrefabConfigName')]
  0004  GETTABLE  R3 = R3[K4('HowToCookWindow')]
  0005  CALL      R1 = call(R1, 0 args, 2 rets)
  0006  RETURN    return R0..R-1
; ---------- proto15 [_OnDishCookFinished] ----------
  ; fn ?  line 382-399 np=1 va=0 ms=5 code=45 consts=21 upvals=1 protos=0
  ;   K[0]='m_bCooked'
  ;   K[1]=true
  ;   K[2]='m_instrument'
  ;   K[3]='ChangeBg'
  ;   K[4]='EItemDetailCellBg'
  ;   K[5]='Yellow'
  ;   K[6]='m_cookedGo'
  ;   K[7]='SetActive'
  ;   K[8]='ItemCookView'
  ;   K[9]='Shake'
  ;   K[10]='transform'
  ;   K[11]='_AddTween'
  ;   K[12]='m_cookingSpine'
  ;   K[13]='gameObject'
  ;   K[14]='m_itemSpine'
  ;   K[15]='PlayIdleAnimation'
  ;   K[16]='m_instruItemGo'
  ;   K[17]='m_instruBgImg'
  ;   K[18]='enabled'
  ;   K[19]=false
  ;   K[20]='_ToggleItemSpine'
  ;   upvals: _ENV
  ;   locals: self(0-45), cookedTween(15-45)
  0000  SETTABLE  R0[K0('m_bCooked')] = K1(true)
  0001  GETTABLE  R1 = R0[K2('m_instrument')]
  0002  SELF      R2 = R1[K3('ChangeBg')] (self)
  0003  GETTABUP  R3 = _ENV[K4('EItemDetailCellBg')]
  0004  GETTABLE  R3 = R3[K5('Yellow')]
  0005  CALL      R1 = call(R1, 0 args, 2 rets)
  0006  GETTABLE  R1 = R0[K6('m_cookedGo')]
  0007  SELF      R2 = R1[K7('SetActive')] (self)
  0008  LOADBOOL  R3 = true
  0009  CALL      R1 = call(R1, 0 args, 2 rets)
  0010  GETTABUP  R1 = _ENV[K8('ItemCookView')]
  0011  GETTABLE  R1 = R1[K9('Shake')]
  0012  GETTABLE  R2 = R0[K6('m_cookedGo')]
  0013  GETTABLE  R2 = R2[K10('transform')]
  0014  CALL      R1 = call(R1, 1 args, 1 rets)
  0015  SELF      R3 = R0[K11('_AddTween')] (self)
  0016  MOVE      R4 = R0
  0017  CALL      R2 = call(R2, 0 args, 2 rets)
  0018  GETTABLE  R2 = R0[K12('m_cookingSpine')]
  0019  GETTABLE  R2 = R2[K13('gameObject')]
  0020  SELF      R3 = R2[K7('SetActive')] (self)
  0021  LOADBOOL  R4 = false
  0022  CALL      R2 = call(R2, 0 args, 2 rets)
  0023  GETTABLE  R2 = R0[K14('m_itemSpine')]
  0024  TEST      if not R2 then   -> -131046
  0025  JMP       (jump)   -> 41
  0026  GETTABLE  R2 = R0[K14('m_itemSpine')]
  0027  SELF      R3 = R2[K15('PlayIdleAnimation')] (self)
  0028  CALL      R2 = call(R2, 0 args, 1 rets)
  0029  GETTABLE  R2 = R0[K14('m_itemSpine')]
  0030  GETTABLE  R2 = R2[K13('gameObject')]
  0031  SELF      R3 = R2[K7('SetActive')] (self)
  0032  LOADBOOL  R4 = true
  0033  CALL      R2 = call(R2, 0 args, 2 rets)
  0034  GETTABLE  R2 = R0[K16('m_instruItemGo')]
  0035  SELF      R3 = R2[K7('SetActive')] (self)
  0036  LOADBOOL  R4 = false
  0037  CALL      R2 = call(R2, 0 args, 2 rets)
  0038  GETTABLE  R2 = R0[K17('m_instruBgImg')]
  0039  SETTABLE  R2[K18('enabled')] = K19(false)
  0040  JMP       (jump)   -> 44
  0041  SELF      R3 = R0[K20('_ToggleItemSpine')] (self)
  0042  LOADBOOL  R4 = false
  0043  CALL      R2 = call(R2, 0 args, 2 rets)
  0044  RETURN    return R0..R-1
