public class com.jcraft.jsch.KnownHosts implements com.jcraft.jsch.HostKeyRepository
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.KnownHosts
  super_class: java.lang.Object
{
  private static final java.lang.String _known_hosts;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "known_hosts"

  private com.jcraft.jsch.JSch jsch;
    descriptor: Lcom/jcraft/jsch/JSch;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String known_hosts;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Vector pool;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.MAC hmacsha1;
    descriptor: Lcom/jcraft/jsch/MAC;
    flags: (0x0002) ACC_PRIVATE

  private static final byte[] space;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] cr;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 426
            iconst_1
            newarray 8
            dup
            iconst_0
            bipush 32
            bastore
            putstatic com.jcraft.jsch.KnownHosts.space:[B
         1: .line 427
            ldc "\n"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putstatic com.jcraft.jsch.KnownHosts.cr:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.jcraft.jsch.JSch);
    descriptor: (Lcom/jcraft/jsch/JSch;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // com.jcraft.jsch.JSch jsch
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.KnownHosts.jsch:Lcom/jcraft/jsch/JSch;
         2: .line 39
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.KnownHosts.known_hosts:Ljava/lang/String;
         3: .line 40
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
         4: .line 42
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.KnownHosts.hmacsha1:Lcom/jcraft/jsch/MAC;
         5: .line 46
            aload 0 /* this */
            aload 1 /* jsch */
            putfield com.jcraft.jsch.KnownHosts.jsch:Lcom/jcraft/jsch/JSch;
         6: .line 47
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KnownHosts.getHMACSHA1:()Lcom/jcraft/jsch/MAC;
            putfield com.jcraft.jsch.KnownHosts.hmacsha1:Lcom/jcraft/jsch/MAC;
         7: .line 48
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
         8: .line 49
            return
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/jcraft/jsch/KnownHosts;
            0    9     1  jsch  Lcom/jcraft/jsch/JSch;
    MethodParameters:
      Name  Flags
      jsch  

  void setKnownHosts(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String filename
         0: .line 53
            aload 0 /* this */
            aload 1 /* filename */
            putfield com.jcraft.jsch.KnownHosts.known_hosts:Ljava/lang/String;
         1: .line 54
            new java.io.FileInputStream
            dup
            aload 1 /* filename */
            invokestatic com.jcraft.jsch.Util.checkTilde:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 2 /* fis */
        start local 2 // java.io.FileInputStream fis
         2: .line 55
            aload 0 /* this */
            aload 2 /* fis */
            invokevirtual com.jcraft.jsch.KnownHosts.setKnownHosts:(Ljava/io/InputStream;)V
        end local 2 // java.io.FileInputStream fis
         3: .line 56
            goto 5
         4: .line 57
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            pop
         5: .line 60
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String filename
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/jcraft/jsch/KnownHosts;
            0    6     1  filename  Ljava/lang/String;
            2    3     2       fis  Ljava/io/FileInputStream;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.FileNotFoundException
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
          Name  Flags
      filename  

  void setKnownHosts(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=18, args_size=2
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.io.InputStream input
         0: .line 62
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.removeAllElements:()V
         1: .line 63
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuffer sb
         2: .line 66
            iconst_0
            istore 5 /* error */
        start local 5 // boolean error
         3: .line 68
            aload 1 /* input */
            astore 6 /* fis */
        start local 6 // java.io.InputStream fis
         4: .line 70
            aconst_null
            astore 8 /* key */
        start local 8 // java.lang.String key
         5: .line 72
            sipush 1024
            newarray 8
            astore 10 /* buf */
        start local 10 // byte[] buf
         6: .line 73
            iconst_0
            istore 11 /* bufl */
        start local 11 // int bufl
         7: .line 76
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top top int java.io.InputStream top java.lang.String top byte[] int
      StackMap stack:
            iconst_0
            istore 11 /* bufl */
         8: .line 78
      StackMap locals:
      StackMap stack:
            aload 6 /* fis */
            invokevirtual java.io.InputStream.read:()I
            istore 4 /* j */
        start local 4 // int j
         9: .line 79
            iload 4 /* j */
            iconst_m1
            if_icmpne 11
        10: .line 80
            iload 11 /* bufl */
            ifne 20
            goto 117
        11: .line 83
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream top java.lang.String top byte[] int
      StackMap stack:
            iload 4 /* j */
            bipush 13
            if_icmpne 12
            goto 8
        12: .line 84
      StackMap locals:
      StackMap stack:
            iload 4 /* j */
            bipush 10
            if_icmpne 13
            goto 20
        13: .line 85
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            arraylength
            iload 11 /* bufl */
            if_icmpgt 18
        14: .line 86
            iload 11 /* bufl */
            sipush 10240
            if_icmple 15
            goto 20
        15: .line 87
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            arraylength
            iconst_2
            imul
            newarray 8
            astore 12 /* newbuf */
        start local 12 // byte[] newbuf
        16: .line 88
            aload 10 /* buf */
            iconst_0
            aload 12 /* newbuf */
            iconst_0
            aload 10 /* buf */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 89
            aload 12 /* newbuf */
            astore 10 /* buf */
        end local 12 // byte[] newbuf
        18: .line 91
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            iload 11 /* bufl */
            iinc 11 /* bufl */ 1
            iload 4 /* j */
            i2b
            bastore
        end local 4 // int j
        19: .line 77
            goto 8
        start local 4 // int j
        20: .line 94
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* j */
        21: .line 95
            goto 28
        22: .line 96
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            baload
            istore 3 /* i */
        start local 3 // byte i
        23: .line 97
            iload 3 /* i */
            bipush 32
            if_icmpeq 24
            iload 3 /* i */
            bipush 9
            if_icmpne 25
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream top java.lang.String top byte[] int
      StackMap stack:
        24: iinc 4 /* j */ 1
            goto 28
        25: .line 98
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            bipush 35
            if_icmpne 29
        26: .line 99
            aload 0 /* this */
            aload 10 /* buf */
            iconst_0
            iload 11 /* bufl */
            invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.KnownHosts.addInvalidLine:(Ljava/lang/String;)V
        27: .line 100
            goto 7
        end local 3 // byte i
        28: .line 95
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream top java.lang.String top byte[] int
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 22
        29: .line 104
      StackMap locals:
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 32
        30: .line 105
            aload 0 /* this */
            aload 10 /* buf */
            iconst_0
            iload 11 /* bufl */
            invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.KnownHosts.addInvalidLine:(Ljava/lang/String;)V
        31: .line 106
            goto 7
        32: .line 109
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        33: .line 110
            goto 37
        34: .line 111
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            iinc 4 /* j */ 1
            baload
            istore 3 /* i */
        start local 3 // byte i
        35: .line 112
            iload 3 /* i */
            bipush 32
            if_icmpeq 38
            iload 3 /* i */
            bipush 9
            if_icmpne 36
            goto 38
        36: .line 113
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream top java.lang.String top byte[] int
      StackMap stack:
            aload 2 /* sb */
            iload 3 /* i */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // byte i
        37: .line 110
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream top java.lang.String top byte[] int
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 34
        38: .line 115
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 7 /* host */
        start local 7 // java.lang.String host
        39: .line 116
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmpge 40
            aload 7 /* host */
            invokevirtual java.lang.String.length:()I
            ifne 45
        40: .line 117
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String top byte[] int
      StackMap stack:
            aload 0 /* this */
            aload 10 /* buf */
            iconst_0
            iload 11 /* bufl */
            invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.KnownHosts.addInvalidLine:(Ljava/lang/String;)V
        41: .line 118
            goto 7
        42: .line 122
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            baload
            istore 3 /* i */
        start local 3 // byte i
        43: .line 123
            iload 3 /* i */
            bipush 32
            if_icmpeq 44
            iload 3 /* i */
            bipush 9
            if_icmpne 46
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream java.lang.String java.lang.String top byte[] int
      StackMap stack:
        44: iinc 4 /* j */ 1
        end local 3 // byte i
        45: .line 121
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String top byte[] int
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 42
        46: .line 127
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 12 /* marker */
        start local 12 // java.lang.String marker
        47: .line 128
            aload 7 /* host */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 64
            if_icmpne 63
        48: .line 129
            aload 7 /* host */
            astore 12 /* marker */
        49: .line 131
            aload 2 /* sb */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        50: .line 132
            goto 54
        51: .line 133
      StackMap locals: java.lang.String
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            iinc 4 /* j */ 1
            baload
            istore 3 /* i */
        start local 3 // byte i
        52: .line 134
            iload 3 /* i */
            bipush 32
            if_icmpeq 55
            iload 3 /* i */
            bipush 9
            if_icmpne 53
            goto 55
        53: .line 135
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream java.lang.String java.lang.String top byte[] int java.lang.String
      StackMap stack:
            aload 2 /* sb */
            iload 3 /* i */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // byte i
        54: .line 132
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String top byte[] int java.lang.String
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 51
        55: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 7 /* host */
        56: .line 138
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmpge 57
            aload 7 /* host */
            invokevirtual java.lang.String.length:()I
            ifne 62
        57: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* buf */
            iconst_0
            iload 11 /* bufl */
            invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.KnownHosts.addInvalidLine:(Ljava/lang/String;)V
        58: .line 140
            goto 7
        59: .line 144
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            baload
            istore 3 /* i */
        start local 3 // byte i
        60: .line 145
            iload 3 /* i */
            bipush 32
            if_icmpeq 61
            iload 3 /* i */
            bipush 9
            if_icmpne 63
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream java.lang.String java.lang.String top byte[] int java.lang.String
      StackMap stack:
        61: iinc 4 /* j */ 1
        end local 3 // byte i
        62: .line 143
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String top byte[] int java.lang.String
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 59
        63: .line 150
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        64: .line 151
            iconst_m1
            istore 9 /* type */
        start local 9 // int type
        65: .line 152
            goto 69
        66: .line 153
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            iinc 4 /* j */ 1
            baload
            istore 3 /* i */
        start local 3 // byte i
        67: .line 154
            iload 3 /* i */
            bipush 32
            if_icmpeq 70
            iload 3 /* i */
            bipush 9
            if_icmpne 68
            goto 70
        68: .line 155
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String
      StackMap stack:
            aload 2 /* sb */
            iload 3 /* i */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // byte i
        69: .line 152
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 66
        70: .line 157
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 13 /* tmp */
        start local 13 // java.lang.String tmp
        71: .line 158
            aload 13 /* tmp */
            invokestatic com.jcraft.jsch.HostKey.name2type:(Ljava/lang/String;)I
            bipush 6
            if_icmpeq 74
        72: .line 159
            aload 13 /* tmp */
            invokestatic com.jcraft.jsch.HostKey.name2type:(Ljava/lang/String;)I
            istore 9 /* type */
        73: .line 160
            goto 75
        74: .line 161
      StackMap locals: java.lang.String
      StackMap stack:
            iload 11 /* bufl */
            istore 4 /* j */
        75: .line 162
      StackMap locals:
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 81
        76: .line 163
            aload 0 /* this */
            aload 10 /* buf */
            iconst_0
            iload 11 /* bufl */
            invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.KnownHosts.addInvalidLine:(Ljava/lang/String;)V
        77: .line 164
            goto 7
        78: .line 168
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            baload
            istore 3 /* i */
        start local 3 // byte i
        79: .line 169
            iload 3 /* i */
            bipush 32
            if_icmpeq 80
            iload 3 /* i */
            bipush 9
            if_icmpne 82
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String java.lang.String
      StackMap stack:
        80: iinc 4 /* j */ 1
        end local 3 // byte i
        81: .line 167
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String java.lang.String
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 78
        82: .line 173
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        83: .line 174
            goto 89
        84: .line 175
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            iinc 4 /* j */ 1
            baload
            istore 3 /* i */
        start local 3 // byte i
        85: .line 176
            iload 3 /* i */
            bipush 13
            if_icmpne 86
            goto 89
        86: .line 177
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* i */
            bipush 10
            if_icmpne 87
            goto 90
        87: .line 178
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            bipush 32
            if_icmpeq 90
            iload 3 /* i */
            bipush 9
            if_icmpne 88
            goto 90
        88: .line 179
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            iload 3 /* i */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // byte i
        89: .line 174
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String java.lang.String
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 84
        90: .line 181
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 8 /* key */
        91: .line 182
            aload 8 /* key */
            invokevirtual java.lang.String.length:()I
            ifne 97
        92: .line 183
            aload 0 /* this */
            aload 10 /* buf */
            iconst_0
            iload 11 /* bufl */
            invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.KnownHosts.addInvalidLine:(Ljava/lang/String;)V
        93: .line 184
            goto 7
        94: .line 188
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            baload
            istore 3 /* i */
        start local 3 // byte i
        95: .line 189
            iload 3 /* i */
            bipush 32
            if_icmpeq 96
            iload 3 /* i */
            bipush 9
            if_icmpne 98
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String java.lang.String
      StackMap stack:
        96: iinc 4 /* j */ 1
        end local 3 // byte i
        97: .line 187
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String java.lang.String
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 94
        98: .line 203
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 14 /* comment */
        start local 14 // java.lang.String comment
        99: .line 204
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmpge 108
       100: .line 205
            aload 2 /* sb */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
       101: .line 206
            goto 106
       102: .line 207
      StackMap locals: java.lang.String
      StackMap stack:
            aload 10 /* buf */
            iload 4 /* j */
            iinc 4 /* j */ 1
            baload
            istore 3 /* i */
        start local 3 // byte i
       103: .line 208
            iload 3 /* i */
            bipush 13
            if_icmpne 104
            goto 106
       104: .line 209
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer int int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* i */
            bipush 10
            if_icmpne 105
            goto 107
       105: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            iload 3 /* i */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // byte i
       106: .line 206
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream java.lang.String java.lang.String int byte[] int java.lang.String java.lang.String java.lang.String
      StackMap stack:
            iload 4 /* j */
            iload 11 /* bufl */
            if_icmplt 102
       107: .line 212
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 14 /* comment */
       108: .line 218
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 15 /* hk */
        start local 15 // com.jcraft.jsch.HostKey hk
       109: .line 219
            new com.jcraft.jsch.KnownHosts$HashedHostKey
            dup
            aload 0 /* this */
            aload 12 /* marker */
            aload 7 /* host */
            iload 9 /* type */
       110: .line 220
            aload 8 /* key */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            iconst_0
       111: .line 221
            aload 8 /* key */
            invokevirtual java.lang.String.length:()I
       112: .line 220
            invokestatic com.jcraft.jsch.Util.fromBase64:([BII)[B
       113: .line 221
            aload 14 /* comment */
       114: .line 219
            invokespecial com.jcraft.jsch.KnownHosts$HashedHostKey.<init>:(Lcom/jcraft/jsch/KnownHosts;Ljava/lang/String;Ljava/lang/String;I[BLjava/lang/String;)V
            astore 15 /* hk */
       115: .line 222
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            aload 15 /* hk */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 15 // com.jcraft.jsch.HostKey hk
        end local 14 // java.lang.String comment
        end local 13 // java.lang.String tmp
        end local 12 // java.lang.String marker
        end local 9 // int type
        end local 7 // java.lang.String host
        end local 4 // int j
       116: .line 75
            goto 7
        start local 4 // int j
       117: .line 224
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int java.io.InputStream top java.lang.String top byte[] int
      StackMap stack:
            iload 5 /* error */
            ifeq 131
       118: .line 225
            new com.jcraft.jsch.JSchException
            dup
            ldc "KnownHosts: invalid format"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // int bufl
        end local 10 // byte[] buf
        end local 8 // java.lang.String key
        end local 6 // java.io.InputStream fis
        end local 4 // int j
       119: .line 228
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top top int
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
       120: .line 229
            aload 6 /* e */
            instanceof com.jcraft.jsch.JSchException
            ifeq 122
       121: .line 230
            aload 6 /* e */
            checkcast com.jcraft.jsch.JSchException
            athrow
       122: .line 231
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 6 /* e */
            instanceof java.lang.Throwable
            ifeq 124
       123: .line 232
            new com.jcraft.jsch.JSchException
            dup
            aload 6 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       124: .line 233
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            aload 6 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Exception e
       125: .line 235
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top top int
      StackMap stack: java.lang.Throwable
            astore 16
       126: .line 236
            aload 1 /* input */
            invokevirtual java.io.InputStream.close:()V
       127: goto 130
       128: .line 237
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top top int top top top top top top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
            astore 17 /* e */
        start local 17 // java.io.IOException e
       129: .line 238
            new com.jcraft.jsch.JSchException
            dup
            aload 17 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aload 17 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 17 // java.io.IOException e
       130: .line 240
      StackMap locals:
      StackMap stack:
            aload 16
            athrow
        start local 4 // int j
       131: .line 236
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.InputStream java.lang.StringBuffer top int int
      StackMap stack:
            aload 1 /* input */
            invokevirtual java.io.InputStream.close:()V
       132: goto 135
       133: .line 237
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 17 /* e */
        start local 17 // java.io.IOException e
       134: .line 238
            new com.jcraft.jsch.JSchException
            dup
            aload 17 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aload 17 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 17 // java.io.IOException e
       135: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean error
        end local 4 // int j
        end local 2 // java.lang.StringBuffer sb
        end local 1 // java.io.InputStream input
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  136     0     this  Lcom/jcraft/jsch/KnownHosts;
            0  136     1    input  Ljava/io/InputStream;
            2  136     2       sb  Ljava/lang/StringBuffer;
           23   28     3        i  B
           35   37     3        i  B
           43   45     3        i  B
           52   54     3        i  B
           60   62     3        i  B
           67   69     3        i  B
           79   81     3        i  B
           85   89     3        i  B
           95   97     3        i  B
          103  106     3        i  B
            9   19     4        j  I
           20  116     4        j  I
          117  119     4        j  I
          131  136     4        j  I
            3  136     5    error  Z
            4  119     6      fis  Ljava/io/InputStream;
           39  116     7     host  Ljava/lang/String;
            5  119     8      key  Ljava/lang/String;
           65  116     9     type  I
            6  119    10      buf  [B
            7  119    11     bufl  I
           16   18    12   newbuf  [B
           47  116    12   marker  Ljava/lang/String;
           71  116    13      tmp  Ljava/lang/String;
           99  116    14  comment  Ljava/lang/String;
          109  116    15       hk  Lcom/jcraft/jsch/HostKey;
          120  125     6        e  Ljava/lang/Exception;
          129  130    17        e  Ljava/io/IOException;
          134  135    17        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3   119     119  Class java.lang.Exception
           3   125     125  any
         126   127     128  Class java.io.IOException
         131   132     133  Class java.io.IOException
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
       Name  Flags
      input  

  private void addInvalidLine(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String line
         0: .line 243
            new com.jcraft.jsch.HostKey
            dup
            aload 1 /* line */
            bipush 6
            aconst_null
            invokespecial com.jcraft.jsch.HostKey.<init>:(Ljava/lang/String;I[B)V
            astore 2 /* hk */
        start local 2 // com.jcraft.jsch.HostKey hk
         1: .line 244
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            aload 2 /* hk */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         2: .line 245
            return
        end local 2 // com.jcraft.jsch.HostKey hk
        end local 1 // java.lang.String line
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/KnownHosts;
            0    3     1  line  Ljava/lang/String;
            1    3     2    hk  Lcom/jcraft/jsch/HostKey;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      line  

  java.lang.String getKnownHostsFile();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KnownHosts this
         0: .line 246
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.known_hosts:Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KnownHosts;

  public java.lang.String getKnownHostsRepositoryID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KnownHosts this
         0: .line 247
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.known_hosts:Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KnownHosts;

  public int check(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String host
        start local 2 // byte[] key
         0: .line 250
            iconst_1
            istore 3 /* result */
        start local 3 // int result
         1: .line 251
            aload 1 /* host */
            ifnonnull 3
         2: .line 252
            iload 3 /* result */
            ireturn
         3: .line 255
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 4 /* hk */
        start local 4 // com.jcraft.jsch.HostKey hk
         4: .line 257
            new com.jcraft.jsch.HostKey
            dup
            aload 1 /* host */
            iconst_0
            aload 2 /* key */
            invokespecial com.jcraft.jsch.HostKey.<init>:(Ljava/lang/String;I[B)V
            astore 4 /* hk */
         5: .line 258
            goto 8
         6: .line 259
      StackMap locals: com.jcraft.jsch.KnownHosts java.lang.String byte[] int com.jcraft.jsch.HostKey
      StackMap stack: com.jcraft.jsch.JSchException
            pop
         7: .line 260
            iload 3 /* result */
            ireturn
         8: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            dup
            astore 5
            monitorenter
         9: .line 264
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 18
        11: .line 265
      StackMap locals: java.util.Vector int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            iload 6 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.HostKey
            astore 7 /* _hk */
        start local 7 // com.jcraft.jsch.HostKey _hk
        12: .line 266
            aload 7 /* _hk */
            aload 1 /* host */
            invokevirtual com.jcraft.jsch.HostKey.isMatched:(Ljava/lang/String;)Z
            ifeq 17
            aload 7 /* _hk */
            getfield com.jcraft.jsch.HostKey.type:I
            aload 4 /* hk */
            getfield com.jcraft.jsch.HostKey.type:I
            if_icmpne 17
        13: .line 267
            aload 7 /* _hk */
            getfield com.jcraft.jsch.HostKey.key:[B
            aload 2 /* key */
            invokestatic com.jcraft.jsch.Util.array_equals:([B[B)Z
            ifeq 16
        14: .line 268
            aload 5
            monitorexit
        15: iconst_0
            ireturn
        16: .line 271
      StackMap locals: com.jcraft.jsch.HostKey
      StackMap stack:
            iconst_2
            istore 3 /* result */
        end local 7 // com.jcraft.jsch.HostKey _hk
        17: .line 264
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 11
        end local 6 // int i
        19: .line 263
            aload 5
            monitorexit
        20: goto 23
      StackMap locals: com.jcraft.jsch.KnownHosts java.lang.String byte[] int com.jcraft.jsch.HostKey java.util.Vector
      StackMap stack: java.lang.Throwable
        21: aload 5
            monitorexit
        22: athrow
        23: .line 277
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            iconst_1
            if_icmpne 27
        24: .line 278
            aload 1 /* host */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        25: .line 279
            aload 1 /* host */
            ldc "]:"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            if_icmple 27
        26: .line 281
            aload 0 /* this */
            aload 1 /* host */
            iconst_1
            aload 1 /* host */
            ldc "]:"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 2 /* key */
            invokevirtual com.jcraft.jsch.KnownHosts.check:(Ljava/lang/String;[B)I
            ireturn
        27: .line 284
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 4 // com.jcraft.jsch.HostKey hk
        end local 3 // int result
        end local 2 // byte[] key
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   28     0    this  Lcom/jcraft/jsch/KnownHosts;
            0   28     1    host  Ljava/lang/String;
            0   28     2     key  [B
            1   28     3  result  I
            4   28     4      hk  Lcom/jcraft/jsch/HostKey;
           10   19     6       i  I
           12   17     7     _hk  Lcom/jcraft/jsch/HostKey;
      Exception table:
        from    to  target  type
           4     5       6  Class com.jcraft.jsch.JSchException
           9    15      21  any
          16    20      21  any
          21    22      21  any
    MethodParameters:
      Name  Flags
      host  
      key   

  public void add(com.jcraft.jsch.HostKey, com.jcraft.jsch.UserInfo);
    descriptor: (Lcom/jcraft/jsch/HostKey;Lcom/jcraft/jsch/UserInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // com.jcraft.jsch.HostKey hostkey
        start local 2 // com.jcraft.jsch.UserInfo userinfo
         0: .line 288
            aload 1 /* hostkey */
            getfield com.jcraft.jsch.HostKey.type:I
            istore 3 /* type */
        start local 3 // int type
         1: .line 289
            aload 1 /* hostkey */
            invokevirtual com.jcraft.jsch.HostKey.getHost:()Ljava/lang/String;
            astore 4 /* host */
        start local 4 // java.lang.String host
         2: .line 290
            aload 1 /* hostkey */
            getfield com.jcraft.jsch.HostKey.key:[B
            pop
         3: .line 292
            aconst_null
            astore 5 /* hk */
        start local 5 // com.jcraft.jsch.HostKey hk
         4: .line 293
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            dup
            astore 6
            monitorenter
         5: .line 294
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 10
         7: .line 295
      StackMap locals: com.jcraft.jsch.KnownHosts com.jcraft.jsch.HostKey com.jcraft.jsch.UserInfo int java.lang.String com.jcraft.jsch.HostKey java.util.Vector int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            iload 7 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.HostKey
            astore 5 /* hk */
         8: .line 296
            aload 5 /* hk */
            aload 4 /* host */
            invokevirtual com.jcraft.jsch.HostKey.isMatched:(Ljava/lang/String;)Z
            ifeq 9
            aload 5 /* hk */
            getfield com.jcraft.jsch.HostKey.type:I
            pop
         9: .line 294
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 7 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 7
        end local 7 // int i
        11: .line 293
            aload 6
            monitorexit
        12: goto 15
      StackMap locals: com.jcraft.jsch.KnownHosts com.jcraft.jsch.HostKey com.jcraft.jsch.UserInfo int java.lang.String com.jcraft.jsch.HostKey java.util.Vector
      StackMap stack: java.lang.Throwable
        13: aload 6
            monitorexit
        14: athrow
        15: .line 312
      StackMap locals:
      StackMap stack:
            aload 1 /* hostkey */
            astore 5 /* hk */
        16: .line 314
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            aload 5 /* hk */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        17: .line 316
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KnownHosts.getKnownHostsRepositoryID:()Ljava/lang/String;
            astore 6 /* bar */
        start local 6 // java.lang.String bar
        18: .line 317
            aload 6 /* bar */
            ifnull 44
        19: .line 318
            iconst_1
            istore 7 /* foo */
        start local 7 // boolean foo
        20: .line 319
            new java.io.File
            dup
            aload 6 /* bar */
            invokestatic com.jcraft.jsch.Util.checkTilde:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 8 /* goo */
        start local 8 // java.io.File goo
        21: .line 320
            aload 8 /* goo */
            invokevirtual java.io.File.exists:()Z
            ifne 39
        22: .line 321
            iconst_0
            istore 7 /* foo */
        23: .line 322
            aload 2 /* userinfo */
            ifnull 39
        24: .line 323
            aload 2 /* userinfo */
            new java.lang.StringBuilder
            dup
            aload 6 /* bar */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " does not exist.\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 324
            ldc "Are you sure you want to create it?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 323
            invokeinterface com.jcraft.jsch.UserInfo.promptYesNo:(Ljava/lang/String;)Z
            istore 7 /* foo */
        27: .line 326
            aload 8 /* goo */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 8 /* goo */
        28: .line 327
            iload 7 /* foo */
            ifeq 38
            aload 8 /* goo */
            ifnull 38
            aload 8 /* goo */
            invokevirtual java.io.File.exists:()Z
            ifne 38
        29: .line 328
            aload 2 /* userinfo */
            new java.lang.StringBuilder
            dup
            ldc "The parent directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* goo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not exist.\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 329
            ldc "Are you sure you want to create it?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 328
            invokeinterface com.jcraft.jsch.UserInfo.promptYesNo:(Ljava/lang/String;)Z
            istore 7 /* foo */
        32: .line 331
            iload 7 /* foo */
            ifeq 38
        33: .line 332
            aload 8 /* goo */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 37
        34: .line 333
            aload 2 /* userinfo */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 8 /* goo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " has not been created."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface com.jcraft.jsch.UserInfo.showMessage:(Ljava/lang/String;)V
        35: .line 334
            iconst_0
            istore 7 /* foo */
        36: .line 335
            goto 38
        37: .line 337
      StackMap locals: java.lang.String int java.io.File
      StackMap stack:
            aload 2 /* userinfo */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 8 /* goo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " has been succesfully created.\nPlease check its access permission."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface com.jcraft.jsch.UserInfo.showMessage:(Ljava/lang/String;)V
        38: .line 341
      StackMap locals:
      StackMap stack:
            aload 8 /* goo */
            ifnonnull 39
            iconst_0
            istore 7 /* foo */
        39: .line 344
      StackMap locals:
      StackMap stack:
            iload 7 /* foo */
            ifeq 44
        40: .line 346
            aload 0 /* this */
            aload 6 /* bar */
            invokevirtual com.jcraft.jsch.KnownHosts.sync:(Ljava/lang/String;)V
        41: .line 347
            goto 44
        42: .line 348
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        43: getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "sync known_hosts: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 9 // java.lang.Exception e
        end local 8 // java.io.File goo
        end local 7 // boolean foo
        44: .line 351
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.String bar
        end local 5 // com.jcraft.jsch.HostKey hk
        end local 4 // java.lang.String host
        end local 3 // int type
        end local 2 // com.jcraft.jsch.UserInfo userinfo
        end local 1 // com.jcraft.jsch.HostKey hostkey
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   45     0      this  Lcom/jcraft/jsch/KnownHosts;
            0   45     1   hostkey  Lcom/jcraft/jsch/HostKey;
            0   45     2  userinfo  Lcom/jcraft/jsch/UserInfo;
            1   45     3      type  I
            2   45     4      host  Ljava/lang/String;
            4   45     5        hk  Lcom/jcraft/jsch/HostKey;
            6   11     7         i  I
           18   45     6       bar  Ljava/lang/String;
           20   44     7       foo  Z
           21   44     8       goo  Ljava/io/File;
           43   44     9         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5    12      13  any
          13    14      13  any
          40    41      42  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      hostkey   
      userinfo  

  public com.jcraft.jsch.HostKey[] getHostKey();
    descriptor: ()[Lcom/jcraft/jsch/HostKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KnownHosts this
         0: .line 354
            aload 0 /* this */
            aconst_null
            aconst_null
            invokevirtual com.jcraft.jsch.KnownHosts.getHostKey:(Ljava/lang/String;Ljava/lang/String;)[Lcom/jcraft/jsch/HostKey;
            areturn
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KnownHosts;

  public com.jcraft.jsch.HostKey[] getHostKey(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Lcom/jcraft/jsch/HostKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String host
        start local 2 // java.lang.String type
         0: .line 357
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            dup
            astore 3
            monitorenter
         1: .line 358
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* v */
        start local 4 // java.util.ArrayList v
         2: .line 359
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 11
         4: .line 360
      StackMap locals: java.util.Vector java.util.ArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            iload 5 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.HostKey
            astore 6 /* hk */
        start local 6 // com.jcraft.jsch.HostKey hk
         5: .line 361
            aload 6 /* hk */
            getfield com.jcraft.jsch.HostKey.type:I
            bipush 6
            if_icmpne 6
            goto 10
         6: .line 362
      StackMap locals: com.jcraft.jsch.HostKey
      StackMap stack:
            aload 1 /* host */
            ifnull 9
         7: .line 363
            aload 6 /* hk */
            aload 1 /* host */
            invokevirtual com.jcraft.jsch.HostKey.isMatched:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 364
            aload 2 /* type */
            ifnull 9
            aload 6 /* hk */
            invokevirtual com.jcraft.jsch.HostKey.getType:()Ljava/lang/String;
            aload 2 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 365
      StackMap locals:
      StackMap stack:
            aload 4 /* v */
            aload 6 /* hk */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // com.jcraft.jsch.HostKey hk
        10: .line 359
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 4
        end local 5 // int i
        12: .line 368
            aload 4 /* v */
            invokevirtual java.util.ArrayList.size:()I
            anewarray com.jcraft.jsch.HostKey
            astore 5 /* foo */
        start local 5 // com.jcraft.jsch.HostKey[] foo
        13: .line 369
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 370
      StackMap locals: com.jcraft.jsch.KnownHosts java.lang.String java.lang.String java.util.Vector java.util.ArrayList com.jcraft.jsch.HostKey[] int
      StackMap stack:
            aload 5 /* foo */
            iload 6 /* i */
            aload 4 /* v */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.HostKey
            aastore
        16: .line 369
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 4 /* v */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 15
        end local 6 // int i
        18: .line 372
            aload 1 /* host */
            ifnull 26
            aload 1 /* host */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 26
            aload 1 /* host */
            ldc "]:"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            if_icmple 26
        19: .line 374
            aload 0 /* this */
            aload 1 /* host */
            iconst_1
            aload 1 /* host */
            ldc "]:"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 2 /* type */
            invokevirtual com.jcraft.jsch.KnownHosts.getHostKey:(Ljava/lang/String;Ljava/lang/String;)[Lcom/jcraft/jsch/HostKey;
        20: .line 373
            astore 6 /* tmp */
        start local 6 // com.jcraft.jsch.HostKey[] tmp
        21: .line 375
            aload 6 /* tmp */
            arraylength
            ifle 26
        22: .line 376
            aload 5 /* foo */
            arraylength
            aload 6 /* tmp */
            arraylength
            iadd
            anewarray com.jcraft.jsch.HostKey
            astore 7 /* bar */
        start local 7 // com.jcraft.jsch.HostKey[] bar
        23: .line 377
            aload 5 /* foo */
            iconst_0
            aload 7 /* bar */
            iconst_0
            aload 5 /* foo */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        24: .line 378
            aload 6 /* tmp */
            iconst_0
            aload 7 /* bar */
            aload 5 /* foo */
            arraylength
            aload 6 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 379
            aload 7 /* bar */
            astore 5 /* foo */
        end local 7 // com.jcraft.jsch.HostKey[] bar
        end local 6 // com.jcraft.jsch.HostKey[] tmp
        26: .line 382
      StackMap locals:
      StackMap stack:
            aload 5 /* foo */
            aload 3
            monitorexit
        27: areturn
        end local 5 // com.jcraft.jsch.HostKey[] foo
        end local 4 // java.util.ArrayList v
        28: .line 357
      StackMap locals: com.jcraft.jsch.KnownHosts java.lang.String java.lang.String java.util.Vector
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        29: athrow
        end local 2 // java.lang.String type
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0  this  Lcom/jcraft/jsch/KnownHosts;
            0   30     1  host  Ljava/lang/String;
            0   30     2  type  Ljava/lang/String;
            2   28     4     v  Ljava/util/ArrayList;
            3   12     5     i  I
            5   10     6    hk  Lcom/jcraft/jsch/HostKey;
           13   28     5   foo  [Lcom/jcraft/jsch/HostKey;
           14   18     6     i  I
           21   26     6   tmp  [Lcom/jcraft/jsch/HostKey;
           23   26     7   bar  [Lcom/jcraft/jsch/HostKey;
      Exception table:
        from    to  target  type
           1    27      28  any
          28    29      28  any
    MethodParameters:
      Name  Flags
      host  
      type  

  public void remove(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String host
        start local 2 // java.lang.String type
         0: .line 386
            aload 0 /* this */
            aload 1 /* host */
            aload 2 /* type */
            aconst_null
            invokevirtual com.jcraft.jsch.KnownHosts.remove:(Ljava/lang/String;Ljava/lang/String;[B)V
         1: .line 387
            return
        end local 2 // java.lang.String type
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KnownHosts;
            0    2     1  host  Ljava/lang/String;
            0    2     2  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      host  
      type  

  public void remove(java.lang.String, java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String host
        start local 2 // java.lang.String type
        start local 3 // byte[] key
         0: .line 389
            iconst_0
            istore 4 /* sync */
        start local 4 // boolean sync
         1: .line 390
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            dup
            astore 5
            monitorenter
         2: .line 391
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 18
         4: .line 392
      StackMap locals: int java.util.Vector int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            iload 6 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.HostKey
            astore 7 /* hk */
        start local 7 // com.jcraft.jsch.HostKey hk
         5: .line 393
            aload 1 /* host */
            ifnull 9
         6: .line 394
            aload 7 /* hk */
            aload 1 /* host */
            invokevirtual com.jcraft.jsch.HostKey.isMatched:(Ljava/lang/String;)Z
            ifeq 17
         7: .line 395
            aload 2 /* type */
            ifnull 9
            aload 7 /* hk */
            invokevirtual com.jcraft.jsch.HostKey.getType:()Ljava/lang/String;
            aload 2 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
         8: .line 396
            aload 3 /* key */
            ifnull 9
            aload 3 /* key */
            aload 7 /* hk */
            getfield com.jcraft.jsch.HostKey.key:[B
            invokestatic com.jcraft.jsch.Util.array_equals:([B[B)Z
            ifeq 17
         9: .line 397
      StackMap locals: com.jcraft.jsch.HostKey
      StackMap stack:
            aload 7 /* hk */
            invokevirtual com.jcraft.jsch.HostKey.getHost:()Ljava/lang/String;
            astore 8 /* hosts */
        start local 8 // java.lang.String hosts
        10: .line 398
            aload 8 /* hosts */
            aload 1 /* host */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
        11: .line 399
            aload 7 /* hk */
            instanceof com.jcraft.jsch.KnownHosts$HashedHostKey
            ifeq 15
        12: .line 400
            aload 7 /* hk */
            checkcast com.jcraft.jsch.KnownHosts$HashedHostKey
            invokevirtual com.jcraft.jsch.KnownHosts$HashedHostKey.isHashed:()Z
            ifeq 15
        13: .line 401
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            aload 7 /* hk */
            invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
            pop
        14: .line 402
            goto 16
        15: .line 404
      StackMap locals:
      StackMap stack:
            aload 7 /* hk */
            aload 0 /* this */
            aload 8 /* hosts */
            aload 1 /* host */
            invokevirtual com.jcraft.jsch.KnownHosts.deleteSubString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield com.jcraft.jsch.HostKey.host:Ljava/lang/String;
        16: .line 406
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* sync */
        end local 8 // java.lang.String hosts
        end local 7 // com.jcraft.jsch.HostKey hk
        17: .line 391
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 4
        end local 6 // int i
        19: .line 390
            aload 5
            monitorexit
        20: goto 23
      StackMap locals: com.jcraft.jsch.KnownHosts java.lang.String java.lang.String byte[] int java.util.Vector
      StackMap stack: java.lang.Throwable
        21: aload 5
            monitorexit
        22: athrow
        23: .line 410
      StackMap locals:
      StackMap stack:
            iload 4 /* sync */
            ifeq 27
        24: .line 411
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KnownHosts.sync:()V
        25: goto 27
      StackMap locals:
      StackMap stack: java.lang.Exception
        26: pop
        27: .line 413
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean sync
        end local 3 // byte[] key
        end local 2 // java.lang.String type
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   28     0   this  Lcom/jcraft/jsch/KnownHosts;
            0   28     1   host  Ljava/lang/String;
            0   28     2   type  Ljava/lang/String;
            0   28     3    key  [B
            1   28     4   sync  Z
            3   19     6      i  I
            5   17     7     hk  Lcom/jcraft/jsch/HostKey;
           10   17     8  hosts  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2    20      21  any
          21    22      21  any
          24    25      26  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      host  
      type  
      key   

  protected void sync();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KnownHosts this
         0: .line 416
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.known_hosts:Ljava/lang/String;
            ifnull 2
         1: .line 417
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.known_hosts:Ljava/lang/String;
            invokevirtual com.jcraft.jsch.KnownHosts.sync:(Ljava/lang/String;)V
         2: .line 418
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/KnownHosts;
    Exceptions:
      throws java.io.IOException

  protected synchronized void sync(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String foo
         0: .line 420
            aload 1 /* foo */
            ifnonnull 1
            return
         1: .line 421
      StackMap locals:
      StackMap stack:
            new java.io.FileOutputStream
            dup
            aload 1 /* foo */
            invokestatic com.jcraft.jsch.Util.checkTilde:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 2 /* fos */
        start local 2 // java.io.FileOutputStream fos
         2: .line 422
            aload 0 /* this */
            aload 2 /* fos */
            invokevirtual com.jcraft.jsch.KnownHosts.dump:(Ljava/io/OutputStream;)V
         3: .line 423
            aload 2 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
         4: .line 424
            return
        end local 2 // java.io.FileOutputStream fos
        end local 1 // java.lang.String foo
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/jcraft/jsch/KnownHosts;
            0    5     1   foo  Ljava/lang/String;
            2    5     2   fos  Ljava/io/FileOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      foo   

  void dump(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=9, args_size=2
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.io.OutputStream out
         0: .line 431
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            dup
            astore 3
            monitorenter
         1: .line 432
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 25
         3: .line 433
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.OutputStream top java.util.Vector int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            iload 4 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.HostKey
            astore 2 /* hk */
        start local 2 // com.jcraft.jsch.HostKey hk
         4: .line 435
            aload 2 /* hk */
            invokevirtual com.jcraft.jsch.HostKey.getMarker:()Ljava/lang/String;
            astore 5 /* marker */
        start local 5 // java.lang.String marker
         5: .line 436
            aload 2 /* hk */
            invokevirtual com.jcraft.jsch.HostKey.getHost:()Ljava/lang/String;
            astore 6 /* host */
        start local 6 // java.lang.String host
         6: .line 437
            aload 2 /* hk */
            invokevirtual com.jcraft.jsch.HostKey.getType:()Ljava/lang/String;
            astore 7 /* type */
        start local 7 // java.lang.String type
         7: .line 438
            aload 2 /* hk */
            invokevirtual com.jcraft.jsch.HostKey.getComment:()Ljava/lang/String;
            astore 8 /* comment */
        start local 8 // java.lang.String comment
         8: .line 439
            aload 7 /* type */
            ldc "UNKNOWN"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         9: .line 440
            aload 1 /* out */
            aload 6 /* host */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
        10: .line 441
            aload 1 /* out */
            getstatic com.jcraft.jsch.KnownHosts.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        11: .line 442
            goto 24
        12: .line 444
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.OutputStream com.jcraft.jsch.HostKey java.util.Vector int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 5 /* marker */
            invokevirtual java.lang.String.length:()I
            ifeq 15
        13: .line 445
            aload 1 /* out */
            aload 5 /* marker */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
        14: .line 446
            aload 1 /* out */
            getstatic com.jcraft.jsch.KnownHosts.space:[B
            invokevirtual java.io.OutputStream.write:([B)V
        15: .line 448
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 6 /* host */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
        16: .line 449
            aload 1 /* out */
            getstatic com.jcraft.jsch.KnownHosts.space:[B
            invokevirtual java.io.OutputStream.write:([B)V
        17: .line 450
            aload 1 /* out */
            aload 7 /* type */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
        18: .line 451
            aload 1 /* out */
            getstatic com.jcraft.jsch.KnownHosts.space:[B
            invokevirtual java.io.OutputStream.write:([B)V
        19: .line 452
            aload 1 /* out */
            aload 2 /* hk */
            invokevirtual com.jcraft.jsch.HostKey.getKey:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
        20: .line 453
            aload 8 /* comment */
            ifnull 23
        21: .line 454
            aload 1 /* out */
            getstatic com.jcraft.jsch.KnownHosts.space:[B
            invokevirtual java.io.OutputStream.write:([B)V
        22: .line 455
            aload 1 /* out */
            aload 8 /* comment */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
        23: .line 457
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            getstatic com.jcraft.jsch.KnownHosts.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        end local 8 // java.lang.String comment
        end local 7 // java.lang.String type
        end local 6 // java.lang.String host
        end local 5 // java.lang.String marker
        24: .line 432
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.OutputStream com.jcraft.jsch.HostKey java.util.Vector int
      StackMap stack:
            iinc 4 /* i */ 1
        end local 2 // com.jcraft.jsch.HostKey hk
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.OutputStream top java.util.Vector int
      StackMap stack:
        25: iload 4 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 3
        end local 4 // int i
        26: .line 431
            aload 3
            monitorexit
        27: goto 32
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.OutputStream top java.util.Vector
      StackMap stack: java.lang.Throwable
        28: aload 3
            monitorexit
        29: athrow
        30: .line 461
      StackMap locals: com.jcraft.jsch.KnownHosts java.io.OutputStream
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        31: .line 462
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* e */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 2 // java.lang.Exception e
        32: .line 464
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream out
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   33     0     this  Lcom/jcraft/jsch/KnownHosts;
            0   33     1      out  Ljava/io/OutputStream;
            4   25     2       hk  Lcom/jcraft/jsch/HostKey;
            2   26     4        i  I
            5   24     5   marker  Ljava/lang/String;
            6   24     6     host  Ljava/lang/String;
            7   24     7     type  Ljava/lang/String;
            8   24     8  comment  Ljava/lang/String;
           31   32     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    27      28  any
          28    29      28  any
           0    30      30  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  private java.lang.String deleteSubString(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String hosts
        start local 2 // java.lang.String host
         0: .line 467
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: .line 468
            aload 2 /* host */
            invokevirtual java.lang.String.length:()I
            istore 4 /* hostlen */
        start local 4 // int hostlen
         2: .line 469
            aload 1 /* hosts */
            invokevirtual java.lang.String.length:()I
            istore 5 /* hostslen */
        start local 5 // int hostslen
         3: .line 471
            goto 10
         4: .line 472
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* hosts */
            bipush 44
            iload 3 /* i */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* j */
        start local 6 // int j
         5: .line 473
            iload 6 /* j */
            iconst_m1
            if_icmpne 6
            goto 11
         6: .line 474
      StackMap locals: int
      StackMap stack:
            aload 2 /* host */
            aload 1 /* hosts */
            iload 3 /* i */
            iload 6 /* j */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         7: .line 475
            iload 6 /* j */
            iconst_1
            iadd
            istore 3 /* i */
         8: .line 476
            goto 10
         9: .line 478
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* hosts */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* hosts */
            iload 6 /* j */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // int j
        10: .line 471
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 5 /* hostslen */
            if_icmplt 4
        11: .line 480
      StackMap locals:
      StackMap stack:
            aload 1 /* hosts */
            aload 2 /* host */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 15
            iload 5 /* hostslen */
            iload 3 /* i */
            isub
            iload 4 /* hostlen */
            if_icmpne 15
        12: .line 481
            aload 1 /* hosts */
            iconst_0
            iload 4 /* hostlen */
            iload 5 /* hostslen */
            if_icmpne 13
            iconst_0
            goto 14
      StackMap locals: com.jcraft.jsch.KnownHosts java.lang.String java.lang.String int int int
      StackMap stack: java.lang.String int
        13: iload 5 /* hostslen */
            iload 4 /* hostlen */
            isub
            iconst_1
            isub
      StackMap locals: com.jcraft.jsch.KnownHosts java.lang.String java.lang.String int int int
      StackMap stack: java.lang.String int int
        14: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        15: .line 483
      StackMap locals:
      StackMap stack:
            aload 1 /* hosts */
            areturn
        end local 5 // int hostslen
        end local 4 // int hostlen
        end local 3 // int i
        end local 2 // java.lang.String host
        end local 1 // java.lang.String hosts
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/jcraft/jsch/KnownHosts;
            0   16     1     hosts  Ljava/lang/String;
            0   16     2      host  Ljava/lang/String;
            1   16     3         i  I
            2   16     4   hostlen  I
            3   16     5  hostslen  I
            5   10     6         j  I
    MethodParameters:
       Name  Flags
      hosts  
      host   

  private com.jcraft.jsch.MAC getHMACSHA1();
    descriptor: ()Lcom/jcraft/jsch/MAC;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.KnownHosts this
         0: .line 487
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.hmacsha1:Lcom/jcraft/jsch/MAC;
            ifnonnull 6
         1: .line 489
            ldc "hmac-sha1"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* c */
        start local 1 // java.lang.Class c
         2: .line 490
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.MAC
            putfield com.jcraft.jsch.KnownHosts.hmacsha1:Lcom/jcraft/jsch/MAC;
        end local 1 // java.lang.Class c
         3: .line 491
            goto 6
         4: .line 492
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 493
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "hmacsha1: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 1 // java.lang.Exception e
         6: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KnownHosts.hmacsha1:Lcom/jcraft/jsch/MAC;
            areturn
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jcraft/jsch/KnownHosts;
            2    3     1     c  Ljava/lang/Class;
            5    6     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Exception

  com.jcraft.jsch.HostKey createHashedHostKey(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Lcom/jcraft/jsch/HostKey;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.KnownHosts this
        start local 1 // java.lang.String host
        start local 2 // byte[] key
         0: .line 500
            new com.jcraft.jsch.KnownHosts$HashedHostKey
            dup
            aload 0 /* this */
            aload 1 /* host */
            aload 2 /* key */
            invokespecial com.jcraft.jsch.KnownHosts$HashedHostKey.<init>:(Lcom/jcraft/jsch/KnownHosts;Ljava/lang/String;[B)V
            astore 3 /* hhk */
        start local 3 // com.jcraft.jsch.KnownHosts$HashedHostKey hhk
         1: .line 501
            aload 3 /* hhk */
            invokevirtual com.jcraft.jsch.KnownHosts$HashedHostKey.hash:()V
         2: .line 502
            aload 3 /* hhk */
            areturn
        end local 3 // com.jcraft.jsch.KnownHosts$HashedHostKey hhk
        end local 2 // byte[] key
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.KnownHosts this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/KnownHosts;
            0    3     1  host  Ljava/lang/String;
            0    3     2   key  [B
            1    3     3   hhk  Lcom/jcraft/jsch/KnownHosts$HashedHostKey;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      host  
      key   
}
SourceFile: "KnownHosts.java"
NestMembers:
  com.jcraft.jsch.KnownHosts$HashedHostKey
InnerClasses:
  HashedHostKey = com.jcraft.jsch.KnownHosts$HashedHostKey of com.jcraft.jsch.KnownHosts