public class com.jcraft.jsch.HostKey
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.HostKey
  super_class: java.lang.Object
{
  private static final byte[][] names;
    descriptor: [[B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final int GUESS;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int SSHDSS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int SSHRSA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int ECDSA256;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int ECDSA384;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int ECDSA521;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int UNKNOWN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  protected java.lang.String marker;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String host;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected int type;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected byte[] key;
    descriptor: [B
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String comment;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 34
            iconst_5
            anewarray byte[]
            dup
            iconst_0
         1: .line 35
            ldc "ssh-dss"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
            dup
            iconst_1
         2: .line 36
            ldc "ssh-rsa"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
            dup
            iconst_2
         3: .line 37
            ldc "ecdsa-sha2-nistp256"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
            dup
            iconst_3
         4: .line 38
            ldc "ecdsa-sha2-nistp384"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
            dup
            iconst_4
         5: .line 39
            ldc "ecdsa-sha2-nistp521"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
         6: .line 34
            putstatic com.jcraft.jsch.HostKey.names:[[B
         7: .line 48
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.HostKey this
        start local 1 // java.lang.String host
        start local 2 // byte[] key
         0: .line 57
            aload 0 /* this */
            aload 1 /* host */
            iconst_0
            aload 2 /* key */
            invokespecial com.jcraft.jsch.HostKey.<init>:(Ljava/lang/String;I[B)V
         1: .line 58
            return
        end local 2 // byte[] key
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/HostKey;
            0    2     1  host  Ljava/lang/String;
            0    2     2   key  [B
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      host  
      key   

  public void <init>(java.lang.String, int, byte[]);
    descriptor: (Ljava/lang/String;I[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.HostKey this
        start local 1 // java.lang.String host
        start local 2 // int type
        start local 3 // byte[] key
         0: .line 61
            aload 0 /* this */
            aload 1 /* host */
            iload 2 /* type */
            aload 3 /* key */
            aconst_null
            invokespecial com.jcraft.jsch.HostKey.<init>:(Ljava/lang/String;I[BLjava/lang/String;)V
         1: .line 62
            return
        end local 3 // byte[] key
        end local 2 // int type
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/HostKey;
            0    2     1  host  Ljava/lang/String;
            0    2     2  type  I
            0    2     3   key  [B
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      host  
      type  
      key   

  public void <init>(java.lang.String, int, byte[], java.lang.String);
    descriptor: (Ljava/lang/String;I[BLjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.jcraft.jsch.HostKey this
        start local 1 // java.lang.String host
        start local 2 // int type
        start local 3 // byte[] key
        start local 4 // java.lang.String comment
         0: .line 64
            aload 0 /* this */
            ldc ""
            aload 1 /* host */
            iload 2 /* type */
            aload 3 /* key */
            aload 4 /* comment */
            invokespecial com.jcraft.jsch.HostKey.<init>:(Ljava/lang/String;Ljava/lang/String;I[BLjava/lang/String;)V
         1: .line 65
            return
        end local 4 // java.lang.String comment
        end local 3 // byte[] key
        end local 2 // int type
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/jcraft/jsch/HostKey;
            0    2     1     host  Ljava/lang/String;
            0    2     2     type  I
            0    2     3      key  [B
            0    2     4  comment  Ljava/lang/String;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
         Name  Flags
      host     
      type     
      key      
      comment  

  public void <init>(java.lang.String, java.lang.String, int, byte[], java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I[BLjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // com.jcraft.jsch.HostKey this
        start local 1 // java.lang.String marker
        start local 2 // java.lang.String host
        start local 3 // int type
        start local 4 // byte[] key
        start local 5 // java.lang.String comment
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            aload 1 /* marker */
            putfield com.jcraft.jsch.HostKey.marker:Ljava/lang/String;
         2: .line 68
            aload 0 /* this */
            aload 2 /* host */
            putfield com.jcraft.jsch.HostKey.host:Ljava/lang/String;
         3: .line 69
            iload 3 /* type */
            ifne 10
         4: .line 70
            aload 4 /* key */
            bipush 8
            baload
            bipush 100
            if_icmpne 5
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.HostKey.type:I
            goto 11
         5: .line 71
      StackMap locals: com.jcraft.jsch.HostKey java.lang.String java.lang.String int byte[] java.lang.String
      StackMap stack:
            aload 4 /* key */
            bipush 8
            baload
            bipush 114
            if_icmpne 6
            aload 0 /* this */
            iconst_2
            putfield com.jcraft.jsch.HostKey.type:I
            goto 11
         6: .line 72
      StackMap locals:
      StackMap stack:
            aload 4 /* key */
            bipush 8
            baload
            bipush 97
            if_icmpne 7
            aload 4 /* key */
            bipush 20
            baload
            bipush 50
            if_icmpne 7
            aload 0 /* this */
            iconst_3
            putfield com.jcraft.jsch.HostKey.type:I
            goto 11
         7: .line 73
      StackMap locals:
      StackMap stack:
            aload 4 /* key */
            bipush 8
            baload
            bipush 97
            if_icmpne 8
            aload 4 /* key */
            bipush 20
            baload
            bipush 51
            if_icmpne 8
            aload 0 /* this */
            iconst_4
            putfield com.jcraft.jsch.HostKey.type:I
            goto 11
         8: .line 74
      StackMap locals:
      StackMap stack:
            aload 4 /* key */
            bipush 8
            baload
            bipush 97
            if_icmpne 9
            aload 4 /* key */
            bipush 20
            baload
            bipush 53
            if_icmpne 9
            aload 0 /* this */
            iconst_5
            putfield com.jcraft.jsch.HostKey.type:I
            goto 11
         9: .line 75
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            ldc "invalid key type"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* type */
            putfield com.jcraft.jsch.HostKey.type:I
        11: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* key */
            putfield com.jcraft.jsch.HostKey.key:[B
        12: .line 81
            aload 0 /* this */
            aload 5 /* comment */
            putfield com.jcraft.jsch.HostKey.comment:Ljava/lang/String;
        13: .line 82
            return
        end local 5 // java.lang.String comment
        end local 4 // byte[] key
        end local 3 // int type
        end local 2 // java.lang.String host
        end local 1 // java.lang.String marker
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lcom/jcraft/jsch/HostKey;
            0   14     1   marker  Ljava/lang/String;
            0   14     2     host  Ljava/lang/String;
            0   14     3     type  I
            0   14     4      key  [B
            0   14     5  comment  Ljava/lang/String;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
         Name  Flags
      marker   
      host     
      type     
      key      
      comment  

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

  public java.lang.String getType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.HostKey this
         0: .line 86
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.type:I
            iconst_1
            if_icmpeq 5
         1: .line 87
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.type:I
            iconst_2
            if_icmpeq 5
         2: .line 88
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.type:I
            iconst_3
            if_icmpeq 5
         3: .line 89
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.type:I
            iconst_4
            if_icmpeq 5
         4: .line 90
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.type:I
            iconst_5
            if_icmpne 6
         5: .line 91
      StackMap locals:
      StackMap stack:
            getstatic com.jcraft.jsch.HostKey.names:[[B
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.type:I
            iconst_1
            isub
            aaload
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            areturn
         6: .line 93
      StackMap locals:
      StackMap stack:
            ldc "UNKNOWN"
            areturn
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jcraft/jsch/HostKey;

  protected static int name2type(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 96
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 5
         2: .line 97
      StackMap locals: int
      StackMap stack:
            getstatic com.jcraft.jsch.HostKey.names:[[B
            iload 1 /* i */
            aaload
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            aload 0 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 98
            iload 1 /* i */
            iconst_1
            iadd
            ireturn
         4: .line 96
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            getstatic com.jcraft.jsch.HostKey.names:[[B
            arraylength
            if_icmplt 2
        end local 1 // int i
         6: .line 101
            bipush 6
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  name  Ljava/lang/String;
            1    6     1     i  I
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getKey();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.HostKey this
         0: .line 104
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.key:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.key:[B
            arraylength
            invokestatic com.jcraft.jsch.Util.toBase64:([BII)[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/HostKey;

  public java.lang.String getFingerPrint(com.jcraft.jsch.JSch);
    descriptor: (Lcom/jcraft/jsch/JSch;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.HostKey this
        start local 1 // com.jcraft.jsch.JSch jsch
         0: .line 107
            aconst_null
            astore 2 /* hash */
        start local 2 // com.jcraft.jsch.HASH hash
         1: .line 109
            ldc "md5"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* c */
        start local 3 // java.lang.Class c
         2: .line 110
            aload 3 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.HASH
            astore 2 /* hash */
        end local 3 // java.lang.Class c
         3: .line 111
            goto 6
         4: .line 112
      StackMap locals: com.jcraft.jsch.HostKey com.jcraft.jsch.JSch com.jcraft.jsch.HASH
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         5: getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "getFingerPrint: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* 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 3 // java.lang.Exception e
         6: .line 113
      StackMap locals:
      StackMap stack:
            aload 2 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.key:[B
            invokestatic com.jcraft.jsch.Util.getFingerPrint:(Lcom/jcraft/jsch/HASH;[B)Ljava/lang/String;
            areturn
        end local 2 // com.jcraft.jsch.HASH hash
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jcraft/jsch/HostKey;
            0    7     1  jsch  Lcom/jcraft/jsch/JSch;
            1    7     2  hash  Lcom/jcraft/jsch/HASH;
            2    3     3     c  Ljava/lang/Class;
            5    6     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      jsch  

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

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

  boolean isMatched(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.HostKey this
        start local 1 // java.lang.String _host
         0: .line 119
            aload 0 /* this */
            aload 1 /* _host */
            invokevirtual com.jcraft.jsch.HostKey.isIncluded:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String _host
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/jcraft/jsch/HostKey;
            0    1     1  _host  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      _host  

  private boolean isIncluded(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.jcraft.jsch.HostKey this
        start local 1 // java.lang.String _host
         0: .line 123
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 124
            aload 0 /* this */
            getfield com.jcraft.jsch.HostKey.host:Ljava/lang/String;
            astore 3 /* hosts */
        start local 3 // java.lang.String hosts
         2: .line 125
            aload 3 /* hosts */
            invokevirtual java.lang.String.length:()I
            istore 4 /* hostslen */
        start local 4 // int hostslen
         3: .line 126
            aload 1 /* _host */
            invokevirtual java.lang.String.length:()I
            istore 5 /* hostlen */
        start local 5 // int hostlen
         4: .line 128
            goto 12
         5: .line 129
      StackMap locals: com.jcraft.jsch.HostKey java.lang.String int java.lang.String int int
      StackMap stack:
            aload 3 /* hosts */
            bipush 44
            iload 2 /* i */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* j */
        start local 6 // int j
         6: .line 130
            iload 6 /* j */
            iconst_m1
            if_icmpne 9
         7: .line 131
            iload 5 /* hostlen */
            iload 4 /* hostslen */
            iload 2 /* i */
            isub
            if_icmpeq 8
            iconst_0
            ireturn
         8: .line 132
      StackMap locals: int
      StackMap stack:
            aload 3 /* hosts */
            iconst_1
            iload 2 /* i */
            aload 1 /* _host */
            iconst_0
            iload 5 /* hostlen */
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ireturn
         9: .line 134
      StackMap locals:
      StackMap stack:
            iload 5 /* hostlen */
            iload 6 /* j */
            iload 2 /* i */
            isub
            if_icmpne 11
        10: .line 135
            aload 3 /* hosts */
            iconst_1
            iload 2 /* i */
            aload 1 /* _host */
            iconst_0
            iload 5 /* hostlen */
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ifeq 11
            iconst_1
            ireturn
        11: .line 137
      StackMap locals:
      StackMap stack:
            iload 6 /* j */
            iconst_1
            iadd
            istore 2 /* i */
        end local 6 // int j
        12: .line 128
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 4 /* hostslen */
            if_icmplt 5
        13: .line 139
            iconst_0
            ireturn
        end local 5 // int hostlen
        end local 4 // int hostslen
        end local 3 // java.lang.String hosts
        end local 2 // int i
        end local 1 // java.lang.String _host
        end local 0 // com.jcraft.jsch.HostKey this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/jcraft/jsch/HostKey;
            0   14     1     _host  Ljava/lang/String;
            1   14     2         i  I
            2   14     3     hosts  Ljava/lang/String;
            3   14     4  hostslen  I
            4   14     5   hostlen  I
            6   12     6         j  I
    MethodParameters:
       Name  Flags
      _host  
}
SourceFile: "HostKey.java"