# Model_Resource_ResourceLoader_12.luac
; fn @ResourceLoader.lua  line 0-0 np=0 va=1 ms=2 code=65 consts=27 upvals=1 protos=18
;   K[0]='FileType'
;   K[1]='Text'
;   K[2]=1
;   K[3]='Image'
;   K[4]=2
;   K[5]='Audio'
;   K[6]=3
;   K[7]='ResourceLoader'
;   K[8]='__index'
;   K[9]='Init'
;   K[10]='OnOneLoadStart'
;   K[11]='OnOneLoadFinish'
;   K[12]='GetRemainResource'
;   K[13]='IsAllResourceLoaded'
;   K[14]='ResetLoadCount'
;   K[15]='GetLoadingPercent'
;   K[16]='LoadPrefab'
;   K[17]='LoadScene'
;   K[18]='UnloadScene'
;   K[19]='LoadLatestFile'
;   K[20]='LoadCDNFile'
;   K[21]='LoadCDNFileByFullPath'
;   K[22]='_LoadBundleFile'
;   K[23]='_GetFileType'
;   K[24]='_LogLoadResource'
;   K[25]='_WrapCallback'
;   K[26]='ClearUnusedAssets'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABLE  R0[K1('Text')] = K2(1)
0002  SETTABLE  R0[K3('Image')] = K4(2)
0003  SETTABLE  R0[K5('Audio')] = K6(3)
0004  SETTABUP  _ENV[K0('FileType')] = R0
0005  NEWTABLE  R0 = {} (0 items)
0006  SETTABUP  _ENV[K7('ResourceLoader')] = R0
0007  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0008  GETTABUP  R1 = _ENV[K7('ResourceLoader')]
0009  SETTABLE  R0[K8('__index')] = R1
0010  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0011  CLOSURE   R1 = closure proto0
0012  SETTABLE  R0[K9('Init')] = R1
0013  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0014  CLOSURE   R1 = closure proto1
0015  SETTABLE  R0[K10('OnOneLoadStart')] = R1
0016  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0017  CLOSURE   R1 = closure proto2
0018  SETTABLE  R0[K11('OnOneLoadFinish')] = R1
0019  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0020  CLOSURE   R1 = closure proto3
0021  SETTABLE  R0[K12('GetRemainResource')] = R1
0022  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0023  CLOSURE   R1 = closure proto4
0024  SETTABLE  R0[K13('IsAllResourceLoaded')] = R1
0025  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0026  CLOSURE   R1 = closure proto5
0027  SETTABLE  R0[K14('ResetLoadCount')] = R1
0028  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0029  CLOSURE   R1 = closure proto6
0030  SETTABLE  R0[K15('GetLoadingPercent')] = R1
0031  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0032  CLOSURE   R1 = closure proto7
0033  SETTABLE  R0[K16('LoadPrefab')] = R1
0034  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0035  CLOSURE   R1 = closure proto8
0036  SETTABLE  R0[K17('LoadScene')] = R1
0037  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0038  CLOSURE   R1 = closure proto9
0039  SETTABLE  R0[K18('UnloadScene')] = R1
0040  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0041  CLOSURE   R1 = closure proto10
0042  SETTABLE  R0[K19('LoadLatestFile')] = R1
0043  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0044  CLOSURE   R1 = closure proto11
0045  SETTABLE  R0[K20('LoadCDNFile')] = R1
0046  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0047  CLOSURE   R1 = closure proto12
0048  SETTABLE  R0[K21('LoadCDNFileByFullPath')] = R1
0049  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0050  CLOSURE   R1 = closure proto13
0051  SETTABLE  R0[K22('_LoadBundleFile')] = R1
0052  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0053  CLOSURE   R1 = closure proto14
0054  SETTABLE  R0[K23('_GetFileType')] = R1
0055  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0056  CLOSURE   R1 = closure proto15
0057  SETTABLE  R0[K24('_LogLoadResource')] = R1
0058  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0059  CLOSURE   R1 = closure proto16
0060  SETTABLE  R0[K25('_WrapCallback')] = R1
0061  GETTABUP  R0 = _ENV[K7('ResourceLoader')]
0062  CLOSURE   R1 = closure proto17
0063  SETTABLE  R0[K26('ClearUnusedAssets')] = R1
0064  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 10-13 np=1 va=0 ms=3 code=4 consts=3 upvals=0 protos=0
  ;   K[0]='ResetLoadCount'
  ;   K[1]='m_bLogLoadRequest'
  ;   K[2]=false
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('ResetLoadCount')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  SETTABLE  R0[K1('m_bLogLoadRequest')] = K2(false)
  0003  RETURN    return R0..R-1
; ---------- proto1 [OnOneLoadStart] ----------
  ; fn ?  line 16-20 np=2 va=0 ms=5 code=12 consts=4 upvals=0 protos=0
  ;   K[0]='_LogLoadResource'
  ;   K[1]='_toLoadCount'
  ;   K[2]=1
  ;   K[3]='m_arrLoadingRes'
  ;   locals: self(0-12), key(0-12)
  0000  SELF      R3 = R0[K0('_LogLoadResource')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 0 args, 2 rets)
  0003  GETTABLE  R2 = R0[K1('_toLoadCount')]
  0004  ADD       R2 = K2(1) add R2
  0005  SETTABLE  R0[K1('_toLoadCount')] = R2
  0006  GETTABLE  R2 = R0[K3('m_arrLoadingRes')]
  0007  GETTABLE  R3 = R0[K3('m_arrLoadingRes')]
  0008  LEN       R3 = len R0
  0009  ADD       R3 = K2(1) add R3
  0010  SETTABLE  R2[R3] = R1
  0011  RETURN    return R0..R-1
; ---------- proto2 [OnOneLoadFinish] ----------
  ; fn ?  line 22-32 np=2 va=0 ms=6 code=30 consts=12 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='ListRemove'
  ;   K[2]='m_arrLoadingRes'
  ;   K[3]='_loadedCount'
  ;   K[4]=1
  ;   K[5]='_toLoadCount'
  ;   K[6]='GameConfig'
  ;   K[7]='IsTestMode'
  ;   K[8]='Log'
  ;   K[9]='Error'
  ;   K[10]='ResourceLoader load count error '
  ;   K[11]='tostring'
  ;   upvals: _ENV
  ;   locals: self(0-30), key(0-30)
  0000  GETTABUP  R2 = _ENV[K0('Table')]
  0001  GETTABLE  R2 = R2[K1('ListRemove')]
  0002  GETTABLE  R3 = R0[K2('m_arrLoadingRes')]
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 0 args, 2 rets)
  0005  GETTABLE  R2 = R0[K3('_loadedCount')]
  0006  ADD       R2 = K4(1) add R2
  0007  SETTABLE  R0[K3('_loadedCount')] = R2
  0008  GETTABLE  R2 = R0[K3('_loadedCount')]
  0009  GETTABLE  R3 = R0[K5('_toLoadCount')]
  0010  LT        if R0 lt R2   -> -129522
  0011  JMP       (jump)   -> 29
  0012  GETTABLE  R2 = R0[K5('_toLoadCount')]
  0013  SETTABLE  R0[K3('_loadedCount')] = R2
  0014  NEWTABLE  R2 = {} (0 items)
  0015  SETTABLE  R0[K2('m_arrLoadingRes')] = R2
  0016  GETTABUP  R2 = _ENV[K6('GameConfig')]
  0017  GETTABLE  R2 = R2[K7('IsTestMode')]
  0018  CALL      R2 = call(R2, 1 args, 0 rets)
  0019  TEST      if not R2 then   -> -131051
  0020  JMP       (jump)   -> 29
  0021  GETTABUP  R2 = _ENV[K8('Log')]
  0022  GETTABLE  R2 = R2[K9('Error')]
  0023  LOADK     R3 = K10 'ResourceLoader load count error '
  0024  GETTABUP  R4 = _ENV[K11('tostring')]
  0025  MOVE      R5 = R0
  0026  CALL      R4 = call(R4, 1 args, 1 rets)
  0027  CONCAT    R3 = concat(R3..R3)
  0028  CALL      R2 = call(R2, 0 args, 1 rets)
  0029  RETURN    return R0..R-1
; ---------- proto3 [GetRemainResource] ----------
  ; fn ?  line 34-36 np=1 va=0 ms=4 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='table'
  ;   K[1]='concat'
  ;   K[2]='m_arrLoadingRes'
  ;   K[3]=','
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('table')]
  0001  GETTABLE  R1 = R1[K1('concat')]
  0002  GETTABLE  R2 = R0[K2('m_arrLoadingRes')]
  0003  LOADK     R3 = K3 ','
  0004  TAILCALL  tailcall(R1, 0)
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto4 [IsAllResourceLoaded] ----------
  ; fn ?  line 38-42 np=1 va=0 ms=3 code=22 consts=7 upvals=1 protos=0
  ;   K[0]='_loadedCount'
  ;   K[1]='_toLoadCount'
  ;   K[2]='GM'
  ;   K[3]='ModeViewController'
  ;   K[4]='isLoading'
  ;   K[5]='LuaManager'
  ;   K[6]='IsLoadingDynamicConfig'
  ;   upvals: _ENV
  ;   locals: self(0-22)
  0000  GETTABLE  R1 = R0[K0('_loadedCount')]
  0001  GETTABLE  R2 = R0[K1('_toLoadCount')]
  0002  LE        if R0 le R1   -> -130043
  0003  JMP       (jump)   -> 18
  0004  GETTABUP  R1 = _ENV[K2('GM')]
  0005  GETTABLE  R1 = R1[K3('ModeViewController')]
  0006  TEST      if not R1 then   -> -131064
  0007  JMP       (jump)   -> 13
  0008  GETTABUP  R1 = _ENV[K2('GM')]
  0009  GETTABLE  R1 = R1[K3('ModeViewController')]
  0010  GETTABLE  R1 = R1[K4('isLoading')]
  0011  TEST      if not R1 then   -> -131058
  0012  JMP       (jump)   -> 18
  0013  GETTABUP  R1 = _ENV[K5('LuaManager')]
  0014  SELF      R2 = R1[K6('IsLoadingDynamicConfig')] (self)
  0015  CALL      R1 = call(R1, 1 args, 1 rets)
  0016  NOT       R1 = not R0
  0017  JMP       (jump)   -> 20
  0018  LOADBOOL  R1 = false
  0019  LOADBOOL  R1 = true
  0020  RETURN    return R1..R0
  0021  RETURN    return R0..R-1
; ---------- proto5 [ResetLoadCount] ----------
  ; fn ?  line 44-55 np=1 va=0 ms=11 code=23 consts=11 upvals=1 protos=0
  ;   K[0]='m_arrLoadingRes'
  ;   K[1]='ipairs'
  ;   K[2]='GM'
  ;   K[3]='BIManager'
  ;   K[4]='LogErrorInfo'
  ;   K[5]='EBIType'
  ;   K[6]='ResourceLoaderError'
  ;   K[7]=' is still loading!'
  ;   K[8]='_toLoadCount'
  ;   K[9]=0
  ;   K[10]='_loadedCount'
  ;   upvals: _ENV
  ;   locals: self(0-23), (for generator)(6-18), (for state)(6-18), (for control)(6-18), _(7-16), fileKey(7-16)
  0000  GETTABLE  R1 = R0[K0('m_arrLoadingRes')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 18
  0003  GETTABUP  R1 = _ENV[K1('ipairs')]
  0004  GETTABLE  R2 = R0[K0('m_arrLoadingRes')]
  0005  CALL      R1 = call(R1, 3 args, 1 rets)
  0006  JMP       (jump)   -> 16
  0007  GETTABUP  R6 = _ENV[K2('GM')]
  0008  GETTABLE  R6 = R6[K3('BIManager')]
  0009  SELF      R7 = R6[K4('LogErrorInfo')] (self)
  0010  GETTABUP  R8 = _ENV[K5('EBIType')]
  0011  GETTABLE  R8 = R8[K6('ResourceLoaderError')]
  0012  MOVE      R9 = R0
  0013  LOADK     R10 = K7 ' is still loading!'
  0014  CONCAT    R9 = concat(R9..R9)
  0015  CALL      R6 = call(R6, 0 args, 3 rets)
  0016  TFORCALL  tforcall R1
  0017  TFORLOOP  tforloop R3(sBx=-11)   -> 7
  0018  SETTABLE  R0[K8('_toLoadCount')] = K9(0)
  0019  SETTABLE  R0[K10('_loadedCount')] = K9(0)
  0020  NEWTABLE  R1 = {} (0 items)
  0021  SETTABLE  R0[K0('m_arrLoadingRes')] = R1
  0022  RETURN    return R0..R-1
; ---------- proto6 [GetLoadingPercent] ----------
  ; fn ?  line 57-62 np=1 va=0 ms=3 code=10 consts=3 upvals=0 protos=0
  ;   K[0]='_toLoadCount'
  ;   K[1]=0
  ;   K[2]='_loadedCount'
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('_toLoadCount')]
  0001  EQ        if R0 eq K1(0)   -> -130300
  0002  JMP       (jump)   -> 5
  0003  LOADK     R1 = K1 0
  0004  RETURN    return R1..R0
  0005  GETTABLE  R1 = R0[K2('_loadedCount')]
  0006  GETTABLE  R2 = R0[K0('_toLoadCount')]
  0007  DIV       R1 = R2 div R1
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto7 [LoadPrefab] ----------
  ; fn ?  line 67-110 np=7 va=0 ms=14 code=42 consts=13 upvals=1 protos=1
  ;   K[0]='Log'
  ;   K[1]='Error'
  ;   K[2]='ResourceLoader:LoadPrefab resConfig is nil'
  ;   K[3]='IsString'
  ;   K[4]='ResourceLoader:LoadPrefab resConfig is string'
  ;   K[5]=nil
  ;   K[6]='Root'
  ;   K[7]='_WrapCallback'
  ;   K[8]='assetReference'
  ;   K[9]='OnOneLoadStart'
  ;   K[10]='fileKey'
  ;   K[11]='GameObjectPool'
  ;   K[12]='LoadPrefab'
  ;   upvals: _ENV
  ;   locals: self(0-42), resConfig(0-42), parent(0-42), position(0-42), successCallback(0-42), failCallback(0-42), allowFail(0-42), assetRef(31-42)
  0000  TEST      if not R1 then   -> -131069
  0001  JMP       (jump)   -> 7
  0002  GETTABUP  R7 = _ENV[K0('Log')]
  0003  GETTABLE  R7 = R7[K1('Error')]
  0004  LOADK     R8 = K2 'ResourceLoader:LoadPrefab resConfig is nil'
  0005  CALL      R7 = call(R7, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
  0007  GETTABUP  R7 = _ENV[K3('IsString')]
  0008  MOVE      R8 = R0
  0009  CALL      R7 = call(R7, 1 args, 1 rets)
  0010  TEST      if not R7 then   -> -131060
  0011  JMP       (jump)   -> 17
  0012  GETTABUP  R7 = _ENV[K0('Log')]
  0013  GETTABLE  R7 = R7[K1('Error')]
  0014  LOADK     R8 = K4 'ResourceLoader:LoadPrefab resConfig is string'
  0015  CALL      R7 = call(R7, 0 args, 1 rets)
  0016  RETURN    return R0..R-1
  0017  EQ        if R0 eq K5(nil)   -> -129768
  0018  JMP       (jump)   -> 20
  0019  GETTABUP  R2 = _ENV[K6('Root')]
  0020  SELF      R8 = R0[K7('_WrapCallback')] (self)
  0021  MOVE      R9 = R0
  0022  CALL      R7 = call(R7, 1 args, 2 rets)
  0023  MOVE      R4 = R0
  0024  TEST      if not R5 then   -> -131046
  0025  JMP       (jump)   -> 30
  0026  SELF      R8 = R0[K7('_WrapCallback')] (self)
  0027  MOVE      R9 = R0
  0028  CALL      R7 = call(R7, 1 args, 2 rets)
  0029  MOVE      R5 = R0
  0030  GETTABLE  R7 = R1[K8('assetReference')]
  0031  SELF      R9 = R0[K9('OnOneLoadStart')] (self)
  0032  GETTABLE  R10 = R1[K10('fileKey')]
  0033  CALL      R8 = call(R8, 0 args, 2 rets)
  0034  GETTABUP  R8 = _ENV[K11('GameObjectPool')]
  0035  SELF      R9 = R8[K12('LoadPrefab')] (self)
  0036  MOVE      R10 = R0
  0037  MOVE      R11 = R0
  0038  MOVE      R12 = R0
  0039  CLOSURE   R13 = closure proto0
  0040  CALL      R8 = call(R8, 0 args, 5 rets)
  0041  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 86-109 np=1 va=0 ms=8 code=81 consts=20 upvals=7 protos=0
    ;   K[0]=nil
    ;   K[1]='IsNull'
    ;   K[2]='gameObject'
    ;   K[3]='SetActive'
    ;   K[4]='SafeCall'
    ;   K[5]='not go'
    ;   K[6]='go is null'
    ;   K[7]='GM'
    ;   K[8]='BIManager'
    ;   K[9]='LogErrorInfo'
    ;   K[10]='EBIType'
    ;   K[11]='LoadPrefabError'
    ;   K[12]='fileKey'
    ;   K[13]=' response error '
    ;   K[14]='AddressableLoader'
    ;   K[15]='Destroy'
    ;   K[16]='Log'
    ;   K[17]='Warning'
    ;   K[18]='[LoadPrefab] Parent has been destroyed when load prefab finish! fileKey:'
    ;   K[19]='OnOneLoadFinish'
    ;   upvals: parent, successCallback, _ENV, failCallback, allowFail, resConfig, self
    ;   locals: go(0-81), info(49-59)
    0000  GETUPVAL  R1 = parent
    0001  EQ        if R1 eq K0(nil)   -> -130301
    0002  JMP       (jump)   -> 16
    0003  GETUPVAL  R1 = parent
    0004  SELF      R2 = R1[K1('IsNull')] (self)
    0005  CALL      R1 = call(R1, 1 args, 1 rets)
    0006  TEST      if not R1 then   -> -131063
    0007  JMP       (jump)   -> 60
    0008  GETTABUP  R1 = parent[K2('gameObject')]
    0009  TEST      if not R1 then   -> -131061
    0010  JMP       (jump)   -> 60
    0011  GETTABUP  R1 = parent[K2('gameObject')]
    0012  SELF      R2 = R1[K1('IsNull')] (self)
    0013  CALL      R1 = call(R1, 1 args, 1 rets)
    0014  TEST      if not R1 then   -> -131055
    0015  JMP       (jump)   -> 60
    0016  TEST      if not R0 then   -> -131054
    0017  JMP       (jump)   -> 34
    0018  SELF      R2 = R0[K1('IsNull')] (self)
    0019  CALL      R1 = call(R1, 1 args, 1 rets)
    0020  TEST      if not R1 then   -> -131049
    0021  JMP       (jump)   -> 34
    0022  SELF      R2 = R0[K3('SetActive')] (self)
    0023  LOADBOOL  R3 = true
    0024  CALL      R1 = call(R1, 0 args, 2 rets)
    0025  GETUPVAL  R1 = parent
    0026  TEST      if not R1 then   -> -131044
    0027  JMP       (jump)   -> 76
    0028  GETTABUP  R1 = _ENV[K4('SafeCall')]
    0029  GETUPVAL  R2 = parent
    0030  LOADNIL   R3..R3 = nil
    0031  MOVE      R4 = R0
    0032  CALL      R1 = call(R1, 0 args, 3 rets)
    0033  JMP       (jump)   -> 76
    0034  GETUPVAL  R1 = parent
    0035  TEST      if not R1 then   -> -131035
    0036  JMP       (jump)   -> 40
    0037  GETTABUP  R1 = _ENV[K4('SafeCall')]
    0038  GETUPVAL  R2 = parent
    0039  CALL      R1 = call(R1, 0 args, 1 rets)
    0040  GETUPVAL  R1 = parent
    0041  TEST      if not R1 then   -> -131028
    0042  JMP       (jump)   -> 76
    0043  TEST      if not R0 then   -> -131026
    0044  JMP       (jump)   -> 48
    0045  LOADK     R1 = K5 'not go'
    0046  TEST      if not R1 then   -> -131023
    0047  JMP       (jump)   -> 49
    0048  LOADK     R1 = K6 'go is null'
    0049  GETTABUP  R2 = _ENV[K7('GM')]
    0050  GETTABLE  R2 = R2[K8('BIManager')]
    0051  SELF      R3 = R2[K9('LogErrorInfo')] (self)
    0052  GETTABUP  R4 = _ENV[K10('EBIType')]
    0053  GETTABLE  R4 = R4[K11('LoadPrefabError')]
    0054  GETTABUP  R5 = resConfig[K12('fileKey')]
    0055  LOADK     R6 = K13 ' response error '
    0056  MOVE      R7 = R0
    0057  CONCAT    R5 = concat(R5..R5)
    0058  CALL      R2 = call(R2, 0 args, 3 rets)
    0059  JMP       (jump)   -> 76
    0060  TEST      if not R0 then   -> -131010
    0061  JMP       (jump)   -> 70
    0062  SELF      R2 = R0[K1('IsNull')] (self)
    0063  CALL      R1 = call(R1, 1 args, 1 rets)
    0064  TEST      if not R1 then   -> -131005
    0065  JMP       (jump)   -> 70
    0066  GETTABUP  R1 = _ENV[K14('AddressableLoader')]
    0067  GETTABLE  R1 = R1[K15('Destroy')]
    0068  MOVE      R2 = R0
    0069  CALL      R1 = call(R1, 0 args, 1 rets)
    0070  GETTABUP  R1 = _ENV[K16('Log')]
    0071  GETTABLE  R1 = R1[K17('Warning')]
    0072  LOADK     R2 = K18 '[LoadPrefab] Parent has been destroyed when load prefab finish! fileKey:'
    0073  GETTABUP  R3 = resConfig[K12('fileKey')]
    0074  CONCAT    R2 = concat(R2..R2)
    0075  CALL      R1 = call(R1, 0 args, 1 rets)
    0076  GETUPVAL  R1 = parent
    0077  SELF      R2 = R1[K19('OnOneLoadFinish')] (self)
    0078  GETTABUP  R3 = resConfig[K12('fileKey')]
    0079  CALL      R1 = call(R1, 0 args, 2 rets)
    0080  RETURN    return R0..R-1
; ---------- proto8 [LoadScene] ----------
  ; fn ?  line 116-153 np=4 va=0 ms=10 code=39 consts=14 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='DataResource'
  ;   K[2]='GameSceneConfig'
  ;   K[3]='GetConfig'
  ;   K[4]='Log'
  ;   K[5]='Error'
  ;   K[6]='no resConfig for '
  ;   K[7]='_WrapCallback'
  ;   K[8]='UIManager'
  ;   K[9]='SetEventLock'
  ;   K[10]='DeviceInfo'
  ;   K[11]='GetCpuTime'
  ;   K[12]='Scheduler'
  ;   K[13]='Schedule'
  ;   upvals: _ENV
  ;   locals: self(0-39), name(0-39), mode(0-39), callback(0-39), resConfig(6-39), locked(20-39), startTime(33-39)
  0000  GETTABUP  R4 = _ENV[K0('GM')]
  0001  GETTABLE  R4 = R4[K1('DataResource')]
  0002  GETTABLE  R4 = R4[K2('GameSceneConfig')]
  0003  SELF      R5 = R4[K3('GetConfig')] (self)
  0004  MOVE      R6 = R0
  0005  CALL      R4 = call(R4, 1 args, 2 rets)
  0006  TEST      if not R4 then   -> -131063
  0007  JMP       (jump)   -> 15
  0008  GETTABUP  R5 = _ENV[K4('Log')]
  0009  GETTABLE  R5 = R5[K5('Error')]
  0010  LOADK     R6 = K6 'no resConfig for '
  0011  MOVE      R7 = R0
  0012  CONCAT    R6 = concat(R6..R6)
  0013  CALL      R5 = call(R5, 0 args, 1 rets)
  0014  RETURN    return R0..R-1
  0015  SELF      R6 = R0[K7('_WrapCallback')] (self)
  0016  MOVE      R7 = R0
  0017  CALL      R5 = call(R5, 1 args, 2 rets)
  0018  MOVE      R3 = R0
  0019  LOADBOOL  R5 = false
  0020  GETTABUP  R6 = _ENV[K0('GM')]
  0021  GETTABLE  R6 = R6[K8('UIManager')]
  0022  TEST      if not R6 then   -> -131048
  0023  JMP       (jump)   -> 30
  0024  GETTABUP  R6 = _ENV[K0('GM')]
  0025  GETTABLE  R6 = R6[K8('UIManager')]
  0026  SELF      R7 = R6[K9('SetEventLock')] (self)
  0027  LOADBOOL  R8 = true
  0028  CALL      R6 = call(R6, 0 args, 2 rets)
  0029  LOADBOOL  R5 = true
  0030  GETTABUP  R6 = _ENV[K10('DeviceInfo')]
  0031  GETTABLE  R6 = R6[K11('GetCpuTime')]
  0032  CALL      R6 = call(R6, 1 args, 0 rets)
  0033  GETTABUP  R7 = _ENV[K12('Scheduler')]
  0034  GETTABLE  R7 = R7[K13('Schedule')]
  0035  CLOSURE   R8 = closure proto0
  0036  MOVE      R9 = R0
  0037  CALL      R7 = call(R7, 0 args, 2 rets)
  0038  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 130-152 np=0 va=0 ms=4 code=41 consts=15 upvals=8 protos=1
    ;   K[0]='IsAllResourceLoaded'
    ;   K[1]='DeviceInfo'
    ;   K[2]='GetCpuTime'
    ;   K[3]=2
    ;   K[4]='Scheduler'
    ;   K[5]='UnscheduleTarget'
    ;   K[6]='GM'
    ;   K[7]='UIManager'
    ;   K[8]='SetEventLock'
    ;   K[9]='OnOneLoadStart'
    ;   K[10]='m_bLogLoadRequest'
    ;   K[11]=true
    ;   K[12]='AddressableLoader'
    ;   K[13]='LoadScene'
    ;   K[14]='assetReference'
    ;   upvals: self, _ENV, startTime, locked, name, resConfig, mode, callback
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('IsAllResourceLoaded')] (self)
    0002  CALL      R0 = call(R0, 1 args, 1 rets)
    0003  TEST      if not R0 then   -> -131066
    0004  JMP       (jump)   -> 13
    0005  GETTABUP  R0 = _ENV[K1('DeviceInfo')]
    0006  GETTABLE  R0 = R0[K2('GetCpuTime')]
    0007  CALL      R0 = call(R0, 1 args, 0 rets)
    0008  GETUPVAL  R1 = self
    0009  SUB       R0 = R1 sub R0
    0010  LT        if R0 lt K3(2)   -> -130801
    0011  JMP       (jump)   -> 13
    0012  RETURN    return R0..R-1
    0013  GETTABUP  R0 = _ENV[K4('Scheduler')]
    0014  GETTABLE  R0 = R0[K5('UnscheduleTarget')]
    0015  GETUPVAL  R1 = self
    0016  CALL      R0 = call(R0, 0 args, 1 rets)
    0017  GETUPVAL  R0 = self
    0018  TEST      if not R0 then   -> -131052
    0019  JMP       (jump)   -> 29
    0020  GETTABUP  R0 = _ENV[K6('GM')]
    0021  GETTABLE  R0 = R0[K7('UIManager')]
    0022  TEST      if not R0 then   -> -131048
    0023  JMP       (jump)   -> 29
    0024  GETTABUP  R0 = _ENV[K6('GM')]
    0025  GETTABLE  R0 = R0[K7('UIManager')]
    0026  SELF      R1 = R0[K8('SetEventLock')] (self)
    0027  LOADBOOL  R2 = false
    0028  CALL      R0 = call(R0, 0 args, 2 rets)
    0029  GETUPVAL  R0 = self
    0030  SELF      R1 = R0[K9('OnOneLoadStart')] (self)
    0031  GETUPVAL  R2 = self
    0032  CALL      R0 = call(R0, 0 args, 2 rets)
    0033  SETTABUP  self[K10('m_bLogLoadRequest')] = K11(true)
    0034  GETTABUP  R0 = _ENV[K12('AddressableLoader')]
    0035  GETTABLE  R0 = R0[K13('LoadScene')]
    0036  GETTABUP  R1 = resConfig[K14('assetReference')]
    0037  GETUPVAL  R2 = self
    0038  CLOSURE   R3 = closure proto0
    0039  CALL      R0 = call(R0, 0 args, 3 rets)
    0040  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 141-151 np=1 va=0 ms=4 code=16 consts=5 upvals=4 protos=0
      ;   K[0]='GM'
      ;   K[1]=nil
      ;   K[2]='m_bLogLoadRequest'
      ;   K[3]=false
      ;   K[4]='OnOneLoadFinish'
      ;   upvals: _ENV, self, callback, name
      ;   locals: o(0-16)
      0000  GETTABUP  R1 = _ENV[K0('GM')]
      0001  EQ        if R0 eq K1(nil)   -> -130300
      0002  JMP       (jump)   -> 4
      0003  RETURN    return R0..R-1
      0004  SETTABUP  self[K2('m_bLogLoadRequest')] = K3(false)
      0005  GETUPVAL  R1 = _ENV
      0006  TEST      if not R1 then   -> -131064
      0007  JMP       (jump)   -> 11
      0008  GETUPVAL  R1 = _ENV
      0009  MOVE      R2 = R0
      0010  CALL      R1 = call(R1, 0 args, 1 rets)
      0011  GETUPVAL  R1 = _ENV
      0012  SELF      R2 = R1[K4('OnOneLoadFinish')] (self)
      0013  GETUPVAL  R3 = _ENV
      0014  CALL      R1 = call(R1, 0 args, 2 rets)
      0015  RETURN    return R0..R-1
; ---------- proto9 [UnloadScene] ----------
  ; fn ?  line 155-158 np=3 va=0 ms=6 code=10 consts=3 upvals=1 protos=0
  ;   K[0]='_WrapCallback'
  ;   K[1]='AddressableLoader'
  ;   K[2]='UnloadScene'
  ;   upvals: _ENV
  ;   locals: self(0-10), name(0-10), callback(0-10)
  0000  SELF      R4 = R0[K0('_WrapCallback')] (self)
  0001  MOVE      R5 = R0
  0002  CALL      R3 = call(R3, 1 args, 2 rets)
  0003  MOVE      R2 = R0
  0004  GETTABUP  R3 = _ENV[K1('AddressableLoader')]
  0005  GETTABLE  R3 = R3[K2('UnloadScene')]
  0006  MOVE      R4 = R0
  0007  MOVE      R5 = R0
  0008  CALL      R3 = call(R3, 0 args, 2 rets)
  0009  RETURN    return R0..R-1
; ---------- proto10 [LoadLatestFile] ----------
  ; fn ?  line 165-186 np=4 va=0 ms=12 code=69 consts=18 upvals=1 protos=0
  ;   K[0]='Log'
  ;   K[1]='Error'
  ;   K[2]='ResourceLoader:LoadLatestFile '
  ;   K[3]='callback '
  ;   K[4]=' '
  ;   K[5]='resConfig '
  ;   K[6]='is nil. \n'
  ;   K[7]='debug'
  ;   K[8]='traceback'
  ;   K[9]='_WrapCallback'
  ;   K[10]='fileKey'
  ;   K[11]='GM'
  ;   K[12]='CDNResourceManager'
  ;   K[13]='IsCacheFileExist'
  ;   K[14]='IsFileVersionValid'
  ;   K[15]='LoadCDNFile'
  ;   K[16]='_LoadBundleFile'
  ;   K[17]='assetReference'
  ;   upvals: _ENV
  ;   locals: self(0-69), resConfig(0-69), callback(0-69), allowFail(0-69), fileKey(31-69), data(48-61)
  0000  TEST      if not R2 then   -> -131070
  0001  JMP       (jump)   -> 4
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 26
  0004  GETTABUP  R4 = _ENV[K0('Log')]
  0005  GETTABLE  R4 = R4[K1('Error')]
  0006  LOADK     R5 = K2 'ResourceLoader:LoadLatestFile '
  0007  TEST      if not R2 then   -> -131062
  0008  JMP       (jump)   -> 12
  0009  LOADK     R6 = K3 'callback '
  0010  TEST      if not R6 then   -> -131059
  0011  JMP       (jump)   -> 13
  0012  LOADK     R6 = K4 ' '
  0013  TEST      if not R1 then   -> -131056
  0014  JMP       (jump)   -> 18
  0015  LOADK     R7 = K5 'resConfig '
  0016  TEST      if not R7 then   -> -131053
  0017  JMP       (jump)   -> 19
  0018  LOADK     R7 = K4 ' '
  0019  LOADK     R8 = K6 'is nil. \n'
  0020  GETTABUP  R9 = _ENV[K7('debug')]
  0021  GETTABLE  R9 = R9[K8('traceback')]
  0022  CALL      R9 = call(R9, 1 args, 0 rets)
  0023  CONCAT    R5 = concat(R5..R5)
  0024  CALL      R4 = call(R4, 0 args, 1 rets)
  0025  RETURN    return R0..R-1
  0026  SELF      R5 = R0[K9('_WrapCallback')] (self)
  0027  MOVE      R6 = R0
  0028  CALL      R4 = call(R4, 1 args, 2 rets)
  0029  MOVE      R2 = R0
  0030  GETTABLE  R4 = R1[K10('fileKey')]
  0031  GETTABUP  R5 = _ENV[K11('GM')]
  0032  GETTABLE  R5 = R5[K12('CDNResourceManager')]
  0033  GETTABLE  R5 = R5[K13('IsCacheFileExist')]
  0034  MOVE      R6 = R0
  0035  CALL      R5 = call(R5, 1 args, 1 rets)
  0036  TEST      if not R5 then   -> -131034
  0037  JMP       (jump)   -> 62
  0038  GETTABUP  R5 = _ENV[K11('GM')]
  0039  GETTABLE  R5 = R5[K12('CDNResourceManager')]
  0040  SELF      R6 = R5[K14('IsFileVersionValid')] (self)
  0041  MOVE      R7 = R0
  0042  CALL      R5 = call(R5, 1 args, 2 rets)
  0043  TEST      if not R5 then   -> -131027
  0044  JMP       (jump)   -> 62
  0045  SELF      R6 = R0[K15('LoadCDNFile')] (self)
  0046  MOVE      R7 = R0
  0047  CALL      R5 = call(R5, 1 args, 2 rets)
  0048  TEST      if not R5 then   -> -131021
  0049  JMP       (jump)   -> 57
  0050  SELF      R7 = R0[K16('_LoadBundleFile')] (self)
  0051  MOVE      R8 = R0
  0052  GETTABLE  R9 = R1[K17('assetReference')]
  0053  MOVE      R10 = R0
  0054  MOVE      R11 = R0
  0055  CALL      R6 = call(R6, 0 args, 5 rets)
  0056  JMP       (jump)   -> 68
  0057  MOVE      R6 = R0
  0058  MOVE      R7 = R0
  0059  MOVE      R8 = R0
  0060  CALL      R6 = call(R6, 0 args, 2 rets)
  0061  JMP       (jump)   -> 68
  0062  SELF      R6 = R0[K16('_LoadBundleFile')] (self)
  0063  MOVE      R7 = R0
  0064  GETTABLE  R8 = R1[K17('assetReference')]
  0065  MOVE      R9 = R0
  0066  MOVE      R10 = R0
  0067  CALL      R5 = call(R5, 0 args, 5 rets)
  0068  RETURN    return R0..R-1
; ---------- proto11 [LoadCDNFile] ----------
  ; fn ?  line 190-193 np=2 va=0 ms=6 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='CDNResourceManager'
  ;   K[1]='GetCdnPath'
  ;   K[2]='LoadCDNFileByFullPath'
  ;   upvals: _ENV
  ;   locals: self(0-9), fileKey(0-9), fullPath(4-9)
  0000  GETTABUP  R2 = _ENV[K0('CDNResourceManager')]
  0001  GETTABLE  R2 = R2[K1('GetCdnPath')]
  0002  MOVE      R3 = R0
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  SELF      R4 = R0[K2('LoadCDNFileByFullPath')] (self)
  0005  MOVE      R5 = R0
  0006  TAILCALL  tailcall(R3, 0)
  0007  RETURN    return R3..R2
  0008  RETURN    return R0..R-1
; ---------- proto12 [LoadCDNFileByFullPath] ----------
  ; fn ?  line 195-205 np=2 va=0 ms=6 code=27 consts=10 upvals=1 protos=0
  ;   K[0]='File'
  ;   K[1]='Exists'
  ;   K[2]='_GetFileType'
  ;   K[3]='FileType'
  ;   K[4]='Text'
  ;   K[5]='CDNLoader'
  ;   K[6]='LoadText'
  ;   K[7]='Log'
  ;   K[8]='Warning'
  ;   K[9]='load cache file type not supported. fileKey: '
  ;   upvals: _ENV
  ;   locals: self(0-27), fullPath(0-27), fileType(10-27)
  0000  GETTABUP  R2 = _ENV[K0('File')]
  0001  GETTABLE  R2 = R2[K1('Exists')]
  0002  MOVE      R3 = R0
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131065
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABLE  R2 = R0[K2('_GetFileType')]
  0008  MOVE      R3 = R0
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  GETTABUP  R3 = _ENV[K3('FileType')]
  0011  GETTABLE  R3 = R3[K4('Text')]
  0012  EQ        if R0 eq R3   -> -130031
  0013  JMP       (jump)   -> 20
  0014  GETTABUP  R3 = _ENV[K5('CDNLoader')]
  0015  GETTABLE  R3 = R3[K6('LoadText')]
  0016  MOVE      R4 = R0
  0017  TAILCALL  tailcall(R3, 0)
  0018  RETURN    return R3..R2
  0019  JMP       (jump)   -> 26
  0020  GETTABUP  R3 = _ENV[K7('Log')]
  0021  GETTABLE  R3 = R3[K8('Warning')]
  0022  LOADK     R4 = K9 'load cache file type not supported. fileKey: '
  0023  MOVE      R5 = R0
  0024  CONCAT    R4 = concat(R4..R4)
  0025  CALL      R3 = call(R3, 0 args, 1 rets)
  0026  RETURN    return R0..R-1
; ---------- proto13 [_LoadBundleFile] ----------
  ; fn ?  line 208-267 np=5 va=0 ms=10 code=76 consts=16 upvals=1 protos=3
  ;   K[0]='Log'
  ;   K[1]='Error'
  ;   K[2]='ResourceLoader:LoadBundleFile callback is nil'
  ;   K[3]='_WrapCallback'
  ;   K[4]='ResourceLoader:LoadBundleFile fileKey and assetReference are nil'
  ;   K[5]='_GetFileType'
  ;   K[6]='FileType'
  ;   K[7]='Text'
  ;   K[8]='OnOneLoadStart'
  ;   K[9]='AddressableLoader'
  ;   K[10]='LoadText'
  ;   K[11]='Image'
  ;   K[12]='LoadSprite'
  ;   K[13]='Audio'
  ;   K[14]='LoadAudioClip'
  ;   K[15]='load bundle file type not supported. fileKey: '
  ;   upvals: _ENV
  ;   locals: self(0-76), fileKey(0-76), assetReference(0-76), callback(0-76), allowFail(0-76), fileType(23-76)
  0000  TEST      if not R3 then   -> -131069
  0001  JMP       (jump)   -> 7
  0002  GETTABUP  R5 = _ENV[K0('Log')]
  0003  GETTABLE  R5 = R5[K1('Error')]
  0004  LOADK     R6 = K2 'ResourceLoader:LoadBundleFile callback is nil'
  0005  CALL      R5 = call(R5, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
  0007  SELF      R6 = R0[K3('_WrapCallback')] (self)
  0008  MOVE      R7 = R0
  0009  CALL      R5 = call(R5, 1 args, 2 rets)
  0010  MOVE      R3 = R0
  0011  TEST      if not R1 then   -> -131058
  0012  JMP       (jump)   -> 20
  0013  TEST      if not R2 then   -> -131056
  0014  JMP       (jump)   -> 20
  0015  GETTABUP  R5 = _ENV[K0('Log')]
  0016  GETTABLE  R5 = R5[K1('Error')]
  0017  LOADK     R6 = K4 'ResourceLoader:LoadBundleFile fileKey and assetReference are nil'
  0018  CALL      R5 = call(R5, 0 args, 1 rets)
  0019  RETURN    return R0..R-1
  0020  GETTABLE  R5 = R0[K5('_GetFileType')]
  0021  MOVE      R6 = R0
  0022  CALL      R5 = call(R5, 1 args, 1 rets)
  0023  GETTABUP  R6 = _ENV[K6('FileType')]
  0024  GETTABLE  R6 = R6[K7('Text')]
  0025  EQ        if R0 eq R6   -> -128479
  0026  JMP       (jump)   -> 37
  0027  SELF      R7 = R0[K8('OnOneLoadStart')] (self)
  0028  MOVE      R8 = R0
  0029  CALL      R6 = call(R6, 0 args, 2 rets)
  0030  GETTABUP  R6 = _ENV[K9('AddressableLoader')]
  0031  GETTABLE  R6 = R6[K10('LoadText')]
  0032  MOVE      R7 = R0
  0033  MOVE      R8 = R0
  0034  CLOSURE   R9 = closure proto0
  0035  CALL      R6 = call(R6, 0 args, 3 rets)
  0036  JMP       (jump)   -> 75
  0037  GETTABUP  R6 = _ENV[K6('FileType')]
  0038  GETTABLE  R6 = R6[K11('Image')]
  0039  EQ        if R0 eq R6   -> -128465
  0040  JMP       (jump)   -> 51
  0041  SELF      R7 = R0[K8('OnOneLoadStart')] (self)
  0042  MOVE      R8 = R0
  0043  CALL      R6 = call(R6, 0 args, 2 rets)
  0044  GETTABUP  R6 = _ENV[K9('AddressableLoader')]
  0045  GETTABLE  R6 = R6[K12('LoadSprite')]
  0046  MOVE      R7 = R0
  0047  MOVE      R8 = R0
  0048  CLOSURE   R9 = closure proto1
  0049  CALL      R6 = call(R6, 0 args, 3 rets)
  0050  JMP       (jump)   -> 75
  0051  GETTABUP  R6 = _ENV[K6('FileType')]
  0052  GETTABLE  R6 = R6[K13('Audio')]
  0053  EQ        if R0 eq R6   -> -128451
  0054  JMP       (jump)   -> 65
  0055  SELF      R7 = R0[K8('OnOneLoadStart')] (self)
  0056  MOVE      R8 = R0
  0057  CALL      R6 = call(R6, 0 args, 2 rets)
  0058  GETTABUP  R6 = _ENV[K9('AddressableLoader')]
  0059  GETTABLE  R6 = R6[K14('LoadAudioClip')]
  0060  MOVE      R7 = R0
  0061  MOVE      R8 = R0
  0062  CLOSURE   R9 = closure proto2
  0063  CALL      R6 = call(R6, 0 args, 3 rets)
  0064  JMP       (jump)   -> 75
  0065  GETTABUP  R6 = _ENV[K0('Log')]
  0066  GETTABLE  R6 = R6[K1('Error')]
  0067  LOADK     R7 = K15 'load bundle file type not supported. fileKey: '
  0068  MOVE      R8 = R0
  0069  CONCAT    R7 = concat(R7..R7)
  0070  CALL      R6 = call(R6, 0 args, 1 rets)
  0071  MOVE      R6 = R0
  0072  LOADNIL   R7..R7 = nil
  0073  MOVE      R8 = R0
  0074  CALL      R6 = call(R6, 0 args, 2 rets)
  0075  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 223-232 np=1 va=0 ms=4 code=16 consts=3 upvals=4 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='OnOneLoadFinish'
    ;   upvals: _ENV, callback, fileKey, self
    ;   locals: o(0-16)
    0000  GETTABUP  R1 = _ENV[K0('GM')]
    0001  EQ        if R0 eq K1(nil)   -> -130300
    0002  JMP       (jump)   -> 4
    0003  RETURN    return R0..R-1
    0004  GETUPVAL  R1 = _ENV
    0005  TEST      if not R1 then   -> -131065
    0006  JMP       (jump)   -> 11
    0007  GETUPVAL  R1 = _ENV
    0008  MOVE      R2 = R0
    0009  GETUPVAL  R3 = _ENV
    0010  CALL      R1 = call(R1, 0 args, 2 rets)
    0011  GETUPVAL  R1 = _ENV
    0012  SELF      R2 = R1[K2('OnOneLoadFinish')] (self)
    0013  GETUPVAL  R3 = _ENV
    0014  CALL      R1 = call(R1, 0 args, 2 rets)
    0015  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 235-248 np=1 va=0 ms=6 code=35 consts=9 upvals=5 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='IsNull'
    ;   K[3]='BIManager'
    ;   K[4]='LogErrorInfo'
    ;   K[5]='EBIType'
    ;   K[6]='LoadSpriteError'
    ;   K[7]=' response error'
    ;   K[8]='OnOneLoadFinish'
    ;   upvals: _ENV, callback, fileKey, allowFail, self
    ;   locals: o(0-35)
    0000  GETTABUP  R1 = _ENV[K0('GM')]
    0001  EQ        if R0 eq K1(nil)   -> -130300
    0002  JMP       (jump)   -> 4
    0003  RETURN    return R0..R-1
    0004  TEST      if not R0 then   -> -131066
    0005  JMP       (jump)   -> 18
    0006  SELF      R2 = R0[K2('IsNull')] (self)
    0007  CALL      R1 = call(R1, 1 args, 1 rets)
    0008  TEST      if not R1 then   -> -131061
    0009  JMP       (jump)   -> 18
    0010  GETUPVAL  R1 = _ENV
    0011  TEST      if not R1 then   -> -131059
    0012  JMP       (jump)   -> 30
    0013  GETUPVAL  R1 = _ENV
    0014  MOVE      R2 = R0
    0015  GETUPVAL  R3 = _ENV
    0016  CALL      R1 = call(R1, 0 args, 2 rets)
    0017  JMP       (jump)   -> 30
    0018  GETUPVAL  R1 = _ENV
    0019  TEST      if not R1 then   -> -131050
    0020  JMP       (jump)   -> 30
    0021  GETTABUP  R1 = _ENV[K0('GM')]
    0022  GETTABLE  R1 = R1[K3('BIManager')]
    0023  SELF      R2 = R1[K4('LogErrorInfo')] (self)
    0024  GETTABUP  R3 = _ENV[K5('EBIType')]
    0025  GETTABLE  R3 = R3[K6('LoadSpriteError')]
    0026  GETUPVAL  R4 = _ENV
    0027  LOADK     R5 = K7 ' response error'
    0028  CONCAT    R4 = concat(R4..R4)
    0029  CALL      R1 = call(R1, 0 args, 3 rets)
    0030  GETUPVAL  R1 = _ENV
    0031  SELF      R2 = R1[K8('OnOneLoadFinish')] (self)
    0032  GETUPVAL  R3 = _ENV
    0033  CALL      R1 = call(R1, 0 args, 2 rets)
    0034  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 251-262 np=1 va=0 ms=4 code=22 consts=4 upvals=4 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='IsNull'
    ;   K[3]='OnOneLoadFinish'
    ;   upvals: _ENV, callback, fileKey, self
    ;   locals: o(0-22)
    0000  GETTABUP  R1 = _ENV[K0('GM')]
    0001  EQ        if R0 eq K1(nil)   -> -130300
    0002  JMP       (jump)   -> 4
    0003  RETURN    return R0..R-1
    0004  TEST      if not R0 then   -> -131066
    0005  JMP       (jump)   -> 17
    0006  SELF      R2 = R0[K2('IsNull')] (self)
    0007  CALL      R1 = call(R1, 1 args, 1 rets)
    0008  TEST      if not R1 then   -> -131061
    0009  JMP       (jump)   -> 17
    0010  GETUPVAL  R1 = _ENV
    0011  TEST      if not R1 then   -> -131059
    0012  JMP       (jump)   -> 17
    0013  GETUPVAL  R1 = _ENV
    0014  MOVE      R2 = R0
    0015  GETUPVAL  R3 = _ENV
    0016  CALL      R1 = call(R1, 0 args, 2 rets)
    0017  GETUPVAL  R1 = _ENV
    0018  SELF      R2 = R1[K3('OnOneLoadFinish')] (self)
    0019  GETUPVAL  R3 = _ENV
    0020  CALL      R1 = call(R1, 0 args, 2 rets)
    0021  RETURN    return R0..R-1
; ---------- proto14 [_GetFileType] ----------
  ; fn ?  line 273-283 np=1 va=0 ms=4 code=37 consts=16 upvals=1 protos=0
  ;   K[0]='string'
  ;   K[1]='lower'
  ;   K[2]='PathHelper'
  ;   K[3]='GetExtension'
  ;   K[4]='.json'
  ;   K[5]='.txt'
  ;   K[6]='.bytes'
  ;   K[7]='FileType'
  ;   K[8]='Text'
  ;   K[9]='.jpg'
  ;   K[10]='.png'
  ;   K[11]='Image'
  ;   K[12]='.ogg'
  ;   K[13]='.mp3'
  ;   K[14]='.wav'
  ;   K[15]='Audio'
  ;   upvals: _ENV
  ;   locals: filePath(0-37), fileExtension(7-37)
  0000  GETTABUP  R1 = _ENV[K0('string')]
  0001  GETTABLE  R1 = R1[K1('lower')]
  0002  GETTABUP  R2 = _ENV[K2('PathHelper')]
  0003  GETTABLE  R2 = R2[K3('GetExtension')]
  0004  MOVE      R3 = R0
  0005  CALL      R2 = call(R2, -1 args, 1 rets)
  0006  CALL      R1 = call(R1, 1 args, -1 rets)
  0007  EQ        if R1 eq K4('.json')   -> -130291
  0008  JMP       (jump)   -> 13
  0009  EQ        if R1 eq K5('.txt')   -> -130288
  0010  JMP       (jump)   -> 13
  0011  EQ        if R0 eq K6('.bytes')   -> -130285
  0012  JMP       (jump)   -> 17
  0013  GETTABUP  R2 = _ENV[K7('FileType')]
  0014  GETTABLE  R2 = R2[K8('Text')]
  0015  RETURN    return R2..R1
  0016  JMP       (jump)   -> 34
  0017  EQ        if R1 eq K9('.jpg')   -> -130276
  0018  JMP       (jump)   -> 21
  0019  EQ        if R0 eq K10('.png')   -> -130273
  0020  JMP       (jump)   -> 25
  0021  GETTABUP  R2 = _ENV[K7('FileType')]
  0022  GETTABLE  R2 = R2[K11('Image')]
  0023  RETURN    return R2..R1
  0024  JMP       (jump)   -> 34
  0025  EQ        if R1 eq K12('.ogg')   -> -130265
  0026  JMP       (jump)   -> 31
  0027  EQ        if R1 eq K13('.mp3')   -> -130262
  0028  JMP       (jump)   -> 31
  0029  EQ        if R0 eq K14('.wav')   -> -130259
  0030  JMP       (jump)   -> 34
  0031  GETTABUP  R2 = _ENV[K7('FileType')]
  0032  GETTABLE  R2 = R2[K15('Audio')]
  0033  RETURN    return R2..R1
  0034  LOADNIL   R2..R2 = nil
  0035  RETURN    return R2..R1
  0036  RETURN    return R0..R-1
; ---------- proto15 [_LogLoadResource] ----------
  ; fn ?  line 287-294 np=2 va=0 ms=7 code=20 consts=8 upvals=1 protos=0
  ;   K[0]='m_bLogLoadRequest'
  ;   K[1]='nil'
  ;   K[2]='CSFirebaseManager'
  ;   K[3]='CrashlyticsLog'
  ;   K[4]='Load res '
  ;   K[5]='Log'
  ;   K[6]='Warning'
  ;   K[7]='Should not load res when scene loading '
  ;   upvals: _ENV
  ;   locals: self(0-20), fileKey(0-20), logResName(7-20)
  0000  GETTABLE  R2 = R0[K0('m_bLogLoadRequest')]
  0001  TEST      if not R2 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  TESTSET   if R1 then R2   -> -130553
  0005  JMP       (jump)   -> 7
  0006  LOADK     R2 = K1 'nil'
  0007  GETTABUP  R3 = _ENV[K2('CSFirebaseManager')]
  0008  SELF      R4 = R3[K3('CrashlyticsLog')] (self)
  0009  LOADK     R5 = K4 'Load res '
  0010  MOVE      R6 = R0
  0011  CONCAT    R5 = concat(R5..R5)
  0012  CALL      R3 = call(R3, 0 args, 2 rets)
  0013  GETTABUP  R3 = _ENV[K5('Log')]
  0014  GETTABLE  R3 = R3[K6('Warning')]
  0015  LOADK     R4 = K7 'Should not load res when scene loading '
  0016  MOVE      R5 = R0
  0017  CONCAT    R4 = concat(R4..R4)
  0018  CALL      R3 = call(R3, 0 args, 1 rets)
  0019  RETURN    return R0..R-1
; ---------- proto16 [_WrapCallback] ----------
  ; fn ?  line 296-305 np=2 va=0 ms=3 code=3 consts=0 upvals=1 protos=1
  ;   upvals: _ENV
  ;   locals: self(0-3), callback(0-3)
  0000  CLOSURE   R2 = closure proto0
  0001  RETURN    return R2..R1
  0002  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 297-304 np=0 va=1 ms=2 code=15 consts=2 upvals=2 protos=0
    ;   K[0]='GM'
    ;   K[1]='destroying'
    ;   upvals: _ENV, callback
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  TEST      if not R0 then   -> -131069
    0002  JMP       (jump)   -> 7
    0003  GETTABUP  R0 = _ENV[K0('GM')]
    0004  GETTABLE  R0 = R0[K1('destroying')]
    0005  TEST      if not R0 then   -> -131065
    0006  JMP       (jump)   -> 8
    0007  RETURN    return R0..R-1
    0008  GETUPVAL  R0 = _ENV
    0009  TEST      if not R0 then   -> -131061
    0010  JMP       (jump)   -> 14
    0011  GETUPVAL  R0 = _ENV
    0012  VARARG    R1 = vararg(0)
    0013  CALL      R0 = call(R0, 0 args, -1 rets)
    0014  RETURN    return R0..R-1
; ---------- proto17 [ClearUnusedAssets] ----------
  ; fn ?  line 307-314 np=1 va=0 ms=4 code=11 consts=4 upvals=1 protos=1
  ;   K[0]='GameObjectPool'
  ;   K[1]='Clear'
  ;   K[2]='DelayExecuteFunc'
  ;   K[3]=0.02
  ;   upvals: _ENV
  ;   locals: bUnloadUnusedAssets(0-11)
  0000  TEST      if not R0 then   -> -131069
  0001  JMP       (jump)   -> 3
  0002  LOADBOOL  R0 = false
  0003  GETTABUP  R1 = _ENV[K0('GameObjectPool')]
  0004  SELF      R2 = R1[K1('Clear')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  GETTABUP  R1 = _ENV[K2('DelayExecuteFunc')]
  0007  CLOSURE   R2 = closure proto0
  0008  LOADK     R3 = K3 0.02
  0009  CALL      R1 = call(R1, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 311-313 np=0 va=0 ms=2 code=5 consts=2 upvals=2 protos=0
    ;   K[0]='AddressableLoader'
    ;   K[1]='ClearUnusedAssets'
    ;   upvals: _ENV, bUnloadUnusedAssets
    0000  GETTABUP  R0 = _ENV[K0('AddressableLoader')]
    0001  GETTABLE  R0 = R0[K1('ClearUnusedAssets')]
    0002  GETUPVAL  R1 = _ENV
    0003  CALL      R0 = call(R0, 0 args, 1 rets)
    0004  RETURN    return R0..R-1
