class com.jcraft.jsch.UserAuthKeyboardInteractive extends com.jcraft.jsch.UserAuth
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.jcraft.jsch.UserAuthKeyboardInteractive
  super_class: com.jcraft.jsch.UserAuth
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.UserAuthKeyboardInteractive this
         0: .line 32
            aload 0 /* this */
            invokespecial com.jcraft.jsch.UserAuth.<init>:()V
            return
        end local 0 // com.jcraft.jsch.UserAuthKeyboardInteractive this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/UserAuthKeyboardInteractive;

  public boolean start(com.jcraft.jsch.Session);
    descriptor: (Lcom/jcraft/jsch/Session;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=2
        start local 0 // com.jcraft.jsch.UserAuthKeyboardInteractive this
        start local 1 // com.jcraft.jsch.Session session
         0: .line 34
            aload 0 /* this */
            aload 1 /* session */
            invokespecial com.jcraft.jsch.UserAuth.start:(Lcom/jcraft/jsch/Session;)Z
            pop
         1: .line 36
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
            ifnull 3
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
            instanceof com.jcraft.jsch.UIKeyboardInteractive
            ifne 3
         2: .line 37
            iconst_0
            ireturn
         3: .line 40
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.username:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* session */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* dest */
        start local 2 // java.lang.String dest
         4: .line 41
            aload 1 /* session */
            getfield com.jcraft.jsch.Session.port:I
            bipush 22
            if_icmpeq 6
         5: .line 42
            new java.lang.StringBuilder
            dup
            aload 2 /* dest */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* session */
            getfield com.jcraft.jsch.Session.port:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* dest */
         6: .line 44
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* session */
            getfield com.jcraft.jsch.Session.password:[B
            astore 3 /* password */
        start local 3 // byte[] password
         7: .line 46
            iconst_0
            istore 4 /* cancel */
        start local 4 // boolean cancel
         8: .line 48
            aconst_null
            astore 5 /* _username */
        start local 5 // byte[] _username
         9: .line 49
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.username:Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            astore 5 /* _username */
        10: .line 53
      StackMap locals: byte[] int byte[]
      StackMap stack:
            aload 1 /* session */
            getfield com.jcraft.jsch.Session.auth_failures:I
            aload 1 /* session */
            getfield com.jcraft.jsch.Session.max_auth_tries:I
            if_icmplt 12
        11: .line 54
            iconst_0
            ireturn
        12: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.packet:Lcom/jcraft/jsch/Packet;
            invokevirtual com.jcraft.jsch.Packet.reset:()V
        13: .line 65
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            bipush 50
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        14: .line 66
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            aload 5 /* _username */
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        15: .line 67
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            ldc "ssh-connection"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        16: .line 69
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            ldc "keyboard-interactive"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        17: .line 70
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            getstatic com.jcraft.jsch.Util.empty:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        18: .line 71
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            getstatic com.jcraft.jsch.Util.empty:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        19: .line 72
            aload 1 /* session */
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.packet:Lcom/jcraft/jsch/Packet;
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
        20: .line 74
            iconst_1
            istore 6 /* firsttime */
        start local 6 // boolean firsttime
        21: .line 77
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Session.read:(Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/Buffer;
            putfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
        22: .line 78
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            sipush 255
            iand
            istore 7 /* command */
        start local 7 // int command
        23: .line 80
            iload 7 /* command */
            bipush 52
            if_icmpne 25
        24: .line 81
            iconst_1
            ireturn
        25: .line 83
      StackMap locals: int
      StackMap stack:
            iload 7 /* command */
            bipush 53
            if_icmpne 33
        26: .line 84
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
        27: .line 85
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            astore 8 /* _message */
        start local 8 // byte[] _message
        28: .line 86
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            pop
        29: .line 87
            aload 8 /* _message */
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            astore 9 /* message */
        start local 9 // java.lang.String message
        30: .line 88
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
            ifnull 21
        31: .line 89
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
            aload 9 /* message */
            invokeinterface com.jcraft.jsch.UserInfo.showMessage:(Ljava/lang/String;)V
        32: .line 91
            goto 21
        end local 9 // java.lang.String message
        end local 8 // byte[] _message
        33: .line 93
      StackMap locals:
      StackMap stack:
            iload 7 /* command */
            bipush 51
            if_icmpne 43
        34: .line 94
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
        35: .line 95
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            astore 8 /* foo */
        start local 8 // byte[] foo
        36: .line 96
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            istore 9 /* partial_success */
        start local 9 // int partial_success
        37: .line 100
            iload 9 /* partial_success */
            ifeq 39
        38: .line 101
            new com.jcraft.jsch.JSchPartialAuthException
            dup
            aload 8 /* foo */
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchPartialAuthException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 104
      StackMap locals: byte[] int
      StackMap stack:
            iload 6 /* firsttime */
            ifeq 41
        40: .line 105
            iconst_0
            ireturn
        41: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            dup
            getfield com.jcraft.jsch.Session.auth_failures:I
            iconst_1
            iadd
            putfield com.jcraft.jsch.Session.auth_failures:I
        42: .line 110
            goto 112
        end local 9 // int partial_success
        end local 8 // byte[] foo
        43: .line 112
      StackMap locals:
      StackMap stack:
            iload 7 /* command */
            bipush 60
            if_icmpne 111
        44: .line 113
            iconst_0
            istore 6 /* firsttime */
        45: .line 114
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
        46: .line 115
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        47: .line 116
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            astore 9 /* instruction */
        start local 9 // java.lang.String instruction
        48: .line 117
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            pop
        49: .line 118
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 10 /* num */
        start local 10 // int num
        50: .line 119
            iload 10 /* num */
            anewarray java.lang.String
            astore 11 /* prompt */
        start local 11 // java.lang.String[] prompt
        51: .line 120
            iload 10 /* num */
            newarray 4
            astore 12 /* echo */
        start local 12 // boolean[] echo
        52: .line 121
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        53: goto 59
        54: .line 122
      StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int java.lang.String java.lang.String int java.lang.String[] boolean[] int
      StackMap stack:
            aload 11 /* prompt */
            iload 13 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            aastore
        55: .line 123
            aload 12 /* echo */
            iload 13 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            ifeq 56
            iconst_1
            goto 57
      StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int java.lang.String java.lang.String int java.lang.String[] boolean[] int
      StackMap stack: boolean[] int
        56: iconst_0
      StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int java.lang.String java.lang.String int java.lang.String[] boolean[] int
      StackMap stack: boolean[] int int
        57: bastore
        58: .line 121
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 13 /* i */
            iload 10 /* num */
            if_icmplt 54
        end local 13 // int i
        60: .line 126
            aconst_null
            astore 13 /* response */
        start local 13 // byte[][] response
        61: .line 128
            aload 3 /* password */
            ifnull 69
        62: .line 129
            aload 11 /* prompt */
            arraylength
            iconst_1
            if_icmpne 69
        63: .line 130
            aload 12 /* echo */
            iconst_0
            baload
            ifne 69
        64: .line 131
            aload 11 /* prompt */
            iconst_0
            aaload
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc "password:"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 69
        65: .line 132
            iconst_1
            anewarray byte[]
            astore 13 /* response */
        66: .line 133
            aload 13 /* response */
            iconst_0
            aload 3 /* password */
            aastore
        67: .line 134
            aconst_null
            astore 3 /* password */
        68: .line 135
            goto 86
        69: .line 136
      StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int java.lang.String java.lang.String int java.lang.String[] boolean[] byte[][]
      StackMap stack:
            iload 10 /* num */
            ifgt 71
        70: .line 137
            aload 8 /* name */
            invokevirtual java.lang.String.length:()I
            ifgt 71
            aload 9 /* instruction */
            invokevirtual java.lang.String.length:()I
            ifle 86
        71: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
            ifnull 86
        72: .line 140
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
            checkcast com.jcraft.jsch.UIKeyboardInteractive
            astore 14 /* kbi */
        start local 14 // com.jcraft.jsch.UIKeyboardInteractive kbi
        73: .line 141
            aload 14 /* kbi */
            aload 2 /* dest */
        74: .line 142
            aload 8 /* name */
        75: .line 143
            aload 9 /* instruction */
        76: .line 144
            aload 11 /* prompt */
        77: .line 145
            aload 12 /* echo */
        78: .line 141
            invokeinterface com.jcraft.jsch.UIKeyboardInteractive.promptKeyboardInteractive:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Z)[Ljava/lang/String;
            astore 15 /* _response */
        start local 15 // java.lang.String[] _response
        79: .line 146
            aload 15 /* _response */
            ifnull 86
        80: .line 147
            aload 15 /* _response */
            arraylength
            anewarray byte[]
            astore 13 /* response */
        81: .line 148
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        82: goto 85
        83: .line 149
      StackMap locals: com.jcraft.jsch.UIKeyboardInteractive java.lang.String[] int
      StackMap stack:
            aload 13 /* response */
            iload 16 /* i */
            aload 15 /* _response */
            iload 16 /* i */
            aaload
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
        84: .line 148
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        85: iload 16 /* i */
            aload 15 /* _response */
            arraylength
            if_icmplt 83
        end local 16 // int i
        end local 15 // java.lang.String[] _response
        end local 14 // com.jcraft.jsch.UIKeyboardInteractive kbi
        86: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.packet:Lcom/jcraft/jsch/Packet;
            invokevirtual com.jcraft.jsch.Packet.reset:()V
        87: .line 161
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            bipush 61
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        88: .line 162
            iload 10 /* num */
            ifle 103
        89: .line 163
            aload 13 /* response */
            ifnull 91
        90: .line 164
            iload 10 /* num */
            aload 13 /* response */
            arraylength
            if_icmpeq 103
        91: .line 166
      StackMap locals:
      StackMap stack:
            aload 13 /* response */
            ifnonnull 99
        92: .line 168
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            iload 10 /* num */
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        93: .line 169
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        94: goto 97
        95: .line 170
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            getstatic com.jcraft.jsch.Util.empty:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        96: .line 169
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        97: iload 14 /* i */
            iload 10 /* num */
            if_icmplt 95
        end local 14 // int i
        98: .line 172
            goto 100
        99: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            iconst_0
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
       100: .line 177
      StackMap locals:
      StackMap stack:
            aload 13 /* response */
            ifnonnull 109
       101: .line 178
            iconst_1
            istore 4 /* cancel */
       102: .line 179
            goto 109
       103: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            iload 10 /* num */
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
       104: .line 182
            iconst_0
            istore 14 /* i */
        start local 14 // int i
       105: goto 108
       106: .line 183
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
            aload 13 /* response */
            iload 14 /* i */
            aaload
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
       107: .line 182
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
       108: iload 14 /* i */
            iload 10 /* num */
            if_icmplt 106
        end local 14 // int i
       109: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 0 /* this */
            getfield com.jcraft.jsch.UserAuthKeyboardInteractive.packet:Lcom/jcraft/jsch/Packet;
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
       110: .line 191
            goto 21
        end local 13 // byte[][] response
        end local 12 // boolean[] echo
        end local 11 // java.lang.String[] prompt
        end local 10 // int num
        end local 9 // java.lang.String instruction
        end local 8 // java.lang.String name
       111: .line 194
      StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // int command
       112: .line 196
      StackMap locals:
      StackMap stack:
            iload 4 /* cancel */
            ifeq 10
       113: .line 197
            new com.jcraft.jsch.JSchAuthCancelException
            dup
            ldc "keyboard-interactive"
            invokespecial com.jcraft.jsch.JSchAuthCancelException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // boolean firsttime
        end local 5 // byte[] _username
        end local 4 // boolean cancel
        end local 3 // byte[] password
        end local 2 // java.lang.String dest
        end local 1 // com.jcraft.jsch.Session session
        end local 0 // com.jcraft.jsch.UserAuthKeyboardInteractive this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  114     0             this  Lcom/jcraft/jsch/UserAuthKeyboardInteractive;
            0  114     1          session  Lcom/jcraft/jsch/Session;
            4  114     2             dest  Ljava/lang/String;
            7  114     3         password  [B
            8  114     4           cancel  Z
            9  114     5        _username  [B
           21  114     6        firsttime  Z
           23  112     7          command  I
           28   33     8         _message  [B
           30   33     9          message  Ljava/lang/String;
           36   43     8              foo  [B
           37   43     9  partial_success  I
           47  111     8             name  Ljava/lang/String;
           48  111     9      instruction  Ljava/lang/String;
           50  111    10              num  I
           51  111    11           prompt  [Ljava/lang/String;
           52  111    12             echo  [Z
           53   60    13                i  I
           61  111    13         response  [[B
           73   86    14              kbi  Lcom/jcraft/jsch/UIKeyboardInteractive;
           79   86    15        _response  [Ljava/lang/String;
           82   86    16                i  I
           94   98    14                i  I
          105  109    14                i  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      session  
}
SourceFile: "UserAuthKeyboardInteractive.java"