class com.googlecode.lanterna.terminal.ansi.TelnetProtocol
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.googlecode.lanterna.terminal.ansi.TelnetProtocol
  super_class: java.lang.Object
{
  public static final byte COMMAND_SUBNEGOTIATION_END;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -16

  public static final byte COMMAND_NO_OPERATION;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -15

  public static final byte COMMAND_DATA_MARK;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -14

  public static final byte COMMAND_BREAK;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -13

  public static final byte COMMAND_INTERRUPT_PROCESS;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -12

  public static final byte COMMAND_ABORT_OUTPUT;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -11

  public static final byte COMMAND_ARE_YOU_THERE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -10

  public static final byte COMMAND_ERASE_CHARACTER;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -9

  public static final byte COMMAND_ERASE_LINE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -8

  public static final byte COMMAND_GO_AHEAD;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -7

  public static final byte COMMAND_SUBNEGOTIATION;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -6

  public static final byte COMMAND_WILL;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -5

  public static final byte COMMAND_WONT;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -4

  public static final byte COMMAND_DO;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -3

  public static final byte COMMAND_DONT;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

  public static final byte COMMAND_IAC;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final byte OPTION_TRANSMIT_BINARY;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final byte OPTION_ECHO;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final byte OPTION_SUPPRESS_GO_AHEAD;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final byte OPTION_STATUS;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final byte OPTION_TIMING_MARK;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final byte OPTION_NAOCRD;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final byte OPTION_NAOHTS;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final byte OPTION_NAOHTD;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final byte OPTION_NAOFFD;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  public static final byte OPTION_NAOVTS;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  public static final byte OPTION_NAOVTD;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  public static final byte OPTION_NAOLFD;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final byte OPTION_EXTEND_ASCII;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final byte OPTION_TERMINAL_TYPE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 24

  public static final byte OPTION_NAWS;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 31

  public static final byte OPTION_TERMINAL_SPEED;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final byte OPTION_TOGGLE_FLOW_CONTROL;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 33

  public static final byte OPTION_LINEMODE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 34

  public static final byte OPTION_AUTHENTICATION;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 37

  public static final java.util.Map<java.lang.String, java.lang.Byte> NAME_TO_CODE;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Byte;>;

  public static final java.util.Map<java.lang.Byte, java.lang.String> CODE_TO_NAME;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Byte;Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 68
            invokestatic com.googlecode.lanterna.terminal.ansi.TelnetProtocol.createName2CodeMap:()Ljava/util/Map;
            putstatic com.googlecode.lanterna.terminal.ansi.TelnetProtocol.NAME_TO_CODE:Ljava/util/Map;
         1: .line 69
            getstatic com.googlecode.lanterna.terminal.ansi.TelnetProtocol.NAME_TO_CODE:Ljava/util/Map;
            invokestatic com.googlecode.lanterna.terminal.ansi.TelnetProtocol.reverseMap:(Ljava/util/Map;)Ljava/util/Map;
            putstatic com.googlecode.lanterna.terminal.ansi.TelnetProtocol.CODE_TO_NAME:Ljava/util/Map;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.Map<java.lang.String, java.lang.Byte> createName2CodeMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=0
         0: .line 72
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* result */
        start local 0 // java.util.Map result
         1: .line 73
            ldc Lcom/googlecode/lanterna/terminal/ansi/TelnetProtocol;
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 10
      StackMap locals: java.util.Map top int int java.lang.reflect.Field[]
      StackMap stack:
         2: aload 4
            iload 2
            aaload
            astore 1 /* field */
        start local 1 // java.lang.reflect.Field field
         3: .line 74
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 9
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            ldc "COMMAND_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            ldc "OPTION_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
         4: .line 75
            goto 9
         5: .line 78
      StackMap locals: java.util.Map java.lang.reflect.Field int int java.lang.reflect.Field[]
      StackMap stack:
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            ldc "_"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* namePart */
        start local 5 // java.lang.String namePart
         6: .line 79
            aload 0 /* result */
            aload 5 /* namePart */
            aload 1 /* field */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Byte
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String namePart
         7: .line 80
            goto 9
         8: .line 81
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        end local 1 // java.lang.reflect.Field field
         9: .line 73
      StackMap locals: java.util.Map top int int java.lang.reflect.Field[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        10: iload 2
            iload 3
            if_icmplt 2
        11: .line 84
            aload 0 /* result */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // java.util.Map result
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1   12     0    result  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Byte;>;
            3    9     1     field  Ljava/lang/reflect/Field;
            6    7     5  namePart  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.IllegalAccessException
           5     7       8  Class java.lang.IllegalArgumentException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Byte;>;

  private static <V, K> java.util.Map<V, K> reverseMap(java.util.Map<K, V>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.Map n2c
         0: .line 88
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.Map result
         1: .line 89
            aload 0 /* n2c */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* e */
        start local 2 // java.util.Map$Entry e
         3: .line 90
            aload 1 /* result */
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.util.Map$Entry e
         4: .line 89
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 92
            aload 1 /* result */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 1 // java.util.Map result
        end local 0 // java.util.Map n2c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     n2c  Ljava/util/Map<TK;TV;>;
            1    6     1  result  Ljava/util/Map<TV;TK;>;
            3    4     2       e  Ljava/util/Map$Entry<TK;TV;>;
    Signature: <V:Ljava/lang/Object;K:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;)Ljava/util/Map<TV;TK;>;
    MethodParameters:
      Name  Flags
      n2c   

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.ansi.TelnetProtocol this
         0: .line 95
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.googlecode.lanterna.terminal.ansi.TelnetProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/terminal/ansi/TelnetProtocol;
}
SourceFile: "TelnetProtocol.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map