public class com.jcraft.jsch.ChannelForwardedTCPIP extends com.jcraft.jsch.Channel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.ChannelForwardedTCPIP
  super_class: com.jcraft.jsch.Channel
{
  private static java.util.Vector pool;
    descriptor: Ljava/util/Vector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int LOCAL_WINDOW_SIZE_MAX;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 131072

  private static final int LOCAL_MAXIMUM_PACKET_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  private static final int TIMEOUT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10000

  private java.net.Socket socket;
    descriptor: Ljava/net/Socket;
    flags: (0x0002) ACC_PRIVATE

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

  private com.jcraft.jsch.ChannelForwardedTCPIP$Config config;
    descriptor: Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 38
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
         1: .line 44
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
         0: .line 51
            aload 0 /* this */
            invokespecial com.jcraft.jsch.Channel.<init>:()V
         1: .line 46
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.socket:Ljava/net/Socket;
         2: .line 47
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.daemon:Lcom/jcraft/jsch/ForwardedTCPIPDaemon;
         3: .line 48
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
         4: .line 52
            aload 0 /* this */
            ldc 131072
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.setLocalWindowSizeMax:(I)V
         5: .line 53
            aload 0 /* this */
            ldc 131072
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.setLocalWindowSize:(I)V
         6: .line 54
            aload 0 /* this */
            sipush 16384
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.setLocalPacketSize:(I)V
         7: .line 55
            aload 0 /* this */
            new com.jcraft.jsch.IO
            dup
            invokespecial com.jcraft.jsch.IO.<init>:()V
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.io:Lcom/jcraft/jsch/IO;
         8: .line 56
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.connected:Z
         9: .line 57
            return
        end local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/jcraft/jsch/ChannelForwardedTCPIP;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
         0: .line 61
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            instanceof com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon
            ifeq 13
         1: .line 62
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            checkcast com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon
            astore 1 /* _config */
        start local 1 // com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon _config
         2: .line 63
            aload 1 /* _config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.target:Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         3: .line 64
            aload 0 /* this */
            aload 2 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.ForwardedTCPIPDaemon
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.daemon:Lcom/jcraft/jsch/ForwardedTCPIPDaemon;
         4: .line 66
            new java.io.PipedOutputStream
            dup
            invokespecial java.io.PipedOutputStream.<init>:()V
            astore 3 /* out */
        start local 3 // java.io.PipedOutputStream out
         5: .line 67
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.io:Lcom/jcraft/jsch/IO;
            new com.jcraft.jsch.Channel$PassiveInputStream
            dup
            aload 0 /* this */
            aload 3 /* out */
         6: .line 68
            ldc 32768
            invokespecial com.jcraft.jsch.Channel$PassiveInputStream.<init>:(Lcom/jcraft/jsch/Channel;Ljava/io/PipedOutputStream;I)V
         7: .line 69
            iconst_0
         8: .line 67
            invokevirtual com.jcraft.jsch.IO.setInputStream:(Ljava/io/InputStream;Z)V
         9: .line 71
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.daemon:Lcom/jcraft/jsch/ForwardedTCPIPDaemon;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.getInputStream:()Ljava/io/InputStream;
            aload 3 /* out */
            invokeinterface com.jcraft.jsch.ForwardedTCPIPDaemon.setChannel:(Lcom/jcraft/jsch/ChannelForwardedTCPIP;Ljava/io/InputStream;Ljava/io/OutputStream;)V
        10: .line 72
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.daemon:Lcom/jcraft/jsch/ForwardedTCPIPDaemon;
            aload 1 /* _config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.arg:[Ljava/lang/Object;
            invokeinterface com.jcraft.jsch.ForwardedTCPIPDaemon.setArg:([Ljava/lang/Object;)V
        11: .line 73
            new java.lang.Thread
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.daemon:Lcom/jcraft/jsch/ForwardedTCPIPDaemon;
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            invokevirtual java.lang.Thread.start:()V
        end local 3 // java.io.PipedOutputStream out
        end local 2 // java.lang.Class c
        end local 1 // com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon _config
        12: .line 74
            goto 21
        13: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            checkcast com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost
            astore 1 /* _config */
        start local 1 // com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost _config
        14: .line 77
            aload 0 /* this */
            aload 1 /* _config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.factory:Lcom/jcraft/jsch/SocketFactory;
            ifnonnull 16
        15: .line 78
            aload 1 /* _config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.target:Ljava/lang/String;
            aload 1 /* _config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.lport:I
            sipush 10000
            invokestatic com.jcraft.jsch.Util.createSocket:(Ljava/lang/String;II)Ljava/net/Socket;
            goto 17
        16: .line 79
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost
      StackMap stack: com.jcraft.jsch.ChannelForwardedTCPIP
            aload 1 /* _config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.factory:Lcom/jcraft/jsch/SocketFactory;
            aload 1 /* _config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.target:Ljava/lang/String;
            aload 1 /* _config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.lport:I
            invokeinterface com.jcraft.jsch.SocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
        17: .line 77
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost
      StackMap stack: com.jcraft.jsch.ChannelForwardedTCPIP java.net.Socket
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.socket:Ljava/net/Socket;
        18: .line 80
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.socket:Ljava/net/Socket;
            iconst_1
            invokevirtual java.net.Socket.setTcpNoDelay:(Z)V
        19: .line 81
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.io:Lcom/jcraft/jsch/IO;
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            invokevirtual com.jcraft.jsch.IO.setInputStream:(Ljava/io/InputStream;)V
        20: .line 82
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.io:Lcom/jcraft/jsch/IO;
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            invokevirtual com.jcraft.jsch.IO.setOutputStream:(Ljava/io/OutputStream;)V
        end local 1 // com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost _config
        21: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.sendOpenConfirmation:()V
        22: .line 85
            goto 28
        23: .line 86
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        24: .line 87
            aload 0 /* this */
            iconst_1
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.sendOpenFailure:(I)V
        25: .line 88
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.close:Z
        26: .line 89
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.disconnect:()V
        27: .line 90
            return
        28: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.thread:Ljava/lang/Thread;
        29: .line 94
            new com.jcraft.jsch.Buffer
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.rmpsize:I
            invokespecial com.jcraft.jsch.Buffer.<init>:(I)V
            astore 1 /* buf */
        start local 1 // com.jcraft.jsch.Buffer buf
        30: .line 95
            new com.jcraft.jsch.Packet
            dup
            aload 1 /* buf */
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            astore 2 /* packet */
        start local 2 // com.jcraft.jsch.Packet packet
        31: .line 96
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        32: .line 98
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.getSession:()Lcom/jcraft/jsch/Session;
            astore 4 /* _session */
        start local 4 // com.jcraft.jsch.Session _session
        33: .line 99
            goto 57
        34: .line 102
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int com.jcraft.jsch.Session
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.io:Lcom/jcraft/jsch/IO;
            getfield com.jcraft.jsch.IO.in:Ljava/io/InputStream;
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
        35: .line 103
            bipush 14
        36: .line 104
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            bipush 14
            isub
        37: .line 105
            sipush 128
        38: .line 104
            isub
        39: .line 102
            invokevirtual java.io.InputStream.read:([BII)I
            istore 3 /* i */
        40: .line 107
            iload 3 /* i */
            ifgt 43
        41: .line 108
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.eof:()V
        42: .line 109
            goto 62
        43: .line 111
      StackMap locals:
      StackMap stack:
            aload 2 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
        44: .line 112
            aload 1 /* buf */
            bipush 94
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        45: .line 113
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.recipient:I
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        46: .line 114
            aload 1 /* buf */
            iload 3 /* i */
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        47: .line 115
            aload 1 /* buf */
            iload 3 /* i */
            invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
        48: .line 116
            aload 0 /* this */
            dup
            astore 5
            monitorenter
        49: .line 117
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.close:Z
            ifeq 52
        50: .line 118
            aload 5
            monitorexit
        51: goto 62
        52: .line 119
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP
      StackMap stack:
            aload 4 /* _session */
            aload 2 /* packet */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;Lcom/jcraft/jsch/Channel;I)V
        53: .line 116
            aload 5
            monitorexit
        54: goto 57
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: aload 5
            monitorexit
        56: athrow
        57: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.thread:Ljava/lang/Thread;
            ifnull 62
        58: .line 100
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.io:Lcom/jcraft/jsch/IO;
            ifnull 62
        59: .line 101
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.io:Lcom/jcraft/jsch/IO;
            getfield com.jcraft.jsch.IO.in:Ljava/io/InputStream;
            ifnonnull 34
        end local 4 // com.jcraft.jsch.Session _session
        60: .line 122
            goto 62
        61: .line 123
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int
      StackMap stack: java.lang.Exception
            pop
        62: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.disconnect:()V
        63: .line 129
            return
        end local 3 // int i
        end local 2 // com.jcraft.jsch.Packet packet
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   64     0      this  Lcom/jcraft/jsch/ChannelForwardedTCPIP;
            2   12     1   _config  Lcom/jcraft/jsch/ChannelForwardedTCPIP$ConfigDaemon;
            3   12     2         c  Ljava/lang/Class;
            5   12     3       out  Ljava/io/PipedOutputStream;
           14   21     1   _config  Lcom/jcraft/jsch/ChannelForwardedTCPIP$ConfigLHost;
           30   64     1       buf  Lcom/jcraft/jsch/Buffer;
           31   64     2    packet  Lcom/jcraft/jsch/Packet;
           32   64     3         i  I
           33   60     4  _session  Lcom/jcraft/jsch/Session;
      Exception table:
        from    to  target  type
           0    22      23  Class java.lang.Exception
          49    51      55  any
          52    54      55  any
          55    56      55  any
          32    60      61  Class java.lang.Exception

  void getData(com.jcraft.jsch.Buffer);
    descriptor: (Lcom/jcraft/jsch/Buffer;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
        start local 1 // com.jcraft.jsch.Buffer buf
         0: .line 132
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.setRecipient:(I)V
         1: .line 133
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getUInt:()J
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.setRemoteWindowSize:(J)V
         2: .line 134
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.setRemotePacketSize:(I)V
         3: .line 135
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            astore 2 /* addr */
        start local 2 // byte[] addr
         4: .line 136
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 3 /* port */
        start local 3 // int port
         5: .line 137
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            pop
         6: .line 138
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
         7: .line 147
            aconst_null
            astore 4 /* _session */
        start local 4 // com.jcraft.jsch.Session _session
         8: .line 149
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.getSession:()Lcom/jcraft/jsch/Session;
            astore 4 /* _session */
         9: .line 150
            goto 11
        10: .line 151
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP com.jcraft.jsch.Buffer byte[] int com.jcraft.jsch.Session
      StackMap stack: com.jcraft.jsch.JSchException
            pop
        11: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* _session */
            aload 2 /* addr */
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            iload 3 /* port */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.getPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
        12: .line 156
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            ifnonnull 14
        13: .line 157
            aload 0 /* this */
            aload 4 /* _session */
            aconst_null
            iload 3 /* port */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.getPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            putfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
        14: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            ifnonnull 19
        15: .line 160
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_3
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 19
        16: .line 161
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_3
        17: .line 162
            new java.lang.StringBuilder
            dup
            ldc "ChannelForwardedTCPIP: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* addr */
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is not registered."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 161
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        19: .line 165
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.jcraft.jsch.Session _session
        end local 3 // int port
        end local 2 // byte[] addr
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lcom/jcraft/jsch/ChannelForwardedTCPIP;
            0   20     1       buf  Lcom/jcraft/jsch/Buffer;
            4   20     2      addr  [B
            5   20     3      port  I
            8   20     4  _session  Lcom/jcraft/jsch/Session;
      Exception table:
        from    to  target  type
           8     9      10  Class com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      buf   

  private static com.jcraft.jsch.ChannelForwardedTCPIP$Config getPort(com.jcraft.jsch.Session, java.lang.String, int);
    descriptor: (Lcom/jcraft/jsch/Session;Ljava/lang/String;I)Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // com.jcraft.jsch.Session session
        start local 1 // java.lang.String address_to_bind
        start local 2 // int rport
         0: .line 168
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            dup
            astore 3
            monitorenter
         1: .line 169
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 13
         3: .line 170
      StackMap locals: java.util.Vector int
      StackMap stack:
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            iload 4 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.ChannelForwardedTCPIP$Config
            astore 5 /* bar */
        start local 5 // com.jcraft.jsch.ChannelForwardedTCPIP$Config bar
         4: .line 171
            aload 5 /* bar */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.session:Lcom/jcraft/jsch/Session;
            aload 0 /* session */
            if_acmpeq 5
            goto 12
         5: .line 172
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP$Config
      StackMap stack:
            aload 5 /* bar */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.rport:I
            iload 2 /* rport */
            if_icmpeq 8
         6: .line 173
            aload 5 /* bar */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.rport:I
            ifne 12
            aload 5 /* bar */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.allocated_rport:I
            iload 2 /* rport */
            if_icmpeq 8
         7: .line 174
            goto 12
         8: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* address_to_bind */
            ifnull 10
         9: .line 177
            aload 5 /* bar */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.address_to_bind:Ljava/lang/String;
            aload 1 /* address_to_bind */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 12
        10: .line 178
      StackMap locals:
      StackMap stack:
            aload 5 /* bar */
            aload 3
            monitorexit
        11: areturn
        end local 5 // com.jcraft.jsch.ChannelForwardedTCPIP$Config bar
        12: .line 169
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 3
        end local 4 // int i
        14: .line 180
            aload 3
            monitorexit
        15: aconst_null
            areturn
        16: .line 168
      StackMap locals: com.jcraft.jsch.Session java.lang.String int java.util.Vector
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        17: athrow
        end local 2 // int rport
        end local 1 // java.lang.String address_to_bind
        end local 0 // com.jcraft.jsch.Session session
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0          session  Lcom/jcraft/jsch/Session;
            0   18     1  address_to_bind  Ljava/lang/String;
            0   18     2            rport  I
            2   14     4                i  I
            4   12     5              bar  Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
      Exception table:
        from    to  target  type
           1    11      16  any
          12    15      16  any
          16    17      16  any
    MethodParameters:
                 Name  Flags
      session          
      address_to_bind  
      rport            

  static java.lang.String[] getPortForwarding(com.jcraft.jsch.Session);
    descriptor: (Lcom/jcraft/jsch/Session;)[Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.jcraft.jsch.Session session
         0: .line 185
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 1 /* foo */
        start local 1 // java.util.Vector foo
         1: .line 186
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            dup
            astore 2
            monitorenter
         2: .line 187
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 188
      StackMap locals: java.util.Vector java.util.Vector int
      StackMap stack:
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            iload 3 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.ChannelForwardedTCPIP$Config
            astore 4 /* config */
        start local 4 // com.jcraft.jsch.ChannelForwardedTCPIP$Config config
         5: .line 189
            aload 4 /* config */
            instanceof com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon
            ifeq 7
         6: .line 190
            aload 1 /* foo */
            new java.lang.StringBuilder
            dup
            aload 4 /* config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.allocated_rport:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.target:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
            goto 8
         7: .line 192
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP$Config
      StackMap stack:
            aload 1 /* foo */
            new java.lang.StringBuilder
            dup
            aload 4 /* config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.allocated_rport:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.target:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* config */
            checkcast com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.lport:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 4 // com.jcraft.jsch.ChannelForwardedTCPIP$Config config
         8: .line 187
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 4
        end local 3 // int i
        10: .line 186
            aload 2
            monitorexit
        11: goto 14
      StackMap locals: com.jcraft.jsch.Session java.util.Vector java.util.Vector
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        14: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* foo */
            invokevirtual java.util.Vector.size:()I
            anewarray java.lang.String
            astore 2 /* bar */
        start local 2 // java.lang.String[] bar
        15: .line 196
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        16: goto 19
        17: .line 197
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* bar */
            iload 3 /* i */
            aload 1 /* foo */
            iload 3 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        18: .line 196
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            aload 1 /* foo */
            invokevirtual java.util.Vector.size:()I
            if_icmplt 17
        end local 3 // int i
        20: .line 199
            aload 2 /* bar */
            areturn
        end local 2 // java.lang.String[] bar
        end local 1 // java.util.Vector foo
        end local 0 // com.jcraft.jsch.Session session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0  session  Lcom/jcraft/jsch/Session;
            1   21     1      foo  Ljava/util/Vector;
            3   10     3        i  I
            5    8     4   config  Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
           15   21     2      bar  [Ljava/lang/String;
           16   20     3        i  I
      Exception table:
        from    to  target  type
           2    11      12  any
          12    13      12  any
    MethodParameters:
         Name  Flags
      session  

  static java.lang.String normalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String address
         0: .line 203
            aload 0 /* address */
            ifnonnull 1
            ldc "localhost"
            areturn
         1: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* address */
            invokevirtual java.lang.String.length:()I
            ifeq 2
            aload 0 /* address */
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
      StackMap locals:
      StackMap stack:
         2: ldc ""
            areturn
         3: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* address */
            areturn
        end local 0 // java.lang.String address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  address  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      address  

  static void addPort(com.jcraft.jsch.Session, java.lang.String, int, int, java.lang.String, int, com.jcraft.jsch.SocketFactory);
    descriptor: (Lcom/jcraft/jsch/Session;Ljava/lang/String;IILjava/lang/String;ILcom/jcraft/jsch/SocketFactory;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=10, args_size=7
        start local 0 // com.jcraft.jsch.Session session
        start local 1 // java.lang.String _address_to_bind
        start local 2 // int port
        start local 3 // int allocated_port
        start local 4 // java.lang.String target
        start local 5 // int lport
        start local 6 // com.jcraft.jsch.SocketFactory factory
         0: .line 210
            aload 1 /* _address_to_bind */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* address_to_bind */
        start local 7 // java.lang.String address_to_bind
         1: .line 211
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            dup
            astore 8
            monitorenter
         2: .line 212
            aload 0 /* session */
            aload 7 /* address_to_bind */
            iload 2 /* port */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.getPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            ifnull 4
         3: .line 213
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "PortForwardingR: remote port "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is already registered."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 215
      StackMap locals: java.lang.String java.util.Vector
      StackMap stack:
            new com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost
            dup
            invokespecial com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.<init>:()V
            astore 9 /* config */
        start local 9 // com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost config
         5: .line 216
            aload 9 /* config */
            aload 0 /* session */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.session:Lcom/jcraft/jsch/Session;
         6: .line 217
            aload 9 /* config */
            iload 2 /* port */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.rport:I
         7: .line 218
            aload 9 /* config */
            iload 3 /* allocated_port */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.allocated_rport:I
         8: .line 219
            aload 9 /* config */
            aload 4 /* target */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.target:Ljava/lang/String;
         9: .line 220
            aload 9 /* config */
            iload 5 /* lport */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.lport:I
        10: .line 221
            aload 9 /* config */
            aload 7 /* address_to_bind */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.address_to_bind:Ljava/lang/String;
        11: .line 222
            aload 9 /* config */
            aload 6 /* factory */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.factory:Lcom/jcraft/jsch/SocketFactory;
        12: .line 223
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            aload 9 /* config */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 9 // com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost config
        13: .line 211
            aload 8
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 8
            monitorexit
        16: athrow
        17: .line 225
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.String address_to_bind
        end local 6 // com.jcraft.jsch.SocketFactory factory
        end local 5 // int lport
        end local 4 // java.lang.String target
        end local 3 // int allocated_port
        end local 2 // int port
        end local 1 // java.lang.String _address_to_bind
        end local 0 // com.jcraft.jsch.Session session
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0           session  Lcom/jcraft/jsch/Session;
            0   18     1  _address_to_bind  Ljava/lang/String;
            0   18     2              port  I
            0   18     3    allocated_port  I
            0   18     4            target  Ljava/lang/String;
            0   18     5             lport  I
            0   18     6           factory  Lcom/jcraft/jsch/SocketFactory;
            1   18     7   address_to_bind  Ljava/lang/String;
            5   13     9            config  Lcom/jcraft/jsch/ChannelForwardedTCPIP$ConfigLHost;
      Exception table:
        from    to  target  type
           2    14      15  any
          15    16      15  any
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
                  Name  Flags
      session           
      _address_to_bind  
      port              
      allocated_port    
      target            
      lport             
      factory           

  static void addPort(com.jcraft.jsch.Session, java.lang.String, int, int, java.lang.String, java.lang.Object[]);
    descriptor: (Lcom/jcraft/jsch/Session;Ljava/lang/String;IILjava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // com.jcraft.jsch.Session session
        start local 1 // java.lang.String _address_to_bind
        start local 2 // int port
        start local 3 // int allocated_port
        start local 4 // java.lang.String daemon
        start local 5 // java.lang.Object[] arg
         0: .line 228
            aload 1 /* _address_to_bind */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* address_to_bind */
        start local 6 // java.lang.String address_to_bind
         1: .line 229
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            dup
            astore 7
            monitorenter
         2: .line 230
            aload 0 /* session */
            aload 6 /* address_to_bind */
            iload 2 /* port */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.getPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            ifnull 4
         3: .line 231
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "PortForwardingR: remote port "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is already registered."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 233
      StackMap locals: java.lang.String java.util.Vector
      StackMap stack:
            new com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon
            dup
            invokespecial com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.<init>:()V
            astore 8 /* config */
        start local 8 // com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon config
         5: .line 234
            aload 8 /* config */
            aload 0 /* session */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.session:Lcom/jcraft/jsch/Session;
         6: .line 235
            aload 8 /* config */
            iload 2 /* port */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.rport:I
         7: .line 236
            aload 8 /* config */
            iload 2 /* port */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.allocated_rport:I
         8: .line 237
            aload 8 /* config */
            aload 4 /* daemon */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.target:Ljava/lang/String;
         9: .line 238
            aload 8 /* config */
            aload 5 /* arg */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.arg:[Ljava/lang/Object;
        10: .line 239
            aload 8 /* config */
            aload 6 /* address_to_bind */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon.address_to_bind:Ljava/lang/String;
        11: .line 240
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            aload 8 /* config */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 8 // com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon config
        12: .line 229
            aload 7
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 7
            monitorexit
        15: athrow
        16: .line 242
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.String address_to_bind
        end local 5 // java.lang.Object[] arg
        end local 4 // java.lang.String daemon
        end local 3 // int allocated_port
        end local 2 // int port
        end local 1 // java.lang.String _address_to_bind
        end local 0 // com.jcraft.jsch.Session session
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0           session  Lcom/jcraft/jsch/Session;
            0   17     1  _address_to_bind  Ljava/lang/String;
            0   17     2              port  I
            0   17     3    allocated_port  I
            0   17     4            daemon  Ljava/lang/String;
            0   17     5               arg  [Ljava/lang/Object;
            1   17     6   address_to_bind  Ljava/lang/String;
            5   12     8            config  Lcom/jcraft/jsch/ChannelForwardedTCPIP$ConfigDaemon;
      Exception table:
        from    to  target  type
           2    13      14  any
          14    15      14  any
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
                  Name  Flags
      session           
      _address_to_bind  
      port              
      allocated_port    
      daemon            
      arg               

  static void delPort(com.jcraft.jsch.ChannelForwardedTCPIP);
    descriptor: (Lcom/jcraft/jsch/ChannelForwardedTCPIP;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.ChannelForwardedTCPIP c
         0: .line 244
            aconst_null
            astore 1 /* _session */
        start local 1 // com.jcraft.jsch.Session _session
         1: .line 246
            aload 0 /* c */
            invokevirtual com.jcraft.jsch.ChannelForwardedTCPIP.getSession:()Lcom/jcraft/jsch/Session;
            astore 1 /* _session */
         2: .line 247
            goto 4
         3: .line 248
      StackMap locals: com.jcraft.jsch.ChannelForwardedTCPIP com.jcraft.jsch.Session
      StackMap stack: com.jcraft.jsch.JSchException
            pop
         4: .line 251
      StackMap locals:
      StackMap stack:
            aload 1 /* _session */
            ifnull 6
            aload 0 /* c */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            ifnull 6
         5: .line 252
            aload 1 /* _session */
            aload 0 /* c */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.rport:I
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.delPort:(Lcom/jcraft/jsch/Session;I)V
         6: .line 253
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.jcraft.jsch.Session _session
        end local 0 // com.jcraft.jsch.ChannelForwardedTCPIP c
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0         c  Lcom/jcraft/jsch/ChannelForwardedTCPIP;
            1    7     1  _session  Lcom/jcraft/jsch/Session;
      Exception table:
        from    to  target  type
           1     2       3  Class com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      c     

  static void delPort(com.jcraft.jsch.Session, int);
    descriptor: (Lcom/jcraft/jsch/Session;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session session
        start local 1 // int rport
         0: .line 255
            aload 0 /* session */
            aconst_null
            iload 1 /* rport */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.delPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)V
         1: .line 256
            return
        end local 1 // int rport
        end local 0 // com.jcraft.jsch.Session session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  session  Lcom/jcraft/jsch/Session;
            0    2     1    rport  I
    MethodParameters:
         Name  Flags
      session  
      rport    

  static void delPort(com.jcraft.jsch.Session, java.lang.String, int);
    descriptor: (Lcom/jcraft/jsch/Session;Ljava/lang/String;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.jcraft.jsch.Session session
        start local 1 // java.lang.String address_to_bind
        start local 2 // int rport
         0: .line 258
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            dup
            astore 3
            monitorenter
         1: .line 259
            aload 0 /* session */
            aload 1 /* address_to_bind */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.normalize:(Ljava/lang/String;)Ljava/lang/String;
            iload 2 /* rport */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.getPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            astore 4 /* foo */
        start local 4 // com.jcraft.jsch.ChannelForwardedTCPIP$Config foo
         2: .line 260
            aload 4 /* foo */
            ifnonnull 4
         3: .line 261
            aload 0 /* session */
            aconst_null
            iload 2 /* rport */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.getPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            astore 4 /* foo */
         4: .line 262
      StackMap locals: java.util.Vector com.jcraft.jsch.ChannelForwardedTCPIP$Config
      StackMap stack:
            aload 4 /* foo */
            ifnonnull 6
            aload 3
            monitorexit
         5: return
         6: .line 263
      StackMap locals:
      StackMap stack:
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            aload 4 /* foo */
            invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
            pop
         7: .line 264
            aload 1 /* address_to_bind */
            ifnonnull 9
         8: .line 265
            aload 4 /* foo */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.address_to_bind:Ljava/lang/String;
            astore 1 /* address_to_bind */
         9: .line 267
      StackMap locals:
      StackMap stack:
            aload 1 /* address_to_bind */
            ifnonnull 11
        10: .line 268
            ldc "0.0.0.0"
            astore 1 /* address_to_bind */
        end local 4 // com.jcraft.jsch.ChannelForwardedTCPIP$Config foo
        11: .line 258
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 3
            monitorexit
        14: athrow
        15: .line 272
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.Buffer
            dup
            bipush 100
            invokespecial com.jcraft.jsch.Buffer.<init>:(I)V
            astore 3 /* buf */
        start local 3 // com.jcraft.jsch.Buffer buf
        16: .line 273
            new com.jcraft.jsch.Packet
            dup
            aload 3 /* buf */
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            astore 4 /* packet */
        start local 4 // com.jcraft.jsch.Packet packet
        17: .line 281
            aload 4 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
        18: .line 282
            aload 3 /* buf */
            bipush 80
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        19: .line 283
            aload 3 /* buf */
            ldc "cancel-tcpip-forward"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        20: .line 284
            aload 3 /* buf */
            iconst_0
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        21: .line 285
            aload 3 /* buf */
            aload 1 /* address_to_bind */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        22: .line 286
            aload 3 /* buf */
            iload 2 /* rport */
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        23: .line 287
            aload 0 /* session */
            aload 4 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
        24: .line 288
            goto 26
        25: .line 289
      StackMap locals: com.jcraft.jsch.Session java.lang.String int com.jcraft.jsch.Buffer com.jcraft.jsch.Packet
      StackMap stack: java.lang.Exception
            pop
        26: .line 292
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.jcraft.jsch.Packet packet
        end local 3 // com.jcraft.jsch.Buffer buf
        end local 2 // int rport
        end local 1 // java.lang.String address_to_bind
        end local 0 // com.jcraft.jsch.Session session
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0          session  Lcom/jcraft/jsch/Session;
            0   27     1  address_to_bind  Ljava/lang/String;
            0   27     2            rport  I
            2   11     4              foo  Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
           16   27     3              buf  Lcom/jcraft/jsch/Buffer;
           17   27     4           packet  Lcom/jcraft/jsch/Packet;
      Exception table:
        from    to  target  type
           1     5      13  any
           6    12      13  any
          13    14      13  any
          17    24      25  Class java.lang.Exception
    MethodParameters:
                 Name  Flags
      session          
      address_to_bind  
      rport            

  static void delPort(com.jcraft.jsch.Session);
    descriptor: (Lcom/jcraft/jsch/Session;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.jcraft.jsch.Session session
         0: .line 294
            aconst_null
            astore 1 /* rport */
        start local 1 // int[] rport
         1: .line 295
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         2: .line 296
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            dup
            astore 3
            monitorenter
         3: .line 297
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            newarray 10
            astore 1 /* rport */
         4: .line 298
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 299
      StackMap locals: com.jcraft.jsch.Session int[] int java.util.Vector int
      StackMap stack:
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            iload 4 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.ChannelForwardedTCPIP$Config
            astore 5 /* config */
        start local 5 // com.jcraft.jsch.ChannelForwardedTCPIP$Config config
         7: .line 300
            aload 5 /* config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.session:Lcom/jcraft/jsch/Session;
            aload 0 /* session */
            if_acmpne 9
         8: .line 301
            aload 1 /* rport */
            iload 2 /* count */
            iinc 2 /* count */ 1
            aload 5 /* config */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.rport:I
            iastore
        end local 5 // com.jcraft.jsch.ChannelForwardedTCPIP$Config config
         9: .line 298
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            getstatic com.jcraft.jsch.ChannelForwardedTCPIP.pool:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 6
        end local 4 // int i
        11: .line 296
            aload 3
            monitorexit
        12: goto 15
      StackMap locals: com.jcraft.jsch.Session int[] int java.util.Vector
      StackMap stack: java.lang.Throwable
        13: aload 3
            monitorexit
        14: athrow
        15: .line 305
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        16: goto 19
        17: .line 306
      StackMap locals: int
      StackMap stack:
            aload 0 /* session */
            aload 1 /* rport */
            iload 3 /* i */
            iaload
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.delPort:(Lcom/jcraft/jsch/Session;I)V
        18: .line 305
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 17
        end local 3 // int i
        20: .line 308
            return
        end local 2 // int count
        end local 1 // int[] rport
        end local 0 // com.jcraft.jsch.Session session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0  session  Lcom/jcraft/jsch/Session;
            1   21     1    rport  [I
            2   21     2    count  I
            5   11     4        i  I
            7    9     5   config  Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
           16   20     3        i  I
      Exception table:
        from    to  target  type
           3    12      13  any
          13    14      13  any
    MethodParameters:
         Name  Flags
      session  

  public int getRemotePort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
         0: .line 310
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            ifnull 1
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            getfield com.jcraft.jsch.ChannelForwardedTCPIP$Config.rport:I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/ChannelForwardedTCPIP;

  private void setSocketFactory(com.jcraft.jsch.SocketFactory);
    descriptor: (Lcom/jcraft/jsch/SocketFactory;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
        start local 1 // com.jcraft.jsch.SocketFactory factory
         0: .line 312
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            ifnull 2
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            instanceof com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost
            ifeq 2
         1: .line 313
            aload 0 /* this */
            getfield com.jcraft.jsch.ChannelForwardedTCPIP.config:Lcom/jcraft/jsch/ChannelForwardedTCPIP$Config;
            checkcast com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost
            aload 1 /* factory */
            putfield com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost.factory:Lcom/jcraft/jsch/SocketFactory;
         2: .line 314
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.jcraft.jsch.SocketFactory factory
        end local 0 // com.jcraft.jsch.ChannelForwardedTCPIP this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/jcraft/jsch/ChannelForwardedTCPIP;
            0    3     1  factory  Lcom/jcraft/jsch/SocketFactory;
    MethodParameters:
         Name  Flags
      factory  
}
SourceFile: "ChannelForwardedTCPIP.java"
NestMembers:
  com.jcraft.jsch.ChannelForwardedTCPIP$Config  com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon  com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost
InnerClasses:
  PassiveInputStream = com.jcraft.jsch.Channel$PassiveInputStream of com.jcraft.jsch.Channel
  abstract Config = com.jcraft.jsch.ChannelForwardedTCPIP$Config of com.jcraft.jsch.ChannelForwardedTCPIP
  ConfigDaemon = com.jcraft.jsch.ChannelForwardedTCPIP$ConfigDaemon of com.jcraft.jsch.ChannelForwardedTCPIP
  ConfigLHost = com.jcraft.jsch.ChannelForwardedTCPIP$ConfigLHost of com.jcraft.jsch.ChannelForwardedTCPIP