public final class org.jcodings.EncodingDB
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jcodings.EncodingDB
  super_class: java.lang.Object
{
  static org.jcodings.EncodingDB$Entry ascii;
    descriptor: Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0008) ACC_STATIC

  static final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB$Entry> encodings;
    descriptor: Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/EncodingDB$Entry;>;

  static final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB$Entry> aliases;
    descriptor: Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/EncodingDB$Entry;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 100
            new org.jcodings.util.CaseInsensitiveBytesHash
            dup
            bipush 50
            invokespecial org.jcodings.util.CaseInsensitiveBytesHash.<init>:(I)V
            putstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
         1: .line 101
            new org.jcodings.util.CaseInsensitiveBytesHash
            dup
            sipush 150
            invokespecial org.jcodings.util.CaseInsensitiveBytesHash.<init>:(I)V
            putstatic org.jcodings.EncodingDB.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
         2: .line 165
            invokestatic org.jcodings.EncodingList.load:()V
         3: .line 166
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcodings.EncodingDB this
         0: .line 26
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jcodings.EncodingDB this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcodings/EncodingDB;

  public static final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB$Entry> getEncodings();
    descriptor: ()Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 104
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/EncodingDB$Entry;>;

  public static final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB$Entry> getAliases();
    descriptor: ()Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 108
            getstatic org.jcodings.EncodingDB.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/EncodingDB$Entry;>;

  public static void declare(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String encodingClass
         0: .line 112
            aload 0 /* name */
            invokevirtual java.lang.String.getBytes:()[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 113
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 2 /* bytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            ifnull 2
            new org.jcodings.exception.InternalException
            dup
            ldc "encoding already registerd <%n>"
            aload 0 /* name */
            invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         2: .line 114
      StackMap locals: byte[]
      StackMap stack:
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 2 /* bytes */
            new org.jcodings.EncodingDB$Entry
            dup
            aload 1 /* encodingClass */
            invokespecial org.jcodings.EncodingDB$Entry.<init>:(Ljava/lang/String;)V
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
         3: .line 115
            return
        end local 2 // byte[] bytes
        end local 1 // java.lang.String encodingClass
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           name  Ljava/lang/String;
            0    4     1  encodingClass  Ljava/lang/String;
            1    4     2          bytes  [B
    MethodParameters:
               Name  Flags
      name           
      encodingClass  

  public static void alias(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.String alias
        start local 1 // java.lang.String original
         0: .line 118
            aload 1 /* original */
            invokevirtual java.lang.String.getBytes:()[B
            astore 2 /* origBytes */
        start local 2 // byte[] origBytes
         1: .line 119
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 2 /* origBytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            astore 3 /* originalEntry */
        start local 3 // org.jcodings.EncodingDB$Entry originalEntry
         2: .line 120
            aload 3 /* originalEntry */
            ifnonnull 3
            new org.jcodings.exception.InternalException
            dup
            ldc "no such encoding <%n>"
            aload 1 /* original */
            invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         3: .line 121
      StackMap locals: byte[] org.jcodings.EncodingDB$Entry
      StackMap stack:
            aload 0 /* alias */
            invokevirtual java.lang.String.getBytes:()[B
            astore 4 /* aliasBytes */
        start local 4 // byte[] aliasBytes
         4: .line 122
            getstatic org.jcodings.EncodingDB.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 4 /* aliasBytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            ifnull 5
            new org.jcodings.exception.InternalException
            dup
            ldc "encoding alias already registerd <%n>"
            aload 0 /* alias */
            invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         5: .line 123
      StackMap locals: byte[]
      StackMap stack:
            getstatic org.jcodings.EncodingDB.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 4 /* aliasBytes */
            aload 3 /* originalEntry */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
         6: .line 124
            return
        end local 4 // byte[] aliasBytes
        end local 3 // org.jcodings.EncodingDB$Entry originalEntry
        end local 2 // byte[] origBytes
        end local 1 // java.lang.String original
        end local 0 // java.lang.String alias
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0          alias  Ljava/lang/String;
            0    7     1       original  Ljava/lang/String;
            1    7     2      origBytes  [B
            2    7     3  originalEntry  Lorg/jcodings/EncodingDB$Entry;
            4    7     4     aliasBytes  [B
    MethodParameters:
          Name  Flags
      alias     
      original  

  public static void replicate(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.String replica
        start local 1 // java.lang.String original
         0: .line 127
            aload 1 /* original */
            invokevirtual java.lang.String.getBytes:()[B
            astore 2 /* origBytes */
        start local 2 // byte[] origBytes
         1: .line 128
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 2 /* origBytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            astore 3 /* originalEntry */
        start local 3 // org.jcodings.EncodingDB$Entry originalEntry
         2: .line 129
            aload 3 /* originalEntry */
            ifnonnull 3
            new org.jcodings.exception.InternalException
            dup
            ldc "no such encoding <%n>"
            aload 1 /* original */
            invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         3: .line 130
      StackMap locals: byte[] org.jcodings.EncodingDB$Entry
      StackMap stack:
            aload 0 /* replica */
            aload 3 /* originalEntry */
            getfield org.jcodings.EncodingDB$Entry.isDummy:Z
            aload 3 /* originalEntry */
            invokestatic org.jcodings.EncodingDB.finishReplica:(Ljava/lang/String;ZLorg/jcodings/EncodingDB$Entry;)V
         4: .line 131
            return
        end local 3 // org.jcodings.EncodingDB$Entry originalEntry
        end local 2 // byte[] origBytes
        end local 1 // java.lang.String original
        end local 0 // java.lang.String replica
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0        replica  Ljava/lang/String;
            0    5     1       original  Ljava/lang/String;
            1    5     2      origBytes  [B
            2    5     3  originalEntry  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
          Name  Flags
      replica   
      original  

  private static void replicate(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String replica
        start local 1 // java.lang.String original
        start local 2 // boolean dummy
         0: .line 134
            aload 1 /* original */
            invokevirtual java.lang.String.getBytes:()[B
            astore 3 /* origBytes */
        start local 3 // byte[] origBytes
         1: .line 135
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 3 /* origBytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            astore 4 /* originalEntry */
        start local 4 // org.jcodings.EncodingDB$Entry originalEntry
         2: .line 136
            aload 4 /* originalEntry */
            ifnonnull 3
            new org.jcodings.exception.InternalException
            dup
            ldc "no such encoding <%n>"
            aload 1 /* original */
            invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         3: .line 137
      StackMap locals: byte[] org.jcodings.EncodingDB$Entry
      StackMap stack:
            aload 0 /* replica */
            iload 2 /* dummy */
            aload 4 /* originalEntry */
            invokestatic org.jcodings.EncodingDB.finishReplica:(Ljava/lang/String;ZLorg/jcodings/EncodingDB$Entry;)V
         4: .line 138
            return
        end local 4 // org.jcodings.EncodingDB$Entry originalEntry
        end local 3 // byte[] origBytes
        end local 2 // boolean dummy
        end local 1 // java.lang.String original
        end local 0 // java.lang.String replica
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0        replica  Ljava/lang/String;
            0    5     1       original  Ljava/lang/String;
            0    5     2          dummy  Z
            1    5     3      origBytes  [B
            2    5     4  originalEntry  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
          Name  Flags
      replica   
      original  
      dummy     

  private static void finishReplica(java.lang.String, boolean, org.jcodings.EncodingDB$Entry);
    descriptor: (Ljava/lang/String;ZLorg/jcodings/EncodingDB$Entry;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // java.lang.String replica
        start local 1 // boolean dummy
        start local 2 // org.jcodings.EncodingDB$Entry originalEntry
         0: .line 141
            aload 0 /* replica */
            invokevirtual java.lang.String.getBytes:()[B
            astore 3 /* replicaBytes */
        start local 3 // byte[] replicaBytes
         1: .line 142
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 3 /* replicaBytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            ifnull 2
            new org.jcodings.exception.InternalException
            dup
            ldc "encoding replica already registerd <%n>"
            aload 0 /* replica */
            invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         2: .line 143
      StackMap locals: byte[]
      StackMap stack:
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 3 /* replicaBytes */
            new org.jcodings.EncodingDB$Entry
            dup
            aload 3 /* replicaBytes */
            aload 2 /* originalEntry */
            iload 1 /* dummy */
            invokespecial org.jcodings.EncodingDB$Entry.<init>:([BLorg/jcodings/EncodingDB$Entry;Z)V
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
         3: .line 144
            return
        end local 3 // byte[] replicaBytes
        end local 2 // org.jcodings.EncodingDB$Entry originalEntry
        end local 1 // boolean dummy
        end local 0 // java.lang.String replica
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0        replica  Ljava/lang/String;
            0    4     1          dummy  Z
            0    4     2  originalEntry  Lorg/jcodings/EncodingDB$Entry;
            1    4     3   replicaBytes  [B
    MethodParameters:
               Name  Flags
      replica        
      dummy          
      originalEntry  

  public static void set_base(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String original
         0: .line 147
            return
        end local 1 // java.lang.String original
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      name  Ljava/lang/String;
            0    1     1  original  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      name      
      original  

  public static org.jcodings.EncodingDB$Entry dummy(byte[]);
    descriptor: ([B)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // byte[] bytes
         0: .line 150
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 0 /* bytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            ifnull 1
            new org.jcodings.exception.InternalException
            dup
            ldc "encoding already registerd <%n>"
            new java.lang.String
            dup
            aload 0 /* bytes */
            invokespecial java.lang.String.<init>:([B)V
            invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         1: .line 151
      StackMap locals:
      StackMap stack:
            new org.jcodings.EncodingDB$Entry
            dup
            aload 0 /* bytes */
            invokespecial org.jcodings.EncodingDB$Entry.<init>:([B)V
            astore 1 /* entry */
        start local 1 // org.jcodings.EncodingDB$Entry entry
         2: .line 152
            getstatic org.jcodings.EncodingDB.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 0 /* bytes */
            aload 1 /* entry */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
         3: .line 153
            aload 1 /* entry */
            areturn
        end local 1 // org.jcodings.EncodingDB$Entry entry
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  bytes  [B
            2    4     1  entry  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
       Name  Flags
      bytes  

  public static void dummy(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 157
            aload 0 /* name */
            invokevirtual java.lang.String.getBytes:()[B
            invokestatic org.jcodings.EncodingDB.dummy:([B)Lorg/jcodings/EncodingDB$Entry;
            pop
         1: .line 158
            return
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static void dummy_unicode(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String replica
         0: .line 161
            aload 0 /* replica */
            new java.lang.StringBuilder
            dup
            aload 0 /* replica */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "BE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            invokestatic org.jcodings.EncodingDB.replicate:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 162
            return
        end local 0 // java.lang.String replica
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  replica  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      replica  
}
SourceFile: "EncodingDB.java"
NestMembers:
  org.jcodings.EncodingDB$Entry
InnerClasses:
  public final Entry = org.jcodings.EncodingDB$Entry of org.jcodings.EncodingDB