public final class sun.text.normalizer.ICUBinary
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.text.normalizer.ICUBinary
  super_class: java.lang.Object
{
  private static final byte MAGIC1;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -38

  private static final byte MAGIC2;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 39

  private static final byte BIG_ENDIAN_;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final byte CHAR_SET_;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final byte CHAR_SIZE_;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final java.lang.String MAGIC_NUMBER_AUTHENTICATION_FAILED_;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ICU data file error: Not an ICU data file"

  private static final java.lang.String HEADER_AUTHENTICATION_FAILED_;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ICU data file error: Header authentication failed, please check if you have a valid ICU data file"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.text.normalizer.ICUBinary this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.text.normalizer.ICUBinary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/text/normalizer/ICUBinary;

  public static final byte[] readHeader(java.io.InputStream, byte[], sun.text.normalizer.ICUBinary$Authenticate);
    descriptor: (Ljava/io/InputStream;[BLsun/text/normalizer/ICUBinary$Authenticate;)[B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=14, args_size=3
        start local 0 // java.io.InputStream inputStream
        start local 1 // byte[] dataFormatIDExpected
        start local 2 // sun.text.normalizer.ICUBinary$Authenticate authenticate
         0: .line 118
            new java.io.DataInputStream
            dup
            aload 0 /* inputStream */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* input */
        start local 3 // java.io.DataInputStream input
         1: .line 119
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readChar:()C
            istore 4 /* headersize */
        start local 4 // char headersize
         2: .line 120
            iconst_2
            istore 5 /* readcount */
        start local 5 // int readcount
         3: .line 122
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readByte:()B
            istore 6 /* magic1 */
        start local 6 // byte magic1
         4: .line 123
            iinc 5 /* readcount */ 1
         5: .line 124
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readByte:()B
            istore 7 /* magic2 */
        start local 7 // byte magic2
         6: .line 125
            iinc 5 /* readcount */ 1
         7: .line 126
            iload 6 /* magic1 */
            bipush -38
            if_icmpne 8
            iload 7 /* magic2 */
            bipush 39
            if_icmpeq 9
         8: .line 127
      StackMap locals: java.io.InputStream byte[] sun.text.normalizer.ICUBinary$Authenticate java.io.DataInputStream int int int int
      StackMap stack:
            new java.io.IOException
            dup
            ldc "ICU data file error: Not an ICU data file"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 130
      StackMap locals:
      StackMap stack:
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readChar:()C
            pop
        10: .line 131
            iinc 5 /* readcount */ 2
        11: .line 132
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readChar:()C
            pop
        12: .line 133
            iinc 5 /* readcount */ 2
        13: .line 134
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readByte:()B
            istore 8 /* bigendian */
        start local 8 // byte bigendian
        14: .line 135
            iinc 5 /* readcount */ 1
        15: .line 136
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readByte:()B
            istore 9 /* charset */
        start local 9 // byte charset
        16: .line 137
            iinc 5 /* readcount */ 1
        17: .line 138
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readByte:()B
            istore 10 /* charsize */
        start local 10 // byte charsize
        18: .line 139
            iinc 5 /* readcount */ 1
        19: .line 140
            aload 3 /* input */
            invokevirtual java.io.DataInputStream.readByte:()B
            pop
        20: .line 141
            iinc 5 /* readcount */ 1
        21: .line 143
            iconst_4
            newarray 8
            astore 11 /* dataFormatID */
        start local 11 // byte[] dataFormatID
        22: .line 144
            aload 3 /* input */
            aload 11 /* dataFormatID */
            invokevirtual java.io.DataInputStream.readFully:([B)V
        23: .line 145
            iinc 5 /* readcount */ 4
        24: .line 146
            iconst_4
            newarray 8
            astore 12 /* dataVersion */
        start local 12 // byte[] dataVersion
        25: .line 147
            aload 3 /* input */
            aload 12 /* dataVersion */
            invokevirtual java.io.DataInputStream.readFully:([B)V
        26: .line 148
            iinc 5 /* readcount */ 4
        27: .line 149
            iconst_4
            newarray 8
            astore 13 /* unicodeVersion */
        start local 13 // byte[] unicodeVersion
        28: .line 150
            aload 3 /* input */
            aload 13 /* unicodeVersion */
            invokevirtual java.io.DataInputStream.readFully:([B)V
        29: .line 151
            iinc 5 /* readcount */ 4
        30: .line 152
            iload 4 /* headersize */
            iload 5 /* readcount */
            if_icmpge 32
        31: .line 153
            new java.io.IOException
            dup
            ldc "Internal Error: Header size error"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 155
      StackMap locals: java.io.InputStream byte[] sun.text.normalizer.ICUBinary$Authenticate java.io.DataInputStream int int int int int int int byte[] byte[] byte[]
      StackMap stack:
            aload 3 /* input */
            iload 4 /* headersize */
            iload 5 /* readcount */
            isub
            invokevirtual java.io.DataInputStream.skipBytes:(I)I
            pop
        33: .line 157
            iload 8 /* bigendian */
            iconst_1
            if_icmpne 38
            iload 9 /* charset */
            ifne 38
        34: .line 158
            iload 10 /* charsize */
            iconst_2
            if_icmpne 38
        35: .line 159
            aload 1 /* dataFormatIDExpected */
            aload 11 /* dataFormatID */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 38
        36: .line 160
            aload 2 /* authenticate */
            ifnull 39
        37: .line 161
            aload 2 /* authenticate */
            aload 12 /* dataVersion */
            invokeinterface sun.text.normalizer.ICUBinary$Authenticate.isDataVersionAcceptable:([B)Z
            ifne 39
        38: .line 162
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "ICU data file error: Header authentication failed, please check if you have a valid ICU data file"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 164
      StackMap locals:
      StackMap stack:
            aload 13 /* unicodeVersion */
            areturn
        end local 13 // byte[] unicodeVersion
        end local 12 // byte[] dataVersion
        end local 11 // byte[] dataFormatID
        end local 10 // byte charsize
        end local 9 // byte charset
        end local 8 // byte bigendian
        end local 7 // byte magic2
        end local 6 // byte magic1
        end local 5 // int readcount
        end local 4 // char headersize
        end local 3 // java.io.DataInputStream input
        end local 2 // sun.text.normalizer.ICUBinary$Authenticate authenticate
        end local 1 // byte[] dataFormatIDExpected
        end local 0 // java.io.InputStream inputStream
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   40     0           inputStream  Ljava/io/InputStream;
            0   40     1  dataFormatIDExpected  [B
            0   40     2          authenticate  Lsun/text/normalizer/ICUBinary$Authenticate;
            1   40     3                 input  Ljava/io/DataInputStream;
            2   40     4            headersize  C
            3   40     5             readcount  I
            4   40     6                magic1  B
            6   40     7                magic2  B
           14   40     8             bigendian  B
           16   40     9               charset  B
           18   40    10              charsize  B
           22   40    11          dataFormatID  [B
           25   40    12           dataVersion  [B
           28   40    13        unicodeVersion  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      inputStream           
      dataFormatIDExpected  
      authenticate          
}
SourceFile: "ICUBinary.java"
NestMembers:
  sun.text.normalizer.ICUBinary$Authenticate
InnerClasses:
  public abstract Authenticate = sun.text.normalizer.ICUBinary$Authenticate of sun.text.normalizer.ICUBinary