# Model_Notification_NotificationModel_177.luac
; fn @NotificationModel.lua  line 0-0 np=0 va=1 ms=4 code=85 consts=39 upvals=1 protos=18
;   K[0]=0
;   K[1]='NotificationType'
;   K[2]='ComeBack'
;   K[3]='EnergyFull'
;   K[4]='ItemSpreadRecovery'
;   K[5]='MinPriority'
;   K[6]='MaxPriority'
;   K[7]=1
;   K[8]='NotificationScene'
;   K[9]='EnergyRefill'
;   K[10]='ItemCooldown'
;   K[11]='ENotiSceneDescKey'
;   K[12]='EnergyEmpty'
;   K[13]='notification_desc_energy'
;   K[14]='ItemCoolDown'
;   K[15]='notification_desc_item_cooldown'
;   K[16]='NotificationModel'
;   K[17]='__index'
;   K[18]='MaxNumberPerInterval'
;   K[19]=4
;   K[20]='Init'
;   K[21]='LoadServerConfig'
;   K[22]='LoadFileConfig'
;   K[23]='_UpdateAuthRequestTimesInfo'
;   K[24]='LateInit'
;   K[25]='NotificationModel'
;   K[26]='RegisterAll'
;   K[27]='UnregisterAll'
;   K[28]='_GenerateList'
;   K[29]='_CalculateLocalTime'
;   K[30]='_SplitListByInterval'
;   K[31]='_FilterList'
;   K[32]='_Schedule'
;   K[33]='RequestAuthorization'
;   K[34]='NotificationModel'
;   K[35]='TryOpenNotification'
;   K[36]='IsSystemNotiRequsted'
;   K[37]='TryOpenNotificationWindow'
;   K[38]='GetTextTileAndDesc'
;   upvals: _ENV
;   locals: nStart(1-85), autoIncrease(2-85)
0000  LOADK     R0 = K0 0
0001  CLOSURE   R1 = closure proto0
0002  NEWTABLE  R2 = {} (0 items)
0003  MOVE      R3 = R0
0004  CALL      R3 = call(R3, 1 args, 0 rets)
0005  SETTABLE  R2[K2('ComeBack')] = R3
0006  MOVE      R3 = R0
0007  CALL      R3 = call(R3, 1 args, 0 rets)
0008  SETTABLE  R2[K3('EnergyFull')] = R3
0009  MOVE      R3 = R0
0010  CALL      R3 = call(R3, 1 args, 0 rets)
0011  SETTABLE  R2[K4('ItemSpreadRecovery')] = R3
0012  SETTABUP  _ENV[K1('NotificationType')] = R2
0013  GETTABUP  R2 = _ENV[K1('NotificationType')]
0014  SETTABLE  R2[K5('MinPriority')] = R0
0015  GETTABUP  R2 = _ENV[K1('NotificationType')]
0016  SETTABLE  R2[K6('MaxPriority')] = K7(1)
0017  NEWTABLE  R2 = {} (0 items)
0018  SETTABLE  R2[K9('EnergyRefill')] = K9('EnergyRefill')
0019  SETTABLE  R2[K10('ItemCooldown')] = K10('ItemCooldown')
0020  SETTABLE  R2[K2('ComeBack')] = K2('ComeBack')
0021  SETTABUP  _ENV[K8('NotificationScene')] = R2
0022  NEWTABLE  R2 = {} (0 items)
0023  SETTABLE  R2[K12('EnergyEmpty')] = K13('notification_desc_energy')
0024  SETTABLE  R2[K14('ItemCoolDown')] = K15('notification_desc_item_cooldown')
0025  SETTABUP  _ENV[K11('ENotiSceneDescKey')] = R2
0026  NEWTABLE  R2 = {} (0 items)
0027  SETTABUP  _ENV[K16('NotificationModel')] = R2
0028  GETTABUP  R2 = _ENV[K16('NotificationModel')]
0029  GETTABUP  R3 = _ENV[K16('NotificationModel')]
0030  SETTABLE  R2[K17('__index')] = R3
0031  GETTABUP  R2 = _ENV[K16('NotificationModel')]
0032  SETTABLE  R2[K18('MaxNumberPerInterval')] = K19(4)
0033  GETTABUP  R2 = _ENV[K16('NotificationModel')]
0034  CLOSURE   R3 = closure proto1
0035  SETTABLE  R2[K20('Init')] = R3
0036  GETTABUP  R2 = _ENV[K16('NotificationModel')]
0037  CLOSURE   R3 = closure proto2
0038  SETTABLE  R2[K21('LoadServerConfig')] = R3
0039  GETTABUP  R2 = _ENV[K16('NotificationModel')]
0040  CLOSURE   R3 = closure proto3
0041  SETTABLE  R2[K22('LoadFileConfig')] = R3
0042  GETTABUP  R2 = _ENV[K16('NotificationModel')]
0043  CLOSURE   R3 = closure proto4
0044  SETTABLE  R2[K23('_UpdateAuthRequestTimesInfo')] = R3
0045  GETTABUP  R2 = _ENV[K16('NotificationModel')]
0046  CLOSURE   R3 = closure proto5
0047  SETTABLE  R2[K24('LateInit')] = R3
0048  GETTABUP  R2 = _ENV[K25('NotificationModel')]
0049  CLOSURE   R3 = closure proto6
0050  SETTABLE  R2[K26('RegisterAll')] = R3
0051  GETTABUP  R2 = _ENV[K25('NotificationModel')]
0052  CLOSURE   R3 = closure proto7
0053  SETTABLE  R2[K27('UnregisterAll')] = R3
0054  GETTABUP  R2 = _ENV[K25('NotificationModel')]
0055  CLOSURE   R3 = closure proto8
0056  SETTABLE  R2[K28('_GenerateList')] = R3
0057  GETTABUP  R2 = _ENV[K25('NotificationModel')]
0058  CLOSURE   R3 = closure proto9
0059  SETTABLE  R2[K29('_CalculateLocalTime')] = R3
0060  GETTABUP  R2 = _ENV[K25('NotificationModel')]
0061  CLOSURE   R3 = closure proto10
0062  SETTABLE  R2[K30('_SplitListByInterval')] = R3
0063  GETTABUP  R2 = _ENV[K25('NotificationModel')]
0064  CLOSURE   R3 = closure proto11
0065  SETTABLE  R2[K31('_FilterList')] = R3
0066  GETTABUP  R2 = _ENV[K25('NotificationModel')]
0067  CLOSURE   R3 = closure proto12
0068  SETTABLE  R2[K32('_Schedule')] = R3
0069  GETTABUP  R2 = _ENV[K25('NotificationModel')]
0070  CLOSURE   R3 = closure proto13
0071  SETTABLE  R2[K33('RequestAuthorization')] = R3
0072  GETTABUP  R2 = _ENV[K34('NotificationModel')]
0073  CLOSURE   R3 = closure proto14
0074  SETTABLE  R2[K35('TryOpenNotification')] = R3
0075  GETTABUP  R2 = _ENV[K34('NotificationModel')]
0076  CLOSURE   R3 = closure proto15
0077  SETTABLE  R2[K36('IsSystemNotiRequsted')] = R3
0078  GETTABUP  R2 = _ENV[K34('NotificationModel')]
0079  CLOSURE   R3 = closure proto16
0080  SETTABLE  R2[K37('TryOpenNotificationWindow')] = R3
0081  GETTABUP  R2 = _ENV[K34('NotificationModel')]
0082  CLOSURE   R3 = closure proto17
0083  SETTABLE  R2[K38('GetTextTileAndDesc')] = R3
0084  RETURN    return R0..R-1
; ---------- proto0 [ComeBack] ----------
  ; fn ?  line 3-6 np=0 va=0 ms=2 code=6 consts=1 upvals=1 protos=0
  ;   K[0]=1
  ;   upvals: nStart
  0000  GETUPVAL  R0 = nStart
  0001  ADD       R0 = K0(1) add R0
  0002  SETUPVAL  nStart = R0
  0003  GETUPVAL  R0 = nStart
  0004  RETURN    return R0..R-1
  0005  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 39-41 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='UnregisterAll'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('UnregisterAll')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto2 [LoadServerConfig] ----------
  ; fn ?  line 44-48 np=1 va=0 ms=4 code=10 consts=7 upvals=1 protos=0
  ;   K[0]='m_config'
  ;   K[1]='GM'
  ;   K[2]='ConfigModel'
  ;   K[3]='GetServerConfig'
  ;   K[4]='ServerConfigKey'
  ;   K[5]='Notify'
  ;   K[6]='_UpdateAuthRequestTimesInfo'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  GETTABUP  R1 = _ENV[K1('GM')]
  0001  GETTABLE  R1 = R1[K2('ConfigModel')]
  0002  SELF      R2 = R1[K3('GetServerConfig')] (self)
  0003  GETTABUP  R3 = _ENV[K4('ServerConfigKey')]
  0004  GETTABLE  R3 = R3[K5('Notify')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  SETTABLE  R0[K0('m_config')] = R1
  0007  SELF      R2 = R0[K6('_UpdateAuthRequestTimesInfo')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  RETURN    return R0..R-1
; ---------- proto3 [LoadFileConfig] ----------
  ; fn ?  line 50-62 np=1 va=0 ms=4 code=8 consts=6 upvals=1 protos=0
  ;   K[0]='m_TextKeyConfig'
  ;   K[1]='GM'
  ;   K[2]='ConfigModel'
  ;   K[3]='GetLocalConfig'
  ;   K[4]='LocalConfigKey'
  ;   K[5]='NotificationText'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K1('GM')]
  0001  GETTABLE  R1 = R1[K2('ConfigModel')]
  0002  SELF      R2 = R1[K3('GetLocalConfig')] (self)
  0003  GETTABUP  R3 = _ENV[K4('LocalConfigKey')]
  0004  GETTABLE  R3 = R3[K5('NotificationText')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  SETTABLE  R0[K0('m_TextKeyConfig')] = R1
  0007  RETURN    return R0..R-1
; ---------- proto4 [_UpdateAuthRequestTimesInfo] ----------
  ; fn ?  line 65-74 np=1 va=0 ms=6 code=29 consts=13 upvals=1 protos=0
  ;   K[0]='PlayerPrefs'
  ;   K[1]='GetInt'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='NotificationClearTimesKey'
  ;   K[4]=0
  ;   K[5]='GM'
  ;   K[6]='ConfigModel'
  ;   K[7]='GetGeneralConfByType'
  ;   K[8]='EGeneralConfType'
  ;   K[9]='NotifyRemindTimes'
  ;   K[10]=nil
  ;   K[11]='SetInt'
  ;   K[12]='NotifiWindowPopTimes'
  ;   upvals: _ENV
  ;   locals: self(0-29), nLocalTimesKey(6-29), nServerTimesKey(12-29)
  0000  GETTABUP  R1 = _ENV[K0('PlayerPrefs')]
  0001  GETTABLE  R1 = R1[K1('GetInt')]
  0002  GETTABUP  R2 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R2 = R2[K3('NotificationClearTimesKey')]
  0004  LOADK     R3 = K4 0
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  GETTABUP  R2 = _ENV[K5('GM')]
  0007  GETTABLE  R2 = R2[K6('ConfigModel')]
  0008  SELF      R3 = R2[K7('GetGeneralConfByType')] (self)
  0009  GETTABUP  R4 = _ENV[K8('EGeneralConfType')]
  0010  GETTABLE  R4 = R4[K9('NotifyRemindTimes')]
  0011  CALL      R2 = call(R2, 1 args, 2 rets)
  0012  EQ        if R1 eq K10(nil)   -> -129768
  0013  JMP       (jump)   -> 28
  0014  EQ        if R1 eq R1   -> -130031
  0015  JMP       (jump)   -> 28
  0016  GETTABUP  R3 = _ENV[K0('PlayerPrefs')]
  0017  GETTABLE  R3 = R3[K11('SetInt')]
  0018  GETTABUP  R4 = _ENV[K2('EPlayerPrefKey')]
  0019  GETTABLE  R4 = R4[K3('NotificationClearTimesKey')]
  0020  MOVE      R5 = R0
  0021  CALL      R3 = call(R3, 0 args, 2 rets)
  0022  GETTABUP  R3 = _ENV[K0('PlayerPrefs')]
  0023  GETTABLE  R3 = R3[K11('SetInt')]
  0024  GETTABUP  R4 = _ENV[K2('EPlayerPrefKey')]
  0025  GETTABLE  R4 = R4[K12('NotifiWindowPopTimes')]
  0026  LOADK     R5 = K4 0
  0027  CALL      R3 = call(R3, 0 args, 2 rets)
  0028  RETURN    return R0..R-1
; ---------- proto5 [LateInit] ----------
  ; fn ?  line 77-87 np=1 va=0 ms=5 code=23 consts=14 upvals=1 protos=0
  ;   K[0]='m_inited'
  ;   K[1]=true
  ;   K[2]='m_helpers'
  ;   K[3]='ComeBackNotificationHelper'
  ;   K[4]='EnergyFullNotificationHelper'
  ;   K[5]='ItemSpreadRecoveryNotificationHelper'
  ;   K[6]='Log'
  ;   K[7]='Info'
  ;   K[8]='Platform Notification '
  ;   K[9]='PlatformInterface'
  ;   K[10]='IsNotificationsEnabled'
  ;   K[11]='enabled'
  ;   K[12]='not enabled'
  ;   K[13]='NotificationModel'
  ;   upvals: _ENV
  ;   locals: self(0-23)
  0000  SETTABLE  R0[K0('m_inited')] = K1(true)
  0001  NEWTABLE  R1 = {} (3 items)
  0002  GETTABUP  R2 = _ENV[K3('ComeBackNotificationHelper')]
  0003  GETTABUP  R3 = _ENV[K4('EnergyFullNotificationHelper')]
  0004  GETTABUP  R4 = _ENV[K5('ItemSpreadRecoveryNotificationHelper')]
  0005  SETLIST   setlist R1[B=1,C=3]
  0006  SETTABLE  R0[K2('m_helpers')] = R1
  0007  GETTABUP  R1 = _ENV[K6('Log')]
  0008  GETTABLE  R1 = R1[K7('Info')]
  0009  LOADK     R2 = K8 'Platform Notification '
  0010  GETTABUP  R3 = _ENV[K9('PlatformInterface')]
  0011  GETTABLE  R3 = R3[K10('IsNotificationsEnabled')]
  0012  CALL      R3 = call(R3, 1 args, 0 rets)
  0013  TEST      if not R3 then   -> -131057
  0014  JMP       (jump)   -> 18
  0015  LOADK     R3 = K11 'enabled'
  0016  TEST      if not R3 then   -> -131053
  0017  JMP       (jump)   -> 19
  0018  LOADK     R3 = K12 'not enabled'
  0019  CONCAT    R2 = concat(R2..R2)
  0020  LOADK     R3 = K13 'NotificationModel'
  0021  CALL      R1 = call(R1, 0 args, 2 rets)
  0022  RETURN    return R0..R-1
; ---------- proto6 [RegisterAll] ----------
  ; fn ?  line 90-122 np=1 va=0 ms=22 code=56 consts=18 upvals=1 protos=0
  ;   K[0]='m_inited'
  ;   K[1]='m_config'
  ;   K[2]=nil
  ;   K[3]='PlayerPrefs'
  ;   K[4]='GetInt'
  ;   K[5]='EPlayerPrefKey'
  ;   K[6]='OpenNotification'
  ;   K[7]=1
  ;   K[8]=0
  ;   K[9]='PlatformInterface'
  ;   K[10]='IsNotificationsEnabled'
  ;   K[11]='UnregisterAll'
  ;   K[12]='pairs'
  ;   K[13]='_GenerateList'
  ;   K[14]='_SplitListByInterval'
  ;   K[15]='_FilterList'
  ;   K[16]='ipairs'
  ;   K[17]='_Schedule'
  ;   upvals: _ENV
  ;   locals: self(0-56), (for generator)(26-55), (for state)(26-55), (for control)(26-55), _(27-53), oOneCfg(27-53), notificationList(30-53), intervaleMap(34-53), (for generator)(37-53), (for state)(37-53), (for control)(37-53), _(38-51), list(38-51), selectedList(42-51), (for generator)(45-51), (for state)(45-51), (for control)(45-51), _(46-49), notification(46-49)
  0000  GETTABLE  R1 = R0[K0('m_inited')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  GETTABLE  R1 = R0[K1('m_config')]
  0005  EQ        if R1 eq K2(nil)   -> -130295
  0006  JMP       (jump)   -> 20
  0007  GETTABUP  R1 = _ENV[K3('PlayerPrefs')]
  0008  GETTABLE  R1 = R1[K4('GetInt')]
  0009  GETTABUP  R2 = _ENV[K5('EPlayerPrefKey')]
  0010  GETTABLE  R2 = R2[K6('OpenNotification')]
  0011  LOADK     R3 = K7 1
  0012  CALL      R1 = call(R1, 1 args, 2 rets)
  0013  EQ        if R1 eq K8(0)   -> -130281
  0014  JMP       (jump)   -> 20
  0015  GETTABUP  R1 = _ENV[K9('PlatformInterface')]
  0016  GETTABLE  R1 = R1[K10('IsNotificationsEnabled')]
  0017  CALL      R1 = call(R1, 1 args, 0 rets)
  0018  TEST      if not R1 then   -> -131051
  0019  JMP       (jump)   -> 21
  0020  RETURN    return R0..R-1
  0021  SELF      R2 = R0[K11('UnregisterAll')] (self)
  0022  CALL      R1 = call(R1, 0 args, 1 rets)
  0023  GETTABUP  R1 = _ENV[K12('pairs')]
  0024  GETTABLE  R2 = R0[K1('m_config')]
  0025  CALL      R1 = call(R1, 3 args, 1 rets)
  0026  JMP       (jump)   -> 53
  0027  SELF      R7 = R0[K13('_GenerateList')] (self)
  0028  MOVE      R8 = R0
  0029  CALL      R6 = call(R6, 1 args, 2 rets)
  0030  GETTABLE  R7 = R0[K14('_SplitListByInterval')]
  0031  MOVE      R8 = R0
  0032  MOVE      R9 = R0
  0033  CALL      R7 = call(R7, 1 args, 2 rets)
  0034  GETTABUP  R8 = _ENV[K12('pairs')]
  0035  MOVE      R9 = R0
  0036  CALL      R8 = call(R8, 3 args, 1 rets)
  0037  JMP       (jump)   -> 51
  0038  GETTABLE  R13 = R0[K15('_FilterList')]
  0039  MOVE      R14 = R0
  0040  MOVE      R15 = R0
  0041  CALL      R13 = call(R13, 1 args, 2 rets)
  0042  GETTABUP  R14 = _ENV[K16('ipairs')]
  0043  MOVE      R15 = R0
  0044  CALL      R14 = call(R14, 3 args, 1 rets)
  0045  JMP       (jump)   -> 49
  0046  SELF      R20 = R0[K17('_Schedule')] (self)
  0047  MOVE      R21 = R0
  0048  CALL      R19 = call(R19, 0 args, 2 rets)
  0049  TFORCALL  tforcall R14
  0050  TFORLOOP  tforloop R16(sBx=-5)   -> 46
  0051  TFORCALL  tforcall R8
  0052  TFORLOOP  tforloop R10(sBx=-15)   -> 38
  0053  TFORCALL  tforcall R1
  0054  TFORLOOP  tforloop R3(sBx=-28)   -> 27
  0055  RETURN    return R0..R-1
; ---------- proto7 [UnregisterAll] ----------
  ; fn ?  line 125-127 np=1 va=0 ms=3 code=4 consts=2 upvals=1 protos=0
  ;   K[0]='CSNotificationManager'
  ;   K[1]='CancelAllNotifi'
  ;   upvals: _ENV
  ;   locals: self(0-4)
  0000  GETTABUP  R1 = _ENV[K0('CSNotificationManager')]
  0001  SELF      R2 = R1[K1('CancelAllNotifi')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  RETURN    return R0..R-1
; ---------- proto8 [_GenerateList] ----------
  ; fn ?  line 131-149 np=2 va=0 ms=17 code=52 consts=17 upvals=1 protos=1
  ;   K[0]='pairs'
  ;   K[1]='scene'
  ;   K[2]='ipairs'
  ;   K[3]='m_helpers'
  ;   K[4]='IsSceneExist'
  ;   K[5]='Table'
  ;   K[6]='ListAppend'
  ;   K[7]='Generate'
  ;   K[8]='pushtimetype'
  ;   K[9]=1
  ;   K[10]='type'
  ;   K[11]='pushtime'
  ;   K[12]='table'
  ;   K[13]=nil
  ;   K[14]=2
  ;   K[15]='_CalculateLocalTime'
  ;   K[16]='sort'
  ;   upvals: _ENV
  ;   locals: self(0-52), oConfig(0-52), results(1-52), (for generator)(4-25), (for state)(4-25), (for control)(4-25), _(5-23), strScene(5-23), (for generator)(8-23), (for state)(8-23), (for control)(8-23), _(9-21), helper(9-21)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  GETTABUP  R3 = _ENV[K0('pairs')]
  0002  GETTABLE  R4 = R1[K1('scene')]
  0003  CALL      R3 = call(R3, 3 args, 1 rets)
  0004  JMP       (jump)   -> 23
  0005  GETTABUP  R8 = _ENV[K2('ipairs')]
  0006  GETTABLE  R9 = R0[K3('m_helpers')]
  0007  CALL      R8 = call(R8, 3 args, 1 rets)
  0008  JMP       (jump)   -> 21
  0009  GETTABLE  R13 = R12[K4('IsSceneExist')]
  0010  MOVE      R14 = R0
  0011  CALL      R13 = call(R13, 1 args, 1 rets)
  0012  TEST      if not R13 then   -> -131058
  0013  JMP       (jump)   -> 21
  0014  GETTABUP  R13 = _ENV[K5('Table')]
  0015  GETTABLE  R13 = R13[K6('ListAppend')]
  0016  MOVE      R14 = R0
  0017  GETTABLE  R15 = R12[K7('Generate')]
  0018  MOVE      R16 = R0
  0019  CALL      R15 = call(R15, -1 args, 1 rets)
  0020  CALL      R13 = call(R13, 0 args, -1 rets)
  0021  TFORCALL  tforcall R8
  0022  TFORLOOP  tforloop R10(sBx=-14)   -> 9
  0023  TFORCALL  tforcall R3
  0024  TFORLOOP  tforloop R5(sBx=-20)   -> 5
  0025  GETTABLE  R3 = R1[K8('pushtimetype')]
  0026  EQ        if R0 eq K9(1)   -> -129243
  0027  JMP       (jump)   -> 45
  0028  GETTABUP  R3 = _ENV[K10('type')]
  0029  GETTABLE  R4 = R1[K11('pushtime')]
  0030  CALL      R3 = call(R3, 1 args, 1 rets)
  0031  EQ        if R0 eq K12('table')   -> -129235
  0032  JMP       (jump)   -> 45
  0033  GETTABLE  R3 = R1[K11('pushtime')]
  0034  GETTABLE  R3 = R3[K9(1)]
  0035  EQ        if R1 eq K13(nil)   -> -129230
  0036  JMP       (jump)   -> 45
  0037  GETTABLE  R3 = R1[K11('pushtime')]
  0038  GETTABLE  R3 = R3[K14(2)]
  0039  EQ        if R1 eq K13(nil)   -> -129226
  0040  JMP       (jump)   -> 45
  0041  SELF      R4 = R0[K15('_CalculateLocalTime')] (self)
  0042  MOVE      R5 = R0
  0043  GETTABLE  R6 = R1[K11('pushtime')]
  0044  CALL      R3 = call(R3, 0 args, 3 rets)
  0045  GETTABUP  R3 = _ENV[K12('table')]
  0046  GETTABLE  R3 = R3[K16('sort')]
  0047  MOVE      R4 = R0
  0048  CLOSURE   R5 = closure proto0
  0049  CALL      R3 = call(R3, 0 args, 2 rets)
  0050  RETURN    return R2..R1
  0051  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 147-147 np=2 va=0 ms=4 code=8 consts=1 upvals=0 protos=0
    ;   K[0]='Delay'
    ;   locals: a(0-8), b(0-8)
    0000  GETTABLE  R2 = R0[K0('Delay')]
    0001  GETTABLE  R3 = R1[K0('Delay')]
    0002  LT        if R1 lt R3   -> -130041
    0003  JMP       (jump)   -> 5
    0004  LOADBOOL  R2 = false
    0005  LOADBOOL  R2 = true
    0006  RETURN    return R2..R1
    0007  RETURN    return R0..R-1
; ---------- proto9 [_CalculateLocalTime] ----------
  ; fn ?  line 152-182 np=3 va=0 ms=18 code=41 consts=12 upvals=1 protos=1
  ;   K[0]=1
  ;   K[1]=2
  ;   K[2]='os'
  ;   K[3]='time'
  ;   K[4]='pairs'
  ;   K[5]='Delay'
  ;   K[6]='os'
  ;   K[7]='date'
  ;   K[8]='%H'
  ;   K[9]='tonumber'
  ;   K[10]=86400
  ;   K[11]=60
  ;   upvals: _ENV
  ;   locals: self(0-41), results(0-41), pushtime(0-41), nLeftHour(1-41), nRightHour(2-41), llLocalTime(5-41), GetZeroTime(6-41), (for generator)(9-40), (for state)(9-40), (for control)(9-40), _(10-38), pushInfo(10-38), llPushTime(12-38), strHour(17-38), hour(20-38), llCurZeroTime(23-38), llNextZeroTime(24-38)
  0000  GETTABLE  R3 = R2[K0(1)]
  0001  GETTABLE  R4 = R2[K1(2)]
  0002  GETTABUP  R5 = _ENV[K2('os')]
  0003  GETTABLE  R5 = R5[K3('time')]
  0004  CALL      R5 = call(R5, 1 args, 0 rets)
  0005  CLOSURE   R6 = closure proto0
  0006  GETTABUP  R7 = _ENV[K4('pairs')]
  0007  MOVE      R8 = R0
  0008  CALL      R7 = call(R7, 3 args, 1 rets)
  0009  JMP       (jump)   -> 38
  0010  GETTABLE  R12 = R11[K5('Delay')]
  0011  ADD       R12 = R12 add R5
  0012  GETTABUP  R13 = _ENV[K6('os')]
  0013  GETTABLE  R13 = R13[K7('date')]
  0014  LOADK     R14 = K8 '%H'
  0015  MOVE      R15 = R0
  0016  CALL      R13 = call(R13, 1 args, 2 rets)
  0017  GETTABUP  R14 = _ENV[K9('tonumber')]
  0018  MOVE      R15 = R0
  0019  CALL      R14 = call(R14, 1 args, 1 rets)
  0020  MOVE      R15 = R0
  0021  MOVE      R16 = R0
  0022  CALL      R15 = call(R15, 1 args, 1 rets)
  0023  ADD       R16 = K10(86400) add R15
  0024  LT        if R0 lt R3   -> -123875
  0025  JMP       (jump)   -> 31
  0026  MUL       R17 = K11(60) mul R3
  0027  MUL       R17 = K11(60) mul R17
  0028  ADD       R17 = R17 add R15
  0029  SUB       R17 = R5 sub R17
  0030  SETTABLE  R11[K5('Delay')] = R17
  0031  LT        if R0 lt R14   -> -128977
  0032  JMP       (jump)   -> 38
  0033  MUL       R17 = K11(60) mul R3
  0034  MUL       R17 = K11(60) mul R17
  0035  ADD       R17 = R17 add R16
  0036  SUB       R17 = R5 sub R17
  0037  SETTABLE  R11[K5('Delay')] = R17
  0038  TFORCALL  tforcall R7
  0039  TFORLOOP  tforloop R9(sBx=-30)   -> 10
  0040  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 158-165 np=1 va=0 ms=4 code=14 consts=8 upvals=1 protos=0
    ;   K[0]='os'
    ;   K[1]='date'
    ;   K[2]='*t'
    ;   K[3]='hour'
    ;   K[4]=0
    ;   K[5]='min'
    ;   K[6]='sec'
    ;   K[7]='time'
    ;   upvals: _ENV
    ;   locals: llCurTime(0-14), date_table(5-14)
    0000  GETTABUP  R1 = _ENV[K0('os')]
    0001  GETTABLE  R1 = R1[K1('date')]
    0002  LOADK     R2 = K2 '*t'
    0003  MOVE      R3 = R0
    0004  CALL      R1 = call(R1, 1 args, 2 rets)
    0005  SETTABLE  R1[K3('hour')] = K4(0)
    0006  SETTABLE  R1[K5('min')] = K4(0)
    0007  SETTABLE  R1[K6('sec')] = K4(0)
    0008  GETTABUP  R2 = _ENV[K0('os')]
    0009  GETTABLE  R2 = R2[K7('time')]
    0010  MOVE      R3 = R0
    0011  TAILCALL  tailcall(R2, 0)
    0012  RETURN    return R2..R1
    0013  RETURN    return R0..R-1
; ---------- proto10 [_SplitListByInterval] ----------
  ; fn ?  line 186-199 np=2 va=0 ms=12 code=22 consts=6 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='Delay'
  ;   K[2]='interval'
  ;   K[3]=nil
  ;   K[4]='table'
  ;   K[5]='insert'
  ;   upvals: _ENV
  ;   locals: list(0-22), oOneConfig(0-22), results(1-22), (for generator)(4-20), (for state)(4-20), (for control)(4-20), _(5-18), notification(5-18), index(8-18)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  GETTABUP  R3 = _ENV[K0('ipairs')]
  0002  MOVE      R4 = R0
  0003  CALL      R3 = call(R3, 3 args, 1 rets)
  0004  JMP       (jump)   -> 18
  0005  GETTABLE  R8 = R7[K1('Delay')]
  0006  GETTABLE  R9 = R1[K2('interval')]
  0007  IDIV      R8 = R9 idiv R8
  0008  GETTABLE  R9 = R2[R8]
  0009  EQ        if R0 eq K3(nil)   -> -126194
  0010  JMP       (jump)   -> 13
  0011  NEWTABLE  R9 = {} (0 items)
  0012  SETTABLE  R2[R8] = R9
  0013  GETTABUP  R9 = _ENV[K4('table')]
  0014  GETTABLE  R9 = R9[K5('insert')]
  0015  GETTABLE  R10 = R2[R8]
  0016  MOVE      R11 = R0
  0017  CALL      R9 = call(R9, 0 args, 2 rets)
  0018  TFORCALL  tforcall R3
  0019  TFORLOOP  tforloop R5(sBx=-15)   -> 5
  0020  RETURN    return R2..R1
  0021  RETURN    return R0..R-1
; ---------- proto11 [_FilterList] ----------
  ; fn ?  line 203-235 np=2 va=0 ms=16 code=55 consts=11 upvals=1 protos=0
  ;   K[0]='maxNum'
  ;   K[1]='NotificationType'
  ;   K[2]='MaxPriority'
  ;   K[3]='MinPriority'
  ;   K[4]=1
  ;   K[5]=0
  ;   K[6]='ipairs'
  ;   K[7]='Type'
  ;   K[8]='table'
  ;   K[9]='insert'
  ;   K[10]='remove'
  ;   upvals: _ENV
  ;   locals: list(0-55), oOneConfig(0-55), number(1-55), results(6-55), (for index)(11-36), (for limit)(11-36), (for step)(11-36), type(12-35), (for generator)(17-35), (for state)(17-35), (for control)(17-35), index(18-33), notification(18-33)
  0000  GETTABLE  R2 = R1[K0('maxNum')]
  0001  LEN       R3 = len R0
  0002  LE        if R0 le R2   -> -129530
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  NEWTABLE  R3 = {} (0 items)
  0006  GETTABUP  R4 = _ENV[K1('NotificationType')]
  0007  GETTABLE  R4 = R4[K2('MaxPriority')]
  0008  GETTABUP  R5 = _ENV[K1('NotificationType')]
  0009  GETTABLE  R5 = R5[K3('MinPriority')]
  0010  LOADK     R6 = K4 1
  0011  FORPREP   forprep R4(sBx=23)   -> 35
  0012  EQ        if R1 eq K5(0)   -> -129773
  0013  JMP       (jump)   -> 36
  0014  GETTABUP  R8 = _ENV[K6('ipairs')]
  0015  MOVE      R9 = R0
  0016  CALL      R8 = call(R8, 3 args, 1 rets)
  0017  JMP       (jump)   -> 33
  0018  GETTABLE  R13 = R12[K7('Type')]
  0019  EQ        if R0 eq R7   -> -124388
  0020  JMP       (jump)   -> 33
  0021  GETTABUP  R13 = _ENV[K8('table')]
  0022  GETTABLE  R13 = R13[K9('insert')]
  0023  MOVE      R14 = R0
  0024  MOVE      R15 = R0
  0025  CALL      R13 = call(R13, 0 args, 2 rets)
  0026  GETTABUP  R13 = _ENV[K8('table')]
  0027  GETTABLE  R13 = R13[K10('remove')]
  0028  MOVE      R14 = R0
  0029  MOVE      R15 = R0
  0030  CALL      R13 = call(R13, 0 args, 2 rets)
  0031  SUB       R2 = K4(1) sub R2
  0032  JMP       (jump)   -> 35
  0033  TFORCALL  tforcall R8
  0034  TFORLOOP  tforloop R10(sBx=-17)   -> 18
  0035  FORLOOP   forloop R4(sBx=-24)   -> 12
  0036  EQ        if R1 eq K5(0)   -> -129749
  0037  JMP       (jump)   -> 53
  0038  LEN       R4 = len R0
  0039  EQ        if R1 eq K5(0)   -> -128722
  0040  JMP       (jump)   -> 53
  0041  GETTABUP  R4 = _ENV[K8('table')]
  0042  GETTABLE  R4 = R4[K9('insert')]
  0043  MOVE      R5 = R0
  0044  GETTABLE  R6 = R0[K4(1)]
  0045  CALL      R4 = call(R4, 0 args, 2 rets)
  0046  GETTABUP  R4 = _ENV[K8('table')]
  0047  GETTABLE  R4 = R4[K10('remove')]
  0048  MOVE      R5 = R0
  0049  LOADK     R6 = K4 1
  0050  CALL      R4 = call(R4, 0 args, 2 rets)
  0051  SUB       R2 = K4(1) sub R2
  0052  JMP       (jump)   -> 36
  0053  RETURN    return R3..R2
  0054  RETURN    return R0..R-1
; ---------- proto12 [_Schedule] ----------
  ; fn ?  line 238-240 np=2 va=0 ms=7 code=7 consts=5 upvals=1 protos=0
  ;   K[0]='CSNotificationManager'
  ;   K[1]='ScheduleNotifi'
  ;   K[2]='Title'
  ;   K[3]='Message'
  ;   K[4]='Delay'
  ;   upvals: _ENV
  ;   locals: self(0-7), notification(0-7)
  0000  GETTABUP  R2 = _ENV[K0('CSNotificationManager')]
  0001  SELF      R3 = R2[K1('ScheduleNotifi')] (self)
  0002  GETTABLE  R4 = R1[K2('Title')]
  0003  GETTABLE  R5 = R1[K3('Message')]
  0004  GETTABLE  R6 = R1[K4('Delay')]
  0005  CALL      R2 = call(R2, 0 args, 4 rets)
  0006  RETURN    return R0..R-1
; ---------- proto13 [RequestAuthorization] ----------
  ; fn ?  line 243-255 np=1 va=0 ms=4 code=11 consts=7 upvals=1 protos=1
  ;   K[0]='PlayerPrefs'
  ;   K[1]='SetInt'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='SystemNotiRequsted'
  ;   K[4]=1
  ;   K[5]='CSNotificationManager'
  ;   K[6]='RequestAuthorization'
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABUP  R1 = _ENV[K0('PlayerPrefs')]
  0001  GETTABLE  R1 = R1[K1('SetInt')]
  0002  GETTABUP  R2 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R2 = R2[K3('SystemNotiRequsted')]
  0004  LOADK     R3 = K4 1
  0005  CALL      R1 = call(R1, 0 args, 2 rets)
  0006  GETTABUP  R1 = _ENV[K5('CSNotificationManager')]
  0007  SELF      R2 = R1[K6('RequestAuthorization')] (self)
  0008  CLOSURE   R3 = closure proto0
  0009  CALL      R1 = call(R1, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 245-254 np=1 va=0 ms=6 code=38 consts=15 upvals=1 protos=0
    ;   K[0]='Log'
    ;   K[1]='Info'
    ;   K[2]='RequestAuthorization response '
    ;   K[3]='NotificationModel'
    ;   K[4]='string'
    ;   K[5]='sub'
    ;   K[6]=1
    ;   K[7]='1'
    ;   K[8]=3
    ;   K[9]='DeviceInfo'
    ;   K[10]='IsSystemIOS'
    ;   K[11]='GM'
    ;   K[12]=nil
    ;   K[13]='PushTokenModel'
    ;   K[14]='UpdatePushToken'
    ;   upvals: _ENV
    ;   locals: text(0-38), granted(17-38), token(22-38)
    0000  GETTABUP  R1 = _ENV[K0('Log')]
    0001  GETTABLE  R1 = R1[K1('Info')]
    0002  LOADK     R2 = K2 'RequestAuthorization response '
    0003  MOVE      R3 = R0
    0004  CONCAT    R2 = concat(R2..R2)
    0005  LOADK     R3 = K3 'NotificationModel'
    0006  CALL      R1 = call(R1, 0 args, 2 rets)
    0007  GETTABUP  R1 = _ENV[K4('string')]
    0008  GETTABLE  R1 = R1[K5('sub')]
    0009  MOVE      R2 = R0
    0010  LOADK     R3 = K6 1
    0011  LOADK     R4 = K6 1
    0012  CALL      R1 = call(R1, 1 args, 3 rets)
    0013  EQ        if R1 eq K7('1')   -> -130282
    0014  JMP       (jump)   -> 16
    0015  LOADBOOL  R1 = false
    0016  LOADBOOL  R1 = true
    0017  GETTABUP  R2 = _ENV[K4('string')]
    0018  GETTABLE  R2 = R2[K5('sub')]
    0019  MOVE      R3 = R0
    0020  LOADK     R4 = K8 3
    0021  CALL      R2 = call(R2, 1 args, 2 rets)
    0022  TEST      if not R1 then   -> -131048
    0023  JMP       (jump)   -> 37
    0024  GETTABUP  R3 = _ENV[K9('DeviceInfo')]
    0025  GETTABLE  R3 = R3[K10('IsSystemIOS')]
    0026  CALL      R3 = call(R3, 1 args, 0 rets)
    0027  TEST      if not R3 then   -> -131043
    0028  JMP       (jump)   -> 37
    0029  GETTABUP  R3 = _ENV[K11('GM')]
    0030  EQ        if R1 eq K12(nil)   -> -129236
    0031  JMP       (jump)   -> 37
    0032  GETTABUP  R3 = _ENV[K11('GM')]
    0033  GETTABLE  R3 = R3[K13('PushTokenModel')]
    0034  SELF      R4 = R3[K14('UpdatePushToken')] (self)
    0035  MOVE      R5 = R0
    0036  CALL      R3 = call(R3, 0 args, 2 rets)
    0037  RETURN    return R0..R-1
; ---------- proto14 [TryOpenNotification] ----------
  ; fn ?  line 257-271 np=2 va=0 ms=5 code=37 consts=17 upvals=1 protos=0
  ;   K[0]='PlayerPrefs'
  ;   K[1]='SetInt'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='OpenNotification'
  ;   K[4]=1
  ;   K[5]='PlatformInterface'
  ;   K[6]='IsNotificationsEnabled'
  ;   K[7]='IsSystemNotiRequsted'
  ;   K[8]='RequestAuthorization'
  ;   K[9]='OpenAppSettings'
  ;   K[10]='GM'
  ;   K[11]='UIManager'
  ;   K[12]='OpenView'
  ;   K[13]='UIPrefabConfigName'
  ;   K[14]='NotificationTutorialWindow'
  ;   K[15]='ShowPromptWithKey'
  ;   K[16]='notification_on_hint'
  ;   upvals: _ENV
  ;   locals: self(0-37), direct2Setting(0-37)
  0000  GETTABUP  R2 = _ENV[K0('PlayerPrefs')]
  0001  GETTABLE  R2 = R2[K1('SetInt')]
  0002  GETTABUP  R3 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R3 = R3[K3('OpenNotification')]
  0004  LOADK     R4 = K4 1
  0005  CALL      R2 = call(R2, 0 args, 2 rets)
  0006  GETTABUP  R2 = _ENV[K5('PlatformInterface')]
  0007  GETTABLE  R2 = R2[K6('IsNotificationsEnabled')]
  0008  CALL      R2 = call(R2, 1 args, 0 rets)
  0009  TEST      if not R2 then   -> -131060
  0010  JMP       (jump)   -> 31
  0011  SELF      R3 = R0[K7('IsSystemNotiRequsted')] (self)
  0012  CALL      R2 = call(R2, 1 args, 1 rets)
  0013  TEST      if not R2 then   -> -131056
  0014  JMP       (jump)   -> 18
  0015  SELF      R3 = R0[K8('RequestAuthorization')] (self)
  0016  CALL      R2 = call(R2, 0 args, 1 rets)
  0017  JMP       (jump)   -> 36
  0018  TEST      if not R1 then   -> -131052
  0019  JMP       (jump)   -> 24
  0020  GETTABUP  R2 = _ENV[K5('PlatformInterface')]
  0021  GETTABLE  R2 = R2[K9('OpenAppSettings')]
  0022  CALL      R2 = call(R2, 0 args, 0 rets)
  0023  JMP       (jump)   -> 36
  0024  GETTABUP  R2 = _ENV[K10('GM')]
  0025  GETTABLE  R2 = R2[K11('UIManager')]
  0026  SELF      R3 = R2[K12('OpenView')] (self)
  0027  GETTABUP  R4 = _ENV[K13('UIPrefabConfigName')]
  0028  GETTABLE  R4 = R4[K14('NotificationTutorialWindow')]
  0029  CALL      R2 = call(R2, 0 args, 2 rets)
  0030  JMP       (jump)   -> 36
  0031  GETTABUP  R2 = _ENV[K10('GM')]
  0032  GETTABLE  R2 = R2[K11('UIManager')]
  0033  SELF      R3 = R2[K15('ShowPromptWithKey')] (self)
  0034  LOADK     R4 = K16 'notification_on_hint'
  0035  CALL      R2 = call(R2, 0 args, 2 rets)
  0036  RETURN    return R0..R-1
; ---------- proto15 [IsSystemNotiRequsted] ----------
  ; fn ?  line 273-275 np=1 va=0 ms=4 code=12 consts=6 upvals=1 protos=0
  ;   K[0]='PlayerPrefs'
  ;   K[1]='GetInt'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='SystemNotiRequsted'
  ;   K[4]=0
  ;   K[5]=1
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('PlayerPrefs')]
  0001  GETTABLE  R1 = R1[K1('GetInt')]
  0002  GETTABUP  R2 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R2 = R2[K3('SystemNotiRequsted')]
  0004  LOADK     R3 = K4 0
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  EQ        if R1 eq K5(1)   -> -130291
  0007  JMP       (jump)   -> 9
  0008  LOADBOOL  R1 = false
  0009  LOADBOOL  R1 = true
  0010  RETURN    return R1..R0
  0011  RETURN    return R0..R-1
; ---------- proto16 [TryOpenNotificationWindow] ----------
  ; fn ?  line 277-317 np=2 va=0 ms=9 code=77 consts=29 upvals=1 protos=0
  ;   K[0]='IsAutoRun'
  ;   K[1]='PlatformInterface'
  ;   K[2]='IsNotificationsEnabled'
  ;   K[3]='PlayerPrefs'
  ;   K[4]='GetInt'
  ;   K[5]='EPlayerPrefKey'
  ;   K[6]='OpenNotification'
  ;   K[7]=1
  ;   K[8]=0
  ;   K[9]='ENotiSceneDescKey'
  ;   K[10]='EnergyEmpty'
  ;   K[11]='GM'
  ;   K[12]='EnergyModel'
  ;   K[13]='GetEnergy'
  ;   K[14]='EnergyType'
  ;   K[15]='Main'
  ;   K[16]='ItemSpread'
  ;   K[17]='GetCostEnergyNum'
  ;   K[18]='GameModel'
  ;   K[19]='GetServerTime'
  ;   K[20]='LastNotifiWindowPopTime'
  ;   K[21]=259200
  ;   K[22]='NotifiWindowPopTimes'
  ;   K[23]=3
  ;   K[24]='UIManager'
  ;   K[25]='IsViewExisting'
  ;   K[26]='UIPrefabConfigName'
  ;   K[27]='NotificationOpenWindow'
  ;   K[28]='OpenViewWhenIdle'
  ;   upvals: _ENV
  ;   locals: self(0-77), eNotiSceneDescKey(0-77), energy(31-37), serTime(41-77), lastTime(47-77), popTimes(57-77)
  0000  GETTABUP  R2 = _ENV[K0('IsAutoRun')]
  0001  CALL      R2 = call(R2, 1 args, 0 rets)
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R2 = false
  0005  RETURN    return R2..R1
  0006  GETTABUP  R2 = _ENV[K1('PlatformInterface')]
  0007  GETTABLE  R2 = R2[K2('IsNotificationsEnabled')]
  0008  CALL      R2 = call(R2, 1 args, 0 rets)
  0009  TEST      if not R2 then   -> -131061
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R0..R-1
  0012  GETTABUP  R2 = _ENV[K3('PlayerPrefs')]
  0013  GETTABLE  R2 = R2[K4('GetInt')]
  0014  GETTABUP  R3 = _ENV[K5('EPlayerPrefKey')]
  0015  GETTABLE  R3 = R3[K6('OpenNotification')]
  0016  LOADK     R4 = K7 1
  0017  CALL      R2 = call(R2, 1 args, 2 rets)
  0018  EQ        if R0 eq K8(0)   -> -129764
  0019  JMP       (jump)   -> 21
  0020  RETURN    return R0..R-1
  0021  GETTABUP  R2 = _ENV[K9('ENotiSceneDescKey')]
  0022  GETTABLE  R2 = R2[K10('EnergyEmpty')]
  0023  EQ        if R0 eq R2   -> -130533
  0024  JMP       (jump)   -> 37
  0025  GETTABUP  R2 = _ENV[K11('GM')]
  0026  GETTABLE  R2 = R2[K12('EnergyModel')]
  0027  SELF      R3 = R2[K13('GetEnergy')] (self)
  0028  GETTABUP  R4 = _ENV[K14('EnergyType')]
  0029  GETTABLE  R4 = R4[K15('Main')]
  0030  CALL      R2 = call(R2, 1 args, 2 rets)
  0031  GETTABUP  R3 = _ENV[K16('ItemSpread')]
  0032  GETTABLE  R3 = R3[K17('GetCostEnergyNum')]
  0033  CALL      R3 = call(R3, 1 args, 0 rets)
  0034  LE        if R0 le R2   -> -129498
  0035  JMP       (jump)   -> 37
  0036  RETURN    return R0..R-1
  0037  GETTABUP  R2 = _ENV[K11('GM')]
  0038  GETTABLE  R2 = R2[K18('GameModel')]
  0039  SELF      R3 = R2[K19('GetServerTime')] (self)
  0040  CALL      R2 = call(R2, 1 args, 1 rets)
  0041  GETTABUP  R3 = _ENV[K3('PlayerPrefs')]
  0042  GETTABLE  R3 = R3[K4('GetInt')]
  0043  GETTABUP  R4 = _ENV[K5('EPlayerPrefKey')]
  0044  GETTABLE  R4 = R4[K20('LastNotifiWindowPopTime')]
  0045  LOADK     R5 = K8 0
  0046  CALL      R3 = call(R3, 1 args, 2 rets)
  0047  SUB       R4 = R3 sub R2
  0048  LT        if R0 lt K21(259200)   -> -128697
  0049  JMP       (jump)   -> 51
  0050  RETURN    return R0..R-1
  0051  GETTABUP  R4 = _ENV[K3('PlayerPrefs')]
  0052  GETTABLE  R4 = R4[K4('GetInt')]
  0053  GETTABUP  R5 = _ENV[K5('EPlayerPrefKey')]
  0054  GETTABLE  R5 = R5[K22('NotifiWindowPopTimes')]
  0055  LOADK     R6 = K8 0
  0056  CALL      R4 = call(R4, 1 args, 2 rets)
  0057  LE        if R0 le R4   -> 11839
  0058  JMP       (jump)   -> 60
  0059  RETURN    return R0..R-1
  0060  GETTABUP  R5 = _ENV[K11('GM')]
  0061  GETTABLE  R5 = R5[K24('UIManager')]
  0062  SELF      R6 = R5[K25('IsViewExisting')] (self)
  0063  GETTABUP  R7 = _ENV[K26('UIPrefabConfigName')]
  0064  GETTABLE  R7 = R7[K27('NotificationOpenWindow')]
  0065  CALL      R5 = call(R5, 1 args, 2 rets)
  0066  TEST      if not R5 then   -> -131004
  0067  JMP       (jump)   -> 69
  0068  RETURN    return R0..R-1
  0069  GETTABUP  R5 = _ENV[K11('GM')]
  0070  GETTABLE  R5 = R5[K24('UIManager')]
  0071  SELF      R6 = R5[K28('OpenViewWhenIdle')] (self)
  0072  GETTABUP  R7 = _ENV[K26('UIPrefabConfigName')]
  0073  GETTABLE  R7 = R7[K27('NotificationOpenWindow')]
  0074  MOVE      R8 = R0
  0075  CALL      R5 = call(R5, 0 args, 3 rets)
  0076  RETURN    return R0..R-1
; ---------- proto17 [GetTextTileAndDesc] ----------
  ; fn ?  line 321-343 np=2 va=0 ms=12 code=59 consts=13 upvals=1 protos=0
  ;   K[0]='m_TextKeyConfig'
  ;   K[1]=nil
  ;   K[2]='Log'
  ;   K[3]='Assert'
  ;   K[4]='没有配置Push功能的文案文件'
  ;   K[5]=''
  ;   K[6]='TitleKey'
  ;   K[7]='DescKey'
  ;   K[8]='pairs'
  ;   K[9]='IsMatch'
  ;   K[10]=1
  ;   K[11]='string'
  ;   K[12]='find'
  ;   upvals: _ENV
  ;   locals: self(0-59), strScene(0-59), (for generator)(25-55), (for state)(25-55), (for control)(25-55), strKey(26-53), oOneCfg(26-53), bFind(34-53), strTileKey(43-53), strDescKey(50-53)
  0000  GETTABLE  R2 = R0[K0('m_TextKeyConfig')]
  0001  EQ        if R0 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 11
  0003  GETTABUP  R2 = _ENV[K2('Log')]
  0004  GETTABLE  R2 = R2[K3('Assert')]
  0005  LOADBOOL  R3 = false
  0006  LOADK     R4 = K4 '没有配置Push功能的文案文件'
  0007  CALL      R2 = call(R2, 0 args, 2 rets)
  0008  LOADK     R2 = K5 ''
  0009  LOADK     R3 = K5 ''
  0010  RETURN    return R2..R1
  0011  GETTABLE  R2 = R0[K0('m_TextKeyConfig')]
  0012  GETTABLE  R2 = R2[R1]
  0013  EQ        if R1 eq K1(nil)   -> -129776
  0014  JMP       (jump)   -> 22
  0015  GETTABLE  R2 = R0[K0('m_TextKeyConfig')]
  0016  GETTABLE  R2 = R2[R1]
  0017  GETTABLE  R2 = R2[K6('TitleKey')]
  0018  GETTABLE  R3 = R0[K0('m_TextKeyConfig')]
  0019  GETTABLE  R3 = R3[R1]
  0020  GETTABLE  R3 = R3[K7('DescKey')]
  0021  RETURN    return R2..R1
  0022  GETTABUP  R2 = _ENV[K8('pairs')]
  0023  GETTABLE  R3 = R0[K0('m_TextKeyConfig')]
  0024  CALL      R2 = call(R2, 3 args, 1 rets)
  0025  JMP       (jump)   -> 53
  0026  GETTABLE  R7 = R6[K9('IsMatch')]
  0027  EQ        if R0 eq K10(1)   -> -127193
  0028  JMP       (jump)   -> 53
  0029  GETTABUP  R7 = _ENV[K11('string')]
  0030  GETTABLE  R7 = R7[K12('find')]
  0031  MOVE      R8 = R0
  0032  MOVE      R9 = R0
  0033  CALL      R7 = call(R7, 1 args, 2 rets)
  0034  TEST      if not R7 then   -> -131036
  0035  JMP       (jump)   -> 53
  0036  GETTABLE  R8 = R6[K6('TitleKey')]
  0037  EQ        if R0 eq K1(nil)   -> -126680
  0038  JMP       (jump)   -> 42
  0039  LOADK     R8 = K5 ''
  0040  TEST      if not R8 then   -> -131029
  0041  JMP       (jump)   -> 43
  0042  GETTABLE  R8 = R6[K6('TitleKey')]
  0043  GETTABLE  R9 = R6[K7('DescKey')]
  0044  EQ        if R0 eq K1(nil)   -> -126161
  0045  JMP       (jump)   -> 49
  0046  LOADK     R9 = K5 ''
  0047  TEST      if not R9 then   -> -131022
  0048  JMP       (jump)   -> 50
  0049  GETTABLE  R9 = R6[K7('DescKey')]
  0050  MOVE      R10 = R0
  0051  MOVE      R11 = R0
  0052  RETURN    return R10..R9
  0053  TFORCALL  tforcall R2
  0054  TFORLOOP  tforloop R4(sBx=-29)   -> 26
  0055  LOADK     R2 = K5 ''
  0056  LOADK     R3 = K5 ''
  0057  RETURN    return R2..R1
  0058  RETURN    return R0..R-1
