public class org.apache.commons.codec.binary.Base extends org.apache.commons.codec.binary.BaseNCodec
{
private static final int BITS_PER_ENCODED_BYTE;
private static final int BYTES_PER_ENCODED_BLOCK;
private static final int BYTES_PER_UNENCODED_BLOCK;
private static final byte[] UPPER_CASE_DECODE_TABLE;
private static final byte[] UPPER_CASE_ENCODE_TABLE;
private static final byte[] LOWER_CASE_DECODE_TABLE;
private static final byte[] LOWER_CASE_ENCODE_TABLE;
private static final int MASK_4BITS;
private final byte[] decodeTable;
private final byte[] encodeTable;
public void <init>()
{
org.apache.commons.codec.binary.Base v;
v := @this: org.apache.commons.codec.binary.Base;
specialinvoke v.<org.apache.commons.codec.binary.Base16: void <init>(boolean)>(0);
return;
}
public void <init>(boolean)
{
org.apache.commons.codec.CodecPolicy v;
org.apache.commons.codec.binary.Base v;
boolean v;
v := @this: org.apache.commons.codec.binary.Base;
v := @parameter: boolean;
v = <org.apache.commons.codec.binary.Base16: org.apache.commons.codec.CodecPolicy DECODING_POLICY_DEFAULT>;
specialinvoke v.<org.apache.commons.codec.binary.Base16: void <init>(boolean,org.apache.commons.codec.CodecPolicy)>(v, v);
return;
}
public void <init>(boolean, org.apache.commons.codec.CodecPolicy)
{
org.apache.commons.codec.CodecPolicy v;
byte[] v, v, v, v;
org.apache.commons.codec.binary.Base v;
boolean v;
v := @this: org.apache.commons.codec.binary.Base;
v := @parameter: boolean;
v := @parameter: org.apache.commons.codec.CodecPolicy;
specialinvoke v.<org.apache.commons.codec.binary.BaseNCodec: void <init>(int,int,int,int,byte,org.apache.commons.codec.CodecPolicy)>(1, 2, 0, 0, 61, v);
if v == 0 goto label;
v = <org.apache.commons.codec.binary.Base16: byte[] LOWER_CASE_ENCODE_TABLE>;
v.<org.apache.commons.codec.binary.Base16: byte[] encodeTable> = v;
v = <org.apache.commons.codec.binary.Base16: byte[] LOWER_CASE_DECODE_TABLE>;
v.<org.apache.commons.codec.binary.Base16: byte[] decodeTable> = v;
goto label;
label:
v = <org.apache.commons.codec.binary.Base16: byte[] UPPER_CASE_ENCODE_TABLE>;
v.<org.apache.commons.codec.binary.Base16: byte[] encodeTable> = v;
v = <org.apache.commons.codec.binary.Base16: byte[] UPPER_CASE_DECODE_TABLE>;
v.<org.apache.commons.codec.binary.Base16: byte[] decodeTable> = v;
label:
return;
}
void decode(byte[], int, int, org.apache.commons.codec.binary.BaseNCodec$Context)
{
byte[] v, v;
byte v, v, v, v, v;
boolean v, v;
org.apache.commons.codec.binary.BaseNCodec$Context v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.codec.binary.Base v;
v := @this: org.apache.commons.codec.binary.Base;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.commons.codec.binary.BaseNCodec$Context;
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: boolean eof>;
if v != 0 goto label;
if v >= 0 goto label;
label:
v.<org.apache.commons.codec.binary.BaseNCodec$Context: boolean eof> = 1;
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: int ibitWorkArea>;
if v == 0 goto label;
specialinvoke v.<org.apache.commons.codec.binary.Base16: void validateTrailingCharacter()>();
label:
return;
label:
v = lengthof v;
v = v - v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: int ibitWorkArea>;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v + v;
if v != 1 goto label;
if v != v goto label;
v = v[v];
v = specialinvoke v.<org.apache.commons.codec.binary.Base16: int decodeOctet(byte)>(v);
v = v + 1;
v.<org.apache.commons.codec.binary.BaseNCodec$Context: int ibitWorkArea> = v;
return;
label:
v = v % 2;
if v != 0 goto label;
v = v;
goto label;
label:
v = v - 1;
label:
v = v + v;
v = v / 2;
v = virtualinvoke v.<org.apache.commons.codec.binary.Base16: byte[] ensureBufferSize(int,org.apache.commons.codec.binary.BaseNCodec$Context)>(v, v);
if v >= v goto label;
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: int ibitWorkArea>;
v = v - 1;
v = v << 4;
v = v;
v = v + 1;
v = v[v];
v = specialinvoke v.<org.apache.commons.codec.binary.Base16: int decodeOctet(byte)>(v);
v = v | v;
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: int pos>;
v = v + 1;
v.<org.apache.commons.codec.binary.BaseNCodec$Context: int pos> = v;
v[v] = v;
v.<org.apache.commons.codec.binary.BaseNCodec$Context: int ibitWorkArea> = 0;
label:
v = v - 1;
label:
if v >= v goto label;
v = v + 1;
v = v[v];
v = specialinvoke v.<org.apache.commons.codec.binary.Base16: int decodeOctet(byte)>(v);
v = v << 4;
v = v + 1;
v = v[v];
v = specialinvoke v.<org.apache.commons.codec.binary.Base16: int decodeOctet(byte)>(v);
v = v | v;
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: int pos>;
v = v + 1;
v.<org.apache.commons.codec.binary.BaseNCodec$Context: int pos> = v;
v[v] = v;
goto label;
label:
if v >= v goto label;
v = v[v];
v = specialinvoke v.<org.apache.commons.codec.binary.Base16: int decodeOctet(byte)>(v);
v = v + 1;
v.<org.apache.commons.codec.binary.BaseNCodec$Context: int ibitWorkArea> = v;
label:
return;
}
private int decodeOctet(byte)
{
byte[] v, v;
org.apache.commons.codec.binary.Base v;
java.lang.IllegalArgumentException v;
short v;
byte v, v;
int v, v;
java.lang.String v;
v := @this: org.apache.commons.codec.binary.Base;
v := @parameter: byte;
v = -1;
v = v & 255;
v = v.<org.apache.commons.codec.binary.Base16: byte[] decodeTable>;
v = lengthof v;
if v >= v goto label;
v = v.<org.apache.commons.codec.binary.Base16: byte[] decodeTable>;
v = v[v];
label:
v = (int) -1;
if v != v goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (byte)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid octet in encoded value: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
void encode(byte[], int, int, org.apache.commons.codec.binary.BaseNCodec$Context)
{
byte[] v, v, v, v;
byte v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v;
org.apache.commons.codec.binary.Base v;
java.lang.IllegalArgumentException v;
org.apache.commons.codec.binary.BaseNCodec$Context v;
v := @this: org.apache.commons.codec.binary.Base;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.commons.codec.binary.BaseNCodec$Context;
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: boolean eof>;
if v == 0 goto label;
return;
label:
if v >= 0 goto label;
v.<org.apache.commons.codec.binary.BaseNCodec$Context: boolean eof> = 1;
return;
label:
v = v * 2;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Input length exceeds maximum size for encoded data: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.commons.codec.binary.Base16: byte[] ensureBufferSize(int,org.apache.commons.codec.binary.BaseNCodec$Context)>(v, v);
v = v + v;
v = v;
label:
if v >= v goto label;
v = v[v];
v = v >> 4;
v = v & 15;
v = v & 15;
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: int pos>;
v = v + 1;
v.<org.apache.commons.codec.binary.BaseNCodec$Context: int pos> = v;
v = v.<org.apache.commons.codec.binary.Base16: byte[] encodeTable>;
v = v[v];
v[v] = v;
v = v.<org.apache.commons.codec.binary.BaseNCodec$Context: int pos>;
v = v + 1;
v.<org.apache.commons.codec.binary.BaseNCodec$Context: int pos> = v;
v = v.<org.apache.commons.codec.binary.Base16: byte[] encodeTable>;
v = v[v];
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
public boolean isInAlphabet(byte)
{
byte[] v, v;
org.apache.commons.codec.binary.Base v;
short v;
byte v, v;
int v, v;
boolean v;
v := @this: org.apache.commons.codec.binary.Base;
v := @parameter: byte;
v = v & 255;
v = v.<org.apache.commons.codec.binary.Base16: byte[] decodeTable>;
v = lengthof v;
if v >= v goto label;
v = v.<org.apache.commons.codec.binary.Base16: byte[] decodeTable>;
v = v[v];
v = (int) -1;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void validateTrailingCharacter()
{
org.apache.commons.codec.binary.Base v;
java.lang.IllegalArgumentException v;
boolean v;
v := @this: org.apache.commons.codec.binary.Base;
v = virtualinvoke v.<org.apache.commons.codec.binary.Base16: boolean isStrictDecoding()>();
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Strict decoding: Last encoded character is a valid base 16 alphabetcharacter but not a possible encoding. Decoding requires at least two characters to create one byte.");
throw v;
label:
return;
}
static void <clinit>()
{
byte[] v, v, v, v;
v = newarray (byte)[71];
v[0] = -1;
v[1] = -1;
v[2] = -1;
v[3] = -1;
v[4] = -1;
v[5] = -1;
v[6] = -1;
v[7] = -1;
v[8] = -1;
v[9] = -1;
v[10] = -1;
v[11] = -1;
v[12] = -1;
v[13] = -1;
v[14] = -1;
v[15] = -1;
v[16] = -1;
v[17] = -1;
v[18] = -1;
v[19] = -1;
v[20] = -1;
v[21] = -1;
v[22] = -1;
v[23] = -1;
v[24] = -1;
v[25] = -1;
v[26] = -1;
v[27] = -1;
v[28] = -1;
v[29] = -1;
v[30] = -1;
v[31] = -1;
v[32] = -1;
v[33] = -1;
v[34] = -1;
v[35] = -1;
v[36] = -1;
v[37] = -1;
v[38] = -1;
v[39] = -1;
v[40] = -1;
v[41] = -1;
v[42] = -1;
v[43] = -1;
v[44] = -1;
v[45] = -1;
v[46] = -1;
v[47] = -1;
v[48] = 0;
v[49] = 1;
v[50] = 2;
v[51] = 3;
v[52] = 4;
v[53] = 5;
v[54] = 6;
v[55] = 7;
v[56] = 8;
v[57] = 9;
v[58] = -1;
v[59] = -1;
v[60] = -1;
v[61] = -1;
v[62] = -1;
v[63] = -1;
v[64] = -1;
v[65] = 10;
v[66] = 11;
v[67] = 12;
v[68] = 13;
v[69] = 14;
v[70] = 15;
<org.apache.commons.codec.binary.Base16: byte[] UPPER_CASE_DECODE_TABLE> = v;
v = newarray (byte)[16];
v[0] = 48;
v[1] = 49;
v[2] = 50;
v[3] = 51;
v[4] = 52;
v[5] = 53;
v[6] = 54;
v[7] = 55;
v[8] = 56;
v[9] = 57;
v[10] = 65;
v[11] = 66;
v[12] = 67;
v[13] = 68;
v[14] = 69;
v[15] = 70;
<org.apache.commons.codec.binary.Base16: byte[] UPPER_CASE_ENCODE_TABLE> = v;
v = newarray (byte)[103];
v[0] = -1;
v[1] = -1;
v[2] = -1;
v[3] = -1;
v[4] = -1;
v[5] = -1;
v[6] = -1;
v[7] = -1;
v[8] = -1;
v[9] = -1;
v[10] = -1;
v[11] = -1;
v[12] = -1;
v[13] = -1;
v[14] = -1;
v[15] = -1;
v[16] = -1;
v[17] = -1;
v[18] = -1;
v[19] = -1;
v[20] = -1;
v[21] = -1;
v[22] = -1;
v[23] = -1;
v[24] = -1;
v[25] = -1;
v[26] = -1;
v[27] = -1;
v[28] = -1;
v[29] = -1;
v[30] = -1;
v[31] = -1;
v[32] = -1;
v[33] = -1;
v[34] = -1;
v[35] = -1;
v[36] = -1;
v[37] = -1;
v[38] = -1;
v[39] = -1;
v[40] = -1;
v[41] = -1;
v[42] = -1;
v[43] = -1;
v[44] = -1;
v[45] = -1;
v[46] = -1;
v[47] = -1;
v[48] = 0;
v[49] = 1;
v[50] = 2;
v[51] = 3;
v[52] = 4;
v[53] = 5;
v[54] = 6;
v[55] = 7;
v[56] = 8;
v[57] = 9;
v[58] = -1;
v[59] = -1;
v[60] = -1;
v[61] = -1;
v[62] = -1;
v[63] = -1;
v[64] = -1;
v[65] = -1;
v[66] = -1;
v[67] = -1;
v[68] = -1;
v[69] = -1;
v[70] = -1;
v[71] = -1;
v[72] = -1;
v[73] = -1;
v[74] = -1;
v[75] = -1;
v[76] = -1;
v[77] = -1;
v[78] = -1;
v[79] = -1;
v[80] = -1;
v[81] = -1;
v[82] = -1;
v[83] = -1;
v[84] = -1;
v[85] = -1;
v[86] = -1;
v[87] = -1;
v[88] = -1;
v[89] = -1;
v[90] = -1;
v[91] = -1;
v[92] = -1;
v[93] = -1;
v[94] = -1;
v[95] = -1;
v[96] = -1;
v[97] = 10;
v[98] = 11;
v[99] = 12;
v[100] = 13;
v[101] = 14;
v[102] = 15;
<org.apache.commons.codec.binary.Base16: byte[] LOWER_CASE_DECODE_TABLE> = v;
v = newarray (byte)[16];
v[0] = 48;
v[1] = 49;
v[2] = 50;
v[3] = 51;
v[4] = 52;
v[5] = 53;
v[6] = 54;
v[7] = 55;
v[8] = 56;
v[9] = 57;
v[10] = 97;
v[11] = 98;
v[12] = 99;
v[13] = 100;
v[14] = 101;
v[15] = 102;
<org.apache.commons.codec.binary.Base16: byte[] LOWER_CASE_ENCODE_TABLE> = v;
return;
}
}