public class org.sonatype.plexus.components.cipher.Base64
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.sonatype.plexus.components.cipher.Base64
super_class: java.lang.Object
{
static final int CHUNK_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 76
static final byte[] CHUNK_SEPARATOR;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int BASELENGTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 255
static final int LOOKUPLENGTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 64
static final int EIGHTBIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int SIXTEENBIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final int TWENTYFOURBITGROUP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 24
static final int FOURBYTE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int SIGN;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -128
static final byte PAD;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 61
private static byte[] base64Alphabet;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] lookUpBase64Alphabet;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: .line 63
ldc "\r\n"
invokevirtual java.lang.String.getBytes:()[B
putstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
1: .line 99
sipush 255
newarray 8
putstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
2: .line 114
bipush 64
newarray 8
putstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
3: .line 118
iconst_0
istore 0 /* i */
start local 0 // int i
4: goto 7
5: .line 119
StackMap locals: int
StackMap stack:
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
iload 0 /* i */
iconst_m1
bastore
6: .line 118
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 0 /* i */
sipush 255
if_icmplt 5
end local 0 // int i
8: .line 121
bipush 90
istore 0 /* i */
start local 0 // int i
9: goto 12
10: .line 122
StackMap locals:
StackMap stack:
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 65
isub
i2b
bastore
11: .line 121
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
12: iload 0 /* i */
bipush 65
if_icmpge 10
end local 0 // int i
13: .line 124
bipush 122
istore 0 /* i */
start local 0 // int i
14: goto 17
15: .line 125
StackMap locals:
StackMap stack:
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 97
isub
bipush 26
iadd
i2b
bastore
16: .line 124
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
17: iload 0 /* i */
bipush 97
if_icmpge 15
end local 0 // int i
18: .line 127
bipush 57
istore 0 /* i */
start local 0 // int i
19: goto 22
20: .line 128
StackMap locals:
StackMap stack:
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 48
isub
bipush 52
iadd
i2b
bastore
21: .line 127
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
22: iload 0 /* i */
bipush 48
if_icmpge 20
end local 0 // int i
23: .line 131
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
bipush 43
bipush 62
bastore
24: .line 132
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
bipush 47
bipush 63
bastore
25: .line 134
iconst_0
istore 0 /* i */
start local 0 // int i
26: goto 29
27: .line 135
StackMap locals:
StackMap stack:
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 65
iload 0 /* i */
iadd
i2b
bastore
28: .line 134
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
29: iload 0 /* i */
bipush 25
if_icmple 27
end local 0 // int i
30: .line 138
bipush 26
istore 0 /* i */
start local 0 // int i
31: iconst_0
istore 1 /* j */
start local 1 // int j
32: goto 35
33: .line 139
StackMap locals: int
StackMap stack:
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 97
iload 1 /* j */
iadd
i2b
bastore
34: .line 138
iinc 0 /* i */ 1
iinc 1 /* j */ 1
StackMap locals:
StackMap stack:
35: iload 0 /* i */
bipush 51
if_icmple 33
end local 1 // int j
end local 0 // int i
36: .line 142
bipush 52
istore 0 /* i */
start local 0 // int i
37: iconst_0
istore 1 /* j */
start local 1 // int j
38: goto 41
39: .line 143
StackMap locals:
StackMap stack:
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 48
iload 1 /* j */
iadd
i2b
bastore
40: .line 142
iinc 0 /* i */ 1
iinc 1 /* j */ 1
StackMap locals:
StackMap stack:
41: iload 0 /* i */
bipush 61
if_icmple 39
end local 1 // int j
end local 0 // int i
42: .line 146
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
bipush 62
bipush 43
bastore
43: .line 147
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
bipush 63
bipush 47
bastore
44: .line 148
return
LocalVariableTable:
Start End Slot Name Signature
4 8 0 i I
9 13 0 i I
14 18 0 i I
19 23 0 i I
26 30 0 i I
31 36 0 i I
32 36 1 j I
37 42 0 i I
38 42 1 j I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.sonatype.plexus.components.cipher.Base64 this
0: .line 45
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.sonatype.plexus.components.cipher.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/sonatype/plexus/components/cipher/Base64;
public static boolean isBase64(byte);
descriptor: (B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte b
0: .line 157
iload 0 /* b */
bipush 61
if_icmpeq 2
iload 0 /* b */
iflt 1
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
iload 0 /* b */
baload
ifge 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 // byte b
LocalVariableTable:
Start End Slot Name Signature
0 3 0 b B
MethodParameters:
Name Flags
b
public static boolean isArrayByteBase64(byte[]);
descriptor: ([B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 // byte[] arrayOctect
0: .line 170
aload 0 /* arrayOctect */
invokestatic org.sonatype.plexus.components.cipher.Base64.discardWhitespace:([B)[B
astore 0 /* arrayOctect */
1: .line 172
aload 0 /* arrayOctect */
arraylength
istore 1 /* length */
start local 1 // int length
2: .line 173
iload 1 /* length */
ifne 4
3: .line 176
iconst_1
ireturn
4: .line 178
StackMap locals: int
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
5: goto 9
6: .line 179
StackMap locals: int
StackMap stack:
aload 0 /* arrayOctect */
iload 2 /* i */
baload
invokestatic org.sonatype.plexus.components.cipher.Base64.isBase64:(B)Z
ifne 8
7: .line 180
iconst_0
ireturn
8: .line 178
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 2 /* i */
iload 1 /* length */
if_icmplt 6
end local 2 // int i
10: .line 183
iconst_1
ireturn
end local 1 // int length
end local 0 // byte[] arrayOctect
LocalVariableTable:
Start End Slot Name Signature
0 11 0 arrayOctect [B
2 11 1 length I
5 10 2 i I
MethodParameters:
Name Flags
arrayOctect
public static byte[] encodeBase64(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] binaryData
0: .line 194
aload 0 /* binaryData */
iconst_0
invokestatic org.sonatype.plexus.components.cipher.Base64.encodeBase64:([BZ)[B
areturn
end local 0 // byte[] binaryData
LocalVariableTable:
Start End Slot Name Signature
0 1 0 binaryData [B
MethodParameters:
Name Flags
binaryData
public static byte[] encodeBase64Chunked(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] binaryData
0: .line 205
aload 0 /* binaryData */
iconst_1
invokestatic org.sonatype.plexus.components.cipher.Base64.encodeBase64:([BZ)[B
areturn
end local 0 // byte[] binaryData
LocalVariableTable:
Start End Slot Name Signature
0 1 0 binaryData [B
MethodParameters:
Name Flags
binaryData
public java.lang.Object decode(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.sonatype.plexus.components.cipher.Base64 this
start local 1 // java.lang.Object pObject
0: .line 222
aload 1 /* pObject */
instanceof byte[]
ifne 2
1: .line 223
new java.lang.IllegalArgumentException
dup
ldc "Parameter supplied to Base64 decode is not a byte[]"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 225
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* pObject */
checkcast byte[]
invokevirtual org.sonatype.plexus.components.cipher.Base64.decode:([B)[B
areturn
end local 1 // java.lang.Object pObject
end local 0 // org.sonatype.plexus.components.cipher.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/sonatype/plexus/components/cipher/Base64;
0 3 1 pObject Ljava/lang/Object;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
pObject
public byte[] decode(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 // org.sonatype.plexus.components.cipher.Base64 this
start local 1 // byte[] pArray
0: .line 236
aload 1 /* pArray */
invokestatic org.sonatype.plexus.components.cipher.Base64.decodeBase64:([B)[B
areturn
end local 1 // byte[] pArray
end local 0 // org.sonatype.plexus.components.cipher.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/sonatype/plexus/components/cipher/Base64;
0 1 1 pArray [B
MethodParameters:
Name Flags
pArray
public static byte[] encodeBase64(byte[], boolean);
descriptor: ([BZ)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=21, args_size=2
start local 0 // byte[] binaryData
start local 1 // boolean isChunked
0: .line 249
aload 0 /* binaryData */
arraylength
bipush 8
imul
istore 2 /* lengthDataBits */
start local 2 // int lengthDataBits
1: .line 250
iload 2 /* lengthDataBits */
bipush 24
irem
istore 3 /* fewerThan24bits */
start local 3 // int fewerThan24bits
2: .line 251
iload 2 /* lengthDataBits */
bipush 24
idiv
istore 4 /* numberTriplets */
start local 4 // int numberTriplets
3: .line 254
iconst_0
istore 7 /* nbrChunks */
start local 7 // int nbrChunks
4: .line 256
iload 3 /* fewerThan24bits */
ifeq 7
5: .line 258
iload 4 /* numberTriplets */
iconst_1
iadd
iconst_4
imul
istore 6 /* encodedDataLength */
start local 6 // int encodedDataLength
6: .line 259
goto 8
end local 6 // int encodedDataLength
7: .line 261
StackMap locals: byte[] int int int int top top int
StackMap stack:
iload 4 /* numberTriplets */
iconst_4
imul
istore 6 /* encodedDataLength */
start local 6 // int encodedDataLength
8: .line 267
StackMap locals: byte[] int int int int top int int
StackMap stack:
iload 1 /* isChunked */
ifeq 13
9: .line 270
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
arraylength
ifne 10
iconst_0
goto 11
StackMap locals:
StackMap stack:
10: iload 6 /* encodedDataLength */
i2f
ldc 76.0
fdiv
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
11: .line 269
StackMap locals:
StackMap stack: int
istore 7 /* nbrChunks */
12: .line 271
iload 6 /* encodedDataLength */
iload 7 /* nbrChunks */
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
arraylength
imul
iadd
istore 6 /* encodedDataLength */
13: .line 274
StackMap locals:
StackMap stack:
iload 6 /* encodedDataLength */
newarray 8
astore 5 /* encodedData */
start local 5 // byte[] encodedData
14: .line 279
iconst_0
istore 15 /* encodedIndex */
start local 15 // int encodedIndex
15: .line 280
bipush 76
istore 16 /* nextSeparatorIndex */
start local 16 // int nextSeparatorIndex
16: .line 281
iconst_0
istore 17 /* chunksSoFar */
start local 17 // int chunksSoFar
17: .line 284
iconst_0
istore 14 /* i */
start local 14 // int i
18: goto 58
19: .line 285
StackMap locals: byte[] int int int int byte[] int int top top top top top top int int int int
StackMap stack:
iload 14 /* i */
iconst_3
imul
istore 13 /* dataIndex */
start local 13 // int dataIndex
20: .line 286
aload 0 /* binaryData */
iload 13 /* dataIndex */
baload
istore 10 /* b1 */
start local 10 // byte b1
21: .line 287
aload 0 /* binaryData */
iload 13 /* dataIndex */
iconst_1
iadd
baload
istore 11 /* b2 */
start local 11 // byte b2
22: .line 288
aload 0 /* binaryData */
iload 13 /* dataIndex */
iconst_2
iadd
baload
istore 12 /* b3 */
start local 12 // byte b3
23: .line 292
iload 11 /* b2 */
bipush 15
iand
i2b
istore 9 /* l */
start local 9 // byte l
24: .line 293
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
start local 8 // byte k
25: .line 296
iload 10 /* b1 */
bipush -128
iand
ifne 26
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 27
StackMap locals: byte[] int int int int byte[] int int int int int int int int int int int int
StackMap stack:
26: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
27: .line 295
StackMap locals:
StackMap stack: int
istore 18 /* val1 */
start local 18 // byte val1
28: .line 298
iload 11 /* b2 */
bipush -128
iand
ifne 29
iload 11 /* b2 */
iconst_4
ishr
i2b
goto 30
StackMap locals: int
StackMap stack:
29: iload 11 /* b2 */
iconst_4
ishr
sipush 240
ixor
i2b
30: .line 297
StackMap locals:
StackMap stack: int
istore 19 /* val2 */
start local 19 // byte val2
31: .line 300
iload 12 /* b3 */
bipush -128
iand
ifne 32
iload 12 /* b3 */
bipush 6
ishr
i2b
goto 33
StackMap locals: int
StackMap stack:
32: iload 12 /* b3 */
bipush 6
ishr
sipush 252
ixor
i2b
33: .line 299
StackMap locals:
StackMap stack: int
istore 20 /* val3 */
start local 20 // byte val3
34: .line 302
aload 5 /* encodedData */
iload 15 /* encodedIndex */
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
35: .line 306
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_1
iadd
36: .line 307
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 19 /* val2 */
iload 8 /* k */
iconst_4
ishl
ior
baload
37: .line 306
bastore
38: .line 308
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_2
iadd
39: .line 309
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 9 /* l */
iconst_2
ishl
iload 20 /* val3 */
ior
baload
40: .line 308
bastore
41: .line 310
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_3
iadd
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 12 /* b3 */
bipush 63
iand
baload
bastore
42: .line 312
iinc 15 /* encodedIndex */ 4
43: .line 315
iload 1 /* isChunked */
ifeq 57
44: .line 317
iload 15 /* encodedIndex */
iload 16 /* nextSeparatorIndex */
if_icmpne 57
45: .line 318
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
46: .line 319
iconst_0
47: .line 320
aload 5 /* encodedData */
48: .line 321
iload 15 /* encodedIndex */
49: .line 322
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
arraylength
50: .line 318
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
51: .line 323
iinc 17 /* chunksSoFar */ 1
52: .line 325
bipush 76
iload 17 /* chunksSoFar */
iconst_1
iadd
imul
53: .line 326
iload 17 /* chunksSoFar */
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
arraylength
imul
54: .line 325
iadd
55: .line 324
istore 16 /* nextSeparatorIndex */
56: .line 327
iload 15 /* encodedIndex */
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
arraylength
iadd
istore 15 /* encodedIndex */
end local 20 // byte val3
end local 19 // byte val2
end local 18 // byte val1
57: .line 284
StackMap locals:
StackMap stack:
iinc 14 /* i */ 1
end local 13 // int dataIndex
end local 12 // byte b3
end local 11 // byte b2
end local 10 // byte b1
end local 9 // byte l
end local 8 // byte k
StackMap locals: byte[] int int int int byte[] int int top top top top top top int int int int
StackMap stack:
58: iload 14 /* i */
iload 4 /* numberTriplets */
if_icmplt 19
59: .line 333
iload 14 /* i */
iconst_3
imul
istore 13 /* dataIndex */
start local 13 // int dataIndex
60: .line 335
iload 3 /* fewerThan24bits */
bipush 8
if_icmpne 71
61: .line 336
aload 0 /* binaryData */
iload 13 /* dataIndex */
baload
istore 10 /* b1 */
start local 10 // byte b1
62: .line 337
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
start local 8 // byte k
63: .line 341
iload 10 /* b1 */
bipush -128
iand
ifne 64
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 65
StackMap locals: byte[] int int int int byte[] int int int top int top top int int int int int
StackMap stack:
64: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
65: .line 340
StackMap locals:
StackMap stack: int
istore 18 /* val1 */
start local 18 // byte val1
66: .line 342
aload 5 /* encodedData */
iload 15 /* encodedIndex */
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
67: .line 343
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_1
iadd
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 8 /* k */
iconst_4
ishl
baload
bastore
68: .line 344
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_2
iadd
bipush 61
bastore
69: .line 345
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_3
iadd
bipush 61
bastore
end local 18 // byte val1
70: .line 346
goto 88
end local 10 // byte b1
end local 8 // byte k
StackMap locals: byte[] int int int int byte[] int int top top top top top int int int int int
StackMap stack:
71: iload 3 /* fewerThan24bits */
bipush 16
if_icmpne 88
72: .line 348
aload 0 /* binaryData */
iload 13 /* dataIndex */
baload
istore 10 /* b1 */
start local 10 // byte b1
73: .line 349
aload 0 /* binaryData */
iload 13 /* dataIndex */
iconst_1
iadd
baload
istore 11 /* b2 */
start local 11 // byte b2
74: .line 350
iload 11 /* b2 */
bipush 15
iand
i2b
istore 9 /* l */
start local 9 // byte l
75: .line 351
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
start local 8 // byte k
76: .line 354
iload 10 /* b1 */
bipush -128
iand
ifne 77
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 78
StackMap locals: byte[] int int int int byte[] int int int int int int top int int int int int
StackMap stack:
77: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
78: .line 353
StackMap locals:
StackMap stack: int
istore 18 /* val1 */
start local 18 // byte val1
79: .line 356
iload 11 /* b2 */
bipush -128
iand
ifne 80
iload 11 /* b2 */
iconst_4
ishr
i2b
goto 81
StackMap locals: int
StackMap stack:
80: iload 11 /* b2 */
iconst_4
ishr
sipush 240
ixor
i2b
81: .line 355
StackMap locals:
StackMap stack: int
istore 19 /* val2 */
start local 19 // byte val2
82: .line 358
aload 5 /* encodedData */
iload 15 /* encodedIndex */
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
83: .line 359
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_1
iadd
84: .line 360
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 19 /* val2 */
iload 8 /* k */
iconst_4
ishl
ior
baload
85: .line 359
bastore
86: .line 361
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_2
iadd
getstatic org.sonatype.plexus.components.cipher.Base64.lookUpBase64Alphabet:[B
iload 9 /* l */
iconst_2
ishl
baload
bastore
87: .line 362
aload 5 /* encodedData */
iload 15 /* encodedIndex */
iconst_3
iadd
bipush 61
bastore
end local 19 // byte val2
end local 18 // byte val1
end local 11 // byte b2
end local 10 // byte b1
end local 9 // byte l
end local 8 // byte k
88: .line 365
StackMap locals: byte[] int int int int byte[] int int top top top top top int int int int int
StackMap stack:
iload 1 /* isChunked */
ifeq 96
89: .line 367
iload 17 /* chunksSoFar */
iload 7 /* nbrChunks */
if_icmpge 96
90: .line 368
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
91: .line 369
iconst_0
92: .line 370
aload 5 /* encodedData */
93: .line 371
iload 6 /* encodedDataLength */
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
arraylength
isub
94: .line 372
getstatic org.sonatype.plexus.components.cipher.Base64.CHUNK_SEPARATOR:[B
arraylength
95: .line 368
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
96: .line 376
StackMap locals:
StackMap stack:
aload 5 /* encodedData */
areturn
end local 17 // int chunksSoFar
end local 16 // int nextSeparatorIndex
end local 15 // int encodedIndex
end local 14 // int i
end local 13 // int dataIndex
end local 7 // int nbrChunks
end local 6 // int encodedDataLength
end local 5 // byte[] encodedData
end local 4 // int numberTriplets
end local 3 // int fewerThan24bits
end local 2 // int lengthDataBits
end local 1 // boolean isChunked
end local 0 // byte[] binaryData
LocalVariableTable:
Start End Slot Name Signature
0 97 0 binaryData [B
0 97 1 isChunked Z
1 97 2 lengthDataBits I
2 97 3 fewerThan24bits I
3 97 4 numberTriplets I
14 97 5 encodedData [B
6 7 6 encodedDataLength I
8 97 6 encodedDataLength I
4 97 7 nbrChunks I
25 58 8 k B
63 71 8 k B
76 88 8 k B
24 58 9 l B
75 88 9 l B
21 58 10 b1 B
62 71 10 b1 B
73 88 10 b1 B
22 58 11 b2 B
74 88 11 b2 B
23 58 12 b3 B
20 58 13 dataIndex I
60 97 13 dataIndex I
18 97 14 i I
15 97 15 encodedIndex I
16 97 16 nextSeparatorIndex I
17 97 17 chunksSoFar I
28 57 18 val1 B
31 57 19 val2 B
34 57 20 val3 B
66 70 18 val1 B
79 88 18 val1 B
82 88 19 val2 B
MethodParameters:
Name Flags
binaryData
isChunked
public static byte[] decodeBase64(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=1
start local 0 // byte[] base64Data
0: .line 387
aload 0 /* base64Data */
invokestatic org.sonatype.plexus.components.cipher.Base64.discardNonBase64:([B)[B
astore 0 /* base64Data */
1: .line 390
aload 0 /* base64Data */
arraylength
ifne 3
2: .line 391
iconst_0
newarray 8
areturn
3: .line 394
StackMap locals:
StackMap stack:
aload 0 /* base64Data */
arraylength
iconst_4
idiv
istore 1 /* numberQuadruple */
start local 1 // int numberQuadruple
4: .line 400
iconst_0
istore 10 /* encodedIndex */
start local 10 // int encodedIndex
5: .line 403
aload 0 /* base64Data */
arraylength
istore 11 /* lastData */
start local 11 // int lastData
6: .line 405
goto 9
7: .line 406
StackMap locals: byte[] int top top top top top top top top int int
StackMap stack:
iinc 11 /* lastData */ -1
iload 11 /* lastData */
ifne 9
8: .line 407
iconst_0
newarray 8
areturn
9: .line 405
StackMap locals:
StackMap stack:
aload 0 /* base64Data */
iload 11 /* lastData */
iconst_1
isub
baload
bipush 61
if_icmpeq 7
10: .line 410
iload 11 /* lastData */
iload 1 /* numberQuadruple */
isub
newarray 8
astore 2 /* decodedData */
end local 11 // int lastData
start local 2 // byte[] decodedData
11: .line 413
iconst_0
istore 11 /* i */
start local 11 // int i
12: goto 37
13: .line 414
StackMap locals: byte[] int byte[] top top top top top top top int int
StackMap stack:
iload 11 /* i */
iconst_4
imul
istore 9 /* dataIndex */
start local 9 // int dataIndex
14: .line 415
aload 0 /* base64Data */
iload 9 /* dataIndex */
iconst_2
iadd
baload
istore 7 /* marker0 */
start local 7 // byte marker0
15: .line 416
aload 0 /* base64Data */
iload 9 /* dataIndex */
iconst_3
iadd
baload
istore 8 /* marker1 */
start local 8 // byte marker1
16: .line 418
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
aload 0 /* base64Data */
iload 9 /* dataIndex */
baload
baload
istore 3 /* b1 */
start local 3 // byte b1
17: .line 419
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
aload 0 /* base64Data */
iload 9 /* dataIndex */
iconst_1
iadd
baload
baload
istore 4 /* b2 */
start local 4 // byte b2
18: .line 421
iload 7 /* marker0 */
bipush 61
if_icmpeq 27
iload 8 /* marker1 */
bipush 61
if_icmpeq 27
19: .line 423
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
iload 7 /* marker0 */
baload
istore 5 /* b3 */
start local 5 // byte b3
20: .line 424
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
iload 8 /* marker1 */
baload
istore 6 /* b4 */
start local 6 // byte b4
21: .line 426
aload 2 /* decodedData */
iload 10 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
22: .line 427
aload 2 /* decodedData */
iload 10 /* encodedIndex */
iconst_1
iadd
23: .line 428
iload 4 /* b2 */
bipush 15
iand
iconst_4
ishl
iload 5 /* b3 */
iconst_2
ishr
bipush 15
iand
ior
i2b
24: .line 427
bastore
25: .line 429
aload 2 /* decodedData */
iload 10 /* encodedIndex */
iconst_2
iadd
iload 5 /* b3 */
bipush 6
ishl
iload 6 /* b4 */
ior
i2b
bastore
26: .line 430
goto 35
end local 6 // byte b4
end local 5 // byte b3
StackMap locals: byte[] int byte[] int int top top int int int int int
StackMap stack:
27: iload 7 /* marker0 */
bipush 61
if_icmpne 30
28: .line 432
aload 2 /* decodedData */
iload 10 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
29: .line 433
goto 35
30: .line 436
StackMap locals:
StackMap stack:
getstatic org.sonatype.plexus.components.cipher.Base64.base64Alphabet:[B
iload 7 /* marker0 */
baload
istore 5 /* b3 */
start local 5 // byte b3
31: .line 438
aload 2 /* decodedData */
iload 10 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
32: .line 439
aload 2 /* decodedData */
iload 10 /* encodedIndex */
iconst_1
iadd
33: .line 440
iload 4 /* b2 */
bipush 15
iand
iconst_4
ishl
iload 5 /* b3 */
iconst_2
ishr
bipush 15
iand
ior
i2b
34: .line 439
bastore
end local 5 // byte b3
35: .line 442
StackMap locals:
StackMap stack:
iinc 10 /* encodedIndex */ 3
36: .line 413
iinc 11 /* i */ 1
end local 9 // int dataIndex
end local 8 // byte marker1
end local 7 // byte marker0
end local 4 // byte b2
end local 3 // byte b1
StackMap locals: byte[] int byte[] top top top top top top top int int
StackMap stack:
37: iload 11 /* i */
iload 1 /* numberQuadruple */
if_icmplt 13
end local 11 // int i
38: .line 444
aload 2 /* decodedData */
areturn
end local 10 // int encodedIndex
end local 2 // byte[] decodedData
end local 1 // int numberQuadruple
end local 0 // byte[] base64Data
LocalVariableTable:
Start End Slot Name Signature
0 39 0 base64Data [B
4 39 1 numberQuadruple I
11 39 2 decodedData [B
17 37 3 b1 B
18 37 4 b2 B
20 27 5 b3 B
31 35 5 b3 B
21 27 6 b4 B
15 37 7 marker0 B
16 37 8 marker1 B
14 37 9 dataIndex I
5 39 10 encodedIndex I
6 11 11 lastData I
12 38 11 i I
MethodParameters:
Name Flags
base64Data
static byte[] discardWhitespace(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 // byte[] data
0: .line 455
aload 0 /* data */
arraylength
newarray 8
astore 1 /* groomedData */
start local 1 // byte[] groomedData
1: .line 456
iconst_0
istore 2 /* bytesCopied */
start local 2 // int bytesCopied
2: .line 458
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 8
4: .line 459
StackMap locals: byte[] int int
StackMap stack:
aload 0 /* data */
iload 3 /* i */
baload
lookupswitch { // 4
9: 5
10: 5
13: 5
32: 5
default: 6
}
5: .line 464
StackMap locals:
StackMap stack:
goto 7
6: .line 466
StackMap locals:
StackMap stack:
aload 1 /* groomedData */
iload 2 /* bytesCopied */
iinc 2 /* bytesCopied */ 1
aload 0 /* data */
iload 3 /* i */
baload
bastore
7: .line 458
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 3 /* i */
aload 0 /* data */
arraylength
if_icmplt 4
end local 3 // int i
9: .line 470
iload 2 /* bytesCopied */
newarray 8
astore 3 /* packedData */
start local 3 // byte[] packedData
10: .line 472
aload 1 /* groomedData */
iconst_0
aload 3 /* packedData */
iconst_0
iload 2 /* bytesCopied */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: .line 474
aload 3 /* packedData */
areturn
end local 3 // byte[] packedData
end local 2 // int bytesCopied
end local 1 // byte[] groomedData
end local 0 // byte[] data
LocalVariableTable:
Start End Slot Name Signature
0 12 0 data [B
1 12 1 groomedData [B
2 12 2 bytesCopied I
3 9 3 i I
10 12 3 packedData [B
MethodParameters:
Name Flags
data
static byte[] discardNonBase64(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 // byte[] data
0: .line 487
aload 0 /* data */
arraylength
newarray 8
astore 1 /* groomedData */
start local 1 // byte[] groomedData
1: .line 488
iconst_0
istore 2 /* bytesCopied */
start local 2 // int bytesCopied
2: .line 490
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 7
4: .line 491
StackMap locals: byte[] int int
StackMap stack:
aload 0 /* data */
iload 3 /* i */
baload
invokestatic org.sonatype.plexus.components.cipher.Base64.isBase64:(B)Z
ifeq 6
5: .line 492
aload 1 /* groomedData */
iload 2 /* bytesCopied */
iinc 2 /* bytesCopied */ 1
aload 0 /* data */
iload 3 /* i */
baload
bastore
6: .line 490
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
aload 0 /* data */
arraylength
if_icmplt 4
end local 3 // int i
8: .line 496
iload 2 /* bytesCopied */
newarray 8
astore 3 /* packedData */
start local 3 // byte[] packedData
9: .line 498
aload 1 /* groomedData */
iconst_0
aload 3 /* packedData */
iconst_0
iload 2 /* bytesCopied */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: .line 500
aload 3 /* packedData */
areturn
end local 3 // byte[] packedData
end local 2 // int bytesCopied
end local 1 // byte[] groomedData
end local 0 // byte[] data
LocalVariableTable:
Start End Slot Name Signature
0 11 0 data [B
1 11 1 groomedData [B
2 11 2 bytesCopied I
3 8 3 i I
9 11 3 packedData [B
MethodParameters:
Name Flags
data
public java.lang.Object encode(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.sonatype.plexus.components.cipher.Base64 this
start local 1 // java.lang.Object pObject
0: .line 518
aload 1 /* pObject */
instanceof byte[]
ifne 2
1: .line 519
new java.lang.IllegalArgumentException
dup
ldc "Parameter supplied to Base64 encode is not a byte[]"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 521
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* pObject */
checkcast byte[]
invokevirtual org.sonatype.plexus.components.cipher.Base64.encode:([B)[B
areturn
end local 1 // java.lang.Object pObject
end local 0 // org.sonatype.plexus.components.cipher.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/sonatype/plexus/components/cipher/Base64;
0 3 1 pObject Ljava/lang/Object;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
pObject
public byte[] encode(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.sonatype.plexus.components.cipher.Base64 this
start local 1 // byte[] pArray
0: .line 532
aload 1 /* pArray */
iconst_0
invokestatic org.sonatype.plexus.components.cipher.Base64.encodeBase64:([BZ)[B
areturn
end local 1 // byte[] pArray
end local 0 // org.sonatype.plexus.components.cipher.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/sonatype/plexus/components/cipher/Base64;
0 1 1 pArray [B
MethodParameters:
Name Flags
pArray
}
SourceFile: "Base64.java"