class com.google.crypto.tink.subtle.Poly1305
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.google.crypto.tink.subtle.Poly1305
  super_class: java.lang.Object
{
  public static final int MAC_TAG_SIZE_IN_BYTES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int MAC_KEY_SIZE_IN_BYTES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.crypto.tink.subtle.Poly1305 this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.crypto.tink.subtle.Poly1305 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/crypto/tink/subtle/Poly1305;

  private static long load32(byte[], int);
    descriptor: ([BI)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // byte[] in
        start local 1 // int idx
         0: .line 39
            aload 0 /* in */
            iload 1 /* idx */
            baload
            sipush 255
            iand
         1: .line 40
            aload 0 /* in */
            iload 1 /* idx */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
         2: .line 39
            ior
         3: .line 41
            aload 0 /* in */
            iload 1 /* idx */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            bipush 16
            ishl
         4: .line 39
            ior
         5: .line 42
            aload 0 /* in */
            iload 1 /* idx */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            bipush 24
            ishl
         6: .line 39
            ior
            i2l
         7: .line 43
            ldc 4294967295
         8: .line 39
            land
            lreturn
        end local 1 // int idx
        end local 0 // byte[] in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0    in  [B
            0    9     1   idx  I
    MethodParameters:
      Name  Flags
      in    
      idx   

  private static long load26(byte[], int, int);
    descriptor: ([BII)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // byte[] in
        start local 1 // int idx
        start local 2 // int shift
         0: .line 47
            aload 0 /* in */
            iload 1 /* idx */
            invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
            iload 2 /* shift */
            lshr
            ldc 67108863
            land
            lreturn
        end local 2 // int shift
        end local 1 // int idx
        end local 0 // byte[] in
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     in  [B
            0    1     1    idx  I
            0    1     2  shift  I
    MethodParameters:
       Name  Flags
      in     
      idx    
      shift  

  private static void toByteArray(byte[], long, int);
    descriptor: ([BJI)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // byte[] output
        start local 1 // long num
        start local 3 // int idx
         0: .line 51
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 4
         2: .line 52
      StackMap locals: int
      StackMap stack:
            aload 0 /* output */
            iload 3 /* idx */
            iload 4 /* i */
            iadd
            lload 1 /* num */
            ldc 255
            land
            l2i
            i2b
            bastore
         3: .line 51
            iinc 4 /* i */ 1
            lload 1 /* num */
            bipush 8
            lshr
            lstore 1 /* num */
      StackMap locals:
      StackMap stack:
         4: iload 4 /* i */
            iconst_4
            if_icmplt 2
        end local 4 // int i
         5: .line 54
            return
        end local 3 // int idx
        end local 1 // long num
        end local 0 // byte[] output
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  output  [B
            0    6     1     num  J
            0    6     3     idx  I
            1    5     4       i  I
    MethodParameters:
        Name  Flags
      output  
      num     
      idx     

  private static void copyBlockSize(byte[], byte[], int);
    descriptor: ([B[BI)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // byte[] output
        start local 1 // byte[] in
        start local 2 // int idx
         0: .line 57
            bipush 16
            aload 1 /* in */
            arraylength
            iload 2 /* idx */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* copyCount */
        start local 3 // int copyCount
         1: .line 58
            aload 1 /* in */
            iload 2 /* idx */
            aload 0 /* output */
            iconst_0
            iload 3 /* copyCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 59
            aload 0 /* output */
            iload 3 /* copyCount */
            iconst_1
            bastore
         3: .line 60
            iload 3 /* copyCount */
            bipush 16
            if_icmpeq 5
         4: .line 61
            aload 0 /* output */
            iload 3 /* copyCount */
            iconst_1
            iadd
            aload 0 /* output */
            arraylength
            iconst_0
            invokestatic java.util.Arrays.fill:([BIIB)V
         5: .line 63
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int copyCount
        end local 2 // int idx
        end local 1 // byte[] in
        end local 0 // byte[] output
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0     output  [B
            0    6     1         in  [B
            0    6     2        idx  I
            1    6     3  copyCount  I
    MethodParameters:
        Name  Flags
      output  
      in      
      idx     

  static byte[] computeMac(byte[], byte[]);
    descriptor: ([B[B)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=56, args_size=2
        start local 0 // byte[] key
        start local 1 // byte[] data
         0: .line 66
            aload 0 /* key */
            arraylength
            bipush 32
            if_icmpeq 2
         1: .line 67
            new java.lang.IllegalArgumentException
            dup
            ldc "The key length in bytes must be 32."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 69
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 2 /* h0 */
        start local 2 // long h0
         3: .line 70
            lconst_0
            lstore 4 /* h1 */
        start local 4 // long h1
         4: .line 71
            lconst_0
            lstore 6 /* h2 */
        start local 6 // long h2
         5: .line 72
            lconst_0
            lstore 8 /* h3 */
        start local 8 // long h3
         6: .line 73
            lconst_0
            lstore 10 /* h4 */
        start local 10 // long h4
         7: .line 82
            aload 0 /* key */
            iconst_0
            iconst_0
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ldc 67108863
            land
            lstore 24 /* r0 */
        start local 24 // long r0
         8: .line 83
            aload 0 /* key */
            iconst_3
            iconst_2
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ldc 67108611
            land
            lstore 26 /* r1 */
        start local 26 // long r1
         9: .line 84
            aload 0 /* key */
            bipush 6
            iconst_4
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ldc 67092735
            land
            lstore 28 /* r2 */
        start local 28 // long r2
        10: .line 85
            aload 0 /* key */
            bipush 9
            bipush 6
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ldc 66076671
            land
            lstore 30 /* r3 */
        start local 30 // long r3
        11: .line 86
            aload 0 /* key */
            bipush 12
            bipush 8
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ldc 1048575
            land
            lstore 32 /* r4 */
        start local 32 // long r4
        12: .line 88
            lload 26 /* r1 */
            ldc 5
            lmul
            lstore 34 /* s1 */
        start local 34 // long s1
        13: .line 89
            lload 28 /* r2 */
            ldc 5
            lmul
            lstore 36 /* s2 */
        start local 36 // long s2
        14: .line 90
            lload 30 /* r3 */
            ldc 5
            lmul
            lstore 38 /* s3 */
        start local 38 // long s3
        15: .line 91
            lload 32 /* r4 */
            ldc 5
            lmul
            lstore 40 /* s4 */
        start local 40 // long s4
        16: .line 93
            bipush 17
            newarray 8
            astore 42 /* buf */
        start local 42 // byte[] buf
        17: .line 94
            iconst_0
            istore 43 /* i */
        start local 43 // int i
        18: goto 49
        19: .line 95
      StackMap locals: byte[] byte[] long long long long long top top top top top top top top top top top top long long long long long long long long long byte[] int
      StackMap stack:
            aload 42 /* buf */
            aload 1 /* data */
            iload 43 /* i */
            invokestatic com.google.crypto.tink.subtle.Poly1305.copyBlockSize:([B[BI)V
        20: .line 96
            lload 2 /* h0 */
            aload 42 /* buf */
            iconst_0
            iconst_0
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ladd
            lstore 2 /* h0 */
        21: .line 97
            lload 4 /* h1 */
            aload 42 /* buf */
            iconst_3
            iconst_2
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ladd
            lstore 4 /* h1 */
        22: .line 98
            lload 6 /* h2 */
            aload 42 /* buf */
            bipush 6
            iconst_4
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ladd
            lstore 6 /* h2 */
        23: .line 99
            lload 8 /* h3 */
            aload 42 /* buf */
            bipush 9
            bipush 6
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            ladd
            lstore 8 /* h3 */
        24: .line 100
            lload 10 /* h4 */
            aload 42 /* buf */
            bipush 12
            bipush 8
            invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
            aload 42 /* buf */
            bipush 16
            baload
            bipush 24
            ishl
            i2l
            lor
            ladd
            lstore 10 /* h4 */
        25: .line 103
            lload 2 /* h0 */
            lload 24 /* r0 */
            lmul
            lload 4 /* h1 */
            lload 40 /* s4 */
            lmul
            ladd
            lload 6 /* h2 */
            lload 38 /* s3 */
            lmul
            ladd
            lload 8 /* h3 */
            lload 36 /* s2 */
            lmul
            ladd
            lload 10 /* h4 */
            lload 34 /* s1 */
            lmul
            ladd
            lstore 12 /* d0 */
        start local 12 // long d0
        26: .line 104
            lload 2 /* h0 */
            lload 26 /* r1 */
            lmul
            lload 4 /* h1 */
            lload 24 /* r0 */
            lmul
            ladd
            lload 6 /* h2 */
            lload 40 /* s4 */
            lmul
            ladd
            lload 8 /* h3 */
            lload 38 /* s3 */
            lmul
            ladd
            lload 10 /* h4 */
            lload 36 /* s2 */
            lmul
            ladd
            lstore 14 /* d1 */
        start local 14 // long d1
        27: .line 105
            lload 2 /* h0 */
            lload 28 /* r2 */
            lmul
            lload 4 /* h1 */
            lload 26 /* r1 */
            lmul
            ladd
            lload 6 /* h2 */
            lload 24 /* r0 */
            lmul
            ladd
            lload 8 /* h3 */
            lload 40 /* s4 */
            lmul
            ladd
            lload 10 /* h4 */
            lload 38 /* s3 */
            lmul
            ladd
            lstore 16 /* d2 */
        start local 16 // long d2
        28: .line 106
            lload 2 /* h0 */
            lload 30 /* r3 */
            lmul
            lload 4 /* h1 */
            lload 28 /* r2 */
            lmul
            ladd
            lload 6 /* h2 */
            lload 26 /* r1 */
            lmul
            ladd
            lload 8 /* h3 */
            lload 24 /* r0 */
            lmul
            ladd
            lload 10 /* h4 */
            lload 40 /* s4 */
            lmul
            ladd
            lstore 18 /* d3 */
        start local 18 // long d3
        29: .line 107
            lload 2 /* h0 */
            lload 32 /* r4 */
            lmul
            lload 4 /* h1 */
            lload 30 /* r3 */
            lmul
            ladd
            lload 6 /* h2 */
            lload 28 /* r2 */
            lmul
            ladd
            lload 8 /* h3 */
            lload 26 /* r1 */
            lmul
            ladd
            lload 10 /* h4 */
            lload 24 /* r0 */
            lmul
            ladd
            lstore 20 /* d4 */
        start local 20 // long d4
        30: .line 110
            lload 12 /* d0 */
            bipush 26
            lshr
            lstore 22 /* c */
        start local 22 // long c
        31: .line 111
            lload 12 /* d0 */
            ldc 67108863
            land
            lstore 2 /* h0 */
        32: .line 112
            lload 14 /* d1 */
            lload 22 /* c */
            ladd
            lstore 14 /* d1 */
        33: .line 113
            lload 14 /* d1 */
            bipush 26
            lshr
            lstore 22 /* c */
        34: .line 114
            lload 14 /* d1 */
            ldc 67108863
            land
            lstore 4 /* h1 */
        35: .line 115
            lload 16 /* d2 */
            lload 22 /* c */
            ladd
            lstore 16 /* d2 */
        36: .line 116
            lload 16 /* d2 */
            bipush 26
            lshr
            lstore 22 /* c */
        37: .line 117
            lload 16 /* d2 */
            ldc 67108863
            land
            lstore 6 /* h2 */
        38: .line 118
            lload 18 /* d3 */
            lload 22 /* c */
            ladd
            lstore 18 /* d3 */
        39: .line 119
            lload 18 /* d3 */
            bipush 26
            lshr
            lstore 22 /* c */
        40: .line 120
            lload 18 /* d3 */
            ldc 67108863
            land
            lstore 8 /* h3 */
        41: .line 121
            lload 20 /* d4 */
            lload 22 /* c */
            ladd
            lstore 20 /* d4 */
        42: .line 122
            lload 20 /* d4 */
            bipush 26
            lshr
            lstore 22 /* c */
        43: .line 123
            lload 20 /* d4 */
            ldc 67108863
            land
            lstore 10 /* h4 */
        44: .line 124
            lload 2 /* h0 */
            lload 22 /* c */
            ldc 5
            lmul
            ladd
            lstore 2 /* h0 */
        45: .line 125
            lload 2 /* h0 */
            bipush 26
            lshr
            lstore 22 /* c */
        46: .line 126
            lload 2 /* h0 */
            ldc 67108863
            land
            lstore 2 /* h0 */
        47: .line 127
            lload 4 /* h1 */
            lload 22 /* c */
            ladd
            lstore 4 /* h1 */
        48: .line 94
            iinc 43 /* i */ 16
        end local 22 // long c
        end local 20 // long d4
        end local 18 // long d3
        end local 16 // long d2
        end local 14 // long d1
        end local 12 // long d0
      StackMap locals:
      StackMap stack:
        49: iload 43 /* i */
            aload 1 /* data */
            arraylength
            if_icmplt 19
        end local 43 // int i
        50: .line 130
            lload 4 /* h1 */
            bipush 26
            lshr
            lstore 22 /* c */
        start local 22 // long c
        51: .line 131
            lload 4 /* h1 */
            ldc 67108863
            land
            lstore 4 /* h1 */
        52: .line 132
            lload 6 /* h2 */
            lload 22 /* c */
            ladd
            lstore 6 /* h2 */
        53: .line 133
            lload 6 /* h2 */
            bipush 26
            lshr
            lstore 22 /* c */
        54: .line 134
            lload 6 /* h2 */
            ldc 67108863
            land
            lstore 6 /* h2 */
        55: .line 135
            lload 8 /* h3 */
            lload 22 /* c */
            ladd
            lstore 8 /* h3 */
        56: .line 136
            lload 8 /* h3 */
            bipush 26
            lshr
            lstore 22 /* c */
        57: .line 137
            lload 8 /* h3 */
            ldc 67108863
            land
            lstore 8 /* h3 */
        58: .line 138
            lload 10 /* h4 */
            lload 22 /* c */
            ladd
            lstore 10 /* h4 */
        59: .line 139
            lload 10 /* h4 */
            bipush 26
            lshr
            lstore 22 /* c */
        60: .line 140
            lload 10 /* h4 */
            ldc 67108863
            land
            lstore 10 /* h4 */
        61: .line 141
            lload 2 /* h0 */
            lload 22 /* c */
            ldc 5
            lmul
            ladd
            lstore 2 /* h0 */
        62: .line 142
            lload 2 /* h0 */
            bipush 26
            lshr
            lstore 22 /* c */
        63: .line 143
            lload 2 /* h0 */
            ldc 67108863
            land
            lstore 2 /* h0 */
        64: .line 144
            lload 4 /* h1 */
            lload 22 /* c */
            ladd
            lstore 4 /* h1 */
        65: .line 147
            lload 2 /* h0 */
            ldc 5
            ladd
            lstore 43 /* g0 */
        start local 43 // long g0
        66: .line 148
            lload 43 /* g0 */
            bipush 26
            lshr
            lstore 22 /* c */
        67: .line 149
            lload 43 /* g0 */
            ldc 67108863
            land
            lstore 43 /* g0 */
        68: .line 150
            lload 4 /* h1 */
            lload 22 /* c */
            ladd
            lstore 45 /* g1 */
        start local 45 // long g1
        69: .line 151
            lload 45 /* g1 */
            bipush 26
            lshr
            lstore 22 /* c */
        70: .line 152
            lload 45 /* g1 */
            ldc 67108863
            land
            lstore 45 /* g1 */
        71: .line 153
            lload 6 /* h2 */
            lload 22 /* c */
            ladd
            lstore 47 /* g2 */
        start local 47 // long g2
        72: .line 154
            lload 47 /* g2 */
            bipush 26
            lshr
            lstore 22 /* c */
        73: .line 155
            lload 47 /* g2 */
            ldc 67108863
            land
            lstore 47 /* g2 */
        74: .line 156
            lload 8 /* h3 */
            lload 22 /* c */
            ladd
            lstore 49 /* g3 */
        start local 49 // long g3
        75: .line 157
            lload 49 /* g3 */
            bipush 26
            lshr
            lstore 22 /* c */
        76: .line 158
            lload 49 /* g3 */
            ldc 67108863
            land
            lstore 49 /* g3 */
        77: .line 159
            lload 10 /* h4 */
            lload 22 /* c */
            ladd
            ldc 67108864
            lsub
            lstore 51 /* g4 */
        start local 51 // long g4
        78: .line 162
            lload 51 /* g4 */
            bipush 63
            lshr
            lstore 53 /* mask */
        start local 53 // long mask
        79: .line 163
            lload 2 /* h0 */
            lload 53 /* mask */
            land
            lstore 2 /* h0 */
        80: .line 164
            lload 4 /* h1 */
            lload 53 /* mask */
            land
            lstore 4 /* h1 */
        81: .line 165
            lload 6 /* h2 */
            lload 53 /* mask */
            land
            lstore 6 /* h2 */
        82: .line 166
            lload 8 /* h3 */
            lload 53 /* mask */
            land
            lstore 8 /* h3 */
        83: .line 167
            lload 10 /* h4 */
            lload 53 /* mask */
            land
            lstore 10 /* h4 */
        84: .line 168
            lload 53 /* mask */
            ldc -1
            lxor
            lstore 53 /* mask */
        85: .line 169
            lload 2 /* h0 */
            lload 43 /* g0 */
            lload 53 /* mask */
            land
            lor
            lstore 2 /* h0 */
        86: .line 170
            lload 4 /* h1 */
            lload 45 /* g1 */
            lload 53 /* mask */
            land
            lor
            lstore 4 /* h1 */
        87: .line 171
            lload 6 /* h2 */
            lload 47 /* g2 */
            lload 53 /* mask */
            land
            lor
            lstore 6 /* h2 */
        88: .line 172
            lload 8 /* h3 */
            lload 49 /* g3 */
            lload 53 /* mask */
            land
            lor
            lstore 8 /* h3 */
        89: .line 173
            lload 10 /* h4 */
            lload 51 /* g4 */
            lload 53 /* mask */
            land
            lor
            lstore 10 /* h4 */
        90: .line 176
            lload 2 /* h0 */
            lload 4 /* h1 */
            bipush 26
            lshl
            lor
            ldc 4294967295
            land
            lstore 2 /* h0 */
        91: .line 177
            lload 4 /* h1 */
            bipush 6
            lshr
            lload 6 /* h2 */
            bipush 20
            lshl
            lor
            ldc 4294967295
            land
            lstore 4 /* h1 */
        92: .line 178
            lload 6 /* h2 */
            bipush 12
            lshr
            lload 8 /* h3 */
            bipush 14
            lshl
            lor
            ldc 4294967295
            land
            lstore 6 /* h2 */
        93: .line 179
            lload 8 /* h3 */
            bipush 18
            lshr
            lload 10 /* h4 */
            bipush 8
            lshl
            lor
            ldc 4294967295
            land
            lstore 8 /* h3 */
        94: .line 182
            lload 2 /* h0 */
            aload 0 /* key */
            bipush 16
            invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
            ladd
            lstore 22 /* c */
        95: .line 183
            lload 22 /* c */
            ldc 4294967295
            land
            lstore 2 /* h0 */
        96: .line 184
            lload 4 /* h1 */
            aload 0 /* key */
            bipush 20
            invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
            ladd
            lload 22 /* c */
            bipush 32
            lshr
            ladd
            lstore 22 /* c */
        97: .line 185
            lload 22 /* c */
            ldc 4294967295
            land
            lstore 4 /* h1 */
        98: .line 186
            lload 6 /* h2 */
            aload 0 /* key */
            bipush 24
            invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
            ladd
            lload 22 /* c */
            bipush 32
            lshr
            ladd
            lstore 22 /* c */
        99: .line 187
            lload 22 /* c */
            ldc 4294967295
            land
            lstore 6 /* h2 */
       100: .line 188
            lload 8 /* h3 */
            aload 0 /* key */
            bipush 28
            invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
            ladd
            lload 22 /* c */
            bipush 32
            lshr
            ladd
            lstore 22 /* c */
       101: .line 189
            lload 22 /* c */
            ldc 4294967295
            land
            lstore 8 /* h3 */
       102: .line 191
            bipush 16
            newarray 8
            astore 55 /* mac */
        start local 55 // byte[] mac
       103: .line 192
            aload 55 /* mac */
            lload 2 /* h0 */
            iconst_0
            invokestatic com.google.crypto.tink.subtle.Poly1305.toByteArray:([BJI)V
       104: .line 193
            aload 55 /* mac */
            lload 4 /* h1 */
            iconst_4
            invokestatic com.google.crypto.tink.subtle.Poly1305.toByteArray:([BJI)V
       105: .line 194
            aload 55 /* mac */
            lload 6 /* h2 */
            bipush 8
            invokestatic com.google.crypto.tink.subtle.Poly1305.toByteArray:([BJI)V
       106: .line 195
            aload 55 /* mac */
            lload 8 /* h3 */
            bipush 12
            invokestatic com.google.crypto.tink.subtle.Poly1305.toByteArray:([BJI)V
       107: .line 197
            aload 55 /* mac */
            areturn
        end local 55 // byte[] mac
        end local 53 // long mask
        end local 51 // long g4
        end local 49 // long g3
        end local 47 // long g2
        end local 45 // long g1
        end local 43 // long g0
        end local 42 // byte[] buf
        end local 40 // long s4
        end local 38 // long s3
        end local 36 // long s2
        end local 34 // long s1
        end local 32 // long r4
        end local 30 // long r3
        end local 28 // long r2
        end local 26 // long r1
        end local 24 // long r0
        end local 22 // long c
        end local 10 // long h4
        end local 8 // long h3
        end local 6 // long h2
        end local 4 // long h1
        end local 2 // long h0
        end local 1 // byte[] data
        end local 0 // byte[] key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0  108     0   key  [B
            0  108     1  data  [B
            3  108     2    h0  J
            4  108     4    h1  J
            5  108     6    h2  J
            6  108     8    h3  J
            7  108    10    h4  J
           26   49    12    d0  J
           27   49    14    d1  J
           28   49    16    d2  J
           29   49    18    d3  J
           30   49    20    d4  J
           31   49    22     c  J
           51  108    22     c  J
            8  108    24    r0  J
            9  108    26    r1  J
           10  108    28    r2  J
           11  108    30    r3  J
           12  108    32    r4  J
           13  108    34    s1  J
           14  108    36    s2  J
           15  108    38    s3  J
           16  108    40    s4  J
           17  108    42   buf  [B
           18   50    43     i  I
           66  108    43    g0  J
           69  108    45    g1  J
           72  108    47    g2  J
           75  108    49    g3  J
           78  108    51    g4  J
           79  108    53  mask  J
          103  108    55   mac  [B
    MethodParameters:
      Name  Flags
      key   final
      data  

  static void verifyMac(byte[], byte[], byte[]);
    descriptor: ([B[B[B)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // byte[] key
        start local 1 // byte[] data
        start local 2 // byte[] mac
         0: .line 201
            aload 0 /* key */
            aload 1 /* data */
            invokestatic com.google.crypto.tink.subtle.Poly1305.computeMac:([B[B)[B
            aload 2 /* mac */
            invokestatic com.google.crypto.tink.subtle.Bytes.equal:([B[B)Z
            ifne 2
         1: .line 202
            new java.security.GeneralSecurityException
            dup
            ldc "invalid MAC"
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 2 // byte[] mac
        end local 1 // byte[] data
        end local 0 // byte[] key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   key  [B
            0    3     1  data  [B
            0    3     2   mac  [B
    Exceptions:
      throws java.security.GeneralSecurityException
    MethodParameters:
      Name  Flags
      key   final
      data  
      mac   
}
SourceFile: "Poly1305.java"