# UI_Window_MailDataWindow_454.luac
; fn @MailDataWindow.lua  line 0-0 np=0 va=1 ms=3 code=27 consts=10 upvals=1 protos=6
;   K[0]='MailDataWindow'
;   K[1]='setmetatable'
;   K[2]='InputConfirmWindow'
;   K[3]='__index'
;   K[4]='Init'
;   K[5]='OnInputEditing'
;   K[6]='IsInputLegal'
;   K[7]='_UpdateConfirmButton'
;   K[8]='OnRedClick'
;   K[9]='OnGreenClick'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('InputConfirmWindow')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('MailDataWindow')] = R0
0005  GETTABUP  R0 = _ENV[K0('MailDataWindow')]
0006  GETTABUP  R1 = _ENV[K0('MailDataWindow')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('MailDataWindow')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('Init')] = R1
0011  GETTABUP  R0 = _ENV[K0('MailDataWindow')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K5('OnInputEditing')] = R1
0014  GETTABUP  R0 = _ENV[K0('MailDataWindow')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K6('IsInputLegal')] = R1
0017  GETTABUP  R0 = _ENV[K0('MailDataWindow')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K7('_UpdateConfirmButton')] = R1
0020  GETTABUP  R0 = _ENV[K0('MailDataWindow')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K8('OnRedClick')] = R1
0023  GETTABUP  R0 = _ENV[K0('MailDataWindow')]
0024  CLOSURE   R1 = closure proto5
0025  SETTABLE  R0[K9('OnGreenClick')] = R1
0026  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 4-14 np=2 va=0 ms=10 code=31 consts=15 upvals=1 protos=0
  ;   K[0]='m_confirmText'
  ;   K[1]=nil
  ;   K[2]='m_descText'
  ;   K[3]='text'
  ;   K[4]='GM'
  ;   K[5]='GameTextModel'
  ;   K[6]='GetText'
  ;   K[7]='show_data_desc_2'
  ;   K[8]='string'
  ;   K[9]='gsub'
  ;   K[10]='(.)([%w_%-%.]+)(@.+)'
  ;   K[11]='%1***%3'
  ;   K[12]='show_data_desc_1'
  ;   K[13]='_UpdateConfirmButton'
  ;   K[14]='_AdjustSize'
  ;   upvals: _ENV
  ;   locals: self(0-31), confirmText(0-31)
  0000  SETTABLE  R0[K0('m_confirmText')] = R1
  0001  GETTABLE  R2 = R0[K0('m_confirmText')]
  0002  EQ        if R1 eq K1(nil)   -> -129787
  0003  JMP       (jump)   -> 18
  0004  GETTABLE  R2 = R0[K2('m_descText')]
  0005  GETTABUP  R3 = _ENV[K4('GM')]
  0006  GETTABLE  R3 = R3[K5('GameTextModel')]
  0007  SELF      R4 = R3[K6('GetText')] (self)
  0008  LOADK     R5 = K7 'show_data_desc_2'
  0009  GETTABUP  R6 = _ENV[K8('string')]
  0010  GETTABLE  R6 = R6[K9('gsub')]
  0011  GETTABLE  R7 = R0[K0('m_confirmText')]
  0012  LOADK     R8 = K10 '(.)([%w_%-%.]+)(@.+)'
  0013  LOADK     R9 = K11 '%1***%3'
  0014  CALL      R6 = call(R6, -1 args, 3 rets)
  0015  CALL      R3 = call(R3, 1 args, -1 rets)
  0016  SETTABLE  R2[K3('text')] = R3
  0017  JMP       (jump)   -> 25
  0018  GETTABLE  R2 = R0[K2('m_descText')]
  0019  GETTABUP  R3 = _ENV[K4('GM')]
  0020  GETTABLE  R3 = R3[K5('GameTextModel')]
  0021  SELF      R4 = R3[K6('GetText')] (self)
  0022  LOADK     R5 = K12 'show_data_desc_1'
  0023  CALL      R3 = call(R3, 1 args, 2 rets)
  0024  SETTABLE  R2[K3('text')] = R3
  0025  SELF      R3 = R0[K13('_UpdateConfirmButton')] (self)
  0026  LOADBOOL  R4 = false
  0027  CALL      R2 = call(R2, 0 args, 2 rets)
  0028  SELF      R3 = R0[K14('_AdjustSize')] (self)
  0029  CALL      R2 = call(R2, 0 args, 1 rets)
  0030  RETURN    return R0..R-1
; ---------- proto1 [OnInputEditing] ----------
  ; fn ?  line 16-18 np=1 va=0 ms=5 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='_UpdateConfirmButton'
  ;   K[1]='IsInputLegal'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_UpdateConfirmButton')] (self)
  0001  SELF      R4 = R0[K1('IsInputLegal')] (self)
  0002  CALL      R3 = call(R3, -1 args, 1 rets)
  0003  CALL      R1 = call(R1, 0 args, -1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto2 [IsInputLegal] ----------
  ; fn ?  line 20-27 np=1 va=0 ms=8 code=28 consts=8 upvals=1 protos=0
  ;   K[0]='m_confirmText'
  ;   K[1]=nil
  ;   K[2]='m_inputField'
  ;   K[3]='text'
  ;   K[4]='[%w-_%.]+'
  ;   K[5]='string'
  ;   K[6]='match'
  ;   K[7]='@'
  ;   upvals: _ENV
  ;   locals: self(0-28), inputText(13-28), legalCharPattern(14-28)
  0000  GETTABLE  R1 = R0[K0('m_confirmText')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 11
  0003  GETTABLE  R1 = R0[K2('m_inputField')]
  0004  GETTABLE  R1 = R1[K3('text')]
  0005  GETTABLE  R2 = R0[K0('m_confirmText')]
  0006  EQ        if R1 eq R2   -> -130550
  0007  JMP       (jump)   -> 9
  0008  LOADBOOL  R1 = false
  0009  LOADBOOL  R1 = true
  0010  RETURN    return R1..R0
  0011  GETTABLE  R1 = R0[K2('m_inputField')]
  0012  GETTABLE  R1 = R1[K3('text')]
  0013  LOADK     R2 = K4 '[%w-_%.]+'
  0014  GETTABUP  R3 = _ENV[K5('string')]
  0015  GETTABLE  R3 = R3[K6('match')]
  0016  MOVE      R4 = R0
  0017  MOVE      R5 = R0
  0018  LOADK     R6 = K7 '@'
  0019  MOVE      R7 = R0
  0020  CONCAT    R5 = concat(R5..R5)
  0021  CALL      R3 = call(R3, 1 args, 2 rets)
  0022  EQ        if R1 eq R3   -> -130533
  0023  JMP       (jump)   -> 25
  0024  LOADBOOL  R3 = false
  0025  LOADBOOL  R3 = true
  0026  RETURN    return R3..R2
  0027  RETURN    return R0..R-1
; ---------- proto3 [_UpdateConfirmButton] ----------
  ; fn ?  line 29-33 np=2 va=0 ms=5 code=7 consts=5 upvals=0 protos=0
  ;   K[0]='m_confirmButtonTb'
  ;   K[1]='SetEnabled'
  ;   K[2]='m_confirmBtn'
  ;   K[3]='enabled'
  ;   K[4]=true
  ;   locals: self(0-7), enable(0-7)
  0000  GETTABLE  R2 = R0[K0('m_confirmButtonTb')]
  0001  SELF      R3 = R2[K1('SetEnabled')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  GETTABLE  R2 = R0[K2('m_confirmBtn')]
  0005  SETTABLE  R2[K3('enabled')] = K4(true)
  0006  RETURN    return R0..R-1
; ---------- proto4 [OnRedClick] ----------
  ; fn ?  line 35-37 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='Close'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('Close')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto5 [OnGreenClick] ----------
  ; fn ?  line 39-51 np=1 va=0 ms=6 code=39 consts=18 upvals=1 protos=0
  ;   K[0]='IsInputLegal'
  ;   K[1]='GM'
  ;   K[2]='UIManager'
  ;   K[3]='ShowPromptWithKey'
  ;   K[4]='m_confirmText'
  ;   K[5]=nil
  ;   K[6]='show_data_error_1'
  ;   K[7]='show_data_error_2'
  ;   K[8]='OperManager'
  ;   K[9]='SendUserDataEmail'
  ;   K[10]='OpenView'
  ;   K[11]='UIPrefabConfigName'
  ;   K[12]='MailDataWindow'
  ;   K[13]='StringUtil'
  ;   K[14]='Trim'
  ;   K[15]='m_inputField'
  ;   K[16]='text'
  ;   K[17]='Close'
  ;   upvals: _ENV
  ;   locals: self(0-39)
  0000  SELF      R2 = R0[K0('IsInputLegal')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 16
  0004  GETTABUP  R1 = _ENV[K1('GM')]
  0005  GETTABLE  R1 = R1[K2('UIManager')]
  0006  SELF      R2 = R1[K3('ShowPromptWithKey')] (self)
  0007  GETTABLE  R3 = R0[K4('m_confirmText')]
  0008  EQ        if R1 eq K5(nil)   -> -129265
  0009  JMP       (jump)   -> 13
  0010  LOADK     R3 = K6 'show_data_error_1'
  0011  TEST      if not R3 then   -> -131058
  0012  JMP       (jump)   -> 14
  0013  LOADK     R3 = K7 'show_data_error_2'
  0014  CALL      R1 = call(R1, 0 args, 2 rets)
  0015  RETURN    return R0..R-1
  0016  GETTABLE  R1 = R0[K4('m_confirmText')]
  0017  EQ        if R1 eq K5(nil)   -> -130280
  0018  JMP       (jump)   -> 25
  0019  GETTABUP  R1 = _ENV[K1('GM')]
  0020  GETTABLE  R1 = R1[K8('OperManager')]
  0021  SELF      R2 = R1[K9('SendUserDataEmail')] (self)
  0022  GETTABLE  R3 = R0[K4('m_confirmText')]
  0023  CALL      R1 = call(R1, 0 args, 2 rets)
  0024  JMP       (jump)   -> 36
  0025  GETTABUP  R1 = _ENV[K1('GM')]
  0026  GETTABLE  R1 = R1[K2('UIManager')]
  0027  SELF      R2 = R1[K10('OpenView')] (self)
  0028  GETTABUP  R3 = _ENV[K11('UIPrefabConfigName')]
  0029  GETTABLE  R3 = R3[K12('MailDataWindow')]
  0030  GETTABUP  R4 = _ENV[K13('StringUtil')]
  0031  GETTABLE  R4 = R4[K14('Trim')]
  0032  GETTABLE  R5 = R0[K15('m_inputField')]
  0033  GETTABLE  R5 = R5[K16('text')]
  0034  CALL      R4 = call(R4, -1 args, 1 rets)
  0035  CALL      R1 = call(R1, 0 args, -1 rets)
  0036  SELF      R2 = R0[K17('Close')] (self)
  0037  CALL      R1 = call(R1, 0 args, 1 rets)
  0038  RETURN    return R0..R-1
