public class org.bouncycastle.crypto.digests.KeccakDigest implements org.bouncycastle.crypto.ExtendedDigest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.crypto.digests.KeccakDigest
  super_class: java.lang.Object
{
  private static long[] KeccakRoundConstants;
    descriptor: [J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  protected long[] state;
    descriptor: [J
    flags: (0x0004) ACC_PROTECTED

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

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

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

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

  protected boolean squeezing;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 15
            bipush 24
            newarray 11
            dup
            iconst_0
            lconst_1
            lastore
            dup
            iconst_1
            ldc 32898
            lastore
            dup
            iconst_2
         1: .line 16
            ldc -9223372036854742902
            lastore
            dup
            iconst_3
            ldc -9223372034707259392
            lastore
            dup
            iconst_4
            ldc 32907
            lastore
            dup
            iconst_5
            ldc 2147483649
            lastore
            dup
            bipush 6
            ldc -9223372034707259263
            lastore
            dup
            bipush 7
         2: .line 17
            ldc -9223372036854743031
            lastore
            dup
            bipush 8
            ldc 138
            lastore
            dup
            bipush 9
            ldc 136
            lastore
            dup
            bipush 10
            ldc 2147516425
            lastore
            dup
            bipush 11
            ldc 2147483658
            lastore
            dup
            bipush 12
         3: .line 18
            ldc 2147516555
            lastore
            dup
            bipush 13
            ldc -9223372036854775669
            lastore
            dup
            bipush 14
            ldc -9223372036854742903
            lastore
            dup
            bipush 15
            ldc -9223372036854743037
            lastore
            dup
            bipush 16
            ldc -9223372036854743038
            lastore
            dup
            bipush 17
         4: .line 19
            ldc -9223372036854775680
            lastore
            dup
            bipush 18
            ldc 32778
            lastore
            dup
            bipush 19
            ldc -9223372034707292150
            lastore
            dup
            bipush 20
            ldc -9223372034707259263
            lastore
            dup
            bipush 21
            ldc -9223372036854742912
            lastore
            dup
            bipush 22
         5: .line 20
            ldc 2147483649
            lastore
            dup
            bipush 23
            ldc -9223372034707259384
            lastore
         6: .line 15
            putstatic org.bouncycastle.crypto.digests.KeccakDigest.KeccakRoundConstants:[J
         7: .line 20
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
         0: .line 31
            aload 0 /* this */
            sipush 288
            invokespecial org.bouncycastle.crypto.digests.KeccakDigest.<init>:(I)V
         1: .line 32
            return
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // int bitLength
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 22
            aload 0 /* this */
            bipush 25
            newarray 11
            putfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
         2: .line 23
            aload 0 /* this */
            sipush 192
            newarray 8
            putfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
         3: .line 36
            aload 0 /* this */
            iload 1 /* bitLength */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.init:(I)V
         4: .line 37
            return
        end local 1 // int bitLength
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0    5     1  bitLength  I
    MethodParameters:
           Name  Flags
      bitLength  

  public void <init>(org.bouncycastle.crypto.digests.KeccakDigest);
    descriptor: (Lorg/bouncycastle/crypto/digests/KeccakDigest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // org.bouncycastle.crypto.digests.KeccakDigest source
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 22
            aload 0 /* this */
            bipush 25
            newarray 11
            putfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
         2: .line 23
            aload 0 /* this */
            sipush 192
            newarray 8
            putfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
         3: .line 41
            aload 1 /* source */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            iconst_0
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            iconst_0
            aload 1 /* source */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 42
            aload 1 /* source */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iconst_0
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iconst_0
            aload 1 /* source */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 43
            aload 0 /* this */
            aload 1 /* source */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            putfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
         6: .line 44
            aload 0 /* this */
            aload 1 /* source */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
         7: .line 45
            aload 0 /* this */
            aload 1 /* source */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.fixedOutputLength:I
            putfield org.bouncycastle.crypto.digests.KeccakDigest.fixedOutputLength:I
         8: .line 46
            aload 0 /* this */
            aload 1 /* source */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.squeezing:Z
            putfield org.bouncycastle.crypto.digests.KeccakDigest.squeezing:Z
         9: .line 47
            return
        end local 1 // org.bouncycastle.crypto.digests.KeccakDigest source
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0   10     1  source  Lorg/bouncycastle/crypto/digests/KeccakDigest;
    MethodParameters:
        Name  Flags
      source  

  public java.lang.String getAlgorithmName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
         0: .line 51
            new java.lang.StringBuilder
            dup
            ldc "Keccak-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.fixedOutputLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;

  public int getDigestSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
         0: .line 56
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.fixedOutputLength:I
            bipush 8
            idiv
            ireturn
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;

  public void update(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // byte in
         0: .line 61
            aload 0 /* this */
            iconst_1
            newarray 8
            dup
            iconst_0
            iload 1 /* in */
            bastore
            iconst_0
            iconst_1
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.absorb:([BII)V
         1: .line 62
            return
        end local 1 // byte in
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0    2     1    in  B
    MethodParameters:
      Name  Flags
      in    

  public void update(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // byte[] in
        start local 2 // int inOff
        start local 3 // int len
         0: .line 66
            aload 0 /* this */
            aload 1 /* in */
            iload 2 /* inOff */
            iload 3 /* len */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.absorb:([BII)V
         1: .line 67
            return
        end local 3 // int len
        end local 2 // int inOff
        end local 1 // byte[] in
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0    2     1     in  [B
            0    2     2  inOff  I
            0    2     3    len  I
    MethodParameters:
       Name  Flags
      in     
      inOff  
      len    

  public int doFinal(byte[], int);
    descriptor: ([BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // byte[] out
        start local 2 // int outOff
         0: .line 71
            aload 0 /* this */
            aload 1 /* out */
            iload 2 /* outOff */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.fixedOutputLength:I
            i2l
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.squeeze:([BIJ)V
         1: .line 73
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.reset:()V
         2: .line 75
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.getDigestSize:()I
            ireturn
        end local 2 // int outOff
        end local 1 // byte[] out
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0    3     1     out  [B
            0    3     2  outOff  I
    MethodParameters:
        Name  Flags
      out     
      outOff  

  protected int doFinal(byte[], int, byte, int);
    descriptor: ([BIBI)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // byte[] out
        start local 2 // int outOff
        start local 3 // byte partialByte
        start local 4 // int partialBits
         0: .line 83
            iload 4 /* partialBits */
            ifle 2
         1: .line 85
            aload 0 /* this */
            iload 3 /* partialByte */
            iload 4 /* partialBits */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.absorbBits:(II)V
         2: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            iload 2 /* outOff */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.fixedOutputLength:I
            i2l
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.squeeze:([BIJ)V
         3: .line 90
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.reset:()V
         4: .line 92
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.getDigestSize:()I
            ireturn
        end local 4 // int partialBits
        end local 3 // byte partialByte
        end local 2 // int outOff
        end local 1 // byte[] out
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0    5     1          out  [B
            0    5     2       outOff  I
            0    5     3  partialByte  B
            0    5     4  partialBits  I
    MethodParameters:
             Name  Flags
      out          
      outOff       
      partialByte  
      partialBits  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
         0: .line 97
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.fixedOutputLength:I
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.init:(I)V
         1: .line 98
            return
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;

  public int getByteLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
         0: .line 107
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            bipush 8
            idiv
            ireturn
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;

  private void init(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // int bitLength
         0: .line 112
            iload 1 /* bitLength */
            lookupswitch { // 6
                  128: 1
                  224: 1
                  256: 1
                  288: 1
                  384: 1
                  512: 1
              default: 3
          }
         1: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 1600
            iload 1 /* bitLength */
            iconst_1
            ishl
            isub
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.initSponge:(I)V
         2: .line 121
            goto 4
         3: .line 123
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "bitLength must be one of 128, 224, 256, 288, 384, or 512."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int bitLength
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0    5     1  bitLength  I
    MethodParameters:
           Name  Flags
      bitLength  

  private void initSponge(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // int rate
         0: .line 129
            iload 1 /* rate */
            ifle 1
            iload 1 /* rate */
            sipush 1600
            if_icmpge 1
            iload 1 /* rate */
            bipush 64
            irem
            ifeq 2
         1: .line 131
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "invalid rate value"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* rate */
            putfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
         3: .line 135
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 137
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            iload 2 /* i */
            lconst_0
            lastore
         6: .line 135
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            arraylength
            if_icmplt 5
        end local 2 // int i
         8: .line 139
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iconst_0
            invokestatic org.bouncycastle.util.Arrays.fill:([BB)V
         9: .line 140
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
        10: .line 141
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.crypto.digests.KeccakDigest.squeezing:Z
        11: .line 142
            aload 0 /* this */
            sipush 1600
            iload 1 /* rate */
            isub
            iconst_2
            idiv
            putfield org.bouncycastle.crypto.digests.KeccakDigest.fixedOutputLength:I
        12: .line 143
            return
        end local 1 // int rate
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0   13     1  rate  I
            4    8     2     i  I
    MethodParameters:
      Name  Flags
      rate  

  protected void absorb(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // byte[] data
        start local 2 // int off
        start local 3 // int len
         0: .line 147
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            bipush 8
            irem
            ifeq 2
         1: .line 149
            new java.lang.IllegalStateException
            dup
            ldc "attempt to absorb with odd length queue"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.squeezing:Z
            ifeq 4
         3: .line 153
            new java.lang.IllegalStateException
            dup
            ldc "attempt to absorb while squeezing"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            iconst_3
            ishr
            istore 4 /* bytesInQueue */
        start local 4 // int bytesInQueue
         5: .line 157
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            iconst_3
            ishr
            istore 5 /* rateBytes */
        start local 5 // int rateBytes
         6: .line 159
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         7: .line 160
            goto 21
         8: .line 162
      StackMap locals: int int int
      StackMap stack:
            iload 4 /* bytesInQueue */
            ifne 14
            iload 6 /* count */
            iload 3 /* len */
            iload 5 /* rateBytes */
            isub
            if_icmpgt 14
         9: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            iload 2 /* off */
            iload 6 /* count */
            iadd
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.KeccakAbsorb:([BI)V
        10: .line 167
            iload 6 /* count */
            iload 5 /* rateBytes */
            iadd
            istore 6 /* count */
        11: .line 169
            iload 6 /* count */
            iload 3 /* len */
            iload 5 /* rateBytes */
            isub
        12: .line 164
            if_icmple 9
        13: .line 170
            goto 21
        14: .line 173
      StackMap locals:
      StackMap stack:
            iload 5 /* rateBytes */
            iload 4 /* bytesInQueue */
            isub
            iload 3 /* len */
            iload 6 /* count */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* partialBlock */
        start local 7 // int partialBlock
        15: .line 174
            aload 1 /* data */
            iload 2 /* off */
            iload 6 /* count */
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iload 4 /* bytesInQueue */
            iload 7 /* partialBlock */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 176
            iload 4 /* bytesInQueue */
            iload 7 /* partialBlock */
            iadd
            istore 4 /* bytesInQueue */
        17: .line 177
            iload 6 /* count */
            iload 7 /* partialBlock */
            iadd
            istore 6 /* count */
        18: .line 179
            iload 4 /* bytesInQueue */
            iload 5 /* rateBytes */
            if_icmpne 21
        19: .line 181
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iconst_0
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.KeccakAbsorb:([BI)V
        20: .line 182
            iconst_0
            istore 4 /* bytesInQueue */
        end local 7 // int partialBlock
        21: .line 160
      StackMap locals:
      StackMap stack:
            iload 6 /* count */
            iload 3 /* len */
            if_icmplt 8
        22: .line 187
            aload 0 /* this */
            iload 4 /* bytesInQueue */
            iconst_3
            ishl
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
        23: .line 188
            return
        end local 6 // int count
        end local 5 // int rateBytes
        end local 4 // int bytesInQueue
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] data
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0   24     1          data  [B
            0   24     2           off  I
            0   24     3           len  I
            5   24     4  bytesInQueue  I
            6   24     5     rateBytes  I
            7   24     6         count  I
           15   21     7  partialBlock  I
    MethodParameters:
      Name  Flags
      data  
      off   
      len   

  protected void absorbBits(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // int data
        start local 2 // int bits
         0: .line 192
            iload 2 /* bits */
            iconst_1
            if_icmplt 1
            iload 2 /* bits */
            bipush 7
            if_icmple 2
         1: .line 194
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "'bits' must be in the range 1 to 7"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            bipush 8
            irem
            ifeq 4
         3: .line 198
            new java.lang.IllegalStateException
            dup
            ldc "attempt to absorb with odd length queue"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.squeezing:Z
            ifeq 6
         5: .line 202
            new java.lang.IllegalStateException
            dup
            ldc "attempt to absorb while squeezing"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 205
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 2 /* bits */
            ishl
            iconst_1
            isub
            istore 3 /* mask */
        start local 3 // int mask
         7: .line 206
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            iconst_3
            ishr
            iload 1 /* data */
            iload 3 /* mask */
            iand
            i2b
            bastore
         8: .line 209
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            iload 2 /* bits */
            iadd
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
         9: .line 210
            return
        end local 3 // int mask
        end local 2 // int bits
        end local 1 // int data
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0   10     1  data  I
            0   10     2  bits  I
            7   10     3  mask  I
    MethodParameters:
      Name  Flags
      data  
      bits  

  private void padAndSwitchToSqueezingPhase();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
         0: .line 214
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            iconst_3
            ishr
            dup2
            baload
            lconst_1
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            bipush 7
            iand
            lshl
            l2i
            i2b
            ior
            i2b
            bastore
         1: .line 216
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            iconst_1
            iadd
            dup_x1
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            if_icmpne 4
         2: .line 218
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iconst_0
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.KeccakAbsorb:([BI)V
         3: .line 219
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
         4: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            bipush 6
            ishr
            istore 1 /* full */
        start local 1 // int full
         5: aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            bipush 63
            iand
            istore 2 /* partial */
        start local 2 // int partial
         6: .line 224
            iconst_0
            istore 3 /* off */
        start local 3 // int off
         7: .line 225
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 12
         9: .line 227
      StackMap locals: org.bouncycastle.crypto.digests.KeccakDigest int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            iload 4 /* i */
            dup2
            laload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iload 3 /* off */
            invokestatic org.bouncycastle.util.Pack.littleEndianToLong:([BI)J
            lxor
            lastore
        10: .line 228
            iinc 3 /* off */ 8
        11: .line 225
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 1 /* full */
            if_icmplt 9
        end local 4 // int i
        13: .line 230
            iload 2 /* partial */
            ifle 16
        14: .line 232
            lconst_1
            iload 2 /* partial */
            lshl
            lconst_1
            lsub
            lstore 4 /* mask */
        start local 4 // long mask
        15: .line 233
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            iload 1 /* full */
            dup2
            laload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iload 3 /* off */
            invokestatic org.bouncycastle.util.Pack.littleEndianToLong:([BI)J
            lload 4 /* mask */
            land
            lxor
            lastore
        end local 4 // long mask
        16: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            iconst_1
            isub
            bipush 6
            ishr
            dup2
            laload
            ldc -9223372036854775808
            lxor
            lastore
        end local 3 // int off
        end local 2 // int partial
        end local 1 // int full
        17: .line 238
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.KeccakPermutation:()V
        18: .line 240
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.KeccakExtract:()V
        19: .line 241
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
        20: .line 243
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.crypto.digests.KeccakDigest.squeezing:Z
        21: .line 244
            return
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            5   17     1     full  I
            6   17     2  partial  I
            7   17     3      off  I
            8   13     4        i  I
           15   16     4     mask  J

  protected void squeeze(byte[], int, long);
    descriptor: ([BIJ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // byte[] output
        start local 2 // int offset
        start local 3 // long outputLength
         0: .line 248
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.squeezing:Z
            ifne 2
         1: .line 250
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.padAndSwitchToSqueezingPhase:()V
         2: .line 252
      StackMap locals:
      StackMap stack:
            lload 3 /* outputLength */
            ldc 8
            lrem
            lconst_0
            lcmp
            ifeq 4
         3: .line 254
            new java.lang.IllegalStateException
            dup
            ldc "outputLength not a multiple of 8"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 257
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 5 /* i */
        start local 5 // long i
         5: .line 258
            goto 14
         6: .line 260
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            ifne 10
         7: .line 262
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.KeccakPermutation:()V
         8: .line 263
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.KeccakExtract:()V
         9: .line 264
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
        10: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            i2l
            lload 3 /* outputLength */
            lload 5 /* i */
            lsub
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 7 /* partialBlock */
        start local 7 // int partialBlock
        11: .line 267
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            isub
            bipush 8
            idiv
            aload 1 /* output */
            iload 2 /* offset */
            lload 5 /* i */
            ldc 8
            ldiv
            l2i
            iadd
            iload 7 /* partialBlock */
            bipush 8
            idiv
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 268
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
            iload 7 /* partialBlock */
            isub
            putfield org.bouncycastle.crypto.digests.KeccakDigest.bitsInQueue:I
        13: .line 269
            lload 5 /* i */
            iload 7 /* partialBlock */
            i2l
            ladd
            lstore 5 /* i */
        end local 7 // int partialBlock
        14: .line 258
      StackMap locals:
      StackMap stack:
            lload 5 /* i */
            lload 3 /* outputLength */
            lcmp
            iflt 6
        15: .line 271
            return
        end local 5 // long i
        end local 3 // long outputLength
        end local 2 // int offset
        end local 1 // byte[] output
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0   16     1        output  [B
            0   16     2        offset  I
            0   16     3  outputLength  J
            5   16     5             i  J
           11   14     7  partialBlock  I
    MethodParameters:
              Name  Flags
      output        
      offset        
      outputLength  

  private void KeccakAbsorb(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
        start local 1 // byte[] data
        start local 2 // int off
         0: .line 275
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            bipush 6
            ishr
            istore 3 /* count */
        start local 3 // int count
         1: .line 276
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 6
         3: .line 278
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            iload 4 /* i */
            dup2
            laload
            aload 1 /* data */
            iload 2 /* off */
            invokestatic org.bouncycastle.util.Pack.littleEndianToLong:([BI)J
            lxor
            lastore
         4: .line 279
            iinc 2 /* off */ 8
         5: .line 276
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 3
        end local 4 // int i
         7: .line 282
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.KeccakDigest.KeccakPermutation:()V
         8: .line 283
            return
        end local 3 // int count
        end local 2 // int off
        end local 1 // byte[] data
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            0    9     1   data  [B
            0    9     2    off  I
            1    9     3  count  I
            2    7     4      i  I
    MethodParameters:
      Name  Flags
      data  
      off   

  private void KeccakExtract();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
         0: .line 287
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            iconst_0
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.rate:I
            bipush 6
            ishr
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.dataQueue:[B
            iconst_0
            invokestatic org.bouncycastle.util.Pack.longToLittleEndian:([JII[BI)V
         1: .line 288
            return
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;

  private void KeccakPermutation();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=73, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
         0: .line 292
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.KeccakDigest.state:[J
            astore 1 /* A */
        start local 1 // long[] A
         1: .line 294
            aload 1 /* A */
            iconst_0
            laload
            lstore 2 /* a00 */
        start local 2 // long a00
         2: aload 1 /* A */
            iconst_1
            laload
            lstore 4 /* a01 */
        start local 4 // long a01
         3: aload 1 /* A */
            iconst_2
            laload
            lstore 6 /* a02 */
        start local 6 // long a02
         4: aload 1 /* A */
            iconst_3
            laload
            lstore 8 /* a03 */
        start local 8 // long a03
         5: aload 1 /* A */
            iconst_4
            laload
            lstore 10 /* a04 */
        start local 10 // long a04
         6: .line 295
            aload 1 /* A */
            iconst_5
            laload
            lstore 12 /* a05 */
        start local 12 // long a05
         7: aload 1 /* A */
            bipush 6
            laload
            lstore 14 /* a06 */
        start local 14 // long a06
         8: aload 1 /* A */
            bipush 7
            laload
            lstore 16 /* a07 */
        start local 16 // long a07
         9: aload 1 /* A */
            bipush 8
            laload
            lstore 18 /* a08 */
        start local 18 // long a08
        10: aload 1 /* A */
            bipush 9
            laload
            lstore 20 /* a09 */
        start local 20 // long a09
        11: .line 296
            aload 1 /* A */
            bipush 10
            laload
            lstore 22 /* a10 */
        start local 22 // long a10
        12: aload 1 /* A */
            bipush 11
            laload
            lstore 24 /* a11 */
        start local 24 // long a11
        13: aload 1 /* A */
            bipush 12
            laload
            lstore 26 /* a12 */
        start local 26 // long a12
        14: aload 1 /* A */
            bipush 13
            laload
            lstore 28 /* a13 */
        start local 28 // long a13
        15: aload 1 /* A */
            bipush 14
            laload
            lstore 30 /* a14 */
        start local 30 // long a14
        16: .line 297
            aload 1 /* A */
            bipush 15
            laload
            lstore 32 /* a15 */
        start local 32 // long a15
        17: aload 1 /* A */
            bipush 16
            laload
            lstore 34 /* a16 */
        start local 34 // long a16
        18: aload 1 /* A */
            bipush 17
            laload
            lstore 36 /* a17 */
        start local 36 // long a17
        19: aload 1 /* A */
            bipush 18
            laload
            lstore 38 /* a18 */
        start local 38 // long a18
        20: aload 1 /* A */
            bipush 19
            laload
            lstore 40 /* a19 */
        start local 40 // long a19
        21: .line 298
            aload 1 /* A */
            bipush 20
            laload
            lstore 42 /* a20 */
        start local 42 // long a20
        22: aload 1 /* A */
            bipush 21
            laload
            lstore 44 /* a21 */
        start local 44 // long a21
        23: aload 1 /* A */
            bipush 22
            laload
            lstore 46 /* a22 */
        start local 46 // long a22
        24: aload 1 /* A */
            bipush 23
            laload
            lstore 48 /* a23 */
        start local 48 // long a23
        25: aload 1 /* A */
            bipush 24
            laload
            lstore 50 /* a24 */
        start local 50 // long a24
        26: .line 300
            iconst_0
            istore 52 /* i */
        start local 52 // int i
        27: goto 105
        28: .line 303
      StackMap locals: org.bouncycastle.crypto.digests.KeccakDigest long[] long long long long long long long long long long long long long long long long long long long long long long long long long int
      StackMap stack:
            lload 2 /* a00 */
            lload 12 /* a05 */
            lxor
            lload 22 /* a10 */
            lxor
            lload 32 /* a15 */
            lxor
            lload 42 /* a20 */
            lxor
            lstore 53 /* c0 */
        start local 53 // long c0
        29: .line 304
            lload 4 /* a01 */
            lload 14 /* a06 */
            lxor
            lload 24 /* a11 */
            lxor
            lload 34 /* a16 */
            lxor
            lload 44 /* a21 */
            lxor
            lstore 55 /* c1 */
        start local 55 // long c1
        30: .line 305
            lload 6 /* a02 */
            lload 16 /* a07 */
            lxor
            lload 26 /* a12 */
            lxor
            lload 36 /* a17 */
            lxor
            lload 46 /* a22 */
            lxor
            lstore 57 /* c2 */
        start local 57 // long c2
        31: .line 306
            lload 8 /* a03 */
            lload 18 /* a08 */
            lxor
            lload 28 /* a13 */
            lxor
            lload 38 /* a18 */
            lxor
            lload 48 /* a23 */
            lxor
            lstore 59 /* c3 */
        start local 59 // long c3
        32: .line 307
            lload 10 /* a04 */
            lload 20 /* a09 */
            lxor
            lload 30 /* a14 */
            lxor
            lload 40 /* a19 */
            lxor
            lload 50 /* a24 */
            lxor
            lstore 61 /* c4 */
        start local 61 // long c4
        33: .line 309
            lload 55 /* c1 */
            iconst_1
            lshl
            lload 55 /* c1 */
            iconst_m1
            lushr
            lor
            lload 61 /* c4 */
            lxor
            lstore 63 /* d1 */
        start local 63 // long d1
        34: .line 310
            lload 57 /* c2 */
            iconst_1
            lshl
            lload 57 /* c2 */
            iconst_m1
            lushr
            lor
            lload 53 /* c0 */
            lxor
            lstore 65 /* d2 */
        start local 65 // long d2
        35: .line 311
            lload 59 /* c3 */
            iconst_1
            lshl
            lload 59 /* c3 */
            iconst_m1
            lushr
            lor
            lload 55 /* c1 */
            lxor
            lstore 67 /* d3 */
        start local 67 // long d3
        36: .line 312
            lload 61 /* c4 */
            iconst_1
            lshl
            lload 61 /* c4 */
            iconst_m1
            lushr
            lor
            lload 57 /* c2 */
            lxor
            lstore 69 /* d4 */
        start local 69 // long d4
        37: .line 313
            lload 53 /* c0 */
            iconst_1
            lshl
            lload 53 /* c0 */
            iconst_m1
            lushr
            lor
            lload 59 /* c3 */
            lxor
            lstore 71 /* d0 */
        start local 71 // long d0
        38: .line 315
            lload 2 /* a00 */
            lload 63 /* d1 */
            lxor
            lstore 2 /* a00 */
            lload 12 /* a05 */
            lload 63 /* d1 */
            lxor
            lstore 12 /* a05 */
            lload 22 /* a10 */
            lload 63 /* d1 */
            lxor
            lstore 22 /* a10 */
            lload 32 /* a15 */
            lload 63 /* d1 */
            lxor
            lstore 32 /* a15 */
            lload 42 /* a20 */
            lload 63 /* d1 */
            lxor
            lstore 42 /* a20 */
        39: .line 316
            lload 4 /* a01 */
            lload 65 /* d2 */
            lxor
            lstore 4 /* a01 */
            lload 14 /* a06 */
            lload 65 /* d2 */
            lxor
            lstore 14 /* a06 */
            lload 24 /* a11 */
            lload 65 /* d2 */
            lxor
            lstore 24 /* a11 */
            lload 34 /* a16 */
            lload 65 /* d2 */
            lxor
            lstore 34 /* a16 */
            lload 44 /* a21 */
            lload 65 /* d2 */
            lxor
            lstore 44 /* a21 */
        40: .line 317
            lload 6 /* a02 */
            lload 67 /* d3 */
            lxor
            lstore 6 /* a02 */
            lload 16 /* a07 */
            lload 67 /* d3 */
            lxor
            lstore 16 /* a07 */
            lload 26 /* a12 */
            lload 67 /* d3 */
            lxor
            lstore 26 /* a12 */
            lload 36 /* a17 */
            lload 67 /* d3 */
            lxor
            lstore 36 /* a17 */
            lload 46 /* a22 */
            lload 67 /* d3 */
            lxor
            lstore 46 /* a22 */
        41: .line 318
            lload 8 /* a03 */
            lload 69 /* d4 */
            lxor
            lstore 8 /* a03 */
            lload 18 /* a08 */
            lload 69 /* d4 */
            lxor
            lstore 18 /* a08 */
            lload 28 /* a13 */
            lload 69 /* d4 */
            lxor
            lstore 28 /* a13 */
            lload 38 /* a18 */
            lload 69 /* d4 */
            lxor
            lstore 38 /* a18 */
            lload 48 /* a23 */
            lload 69 /* d4 */
            lxor
            lstore 48 /* a23 */
        42: .line 319
            lload 10 /* a04 */
            lload 71 /* d0 */
            lxor
            lstore 10 /* a04 */
            lload 20 /* a09 */
            lload 71 /* d0 */
            lxor
            lstore 20 /* a09 */
            lload 30 /* a14 */
            lload 71 /* d0 */
            lxor
            lstore 30 /* a14 */
            lload 40 /* a19 */
            lload 71 /* d0 */
            lxor
            lstore 40 /* a19 */
            lload 50 /* a24 */
            lload 71 /* d0 */
            lxor
            lstore 50 /* a24 */
        43: .line 322
            lload 4 /* a01 */
            iconst_1
            lshl
            lload 4 /* a01 */
            bipush 63
            lushr
            lor
            lstore 55 /* c1 */
        44: .line 323
            lload 14 /* a06 */
            bipush 44
            lshl
            lload 14 /* a06 */
            bipush 20
            lushr
            lor
            lstore 4 /* a01 */
        45: .line 324
            lload 20 /* a09 */
            bipush 20
            lshl
            lload 20 /* a09 */
            bipush 44
            lushr
            lor
            lstore 14 /* a06 */
        46: .line 325
            lload 46 /* a22 */
            bipush 61
            lshl
            lload 46 /* a22 */
            iconst_3
            lushr
            lor
            lstore 20 /* a09 */
        47: .line 326
            lload 30 /* a14 */
            bipush 39
            lshl
            lload 30 /* a14 */
            bipush 25
            lushr
            lor
            lstore 46 /* a22 */
        48: .line 327
            lload 42 /* a20 */
            bipush 18
            lshl
            lload 42 /* a20 */
            bipush 46
            lushr
            lor
            lstore 30 /* a14 */
        49: .line 328
            lload 6 /* a02 */
            bipush 62
            lshl
            lload 6 /* a02 */
            iconst_2
            lushr
            lor
            lstore 42 /* a20 */
        50: .line 329
            lload 26 /* a12 */
            bipush 43
            lshl
            lload 26 /* a12 */
            bipush 21
            lushr
            lor
            lstore 6 /* a02 */
        51: .line 330
            lload 28 /* a13 */
            bipush 25
            lshl
            lload 28 /* a13 */
            bipush 39
            lushr
            lor
            lstore 26 /* a12 */
        52: .line 331
            lload 40 /* a19 */
            bipush 8
            lshl
            lload 40 /* a19 */
            bipush 56
            lushr
            lor
            lstore 28 /* a13 */
        53: .line 332
            lload 48 /* a23 */
            bipush 56
            lshl
            lload 48 /* a23 */
            bipush 8
            lushr
            lor
            lstore 40 /* a19 */
        54: .line 333
            lload 32 /* a15 */
            bipush 41
            lshl
            lload 32 /* a15 */
            bipush 23
            lushr
            lor
            lstore 48 /* a23 */
        55: .line 334
            lload 10 /* a04 */
            bipush 27
            lshl
            lload 10 /* a04 */
            bipush 37
            lushr
            lor
            lstore 32 /* a15 */
        56: .line 335
            lload 50 /* a24 */
            bipush 14
            lshl
            lload 50 /* a24 */
            bipush 50
            lushr
            lor
            lstore 10 /* a04 */
        57: .line 336
            lload 44 /* a21 */
            iconst_2
            lshl
            lload 44 /* a21 */
            bipush 62
            lushr
            lor
            lstore 50 /* a24 */
        58: .line 337
            lload 18 /* a08 */
            bipush 55
            lshl
            lload 18 /* a08 */
            bipush 9
            lushr
            lor
            lstore 44 /* a21 */
        59: .line 338
            lload 34 /* a16 */
            bipush 45
            lshl
            lload 34 /* a16 */
            bipush 19
            lushr
            lor
            lstore 18 /* a08 */
        60: .line 339
            lload 12 /* a05 */
            bipush 36
            lshl
            lload 12 /* a05 */
            bipush 28
            lushr
            lor
            lstore 34 /* a16 */
        61: .line 340
            lload 8 /* a03 */
            bipush 28
            lshl
            lload 8 /* a03 */
            bipush 36
            lushr
            lor
            lstore 12 /* a05 */
        62: .line 341
            lload 38 /* a18 */
            bipush 21
            lshl
            lload 38 /* a18 */
            bipush 43
            lushr
            lor
            lstore 8 /* a03 */
        63: .line 342
            lload 36 /* a17 */
            bipush 15
            lshl
            lload 36 /* a17 */
            bipush 49
            lushr
            lor
            lstore 38 /* a18 */
        64: .line 343
            lload 24 /* a11 */
            bipush 10
            lshl
            lload 24 /* a11 */
            bipush 54
            lushr
            lor
            lstore 36 /* a17 */
        65: .line 344
            lload 16 /* a07 */
            bipush 6
            lshl
            lload 16 /* a07 */
            bipush 58
            lushr
            lor
            lstore 24 /* a11 */
        66: .line 345
            lload 22 /* a10 */
            iconst_3
            lshl
            lload 22 /* a10 */
            bipush 61
            lushr
            lor
            lstore 16 /* a07 */
        67: .line 346
            lload 55 /* c1 */
            lstore 22 /* a10 */
        68: .line 349
            lload 2 /* a00 */
            lload 4 /* a01 */
            ldc -1
            lxor
            lload 6 /* a02 */
            land
            lxor
            lstore 53 /* c0 */
        69: .line 350
            lload 4 /* a01 */
            lload 6 /* a02 */
            ldc -1
            lxor
            lload 8 /* a03 */
            land
            lxor
            lstore 55 /* c1 */
        70: .line 351
            lload 6 /* a02 */
            lload 8 /* a03 */
            ldc -1
            lxor
            lload 10 /* a04 */
            land
            lxor
            lstore 6 /* a02 */
        71: .line 352
            lload 8 /* a03 */
            lload 10 /* a04 */
            ldc -1
            lxor
            lload 2 /* a00 */
            land
            lxor
            lstore 8 /* a03 */
        72: .line 353
            lload 10 /* a04 */
            lload 2 /* a00 */
            ldc -1
            lxor
            lload 4 /* a01 */
            land
            lxor
            lstore 10 /* a04 */
        73: .line 354
            lload 53 /* c0 */
            lstore 2 /* a00 */
        74: .line 355
            lload 55 /* c1 */
            lstore 4 /* a01 */
        75: .line 357
            lload 12 /* a05 */
            lload 14 /* a06 */
            ldc -1
            lxor
            lload 16 /* a07 */
            land
            lxor
            lstore 53 /* c0 */
        76: .line 358
            lload 14 /* a06 */
            lload 16 /* a07 */
            ldc -1
            lxor
            lload 18 /* a08 */
            land
            lxor
            lstore 55 /* c1 */
        77: .line 359
            lload 16 /* a07 */
            lload 18 /* a08 */
            ldc -1
            lxor
            lload 20 /* a09 */
            land
            lxor
            lstore 16 /* a07 */
        78: .line 360
            lload 18 /* a08 */
            lload 20 /* a09 */
            ldc -1
            lxor
            lload 12 /* a05 */
            land
            lxor
            lstore 18 /* a08 */
        79: .line 361
            lload 20 /* a09 */
            lload 12 /* a05 */
            ldc -1
            lxor
            lload 14 /* a06 */
            land
            lxor
            lstore 20 /* a09 */
        80: .line 362
            lload 53 /* c0 */
            lstore 12 /* a05 */
        81: .line 363
            lload 55 /* c1 */
            lstore 14 /* a06 */
        82: .line 365
            lload 22 /* a10 */
            lload 24 /* a11 */
            ldc -1
            lxor
            lload 26 /* a12 */
            land
            lxor
            lstore 53 /* c0 */
        83: .line 366
            lload 24 /* a11 */
            lload 26 /* a12 */
            ldc -1
            lxor
            lload 28 /* a13 */
            land
            lxor
            lstore 55 /* c1 */
        84: .line 367
            lload 26 /* a12 */
            lload 28 /* a13 */
            ldc -1
            lxor
            lload 30 /* a14 */
            land
            lxor
            lstore 26 /* a12 */
        85: .line 368
            lload 28 /* a13 */
            lload 30 /* a14 */
            ldc -1
            lxor
            lload 22 /* a10 */
            land
            lxor
            lstore 28 /* a13 */
        86: .line 369
            lload 30 /* a14 */
            lload 22 /* a10 */
            ldc -1
            lxor
            lload 24 /* a11 */
            land
            lxor
            lstore 30 /* a14 */
        87: .line 370
            lload 53 /* c0 */
            lstore 22 /* a10 */
        88: .line 371
            lload 55 /* c1 */
            lstore 24 /* a11 */
        89: .line 373
            lload 32 /* a15 */
            lload 34 /* a16 */
            ldc -1
            lxor
            lload 36 /* a17 */
            land
            lxor
            lstore 53 /* c0 */
        90: .line 374
            lload 34 /* a16 */
            lload 36 /* a17 */
            ldc -1
            lxor
            lload 38 /* a18 */
            land
            lxor
            lstore 55 /* c1 */
        91: .line 375
            lload 36 /* a17 */
            lload 38 /* a18 */
            ldc -1
            lxor
            lload 40 /* a19 */
            land
            lxor
            lstore 36 /* a17 */
        92: .line 376
            lload 38 /* a18 */
            lload 40 /* a19 */
            ldc -1
            lxor
            lload 32 /* a15 */
            land
            lxor
            lstore 38 /* a18 */
        93: .line 377
            lload 40 /* a19 */
            lload 32 /* a15 */
            ldc -1
            lxor
            lload 34 /* a16 */
            land
            lxor
            lstore 40 /* a19 */
        94: .line 378
            lload 53 /* c0 */
            lstore 32 /* a15 */
        95: .line 379
            lload 55 /* c1 */
            lstore 34 /* a16 */
        96: .line 381
            lload 42 /* a20 */
            lload 44 /* a21 */
            ldc -1
            lxor
            lload 46 /* a22 */
            land
            lxor
            lstore 53 /* c0 */
        97: .line 382
            lload 44 /* a21 */
            lload 46 /* a22 */
            ldc -1
            lxor
            lload 48 /* a23 */
            land
            lxor
            lstore 55 /* c1 */
        98: .line 383
            lload 46 /* a22 */
            lload 48 /* a23 */
            ldc -1
            lxor
            lload 50 /* a24 */
            land
            lxor
            lstore 46 /* a22 */
        99: .line 384
            lload 48 /* a23 */
            lload 50 /* a24 */
            ldc -1
            lxor
            lload 42 /* a20 */
            land
            lxor
            lstore 48 /* a23 */
       100: .line 385
            lload 50 /* a24 */
            lload 42 /* a20 */
            ldc -1
            lxor
            lload 44 /* a21 */
            land
            lxor
            lstore 50 /* a24 */
       101: .line 386
            lload 53 /* c0 */
            lstore 42 /* a20 */
       102: .line 387
            lload 55 /* c1 */
            lstore 44 /* a21 */
       103: .line 390
            lload 2 /* a00 */
            getstatic org.bouncycastle.crypto.digests.KeccakDigest.KeccakRoundConstants:[J
            iload 52 /* i */
            laload
            lxor
            lstore 2 /* a00 */
        end local 71 // long d0
        end local 69 // long d4
        end local 67 // long d3
        end local 65 // long d2
        end local 63 // long d1
        end local 61 // long c4
        end local 59 // long c3
        end local 57 // long c2
        end local 55 // long c1
        end local 53 // long c0
       104: .line 300
            iinc 52 /* i */ 1
      StackMap locals:
      StackMap stack:
       105: iload 52 /* i */
            bipush 24
            if_icmplt 28
        end local 52 // int i
       106: .line 393
            aload 1 /* A */
            iconst_0
            lload 2 /* a00 */
            lastore
            aload 1 /* A */
            iconst_1
            lload 4 /* a01 */
            lastore
            aload 1 /* A */
            iconst_2
            lload 6 /* a02 */
            lastore
            aload 1 /* A */
            iconst_3
            lload 8 /* a03 */
            lastore
            aload 1 /* A */
            iconst_4
            lload 10 /* a04 */
            lastore
       107: .line 394
            aload 1 /* A */
            iconst_5
            lload 12 /* a05 */
            lastore
            aload 1 /* A */
            bipush 6
            lload 14 /* a06 */
            lastore
            aload 1 /* A */
            bipush 7
            lload 16 /* a07 */
            lastore
            aload 1 /* A */
            bipush 8
            lload 18 /* a08 */
            lastore
            aload 1 /* A */
            bipush 9
            lload 20 /* a09 */
            lastore
       108: .line 395
            aload 1 /* A */
            bipush 10
            lload 22 /* a10 */
            lastore
            aload 1 /* A */
            bipush 11
            lload 24 /* a11 */
            lastore
            aload 1 /* A */
            bipush 12
            lload 26 /* a12 */
            lastore
            aload 1 /* A */
            bipush 13
            lload 28 /* a13 */
            lastore
            aload 1 /* A */
            bipush 14
            lload 30 /* a14 */
            lastore
       109: .line 396
            aload 1 /* A */
            bipush 15
            lload 32 /* a15 */
            lastore
            aload 1 /* A */
            bipush 16
            lload 34 /* a16 */
            lastore
            aload 1 /* A */
            bipush 17
            lload 36 /* a17 */
            lastore
            aload 1 /* A */
            bipush 18
            lload 38 /* a18 */
            lastore
            aload 1 /* A */
            bipush 19
            lload 40 /* a19 */
            lastore
       110: .line 397
            aload 1 /* A */
            bipush 20
            lload 42 /* a20 */
            lastore
            aload 1 /* A */
            bipush 21
            lload 44 /* a21 */
            lastore
            aload 1 /* A */
            bipush 22
            lload 46 /* a22 */
            lastore
            aload 1 /* A */
            bipush 23
            lload 48 /* a23 */
            lastore
            aload 1 /* A */
            bipush 24
            lload 50 /* a24 */
            lastore
       111: .line 398
            return
        end local 50 // long a24
        end local 48 // long a23
        end local 46 // long a22
        end local 44 // long a21
        end local 42 // long a20
        end local 40 // long a19
        end local 38 // long a18
        end local 36 // long a17
        end local 34 // long a16
        end local 32 // long a15
        end local 30 // long a14
        end local 28 // long a13
        end local 26 // long a12
        end local 24 // long a11
        end local 22 // long a10
        end local 20 // long a09
        end local 18 // long a08
        end local 16 // long a07
        end local 14 // long a06
        end local 12 // long a05
        end local 10 // long a04
        end local 8 // long a03
        end local 6 // long a02
        end local 4 // long a01
        end local 2 // long a00
        end local 1 // long[] A
        end local 0 // org.bouncycastle.crypto.digests.KeccakDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0  112     0  this  Lorg/bouncycastle/crypto/digests/KeccakDigest;
            1  112     1     A  [J
            2  112     2   a00  J
            3  112     4   a01  J
            4  112     6   a02  J
            5  112     8   a03  J
            6  112    10   a04  J
            7  112    12   a05  J
            8  112    14   a06  J
            9  112    16   a07  J
           10  112    18   a08  J
           11  112    20   a09  J
           12  112    22   a10  J
           13  112    24   a11  J
           14  112    26   a12  J
           15  112    28   a13  J
           16  112    30   a14  J
           17  112    32   a15  J
           18  112    34   a16  J
           19  112    36   a17  J
           20  112    38   a18  J
           21  112    40   a19  J
           22  112    42   a20  J
           23  112    44   a21  J
           24  112    46   a22  J
           25  112    48   a23  J
           26  112    50   a24  J
           27  106    52     i  I
           29  104    53    c0  J
           30  104    55    c1  J
           31  104    57    c2  J
           32  104    59    c3  J
           33  104    61    c4  J
           34  104    63    d1  J
           35  104    65    d2  J
           36  104    67    d3  J
           37  104    69    d4  J
           38  104    71    d0  J
}
SourceFile: "KeccakDigest.java"