# Model_Bundle_BundleChainServerConfigData_113.luac
; fn @BundleChainServerConfigData.lua  line 0-0 np=0 va=1 ms=3 code=50 consts=21 upvals=1 protos=10
;   K[0]='BundleChainServerConfigData'
;   K[1]='setmetatable'
;   K[2]='BundleServerConfigData'
;   K[3]='__index'
;   K[4]='Create'
;   K[5]='BundleChainServerConfigData'
;   K[6]='GetStep'
;   K[7]='GetSkin'
;   K[8]='IsCircle'
;   K[9]='IsFree'
;   K[10]='BundleChainServerConfigDataGroup'
;   K[11]='setmetatable'
;   K[12]='GiftContentKey'
;   K[13]='bundleContentChain'
;   K[14]='ConfigDataClass'
;   K[15]='BundleServerConfigDataGroup'
;   K[16]='BundleChainServerConfigDataGroup'
;   K[17]='Init'
;   K[18]='_InitConfigDatas'
;   K[19]='GetConfigDataByIndex'
;   K[20]='GetCircleBundleIds'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('BundleServerConfigData')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('BundleChainServerConfigData')] = R0
0005  GETTABUP  R0 = _ENV[K0('BundleChainServerConfigData')]
0006  GETTABUP  R1 = _ENV[K0('BundleChainServerConfigData')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('BundleChainServerConfigData')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('Create')] = R1
0011  GETTABUP  R0 = _ENV[K5('BundleChainServerConfigData')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K6('GetStep')] = R1
0014  GETTABUP  R0 = _ENV[K5('BundleChainServerConfigData')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K7('GetSkin')] = R1
0017  GETTABUP  R0 = _ENV[K5('BundleChainServerConfigData')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K8('IsCircle')] = R1
0020  GETTABUP  R0 = _ENV[K5('BundleChainServerConfigData')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K9('IsFree')] = R1
0023  GETTABUP  R0 = _ENV[K11('setmetatable')]
0024  NEWTABLE  R1 = {} (0 items)
0025  SETTABLE  R1[K12('GiftContentKey')] = K13('bundleContentChain')
0026  GETTABUP  R2 = _ENV[K5('BundleChainServerConfigData')]
0027  SETTABLE  R1[K14('ConfigDataClass')] = R2
0028  GETTABUP  R2 = _ENV[K15('BundleServerConfigDataGroup')]
0029  CALL      R0 = call(R0, 1 args, 2 rets)
0030  SETTABUP  _ENV[K10('BundleChainServerConfigDataGroup')] = R0
0031  GETTABUP  R0 = _ENV[K10('BundleChainServerConfigDataGroup')]
0032  GETTABUP  R1 = _ENV[K10('BundleChainServerConfigDataGroup')]
0033  SETTABLE  R0[K3('__index')] = R1
0034  GETTABUP  R0 = _ENV[K10('BundleChainServerConfigDataGroup')]
0035  CLOSURE   R1 = closure proto5
0036  SETTABLE  R0[K4('Create')] = R1
0037  GETTABUP  R0 = _ENV[K16('BundleChainServerConfigDataGroup')]
0038  CLOSURE   R1 = closure proto6
0039  SETTABLE  R0[K17('Init')] = R1
0040  GETTABUP  R0 = _ENV[K16('BundleChainServerConfigDataGroup')]
0041  CLOSURE   R1 = closure proto7
0042  SETTABLE  R0[K18('_InitConfigDatas')] = R1
0043  GETTABUP  R0 = _ENV[K16('BundleChainServerConfigDataGroup')]
0044  CLOSURE   R1 = closure proto8
0045  SETTABLE  R0[K19('GetConfigDataByIndex')] = R1
0046  GETTABUP  R0 = _ENV[K16('BundleChainServerConfigDataGroup')]
0047  CLOSURE   R1 = closure proto9
0048  SETTABLE  R0[K20('GetCircleBundleIds')] = R1
0049  RETURN    return R0..R-1
; ---------- proto0 [Create] ----------
  ; fn ?  line 8-12 np=2 va=0 ms=6 code=12 consts=5 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='Table'
  ;   K[2]='ShallowCopy'
  ;   K[3]='BundleChainServerConfigData'
  ;   K[4]='Init'
  ;   upvals: _ENV
  ;   locals: configData(0-12), groupData(0-12), data(7-12)
  0000  GETTABUP  R2 = _ENV[K0('setmetatable')]
  0001  GETTABUP  R3 = _ENV[K1('Table')]
  0002  GETTABLE  R3 = R3[K2('ShallowCopy')]
  0003  MOVE      R4 = R0
  0004  CALL      R3 = call(R3, 1 args, 1 rets)
  0005  GETTABUP  R4 = _ENV[K3('BundleChainServerConfigData')]
  0006  CALL      R2 = call(R2, 1 args, 2 rets)
  0007  SELF      R4 = R2[K4('Init')] (self)
  0008  MOVE      R5 = R0
  0009  CALL      R3 = call(R3, 0 args, 2 rets)
  0010  RETURN    return R2..R1
  0011  RETURN    return R0..R-1
; ---------- proto1 [GetStep] ----------
  ; fn ?  line 14-16 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='step'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('step')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto2 [GetSkin] ----------
  ; fn ?  line 18-20 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='skin'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('skin')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto3 [IsCircle] ----------
  ; fn ?  line 23-25 np=1 va=0 ms=2 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='circle'
  ;   K[1]=1
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('circle')]
  0001  EQ        if R1 eq K1(1)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  LOADBOOL  R1 = false
  0004  LOADBOOL  R1 = true
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto4 [IsFree] ----------
  ; fn ?  line 27-29 np=1 va=0 ms=3 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='GetPurchaseId'
  ;   K[1]=nil
  ;   locals: self(0-8)
  0000  SELF      R2 = R0[K0('GetPurchaseId')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  EQ        if R1 eq K1(nil)   -> -130299
  0003  JMP       (jump)   -> 5
  0004  LOADBOOL  R1 = false
  0005  LOADBOOL  R1 = true
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto5 [Create] ----------
  ; fn ?  line 39-43 np=1 va=0 ms=5 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='BundleChainServerConfigDataGroup'
  ;   K[2]='Init'
  ;   upvals: _ENV
  ;   locals: groupData(0-9), data(4-9)
  0000  GETTABUP  R1 = _ENV[K0('setmetatable')]
  0001  NEWTABLE  R2 = {} (0 items)
  0002  GETTABUP  R3 = _ENV[K1('BundleChainServerConfigDataGroup')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  SELF      R3 = R1[K2('Init')] (self)
  0005  MOVE      R4 = R0
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto6 [Init] ----------
  ; fn ?  line 45-50 np=2 va=0 ms=5 code=17 consts=9 upvals=1 protos=0
  ;   K[0]='BundleServerConfigDataGroup'
  ;   K[1]='Init'
  ;   K[2]='rTime'
  ;   K[3]=nil
  ;   K[4]='Log'
  ;   K[5]='Error'
  ;   K[6]='tostring'
  ;   K[7]='groupId'
  ;   K[8]=' 礼包未配置 rTime!'
  ;   upvals: _ENV
  ;   locals: self(0-17), groupData(0-17)
  0000  GETTABUP  R2 = _ENV[K0('BundleServerConfigDataGroup')]
  0001  GETTABLE  R2 = R2[K1('Init')]
  0002  MOVE      R3 = R0
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 0 args, 2 rets)
  0005  GETTABLE  R2 = R1[K2('rTime')]
  0006  EQ        if R0 eq K3(nil)   -> -129781
  0007  JMP       (jump)   -> 16
  0008  GETTABUP  R2 = _ENV[K4('Log')]
  0009  GETTABLE  R2 = R2[K5('Error')]
  0010  GETTABUP  R3 = _ENV[K6('tostring')]
  0011  GETTABLE  R4 = R0[K7('groupId')]
  0012  CALL      R3 = call(R3, 1 args, 1 rets)
  0013  LOADK     R4 = K8 ' 礼包未配置 rTime!'
  0014  CONCAT    R3 = concat(R3..R3)
  0015  CALL      R2 = call(R2, 0 args, 1 rets)
  0016  RETURN    return R0..R-1
; ---------- proto7 [_InitConfigDatas] ----------
  ; fn ?  line 52-77 np=2 va=0 ms=13 code=54 consts=12 upvals=1 protos=1
  ;   K[0]='m_mapConfigData'
  ;   K[1]='m_arrBundleIds'
  ;   K[2]='GiftContentKey'
  ;   K[3]='ipairs'
  ;   K[4]='ConfigDataClass'
  ;   K[5]='Create'
  ;   K[6]='GetBundleId'
  ;   K[7]='table'
  ;   K[8]='insert'
  ;   K[9]='sort'
  ;   K[10]='m_arrCircleIds'
  ;   K[11]='IsCircle'
  ;   upvals: _ENV
  ;   locals: self(0-54), groupData(0-54), arrConfigData(6-54), configData(7-54), (for generator)(10-29), (for state)(10-29), (for control)(10-29), _(11-27), data(11-27), (for generator)(39-53), (for state)(39-53), (for control)(39-53), _(40-51), bundleId(40-51)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  SETTABLE  R0[K0('m_mapConfigData')] = R2
  0002  NEWTABLE  R2 = {} (0 items)
  0003  SETTABLE  R0[K1('m_arrBundleIds')] = R2
  0004  GETTABLE  R2 = R0[K2('GiftContentKey')]
  0005  GETTABLE  R2 = R1[R2]
  0006  LOADNIL   R3..R3 = nil
  0007  GETTABUP  R4 = _ENV[K3('ipairs')]
  0008  MOVE      R5 = R0
  0009  CALL      R4 = call(R4, 3 args, 1 rets)
  0010  JMP       (jump)   -> 27
  0011  GETTABLE  R9 = R0[K4('ConfigDataClass')]
  0012  GETTABLE  R9 = R9[K5('Create')]
  0013  MOVE      R10 = R0
  0014  MOVE      R11 = R0
  0015  CALL      R9 = call(R9, 1 args, 2 rets)
  0016  MOVE      R3 = R0
  0017  GETTABLE  R9 = R0[K0('m_mapConfigData')]
  0018  SELF      R11 = R3[K6('GetBundleId')] (self)
  0019  CALL      R10 = call(R10, 1 args, 1 rets)
  0020  SETTABLE  R9[R10] = R3
  0021  GETTABUP  R9 = _ENV[K7('table')]
  0022  GETTABLE  R9 = R9[K8('insert')]
  0023  GETTABLE  R10 = R0[K1('m_arrBundleIds')]
  0024  SELF      R12 = R3[K6('GetBundleId')] (self)
  0025  CALL      R11 = call(R11, -1 args, 1 rets)
  0026  CALL      R9 = call(R9, 0 args, -1 rets)
  0027  TFORCALL  tforcall R4
  0028  TFORLOOP  tforloop R6(sBx=-18)   -> 11
  0029  GETTABUP  R4 = _ENV[K7('table')]
  0030  GETTABLE  R4 = R4[K9('sort')]
  0031  GETTABLE  R5 = R0[K1('m_arrBundleIds')]
  0032  CLOSURE   R6 = closure proto0
  0033  CALL      R4 = call(R4, 0 args, 2 rets)
  0034  NEWTABLE  R4 = {} (0 items)
  0035  SETTABLE  R0[K10('m_arrCircleIds')] = R4
  0036  GETTABUP  R4 = _ENV[K3('ipairs')]
  0037  GETTABLE  R5 = R0[K1('m_arrBundleIds')]
  0038  CALL      R4 = call(R4, 3 args, 1 rets)
  0039  JMP       (jump)   -> 51
  0040  GETTABLE  R9 = R0[K0('m_mapConfigData')]
  0041  GETTABLE  R9 = R9[R8]
  0042  SELF      R10 = R9[K11('IsCircle')] (self)
  0043  CALL      R9 = call(R9, 1 args, 1 rets)
  0044  TEST      if not R9 then   -> -131026
  0045  JMP       (jump)   -> 51
  0046  GETTABUP  R9 = _ENV[K7('table')]
  0047  GETTABLE  R9 = R9[K8('insert')]
  0048  GETTABLE  R10 = R0[K10('m_arrCircleIds')]
  0049  MOVE      R11 = R0
  0050  CALL      R9 = call(R9, 0 args, 2 rets)
  0051  TFORCALL  tforcall R4
  0052  TFORLOOP  tforloop R6(sBx=-13)   -> 40
  0053  RETURN    return R0..R-1
  ; ---------- proto0 [m_arrCircleIds] ----------
    ; fn ?  line 64-68 np=2 va=0 ms=5 code=14 consts=2 upvals=1 protos=0
    ;   K[0]='m_mapConfigData'
    ;   K[1]='GetStep'
    ;   upvals: self
    ;   locals: a(0-14), b(0-14), stepA(4-14), stepB(8-14)
    0000  GETTABUP  R2 = self[K0('m_mapConfigData')]
    0001  GETTABLE  R2 = R2[R0]
    0002  SELF      R3 = R2[K1('GetStep')] (self)
    0003  CALL      R2 = call(R2, 1 args, 1 rets)
    0004  GETTABUP  R3 = self[K0('m_mapConfigData')]
    0005  GETTABLE  R3 = R3[R1]
    0006  SELF      R4 = R3[K1('GetStep')] (self)
    0007  CALL      R3 = call(R3, 1 args, 1 rets)
    0008  LT        if R1 lt R3   -> -130035
    0009  JMP       (jump)   -> 11
    0010  LOADBOOL  R4 = false
    0011  LOADBOOL  R4 = true
    0012  RETURN    return R4..R3
    0013  RETURN    return R0..R-1
; ---------- proto8 [GetConfigDataByIndex] ----------
  ; fn ?  line 79-96 np=2 va=0 ms=6 code=36 consts=5 upvals=0 protos=0
  ;   K[0]=nil
  ;   K[1]='m_arrBundleIds'
  ;   K[2]='GetConfigData'
  ;   K[3]='m_arrCircleIds'
  ;   K[4]=0
  ;   locals: self(0-36), index(0-36), curIndex(24-36)
  0000  EQ        if R0 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 3
  0002  RETURN    return R0..R-1
  0003  GETTABLE  R2 = R0[K1('m_arrBundleIds')]
  0004  LEN       R2 = len R0
  0005  LE        if R0 le R2   -> -130551
  0006  JMP       (jump)   -> 12
  0007  SELF      R3 = R0[K2('GetConfigData')] (self)
  0008  GETTABLE  R4 = R0[K1('m_arrBundleIds')]
  0009  GETTABLE  R4 = R4[R1]
  0010  TAILCALL  tailcall(R2, 0)
  0011  RETURN    return R2..R1
  0012  GETTABLE  R2 = R0[K3('m_arrCircleIds')]
  0013  LEN       R2 = len R0
  0014  EQ        if R0 eq K4(0)   -> -129772
  0015  JMP       (jump)   -> 18
  0016  LOADNIL   R2..R2 = nil
  0017  RETURN    return R2..R1
  0018  GETTABLE  R2 = R0[K1('m_arrBundleIds')]
  0019  LEN       R2 = len R0
  0020  SUB       R2 = R2 sub R1
  0021  GETTABLE  R3 = R0[K3('m_arrCircleIds')]
  0022  LEN       R3 = len R0
  0023  MOD       R2 = R3 mod R2
  0024  EQ        if R0 eq K4(0)   -> -129762
  0025  JMP       (jump)   -> 30
  0026  GETTABLE  R3 = R0[K3('m_arrCircleIds')]
  0027  LEN       R3 = len R0
  0028  TESTSET   if R1 then R2   -> -129505
  0029  JMP       (jump)   -> 30
  0030  SELF      R4 = R0[K2('GetConfigData')] (self)
  0031  GETTABLE  R5 = R0[K3('m_arrCircleIds')]
  0032  GETTABLE  R5 = R5[R2]
  0033  TAILCALL  tailcall(R3, 0)
  0034  RETURN    return R3..R2
  0035  RETURN    return R0..R-1
; ---------- proto9 [GetCircleBundleIds] ----------
  ; fn ?  line 98-100 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_arrCircleIds'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_arrCircleIds')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
