public class org.codehaus.plexus.util.Base64
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.codehaus.plexus.util.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 54
ldc "\r\n"
invokevirtual java.lang.String.getBytes:()[B
putstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
1: .line 106
sipush 255
newarray 8
putstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
2: .line 121
bipush 64
newarray 8
putstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
3: .line 126
iconst_0
istore 0 /* i */
start local 0 // int i
4: goto 7
5: .line 128
StackMap locals: int
StackMap stack:
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
iload 0 /* i */
iconst_m1
bastore
6: .line 126
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 0 /* i */
sipush 255
if_icmplt 5
end local 0 // int i
8: .line 130
bipush 90
istore 0 /* i */
start local 0 // int i
9: goto 12
10: .line 132
StackMap locals:
StackMap stack:
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 65
isub
i2b
bastore
11: .line 130
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
12: iload 0 /* i */
bipush 65
if_icmpge 10
end local 0 // int i
13: .line 134
bipush 122
istore 0 /* i */
start local 0 // int i
14: goto 17
15: .line 136
StackMap locals:
StackMap stack:
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 97
isub
bipush 26
iadd
i2b
bastore
16: .line 134
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
17: iload 0 /* i */
bipush 97
if_icmpge 15
end local 0 // int i
18: .line 138
bipush 57
istore 0 /* i */
start local 0 // int i
19: goto 22
20: .line 140
StackMap locals:
StackMap stack:
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 48
isub
bipush 52
iadd
i2b
bastore
21: .line 138
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
22: iload 0 /* i */
bipush 48
if_icmpge 20
end local 0 // int i
23: .line 143
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
bipush 43
bipush 62
bastore
24: .line 144
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
bipush 47
bipush 63
bastore
25: .line 146
iconst_0
istore 0 /* i */
start local 0 // int i
26: goto 29
27: .line 148
StackMap locals:
StackMap stack:
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 65
iload 0 /* i */
iadd
i2b
bastore
28: .line 146
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
29: iload 0 /* i */
bipush 25
if_icmple 27
end local 0 // int i
30: .line 151
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 153
StackMap locals: int
StackMap stack:
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 97
iload 1 /* j */
iadd
i2b
bastore
34: .line 151
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 156
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 158
StackMap locals:
StackMap stack:
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 48
iload 1 /* j */
iadd
i2b
bastore
40: .line 156
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 161
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
bipush 62
bipush 43
bastore
43: .line 162
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
bipush 63
bipush 47
bastore
44: .line 163
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.codehaus.plexus.util.Base64 this
0: .line 31
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.codehaus.plexus.util.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/codehaus/plexus/util/Base64;
private static boolean isBase64(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte octect
0: .line 173
iload 0 /* octect */
bipush 61
if_icmpne 2
1: .line 175
iconst_1
ireturn
2: .line 177
StackMap locals:
StackMap stack:
iload 0 /* octect */
iflt 3
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
iload 0 /* octect */
baload
iconst_m1
if_icmpne 4
3: .line 179
StackMap locals:
StackMap stack:
iconst_0
ireturn
4: .line 183
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 // byte octect
LocalVariableTable:
Start End Slot Name Signature
0 5 0 octect B
MethodParameters:
Name Flags
octect
public static boolean isArrayByteBase64(byte[]);
descriptor: ([B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 // byte[] arrayOctect
0: .line 197
aload 0 /* arrayOctect */
invokestatic org.codehaus.plexus.util.Base64.discardWhitespace:([B)[B
astore 0 /* arrayOctect */
1: .line 199
aload 0 /* arrayOctect */
arraylength
istore 1 /* length */
start local 1 // int length
2: .line 200
iload 1 /* length */
ifne 4
3: .line 204
iconst_1
ireturn
4: .line 206
StackMap locals: int
StackMap stack:
aload 0 /* arrayOctect */
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 9
StackMap locals: byte[] int top int int byte[]
StackMap stack:
5: aload 5
iload 3
baload
istore 2 /* anArrayOctect */
start local 2 // byte anArrayOctect
6: .line 208
iload 2 /* anArrayOctect */
invokestatic org.codehaus.plexus.util.Base64.isBase64:(B)Z
ifne 8
7: .line 210
iconst_0
ireturn
end local 2 // byte anArrayOctect
8: .line 206
StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 4
if_icmplt 5
10: .line 213
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
6 8 2 anArrayOctect B
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 224
aload 0 /* binaryData */
iconst_0
invokestatic org.codehaus.plexus.util.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 235
aload 0 /* binaryData */
iconst_1
invokestatic org.codehaus.plexus.util.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 byte[] decode(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 // org.codehaus.plexus.util.Base64 this
start local 1 // byte[] pArray
0: .line 246
aload 1 /* pArray */
invokestatic org.codehaus.plexus.util.Base64.decodeBase64:([B)[B
areturn
end local 1 // byte[] pArray
end local 0 // org.codehaus.plexus.util.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/codehaus/plexus/util/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 258
aload 0 /* binaryData */
arraylength
bipush 8
imul
istore 2 /* lengthDataBits */
start local 2 // int lengthDataBits
1: .line 259
iload 2 /* lengthDataBits */
bipush 24
irem
istore 3 /* fewerThan24bits */
start local 3 // int fewerThan24bits
2: .line 260
iload 2 /* lengthDataBits */
bipush 24
idiv
istore 4 /* numberTriplets */
start local 4 // int numberTriplets
3: .line 261
aconst_null
astore 5 /* encodedData */
start local 5 // byte[] encodedData
4: .line 262
iconst_0
istore 6 /* encodedDataLength */
start local 6 // int encodedDataLength
5: .line 263
iconst_0
istore 7 /* nbrChunks */
start local 7 // int nbrChunks
6: .line 265
iload 3 /* fewerThan24bits */
ifeq 9
7: .line 268
iload 4 /* numberTriplets */
iconst_1
iadd
iconst_4
imul
istore 6 /* encodedDataLength */
8: .line 269
goto 10
9: .line 273
StackMap locals: byte[] int int int int byte[] int int
StackMap stack:
iload 4 /* numberTriplets */
iconst_4
imul
istore 6 /* encodedDataLength */
10: .line 279
StackMap locals:
StackMap stack:
iload 1 /* isChunked */
ifeq 15
11: .line 282
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
arraylength
ifne 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iload 6 /* encodedDataLength */
i2f
ldc 76.0
fdiv
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
StackMap locals:
StackMap stack: int
13: istore 7 /* nbrChunks */
14: .line 283
iload 6 /* encodedDataLength */
iload 7 /* nbrChunks */
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
arraylength
imul
iadd
istore 6 /* encodedDataLength */
15: .line 286
StackMap locals:
StackMap stack:
iload 6 /* encodedDataLength */
newarray 8
astore 5 /* encodedData */
16: .line 288
iconst_0
istore 8 /* k */
start local 8 // byte k
17: iconst_0
istore 9 /* l */
start local 9 // byte l
18: iconst_0
istore 10 /* b1 */
start local 10 // byte b1
19: iconst_0
istore 11 /* b2 */
start local 11 // byte b2
20: iconst_0
istore 12 /* b3 */
start local 12 // byte b3
21: .line 290
iconst_0
istore 13 /* encodedIndex */
start local 13 // int encodedIndex
22: .line 291
iconst_0
istore 14 /* dataIndex */
start local 14 // int dataIndex
23: .line 292
iconst_0
istore 15 /* i */
start local 15 // int i
24: .line 293
bipush 76
istore 16 /* nextSeparatorIndex */
start local 16 // int nextSeparatorIndex
25: .line 294
iconst_0
istore 17 /* chunksSoFar */
start local 17 // int chunksSoFar
26: .line 297
iconst_0
istore 15 /* i */
goto 55
27: .line 299
StackMap locals: byte[] int int int int byte[] int int int int int int int int int int int int
StackMap stack:
iload 15 /* i */
iconst_3
imul
istore 14 /* dataIndex */
28: .line 300
aload 0 /* binaryData */
iload 14 /* dataIndex */
baload
istore 10 /* b1 */
29: .line 301
aload 0 /* binaryData */
iload 14 /* dataIndex */
iconst_1
iadd
baload
istore 11 /* b2 */
30: .line 302
aload 0 /* binaryData */
iload 14 /* dataIndex */
iconst_2
iadd
baload
istore 12 /* b3 */
31: .line 306
iload 11 /* b2 */
bipush 15
iand
i2b
istore 9 /* l */
32: .line 307
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
33: .line 309
iload 10 /* b1 */
bipush -128
iand
ifne 34
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 35
StackMap locals:
StackMap stack:
34: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
StackMap locals:
StackMap stack: int
35: istore 18 /* val1 */
start local 18 // byte val1
36: .line 310
iload 11 /* b2 */
bipush -128
iand
ifne 37
iload 11 /* b2 */
iconst_4
ishr
i2b
goto 38
StackMap locals: int
StackMap stack:
37: iload 11 /* b2 */
iconst_4
ishr
sipush 240
ixor
i2b
StackMap locals:
StackMap stack: int
38: istore 19 /* val2 */
start local 19 // byte val2
39: .line 311
iload 12 /* b3 */
bipush -128
iand
ifne 40
iload 12 /* b3 */
bipush 6
ishr
i2b
goto 41
StackMap locals: int
StackMap stack:
40: iload 12 /* b3 */
bipush 6
ishr
sipush 252
ixor
i2b
StackMap locals:
StackMap stack: int
41: istore 20 /* val3 */
start local 20 // byte val3
42: .line 313
aload 5 /* encodedData */
iload 13 /* encodedIndex */
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
43: .line 317
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_1
iadd
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 19 /* val2 */
iload 8 /* k */
iconst_4
ishl
ior
baload
bastore
44: .line 318
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_2
iadd
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 9 /* l */
iconst_2
ishl
iload 20 /* val3 */
ior
baload
bastore
45: .line 319
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_3
iadd
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 12 /* b3 */
bipush 63
iand
baload
bastore
46: .line 321
iinc 13 /* encodedIndex */ 4
47: .line 324
iload 1 /* isChunked */
ifeq 54
48: .line 327
iload 13 /* encodedIndex */
iload 16 /* nextSeparatorIndex */
if_icmpne 54
49: .line 329
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
iconst_0
aload 5 /* encodedData */
iload 13 /* encodedIndex */
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
50: .line 330
iinc 17 /* chunksSoFar */ 1
51: .line 332
bipush 76
iload 17 /* chunksSoFar */
iconst_1
iadd
imul
iload 17 /* chunksSoFar */
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
arraylength
imul
iadd
52: .line 331
istore 16 /* nextSeparatorIndex */
53: .line 333
iload 13 /* encodedIndex */
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
arraylength
iadd
istore 13 /* encodedIndex */
end local 20 // byte val3
end local 19 // byte val2
end local 18 // byte val1
54: .line 297
StackMap locals:
StackMap stack:
iinc 15 /* i */ 1
StackMap locals:
StackMap stack:
55: iload 15 /* i */
iload 4 /* numberTriplets */
if_icmplt 27
56: .line 339
iload 15 /* i */
iconst_3
imul
istore 14 /* dataIndex */
57: .line 341
iload 3 /* fewerThan24bits */
bipush 8
if_icmpne 68
58: .line 343
aload 0 /* binaryData */
iload 14 /* dataIndex */
baload
istore 10 /* b1 */
59: .line 344
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
60: .line 347
iload 10 /* b1 */
bipush -128
iand
ifne 61
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 62
StackMap locals:
StackMap stack:
61: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
StackMap locals:
StackMap stack: int
62: istore 18 /* val1 */
start local 18 // byte val1
63: .line 348
aload 5 /* encodedData */
iload 13 /* encodedIndex */
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
64: .line 349
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_1
iadd
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 8 /* k */
iconst_4
ishl
baload
bastore
65: .line 350
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_2
iadd
bipush 61
bastore
66: .line 351
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_3
iadd
bipush 61
bastore
end local 18 // byte val1
67: .line 352
goto 83
68: .line 353
StackMap locals:
StackMap stack:
iload 3 /* fewerThan24bits */
bipush 16
if_icmpne 83
69: .line 356
aload 0 /* binaryData */
iload 14 /* dataIndex */
baload
istore 10 /* b1 */
70: .line 357
aload 0 /* binaryData */
iload 14 /* dataIndex */
iconst_1
iadd
baload
istore 11 /* b2 */
71: .line 358
iload 11 /* b2 */
bipush 15
iand
i2b
istore 9 /* l */
72: .line 359
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
73: .line 361
iload 10 /* b1 */
bipush -128
iand
ifne 74
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 75
StackMap locals:
StackMap stack:
74: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
StackMap locals:
StackMap stack: int
75: istore 18 /* val1 */
start local 18 // byte val1
76: .line 362
iload 11 /* b2 */
bipush -128
iand
ifne 77
iload 11 /* b2 */
iconst_4
ishr
i2b
goto 78
StackMap locals: int
StackMap stack:
77: iload 11 /* b2 */
iconst_4
ishr
sipush 240
ixor
i2b
StackMap locals:
StackMap stack: int
78: istore 19 /* val2 */
start local 19 // byte val2
79: .line 364
aload 5 /* encodedData */
iload 13 /* encodedIndex */
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
80: .line 365
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_1
iadd
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 19 /* val2 */
iload 8 /* k */
iconst_4
ishl
ior
baload
bastore
81: .line 366
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_2
iadd
getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
iload 9 /* l */
iconst_2
ishl
baload
bastore
82: .line 367
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_3
iadd
bipush 61
bastore
end local 19 // byte val2
end local 18 // byte val1
83: .line 370
StackMap locals:
StackMap stack:
iload 1 /* isChunked */
ifeq 88
84: .line 373
iload 17 /* chunksSoFar */
iload 7 /* nbrChunks */
if_icmpge 88
85: .line 375
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
iconst_0
aload 5 /* encodedData */
iload 6 /* encodedDataLength */
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
arraylength
isub
86: .line 376
getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
arraylength
87: .line 375
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
88: .line 380
StackMap locals:
StackMap stack:
aload 5 /* encodedData */
areturn
end local 17 // int chunksSoFar
end local 16 // int nextSeparatorIndex
end local 15 // int i
end local 14 // int dataIndex
end local 13 // int encodedIndex
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
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 89 0 binaryData [B
0 89 1 isChunked Z
1 89 2 lengthDataBits I
2 89 3 fewerThan24bits I
3 89 4 numberTriplets I
4 89 5 encodedData [B
5 89 6 encodedDataLength I
6 89 7 nbrChunks I
17 89 8 k B
18 89 9 l B
19 89 10 b1 B
20 89 11 b2 B
21 89 12 b3 B
22 89 13 encodedIndex I
23 89 14 dataIndex I
24 89 15 i I
25 89 16 nextSeparatorIndex I
26 89 17 chunksSoFar I
36 54 18 val1 B
39 54 19 val2 B
42 54 20 val3 B
63 67 18 val1 B
76 83 18 val1 B
79 83 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 392
aload 0 /* base64Data */
invokestatic org.codehaus.plexus.util.Base64.discardNonBase64:([B)[B
astore 0 /* base64Data */
1: .line 395
aload 0 /* base64Data */
arraylength
ifne 3
2: .line 397
iconst_0
newarray 8
areturn
3: .line 400
StackMap locals:
StackMap stack:
aload 0 /* base64Data */
arraylength
iconst_4
idiv
istore 1 /* numberQuadruple */
start local 1 // int numberQuadruple
4: .line 401
aconst_null
astore 2 /* decodedData */
start local 2 // byte[] decodedData
5: .line 402
iconst_0
istore 3 /* b1 */
start local 3 // byte b1
6: iconst_0
istore 4 /* b2 */
start local 4 // byte b2
7: iconst_0
istore 5 /* b3 */
start local 5 // byte b3
8: iconst_0
istore 6 /* b4 */
start local 6 // byte b4
9: iconst_0
istore 7 /* marker0 */
start local 7 // byte marker0
10: iconst_0
istore 8 /* marker1 */
start local 8 // byte marker1
11: .line 406
iconst_0
istore 9 /* encodedIndex */
start local 9 // int encodedIndex
12: .line 407
iconst_0
istore 10 /* dataIndex */
start local 10 // int dataIndex
13: .line 410
aload 0 /* base64Data */
arraylength
istore 11 /* lastData */
start local 11 // int lastData
14: .line 412
goto 17
15: .line 414
StackMap locals: byte[] int byte[] int int int int int int int int int
StackMap stack:
iinc 11 /* lastData */ -1
iload 11 /* lastData */
ifne 17
16: .line 416
iconst_0
newarray 8
areturn
17: .line 412
StackMap locals:
StackMap stack:
aload 0 /* base64Data */
iload 11 /* lastData */
iconst_1
isub
baload
bipush 61
if_icmpeq 15
18: .line 419
iload 11 /* lastData */
iload 1 /* numberQuadruple */
isub
newarray 8
astore 2 /* decodedData */
end local 11 // int lastData
19: .line 422
iconst_0
istore 11 /* i */
start local 11 // int i
20: goto 42
21: .line 424
StackMap locals:
StackMap stack:
iload 11 /* i */
iconst_4
imul
istore 10 /* dataIndex */
22: .line 425
aload 0 /* base64Data */
iload 10 /* dataIndex */
iconst_2
iadd
baload
istore 7 /* marker0 */
23: .line 426
aload 0 /* base64Data */
iload 10 /* dataIndex */
iconst_3
iadd
baload
istore 8 /* marker1 */
24: .line 428
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
aload 0 /* base64Data */
iload 10 /* dataIndex */
baload
baload
istore 3 /* b1 */
25: .line 429
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
aload 0 /* base64Data */
iload 10 /* dataIndex */
iconst_1
iadd
baload
baload
istore 4 /* b2 */
26: .line 431
iload 7 /* marker0 */
bipush 61
if_icmpeq 33
iload 8 /* marker1 */
bipush 61
if_icmpeq 33
27: .line 434
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
iload 7 /* marker0 */
baload
istore 5 /* b3 */
28: .line 435
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
iload 8 /* marker1 */
baload
istore 6 /* b4 */
29: .line 437
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
30: .line 438
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iconst_1
iadd
iload 4 /* b2 */
bipush 15
iand
iconst_4
ishl
iload 5 /* b3 */
iconst_2
ishr
bipush 15
iand
ior
i2b
bastore
31: .line 439
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iconst_2
iadd
iload 5 /* b3 */
bipush 6
ishl
iload 6 /* b4 */
ior
i2b
bastore
32: .line 440
goto 40
33: .line 441
StackMap locals:
StackMap stack:
iload 7 /* marker0 */
bipush 61
if_icmpne 36
34: .line 444
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
35: .line 445
goto 40
36: .line 446
StackMap locals:
StackMap stack:
iload 8 /* marker1 */
bipush 61
if_icmpne 40
37: .line 449
getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
iload 7 /* marker0 */
baload
istore 5 /* b3 */
38: .line 451
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
39: .line 452
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iconst_1
iadd
iload 4 /* b2 */
bipush 15
iand
iconst_4
ishl
iload 5 /* b3 */
iconst_2
ishr
bipush 15
iand
ior
i2b
bastore
40: .line 454
StackMap locals:
StackMap stack:
iinc 9 /* encodedIndex */ 3
41: .line 422
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
42: iload 11 /* i */
iload 1 /* numberQuadruple */
if_icmplt 21
end local 11 // int i
43: .line 456
aload 2 /* decodedData */
areturn
end local 10 // int dataIndex
end local 9 // int encodedIndex
end local 8 // byte marker1
end local 7 // byte marker0
end local 6 // byte b4
end local 5 // byte b3
end local 4 // byte b2
end local 3 // byte b1
end local 2 // byte[] decodedData
end local 1 // int numberQuadruple
end local 0 // byte[] base64Data
LocalVariableTable:
Start End Slot Name Signature
0 44 0 base64Data [B
4 44 1 numberQuadruple I
5 44 2 decodedData [B
6 44 3 b1 B
7 44 4 b2 B
8 44 5 b3 B
9 44 6 b4 B
10 44 7 marker0 B
11 44 8 marker1 B
12 44 9 encodedIndex I
13 44 10 dataIndex I
14 19 11 lastData I
20 43 11 i I
MethodParameters:
Name Flags
base64Data
static byte[] discardWhitespace(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 // byte[] data
0: .line 467
aload 0 /* data */
arraylength
newarray 8
astore 1 /* groomedData */
start local 1 // byte[] groomedData
1: .line 468
iconst_0
istore 2 /* bytesCopied */
start local 2 // int bytesCopied
2: .line 470
aload 0 /* data */
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: byte[] byte[] int top int int byte[]
StackMap stack:
3: aload 6
iload 4
baload
istore 3 /* aData */
start local 3 // byte aData
4: .line 472
iload 3 /* aData */
lookupswitch { // 4
9: 5
10: 5
13: 5
32: 5
default: 6
}
5: .line 478
StackMap locals: byte[] byte[] int int int int byte[]
StackMap stack:
goto 7
6: .line 480
StackMap locals:
StackMap stack:
aload 1 /* groomedData */
iload 2 /* bytesCopied */
iinc 2 /* bytesCopied */ 1
iload 3 /* aData */
bastore
end local 3 // byte aData
7: .line 470
StackMap locals: byte[] byte[] int top int int byte[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 3
9: .line 484
iload 2 /* bytesCopied */
newarray 8
astore 3 /* packedData */
start local 3 // byte[] packedData
10: .line 486
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 488
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
4 7 3 aData B
10 12 3 packedData [B
MethodParameters:
Name Flags
data
static byte[] discardNonBase64(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 // byte[] data
0: .line 500
aload 0 /* data */
arraylength
newarray 8
astore 1 /* groomedData */
start local 1 // byte[] groomedData
1: .line 501
iconst_0
istore 2 /* bytesCopied */
start local 2 // int bytesCopied
2: .line 503
aload 0 /* data */
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: byte[] byte[] int top int int byte[]
StackMap stack:
3: aload 6
iload 4
baload
istore 3 /* aData */
start local 3 // byte aData
4: .line 505
iload 3 /* aData */
invokestatic org.codehaus.plexus.util.Base64.isBase64:(B)Z
ifeq 6
5: .line 507
aload 1 /* groomedData */
iload 2 /* bytesCopied */
iinc 2 /* bytesCopied */ 1
iload 3 /* aData */
bastore
end local 3 // byte aData
6: .line 503
StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 3
8: .line 511
iload 2 /* bytesCopied */
newarray 8
astore 3 /* packedData */
start local 3 // byte[] packedData
9: .line 513
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 515
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
4 6 3 aData B
9 11 3 packedData [B
MethodParameters:
Name Flags
data
public byte[] encode(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.codehaus.plexus.util.Base64 this
start local 1 // byte[] pArray
0: .line 526
aload 1 /* pArray */
iconst_0
invokestatic org.codehaus.plexus.util.Base64.encodeBase64:([BZ)[B
areturn
end local 1 // byte[] pArray
end local 0 // org.codehaus.plexus.util.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/codehaus/plexus/util/Base64;
0 1 1 pArray [B
MethodParameters:
Name Flags
pArray
}
SourceFile: "Base64.java"