/* package whatever; // don't place package name! */

/* The class name doesn't have to be Main, as long as the class is not public. */
class Main
{
  public static void main (String[] args) throws java.lang.Exception
  {
  String str = new String(Base64.decode("LyJwNh9iPil3MyMSGRhWCCpXBExXAWZBGg1eFjNcShpSCmZxCwJSAC9TBDxbBTRfCw9KRDNbHkxHCzISBwNBAyNcRkxJAWZfBQlHASgSDgkTEilAAwtWRCRTHg9bATUSBANURCRXHg1fASg="));
  String message ="test";
  String paramString = "paramTest";
  int paramInt= 2;
  String str= "";
  
      System.out.println("----------------- START ---------------------");
           for (int i = 0; i < message.length(); i++)
      {
        int k = paramString.charAt(i % paramString.length());
System.out.println("k-mod:" + k);
       
        int j = message.charAt(i);
System.out.println("j:" + j);          
        k &= 1 << paramInt;
System.out.println("k Paramint:" + k);        
        str = str + (k ^ j);
System.out.println("j end:" + j);          
System.out.println(str);
System.out.println("--------------");

        
      }
  }
  public class Base64
{
  public static final int DECODE = 0;
  public static final int DONT_GUNZIP = 4;
  public static final int DO_BREAK_LINES = 8;
  public static final int ENCODE = 1;
  private static final byte EQUALS_SIGN = 61;
  private static final byte EQUALS_SIGN_ENC = -1;
  public static final int GZIP = 2;
  private static final int MAX_LINE_LENGTH = 76;
  private static final byte NEW_LINE = 10;
  public static final int NO_OPTIONS = 0;
  public static final int ORDERED = 32;
  private static final String PREFERRED_ENCODING = "US-ASCII";
  public static final int URL_SAFE = 16;
  private static final byte WHITE_SPACE_ENC = -5;
  private static final byte[] _ORDERED_ALPHABET;
  private static final byte[] _ORDERED_DECODABET;
  private static final byte[] _STANDARD_ALPHABET;
  private static final byte[] _STANDARD_DECODABET;
  private static final byte[] _URL_SAFE_ALPHABET;
  private static final byte[] _URL_SAFE_DECODABET;

  static
  {
    boolean bool;
    if (Base64.class.desiredAssertionStatus())
      bool = false;
    else
      bool = true;
    $assertionsDisabled = bool;
    byte[] arrayOfByte = new byte[64];
    arrayOfByte[0] = 65;
    arrayOfByte[1] = 66;
    arrayOfByte[2] = 67;
    arrayOfByte[3] = 68;
    arrayOfByte[4] = 69;
    arrayOfByte[5] = 70;
    arrayOfByte[6] = 71;
    arrayOfByte[7] = 72;
    arrayOfByte[8] = 73;
    arrayOfByte[9] = 74;
    arrayOfByte[10] = 75;
    arrayOfByte[11] = 76;
    arrayOfByte[12] = 77;
    arrayOfByte[13] = 78;
    arrayOfByte[14] = 79;
    arrayOfByte[15] = 80;
    arrayOfByte[16] = 81;
    arrayOfByte[17] = 82;
    arrayOfByte[18] = 83;
    arrayOfByte[19] = 84;
    arrayOfByte[20] = 85;
    arrayOfByte[21] = 86;
    arrayOfByte[22] = 87;
    arrayOfByte[23] = 88;
    arrayOfByte[24] = 89;
    arrayOfByte[25] = 90;
    arrayOfByte[26] = 97;
    arrayOfByte[27] = 98;
    arrayOfByte[28] = 99;
    arrayOfByte[29] = 100;
    arrayOfByte[30] = 101;
    arrayOfByte[31] = 102;
    arrayOfByte[32] = 103;
    arrayOfByte[33] = 104;
    arrayOfByte[34] = 105;
    arrayOfByte[35] = 106;
    arrayOfByte[36] = 107;
    arrayOfByte[37] = 108;
    arrayOfByte[38] = 109;
    arrayOfByte[39] = 110;
    arrayOfByte[40] = 111;
    arrayOfByte[41] = 112;
    arrayOfByte[42] = 113;
    arrayOfByte[43] = 114;
    arrayOfByte[44] = 115;
    arrayOfByte[45] = 116;
    arrayOfByte[46] = 117;
    arrayOfByte[47] = 118;
    arrayOfByte[48] = 119;
    arrayOfByte[49] = 120;
    arrayOfByte[50] = 121;
    arrayOfByte[51] = 122;
    arrayOfByte[52] = 48;
    arrayOfByte[53] = 49;
    arrayOfByte[54] = 50;
    arrayOfByte[55] = 51;
    arrayOfByte[56] = 52;
    arrayOfByte[57] = 53;
    arrayOfByte[58] = 54;
    arrayOfByte[59] = 55;
    arrayOfByte[60] = 56;
    arrayOfByte[61] = 57;
    arrayOfByte[62] = 43;
    arrayOfByte[63] = 47;
    _STANDARD_ALPHABET = arrayOfByte;
    arrayOfByte = new byte[256];
    arrayOfByte[0] = -9;
    arrayOfByte[1] = -9;
    arrayOfByte[2] = -9;
    arrayOfByte[3] = -9;
    arrayOfByte[4] = -9;
    arrayOfByte[5] = -9;
    arrayOfByte[6] = -9;
    arrayOfByte[7] = -9;
    arrayOfByte[8] = -9;
    arrayOfByte[9] = -5;
    arrayOfByte[10] = -5;
    arrayOfByte[11] = -9;
    arrayOfByte[12] = -9;
    arrayOfByte[13] = -5;
    arrayOfByte[14] = -9;
    arrayOfByte[15] = -9;
    arrayOfByte[16] = -9;
    arrayOfByte[17] = -9;
    arrayOfByte[18] = -9;
    arrayOfByte[19] = -9;
    arrayOfByte[20] = -9;
    arrayOfByte[21] = -9;
    arrayOfByte[22] = -9;
    arrayOfByte[23] = -9;
    arrayOfByte[24] = -9;
    arrayOfByte[25] = -9;
    arrayOfByte[26] = -9;
    arrayOfByte[27] = -9;
    arrayOfByte[28] = -9;
    arrayOfByte[29] = -9;
    arrayOfByte[30] = -9;
    arrayOfByte[31] = -9;
    arrayOfByte[32] = -5;
    arrayOfByte[33] = -9;
    arrayOfByte[34] = -9;
    arrayOfByte[35] = -9;
    arrayOfByte[36] = -9;
    arrayOfByte[37] = -9;
    arrayOfByte[38] = -9;
    arrayOfByte[39] = -9;
    arrayOfByte[40] = -9;
    arrayOfByte[41] = -9;
    arrayOfByte[42] = -9;
    arrayOfByte[43] = 62;
    arrayOfByte[44] = -9;
    arrayOfByte[45] = -9;
    arrayOfByte[46] = -9;
    arrayOfByte[47] = 63;
    arrayOfByte[48] = 52;
    arrayOfByte[49] = 53;
    arrayOfByte[50] = 54;
    arrayOfByte[51] = 55;
    arrayOfByte[52] = 56;
    arrayOfByte[53] = 57;
    arrayOfByte[54] = 58;
    arrayOfByte[55] = 59;
    arrayOfByte[56] = 60;
    arrayOfByte[57] = 61;
    arrayOfByte[58] = -9;
    arrayOfByte[59] = -9;
    arrayOfByte[60] = -9;
    arrayOfByte[61] = -1;
    arrayOfByte[62] = -9;
    arrayOfByte[63] = -9;
    arrayOfByte[64] = -9;
    arrayOfByte[66] = 1;
    arrayOfByte[67] = 2;
    arrayOfByte[68] = 3;
    arrayOfByte[69] = 4;
    arrayOfByte[70] = 5;
    arrayOfByte[71] = 6;
    arrayOfByte[72] = 7;
    arrayOfByte[73] = 8;
    arrayOfByte[74] = 9;
    arrayOfByte[75] = 10;
    arrayOfByte[76] = 11;
    arrayOfByte[77] = 12;
    arrayOfByte[78] = 13;
    arrayOfByte[79] = 14;
    arrayOfByte[80] = 15;
    arrayOfByte[81] = 16;
    arrayOfByte[82] = 17;
    arrayOfByte[83] = 18;
    arrayOfByte[84] = 19;
    arrayOfByte[85] = 20;
    arrayOfByte[86] = 21;
    arrayOfByte[87] = 22;
    arrayOfByte[88] = 23;
    arrayOfByte[89] = 24;
    arrayOfByte[90] = 25;
    arrayOfByte[91] = -9;
    arrayOfByte[92] = -9;
    arrayOfByte[93] = -9;
    arrayOfByte[94] = -9;
    arrayOfByte[95] = -9;
    arrayOfByte[96] = -9;
    arrayOfByte[97] = 26;
    arrayOfByte[98] = 27;
    arrayOfByte[99] = 28;
    arrayOfByte[100] = 29;
    arrayOfByte[101] = 30;
    arrayOfByte[102] = 31;
    arrayOfByte[103] = 32;
    arrayOfByte[104] = 33;
    arrayOfByte[105] = 34;
    arrayOfByte[106] = 35;
    arrayOfByte[107] = 36;
    arrayOfByte[108] = 37;
    arrayOfByte[109] = 38;
    arrayOfByte[110] = 39;
    arrayOfByte[111] = 40;
    arrayOfByte[112] = 41;
    arrayOfByte[113] = 42;
    arrayOfByte[114] = 43;
    arrayOfByte[115] = 44;
    arrayOfByte[116] = 45;
    arrayOfByte[117] = 46;
    arrayOfByte[118] = 47;
    arrayOfByte[119] = 48;
    arrayOfByte[120] = 49;
    arrayOfByte[121] = 50;
    arrayOfByte[122] = 51;
    arrayOfByte[123] = -9;
    arrayOfByte[124] = -9;
    arrayOfByte[125] = -9;
    arrayOfByte[126] = -9;
    arrayOfByte[127] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â '] = -9;
    arrayOfByte['Â¡'] = -9;
    arrayOfByte['Â¢'] = -9;
    arrayOfByte['Â£'] = -9;
    arrayOfByte['Â¤'] = -9;
    arrayOfByte['Â¥'] = -9;
    arrayOfByte['Â¦'] = -9;
    arrayOfByte['Â§'] = -9;
    arrayOfByte['Â¨'] = -9;
    arrayOfByte['Â©'] = -9;
    arrayOfByte['Âª'] = -9;
    arrayOfByte['Â«'] = -9;
    arrayOfByte['Â¬'] = -9;
    arrayOfByte['Â­'] = -9;
    arrayOfByte['Â®'] = -9;
    arrayOfByte['Â¯'] = -9;
    arrayOfByte['Â°'] = -9;
    arrayOfByte['Â±'] = -9;
    arrayOfByte['Â²'] = -9;
    arrayOfByte['Â³'] = -9;
    arrayOfByte['Â´'] = -9;
    arrayOfByte['Âµ'] = -9;
    arrayOfByte['Â¶'] = -9;
    arrayOfByte['Â·'] = -9;
    arrayOfByte['Â¸'] = -9;
    arrayOfByte['Â¹'] = -9;
    arrayOfByte['Âº'] = -9;
    arrayOfByte['Â»'] = -9;
    arrayOfByte['Â¼'] = -9;
    arrayOfByte['Â½'] = -9;
    arrayOfByte['Â¾'] = -9;
    arrayOfByte['Â¿'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã '] = -9;
    arrayOfByte['Ã¡'] = -9;
    arrayOfByte['Ã¢'] = -9;
    arrayOfByte['Ã£'] = -9;
    arrayOfByte['Ã¤'] = -9;
    arrayOfByte['Ã¥'] = -9;
    arrayOfByte['Ã¦'] = -9;
    arrayOfByte['Ã§'] = -9;
    arrayOfByte['Ã¨'] = -9;
    arrayOfByte['Ã©'] = -9;
    arrayOfByte['Ãª'] = -9;
    arrayOfByte['Ã«'] = -9;
    arrayOfByte['Ã¬'] = -9;
    arrayOfByte['Ã­'] = -9;
    arrayOfByte['Ã®'] = -9;
    arrayOfByte['Ã¯'] = -9;
    arrayOfByte['Ã°'] = -9;
    arrayOfByte['Ã±'] = -9;
    arrayOfByte['Ã²'] = -9;
    arrayOfByte['Ã³'] = -9;
    arrayOfByte['Ã´'] = -9;
    arrayOfByte['Ãµ'] = -9;
    arrayOfByte['Ã¶'] = -9;
    arrayOfByte['Ã·'] = -9;
    arrayOfByte['Ã¸'] = -9;
    arrayOfByte['Ã¹'] = -9;
    arrayOfByte['Ãº'] = -9;
    arrayOfByte['Ã»'] = -9;
    arrayOfByte['Ã¼'] = -9;
    arrayOfByte['Ã½'] = -9;
    arrayOfByte['Ã¾'] = -9;
    arrayOfByte['Ã¿'] = -9;
    _STANDARD_DECODABET = arrayOfByte;
    arrayOfByte = new byte[64];
    arrayOfByte[0] = 65;
    arrayOfByte[1] = 66;
    arrayOfByte[2] = 67;
    arrayOfByte[3] = 68;
    arrayOfByte[4] = 69;
    arrayOfByte[5] = 70;
    arrayOfByte[6] = 71;
    arrayOfByte[7] = 72;
    arrayOfByte[8] = 73;
    arrayOfByte[9] = 74;
    arrayOfByte[10] = 75;
    arrayOfByte[11] = 76;
    arrayOfByte[12] = 77;
    arrayOfByte[13] = 78;
    arrayOfByte[14] = 79;
    arrayOfByte[15] = 80;
    arrayOfByte[16] = 81;
    arrayOfByte[17] = 82;
    arrayOfByte[18] = 83;
    arrayOfByte[19] = 84;
    arrayOfByte[20] = 85;
    arrayOfByte[21] = 86;
    arrayOfByte[22] = 87;
    arrayOfByte[23] = 88;
    arrayOfByte[24] = 89;
    arrayOfByte[25] = 90;
    arrayOfByte[26] = 97;
    arrayOfByte[27] = 98;
    arrayOfByte[28] = 99;
    arrayOfByte[29] = 100;
    arrayOfByte[30] = 101;
    arrayOfByte[31] = 102;
    arrayOfByte[32] = 103;
    arrayOfByte[33] = 104;
    arrayOfByte[34] = 105;
    arrayOfByte[35] = 106;
    arrayOfByte[36] = 107;
    arrayOfByte[37] = 108;
    arrayOfByte[38] = 109;
    arrayOfByte[39] = 110;
    arrayOfByte[40] = 111;
    arrayOfByte[41] = 112;
    arrayOfByte[42] = 113;
    arrayOfByte[43] = 114;
    arrayOfByte[44] = 115;
    arrayOfByte[45] = 116;
    arrayOfByte[46] = 117;
    arrayOfByte[47] = 118;
    arrayOfByte[48] = 119;
    arrayOfByte[49] = 120;
    arrayOfByte[50] = 121;
    arrayOfByte[51] = 122;
    arrayOfByte[52] = 48;
    arrayOfByte[53] = 49;
    arrayOfByte[54] = 50;
    arrayOfByte[55] = 51;
    arrayOfByte[56] = 52;
    arrayOfByte[57] = 53;
    arrayOfByte[58] = 54;
    arrayOfByte[59] = 55;
    arrayOfByte[60] = 56;
    arrayOfByte[61] = 57;
    arrayOfByte[62] = 45;
    arrayOfByte[63] = 95;
    _URL_SAFE_ALPHABET = arrayOfByte;
    arrayOfByte = new byte[256];
    arrayOfByte[0] = -9;
    arrayOfByte[1] = -9;
    arrayOfByte[2] = -9;
    arrayOfByte[3] = -9;
    arrayOfByte[4] = -9;
    arrayOfByte[5] = -9;
    arrayOfByte[6] = -9;
    arrayOfByte[7] = -9;
    arrayOfByte[8] = -9;
    arrayOfByte[9] = -5;
    arrayOfByte[10] = -5;
    arrayOfByte[11] = -9;
    arrayOfByte[12] = -9;
    arrayOfByte[13] = -5;
    arrayOfByte[14] = -9;
    arrayOfByte[15] = -9;
    arrayOfByte[16] = -9;
    arrayOfByte[17] = -9;
    arrayOfByte[18] = -9;
    arrayOfByte[19] = -9;
    arrayOfByte[20] = -9;
    arrayOfByte[21] = -9;
    arrayOfByte[22] = -9;
    arrayOfByte[23] = -9;
    arrayOfByte[24] = -9;
    arrayOfByte[25] = -9;
    arrayOfByte[26] = -9;
    arrayOfByte[27] = -9;
    arrayOfByte[28] = -9;
    arrayOfByte[29] = -9;
    arrayOfByte[30] = -9;
    arrayOfByte[31] = -9;
    arrayOfByte[32] = -5;
    arrayOfByte[33] = -9;
    arrayOfByte[34] = -9;
    arrayOfByte[35] = -9;
    arrayOfByte[36] = -9;
    arrayOfByte[37] = -9;
    arrayOfByte[38] = -9;
    arrayOfByte[39] = -9;
    arrayOfByte[40] = -9;
    arrayOfByte[41] = -9;
    arrayOfByte[42] = -9;
    arrayOfByte[43] = -9;
    arrayOfByte[44] = -9;
    arrayOfByte[45] = 62;
    arrayOfByte[46] = -9;
    arrayOfByte[47] = -9;
    arrayOfByte[48] = 52;
    arrayOfByte[49] = 53;
    arrayOfByte[50] = 54;
    arrayOfByte[51] = 55;
    arrayOfByte[52] = 56;
    arrayOfByte[53] = 57;
    arrayOfByte[54] = 58;
    arrayOfByte[55] = 59;
    arrayOfByte[56] = 60;
    arrayOfByte[57] = 61;
    arrayOfByte[58] = -9;
    arrayOfByte[59] = -9;
    arrayOfByte[60] = -9;
    arrayOfByte[61] = -1;
    arrayOfByte[62] = -9;
    arrayOfByte[63] = -9;
    arrayOfByte[64] = -9;
    arrayOfByte[66] = 1;
    arrayOfByte[67] = 2;
    arrayOfByte[68] = 3;
    arrayOfByte[69] = 4;
    arrayOfByte[70] = 5;
    arrayOfByte[71] = 6;
    arrayOfByte[72] = 7;
    arrayOfByte[73] = 8;
    arrayOfByte[74] = 9;
    arrayOfByte[75] = 10;
    arrayOfByte[76] = 11;
    arrayOfByte[77] = 12;
    arrayOfByte[78] = 13;
    arrayOfByte[79] = 14;
    arrayOfByte[80] = 15;
    arrayOfByte[81] = 16;
    arrayOfByte[82] = 17;
    arrayOfByte[83] = 18;
    arrayOfByte[84] = 19;
    arrayOfByte[85] = 20;
    arrayOfByte[86] = 21;
    arrayOfByte[87] = 22;
    arrayOfByte[88] = 23;
    arrayOfByte[89] = 24;
    arrayOfByte[90] = 25;
    arrayOfByte[91] = -9;
    arrayOfByte[92] = -9;
    arrayOfByte[93] = -9;
    arrayOfByte[94] = -9;
    arrayOfByte[95] = 63;
    arrayOfByte[96] = -9;
    arrayOfByte[97] = 26;
    arrayOfByte[98] = 27;
    arrayOfByte[99] = 28;
    arrayOfByte[100] = 29;
    arrayOfByte[101] = 30;
    arrayOfByte[102] = 31;
    arrayOfByte[103] = 32;
    arrayOfByte[104] = 33;
    arrayOfByte[105] = 34;
    arrayOfByte[106] = 35;
    arrayOfByte[107] = 36;
    arrayOfByte[108] = 37;
    arrayOfByte[109] = 38;
    arrayOfByte[110] = 39;
    arrayOfByte[111] = 40;
    arrayOfByte[112] = 41;
    arrayOfByte[113] = 42;
    arrayOfByte[114] = 43;
    arrayOfByte[115] = 44;
    arrayOfByte[116] = 45;
    arrayOfByte[117] = 46;
    arrayOfByte[118] = 47;
    arrayOfByte[119] = 48;
    arrayOfByte[120] = 49;
    arrayOfByte[121] = 50;
    arrayOfByte[122] = 51;
    arrayOfByte[123] = -9;
    arrayOfByte[124] = -9;
    arrayOfByte[125] = -9;
    arrayOfByte[126] = -9;
    arrayOfByte[127] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â '] = -9;
    arrayOfByte['Â¡'] = -9;
    arrayOfByte['Â¢'] = -9;
    arrayOfByte['Â£'] = -9;
    arrayOfByte['Â¤'] = -9;
    arrayOfByte['Â¥'] = -9;
    arrayOfByte['Â¦'] = -9;
    arrayOfByte['Â§'] = -9;
    arrayOfByte['Â¨'] = -9;
    arrayOfByte['Â©'] = -9;
    arrayOfByte['Âª'] = -9;
    arrayOfByte['Â«'] = -9;
    arrayOfByte['Â¬'] = -9;
    arrayOfByte['Â­'] = -9;
    arrayOfByte['Â®'] = -9;
    arrayOfByte['Â¯'] = -9;
    arrayOfByte['Â°'] = -9;
    arrayOfByte['Â±'] = -9;
    arrayOfByte['Â²'] = -9;
    arrayOfByte['Â³'] = -9;
    arrayOfByte['Â´'] = -9;
    arrayOfByte['Âµ'] = -9;
    arrayOfByte['Â¶'] = -9;
    arrayOfByte['Â·'] = -9;
    arrayOfByte['Â¸'] = -9;
    arrayOfByte['Â¹'] = -9;
    arrayOfByte['Âº'] = -9;
    arrayOfByte['Â»'] = -9;
    arrayOfByte['Â¼'] = -9;
    arrayOfByte['Â½'] = -9;
    arrayOfByte['Â¾'] = -9;
    arrayOfByte['Â¿'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã '] = -9;
    arrayOfByte['Ã¡'] = -9;
    arrayOfByte['Ã¢'] = -9;
    arrayOfByte['Ã£'] = -9;
    arrayOfByte['Ã¤'] = -9;
    arrayOfByte['Ã¥'] = -9;
    arrayOfByte['Ã¦'] = -9;
    arrayOfByte['Ã§'] = -9;
    arrayOfByte['Ã¨'] = -9;
    arrayOfByte['Ã©'] = -9;
    arrayOfByte['Ãª'] = -9;
    arrayOfByte['Ã«'] = -9;
    arrayOfByte['Ã¬'] = -9;
    arrayOfByte['Ã­'] = -9;
    arrayOfByte['Ã®'] = -9;
    arrayOfByte['Ã¯'] = -9;
    arrayOfByte['Ã°'] = -9;
    arrayOfByte['Ã±'] = -9;
    arrayOfByte['Ã²'] = -9;
    arrayOfByte['Ã³'] = -9;
    arrayOfByte['Ã´'] = -9;
    arrayOfByte['Ãµ'] = -9;
    arrayOfByte['Ã¶'] = -9;
    arrayOfByte['Ã·'] = -9;
    arrayOfByte['Ã¸'] = -9;
    arrayOfByte['Ã¹'] = -9;
    arrayOfByte['Ãº'] = -9;
    arrayOfByte['Ã»'] = -9;
    arrayOfByte['Ã¼'] = -9;
    arrayOfByte['Ã½'] = -9;
    arrayOfByte['Ã¾'] = -9;
    arrayOfByte['Ã¿'] = -9;
    _URL_SAFE_DECODABET = arrayOfByte;
    arrayOfByte = new byte[64];
    arrayOfByte[0] = 45;
    arrayOfByte[1] = 48;
    arrayOfByte[2] = 49;
    arrayOfByte[3] = 50;
    arrayOfByte[4] = 51;
    arrayOfByte[5] = 52;
    arrayOfByte[6] = 53;
    arrayOfByte[7] = 54;
    arrayOfByte[8] = 55;
    arrayOfByte[9] = 56;
    arrayOfByte[10] = 57;
    arrayOfByte[11] = 65;
    arrayOfByte[12] = 66;
    arrayOfByte[13] = 67;
    arrayOfByte[14] = 68;
    arrayOfByte[15] = 69;
    arrayOfByte[16] = 70;
    arrayOfByte[17] = 71;
    arrayOfByte[18] = 72;
    arrayOfByte[19] = 73;
    arrayOfByte[20] = 74;
    arrayOfByte[21] = 75;
    arrayOfByte[22] = 76;
    arrayOfByte[23] = 77;
    arrayOfByte[24] = 78;
    arrayOfByte[25] = 79;
    arrayOfByte[26] = 80;
    arrayOfByte[27] = 81;
    arrayOfByte[28] = 82;
    arrayOfByte[29] = 83;
    arrayOfByte[30] = 84;
    arrayOfByte[31] = 85;
    arrayOfByte[32] = 86;
    arrayOfByte[33] = 87;
    arrayOfByte[34] = 88;
    arrayOfByte[35] = 89;
    arrayOfByte[36] = 90;
    arrayOfByte[37] = 95;
    arrayOfByte[38] = 97;
    arrayOfByte[39] = 98;
    arrayOfByte[40] = 99;
    arrayOfByte[41] = 100;
    arrayOfByte[42] = 101;
    arrayOfByte[43] = 102;
    arrayOfByte[44] = 103;
    arrayOfByte[45] = 104;
    arrayOfByte[46] = 105;
    arrayOfByte[47] = 106;
    arrayOfByte[48] = 107;
    arrayOfByte[49] = 108;
    arrayOfByte[50] = 109;
    arrayOfByte[51] = 110;
    arrayOfByte[52] = 111;
    arrayOfByte[53] = 112;
    arrayOfByte[54] = 113;
    arrayOfByte[55] = 114;
    arrayOfByte[56] = 115;
    arrayOfByte[57] = 116;
    arrayOfByte[58] = 117;
    arrayOfByte[59] = 118;
    arrayOfByte[60] = 119;
    arrayOfByte[61] = 120;
    arrayOfByte[62] = 121;
    arrayOfByte[63] = 122;
    _ORDERED_ALPHABET = arrayOfByte;
    arrayOfByte = new byte[257];
    arrayOfByte[0] = -9;
    arrayOfByte[1] = -9;
    arrayOfByte[2] = -9;
    arrayOfByte[3] = -9;
    arrayOfByte[4] = -9;
    arrayOfByte[5] = -9;
    arrayOfByte[6] = -9;
    arrayOfByte[7] = -9;
    arrayOfByte[8] = -9;
    arrayOfByte[9] = -5;
    arrayOfByte[10] = -5;
    arrayOfByte[11] = -9;
    arrayOfByte[12] = -9;
    arrayOfByte[13] = -5;
    arrayOfByte[14] = -9;
    arrayOfByte[15] = -9;
    arrayOfByte[16] = -9;
    arrayOfByte[17] = -9;
    arrayOfByte[18] = -9;
    arrayOfByte[19] = -9;
    arrayOfByte[20] = -9;
    arrayOfByte[21] = -9;
    arrayOfByte[22] = -9;
    arrayOfByte[23] = -9;
    arrayOfByte[24] = -9;
    arrayOfByte[25] = -9;
    arrayOfByte[26] = -9;
    arrayOfByte[27] = -9;
    arrayOfByte[28] = -9;
    arrayOfByte[29] = -9;
    arrayOfByte[30] = -9;
    arrayOfByte[31] = -9;
    arrayOfByte[32] = -5;
    arrayOfByte[33] = -9;
    arrayOfByte[34] = -9;
    arrayOfByte[35] = -9;
    arrayOfByte[36] = -9;
    arrayOfByte[37] = -9;
    arrayOfByte[38] = -9;
    arrayOfByte[39] = -9;
    arrayOfByte[40] = -9;
    arrayOfByte[41] = -9;
    arrayOfByte[42] = -9;
    arrayOfByte[43] = -9;
    arrayOfByte[44] = -9;
    arrayOfByte[46] = -9;
    arrayOfByte[47] = -9;
    arrayOfByte[48] = 1;
    arrayOfByte[49] = 2;
    arrayOfByte[50] = 3;
    arrayOfByte[51] = 4;
    arrayOfByte[52] = 5;
    arrayOfByte[53] = 6;
    arrayOfByte[54] = 7;
    arrayOfByte[55] = 8;
    arrayOfByte[56] = 9;
    arrayOfByte[57] = 10;
    arrayOfByte[58] = -9;
    arrayOfByte[59] = -9;
    arrayOfByte[60] = -9;
    arrayOfByte[61] = -1;
    arrayOfByte[62] = -9;
    arrayOfByte[63] = -9;
    arrayOfByte[64] = -9;
    arrayOfByte[65] = 11;
    arrayOfByte[66] = 12;
    arrayOfByte[67] = 13;
    arrayOfByte[68] = 14;
    arrayOfByte[69] = 15;
    arrayOfByte[70] = 16;
    arrayOfByte[71] = 17;
    arrayOfByte[72] = 18;
    arrayOfByte[73] = 19;
    arrayOfByte[74] = 20;
    arrayOfByte[75] = 21;
    arrayOfByte[76] = 22;
    arrayOfByte[77] = 23;
    arrayOfByte[78] = 24;
    arrayOfByte[79] = 25;
    arrayOfByte[80] = 26;
    arrayOfByte[81] = 27;
    arrayOfByte[82] = 28;
    arrayOfByte[83] = 29;
    arrayOfByte[84] = 30;
    arrayOfByte[85] = 31;
    arrayOfByte[86] = 32;
    arrayOfByte[87] = 33;
    arrayOfByte[88] = 34;
    arrayOfByte[89] = 35;
    arrayOfByte[90] = 36;
    arrayOfByte[91] = -9;
    arrayOfByte[92] = -9;
    arrayOfByte[93] = -9;
    arrayOfByte[94] = -9;
    arrayOfByte[95] = 37;
    arrayOfByte[96] = -9;
    arrayOfByte[97] = 38;
    arrayOfByte[98] = 39;
    arrayOfByte[99] = 40;
    arrayOfByte[100] = 41;
    arrayOfByte[101] = 42;
    arrayOfByte[102] = 43;
    arrayOfByte[103] = 44;
    arrayOfByte[104] = 45;
    arrayOfByte[105] = 46;
    arrayOfByte[106] = 47;
    arrayOfByte[107] = 48;
    arrayOfByte[108] = 49;
    arrayOfByte[109] = 50;
    arrayOfByte[110] = 51;
    arrayOfByte[111] = 52;
    arrayOfByte[112] = 53;
    arrayOfByte[113] = 54;
    arrayOfByte[114] = 55;
    arrayOfByte[115] = 56;
    arrayOfByte[116] = 57;
    arrayOfByte[117] = 58;
    arrayOfByte[118] = 59;
    arrayOfByte[119] = 60;
    arrayOfByte[120] = 61;
    arrayOfByte[121] = 62;
    arrayOfByte[122] = 63;
    arrayOfByte[123] = -9;
    arrayOfByte[124] = -9;
    arrayOfByte[125] = -9;
    arrayOfByte[126] = -9;
    arrayOfByte[127] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â'] = -9;
    arrayOfByte['Â '] = -9;
    arrayOfByte['Â¡'] = -9;
    arrayOfByte['Â¢'] = -9;
    arrayOfByte['Â£'] = -9;
    arrayOfByte['Â¤'] = -9;
    arrayOfByte['Â¥'] = -9;
    arrayOfByte['Â¦'] = -9;
    arrayOfByte['Â§'] = -9;
    arrayOfByte['Â¨'] = -9;
    arrayOfByte['Â©'] = -9;
    arrayOfByte['Âª'] = -9;
    arrayOfByte['Â«'] = -9;
    arrayOfByte['Â¬'] = -9;
    arrayOfByte['Â­'] = -9;
    arrayOfByte['Â®'] = -9;
    arrayOfByte['Â¯'] = -9;
    arrayOfByte['Â°'] = -9;
    arrayOfByte['Â±'] = -9;
    arrayOfByte['Â²'] = -9;
    arrayOfByte['Â³'] = -9;
    arrayOfByte['Â´'] = -9;
    arrayOfByte['Âµ'] = -9;
    arrayOfByte['Â¶'] = -9;
    arrayOfByte['Â·'] = -9;
    arrayOfByte['Â¸'] = -9;
    arrayOfByte['Â¹'] = -9;
    arrayOfByte['Âº'] = -9;
    arrayOfByte['Â»'] = -9;
    arrayOfByte['Â¼'] = -9;
    arrayOfByte['Â½'] = -9;
    arrayOfByte['Â¾'] = -9;
    arrayOfByte['Â¿'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã'] = -9;
    arrayOfByte['Ã '] = -9;
    arrayOfByte['Ã¡'] = -9;
    arrayOfByte['Ã¢'] = -9;
    arrayOfByte['Ã£'] = -9;
    arrayOfByte['Ã¤'] = -9;
    arrayOfByte['Ã¥'] = -9;
    arrayOfByte['Ã¦'] = -9;
    arrayOfByte['Ã§'] = -9;
    arrayOfByte['Ã¨'] = -9;
    arrayOfByte['Ã©'] = -9;
    arrayOfByte['Ãª'] = -9;
    arrayOfByte['Ã«'] = -9;
    arrayOfByte['Ã¬'] = -9;
    arrayOfByte['Ã­'] = -9;
    arrayOfByte['Ã®'] = -9;
    arrayOfByte['Ã¯'] = -9;
    arrayOfByte['Ã°'] = -9;
    arrayOfByte['Ã±'] = -9;
    arrayOfByte['Ã²'] = -9;
    arrayOfByte['Ã³'] = -9;
    arrayOfByte['Ã´'] = -9;
    arrayOfByte['Ãµ'] = -9;
    arrayOfByte['Ã¶'] = -9;
    arrayOfByte['Ã·'] = -9;
    arrayOfByte['Ã¸'] = -9;
    arrayOfByte['Ã¹'] = -9;
    arrayOfByte['Ãº'] = -9;
    arrayOfByte['Ã»'] = -9;
    arrayOfByte['Ã¼'] = -9;
    arrayOfByte['Ã½'] = -9;
    arrayOfByte['Ã¾'] = -9;
    arrayOfByte['Ã¿'] = -9;
    arrayOfByte[256] = -9;
    _ORDERED_DECODABET = arrayOfByte;
  }

  public static byte[] decode(String paramString)
    throws IOException
  {
    return decode(paramString, 0);
  }

  // ERROR //
  public static byte[] decode(String paramString, int paramInt)
    throws IOException
  {
    // Byte code:
    //   0: aload_0
    //   1: ifnonnull +13 -> 14
    //   4: new 174	java/lang/NullPointerException
    //   7: dup
    //   8: ldc 176
    //   10: invokespecial 179	java/lang/NullPointerException:<init>	(Ljava/lang/String;)V
    //   13: athrow
    //   14: aload_0
    //   15: ldc 41
    //   17: invokevirtual 184	java/lang/String:getBytes	(Ljava/lang/String;)[B
    //   20: astore_2
    //   21: aload_2
    //   22: astore_2
    //   23: aload_2
    //   24: iconst_0
    //   25: aload_2
    //   26: arraylength
    //   27: iload_1
    //   28: invokestatic 187	com/botnet/offtheplatter/Base64:decode	([BIII)[B
    //   31: astore_2
    //   32: iload_1
    //   33: iconst_4
    //   34: iand
    //   35: ifeq +131 -> 166
    //   38: iconst_1
    //   39: istore_3
    //   40: aload_2
    //   41: ifnull +114 -> 155
    //   44: aload_2
    //   45: arraylength
    //   46: iconst_4
    //   47: if_icmplt +108 -> 155
    //   50: iload_3
    //   51: ifne +104 -> 155
    //   54: ldc 188
    //   56: sipush 255
    //   59: aload_2
    //   60: iconst_0
    //   61: baload
    //   62: iand
    //   63: ldc 189
    //   65: aload_2
    //   66: iconst_1
    //   67: baload
    //   68: bipush 8
    //   70: ishl
    //   71: iand
    //   72: ior
    //   73: if_icmpne +82 -> 155
    //   76: aconst_null
    //   77: astore 4
    //   79: aconst_null
    //   80: astore 5
    //   82: aconst_null
    //   83: astore_3
    //   84: sipush 2048
    //   87: newarray byte
    //   89: astore 6
    //   91: new 191	java/io/ByteArrayOutputStream
    //   94: dup
    //   95: invokespecial 192	java/io/ByteArrayOutputStream:<init>	()V
    //   98: astore_3
    //   99: new 194	java/io/ByteArrayInputStream
    //   102: dup
    //   103: aload_2
    //   104: invokespecial 197	java/io/ByteArrayInputStream:<init>	([B)V
    //   107: astore 4
    //   109: new 199	java/util/zip/GZIPInputStream
    //   112: dup
    //   113: aload 4
    //   115: invokespecial 202	java/util/zip/GZIPInputStream:<init>	(Ljava/io/InputStream;)V
    //   118: astore 5
    //   120: aload 5
    //   122: aload 6
    //   124: invokevirtual 206	java/util/zip/GZIPInputStream:read	([B)I
    //   127: istore 7
    //   129: iload 7
    //   131: ifge +40 -> 171
    //   134: aload_3
    //   135: invokevirtual 210	java/io/ByteArrayOutputStream:toByteArray	()[B
    //   138: astore_2
    //   139: aload_2
    //   140: astore_2
    //   141: aload_3
    //   142: invokevirtual 213	java/io/ByteArrayOutputStream:close	()V
    //   145: aload 5
    //   147: invokevirtual 214	java/util/zip/GZIPInputStream:close	()V
    //   150: aload 4
    //   152: invokevirtual 215	java/io/ByteArrayInputStream:close	()V
    //   155: aload_2
    //   156: areturn
    //   157: pop
    //   158: aload_0
    //   159: invokevirtual 217	java/lang/String:getBytes	()[B
    //   162: astore_2
    //   163: goto -140 -> 23
    //   166: iconst_0
    //   167: istore_3
    //   168: goto -128 -> 40
    //   171: aload_3
    //   172: aload 6
    //   174: iconst_0
    //   175: iload 7
    //   177: invokevirtual 221	java/io/ByteArrayOutputStream:write	([BII)V
    //   180: goto -60 -> 120
    //   183: astore 6
    //   185: aload_3
    //   186: astore_3
    //   187: aload 5
    //   189: astore 5
    //   191: aload 4
    //   193: astore 4
    //   195: aload 6
    //   197: invokevirtual 224	java/io/IOException:printStackTrace	()V
    //   200: aload_3
    //   201: invokevirtual 213	java/io/ByteArrayOutputStream:close	()V
    //   204: aload 5
    //   206: invokevirtual 214	java/util/zip/GZIPInputStream:close	()V
    //   209: aload 4
    //   211: invokevirtual 215	java/io/ByteArrayInputStream:close	()V
    //   214: goto -59 -> 155
    //   217: pop
    //   218: goto -63 -> 155
    //   221: astore_2
    //   222: aload_3
    //   223: invokevirtual 213	java/io/ByteArrayOutputStream:close	()V
    //   226: aload 5
    //   228: invokevirtual 214	java/util/zip/GZIPInputStream:close	()V
    //   231: aload 4
    //   233: invokevirtual 215	java/io/ByteArrayInputStream:close	()V
    //   236: aload_2
    //   237: athrow
    //   238: pop
    //   239: goto -35 -> 204
    //   242: pop
    //   243: goto -34 -> 209
    //   246: pop
    //   247: goto -21 -> 226
    //   250: pop
    //   251: goto -20 -> 231
    //   254: pop
    //   255: goto -19 -> 236
    //   258: pop
    //   259: goto -114 -> 145
    //   262: pop
    //   263: goto -113 -> 150
    //   266: pop
    //   267: goto -112 -> 155
    //   270: astore_2
    //   271: aload_3
    //   272: astore_3
    //   273: goto -51 -> 222
    //   276: astore_2
    //   277: aload_3
    //   278: astore_3
    //   279: aload 4
    //   281: astore 4
    //   283: goto -61 -> 222
    //   286: astore_2
    //   287: aload_3
    //   288: astore_3
    //   289: aload 5
    //   291: astore 5
    //   293: aload 4
    //   295: astore 4
    //   297: goto -75 -> 222
    //   300: astore 6
    //   302: goto -107 -> 195
    //   305: astore 6
    //   307: aload_3
    //   308: astore_3
    //   309: goto -114 -> 195
    //   312: astore 6
    //   314: aload_3
    //   315: astore_3
    //   316: aload 4
    //   318: astore 4
    //   320: goto -125 -> 195
    //
    // Exception table:
    //   from	to	target	type
    //   14	21	157	java/io/UnsupportedEncodingException
    //   120	139	183	java/io/IOException
    //   171	180	183	java/io/IOException
    //   209	214	217	java/lang/Exception
    //   91	99	221	finally
    //   195	200	221	finally
    //   200	204	238	java/lang/Exception
    //   204	209	242	java/lang/Exception
    //   222	226	246	java/lang/Exception
    //   226	231	250	java/lang/Exception
    //   231	236	254	java/lang/Exception
    //   141	145	258	java/lang/Exception
    //   145	150	262	java/lang/Exception
    //   150	155	266	java/lang/Exception
    //   99	109	270	finally
    //   109	120	276	finally
    //   120	139	286	finally
    //   171	180	286	finally
    //   91	99	300	java/io/IOException
    //   99	109	305	java/io/IOException
    //   109	120	312	java/io/IOException
  }

  public static byte[] decode(byte[] paramArrayOfByte)
    throws IOException
  {
    ((byte[])null);
    return decode(paramArrayOfByte, 0, paramArrayOfByte.length, 0);
  }

  public static byte[] decode(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3)
    throws IOException
  {
    if (paramArrayOfByte != null)
    {
      if ((paramInt1 >= 0) && (paramInt1 + paramInt2 <= paramArrayOfByte.length))
      {
        label203: byte[] arrayOfByte1;
        if (paramInt2 != 0)
        {
          if (paramInt2 >= 4)
          {
            byte[] arrayOfByte4 = getDecodabet(paramInt3);
            byte[] arrayOfByte2 = new byte[paramInt2 * 3 / 4];
            int i = 0;
            byte[] arrayOfByte3 = new byte[4];
            int k = paramInt1;
            int n;
            int j;
            for (int m = 0; k < paramInt1 + paramInt2; m = n)
            {
              n = arrayOfByte4[(0xFF & paramArrayOfByte[k])];
              Object[] arrayOfObject1;
              if (n < -5)
              {
                arrayOfObject1 = new Object[2];
                arrayOfObject1[0] = Integer.valueOf(0xFF & paramArrayOfByte[k]);
                arrayOfObject1[1] = Integer.valueOf(k);
                throw new IOException(String.format("Bad Base64 input character decimal %d in array position %d", arrayOfObject1));
              }
              if (n < -1)
              {
                n = m;
              }
              else
              {
                n = m + 1;
                arrayOfByte3[m] = paramArrayOfByte[k];
                if (n > 3)
                {
                  arrayOfObject1 += decode4to3(arrayOfByte3, 0, arrayOfByte2, arrayOfObject1, paramInt3);
                  n = 0;
                  if (paramArrayOfByte[k] == 61)
                    break label203;
                }
              }
              k++;
            }
            arrayOfByte1 = new byte[j];
            System.arraycopy(arrayOfByte2, 0, arrayOfByte1, 0, j);
          }
          else
          {
            throw new IllegalArgumentException("Base64-encoded string must have at least four characters, but length specified was " + paramInt2);
          }
        }
        else
          arrayOfByte1 = new byte[0];
        return arrayOfByte1;
      }
      Object[] arrayOfObject2 = new Object[3];
      arrayOfObject2[0] = Integer.valueOf(paramArrayOfByte.length);
      arrayOfObject2[1] = Integer.valueOf(paramInt1);
      arrayOfObject2[2] = Integer.valueOf(paramInt2);
      throw new IllegalArgumentException(String.format("Source array with length %d cannot have offset of %d and process %d bytes.", arrayOfObject2));
    }
    throw new NullPointerException("Cannot decode null source array.");
  }

  private static int decode4to3(byte[] paramArrayOfByte1, int paramInt1, byte[] paramArrayOfByte2, int paramInt2, int paramInt3)
  {
    int i = 1;
    if (paramArrayOfByte1 != null)
    {
      if (paramArrayOfByte2 != null)
      {
        if ((paramInt1 >= 0) && (paramInt1 + 3 < paramArrayOfByte1.length))
        {
          if ((paramInt2 >= 0) && (paramInt2 + 2 < paramArrayOfByte2.length))
          {
            localObject = getDecodabet(paramInt3);
            if (paramArrayOfByte1[(paramInt1 + 2)] != 61)
            {
              if (paramArrayOfByte1[(paramInt1 + 3)] != 61)
              {
                i = (0xFF & localObject[paramArrayOfByte1[paramInt1]]) << 18 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 1)]]) << 12 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 2)]]) << 6 | 0xFF & localObject[paramArrayOfByte1[(paramInt1 + 3)]];
                paramArrayOfByte2[paramInt2] = (byte)(i >> 16);
                paramArrayOfByte2[(paramInt2 + 1)] = (byte)(i >> 8);
                paramArrayOfByte2[(paramInt2 + 2)] = (byte)i;
                i = 3;
              }
              else
              {
                i = (0xFF & localObject[paramArrayOfByte1[paramInt1]]) << 18 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 1)]]) << 12 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 2)]]) << 6;
                paramArrayOfByte2[paramInt2] = (byte)(i >>> 16);
                paramArrayOfByte2[(paramInt2 + 1)] = (byte)(i >>> 8);
                i = 2;
              }
            }
            else
              paramArrayOfByte2[paramInt2] = (byte)(((0xFF & localObject[paramArrayOfByte1[paramInt1]]) << 18 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 1)]]) << 12) >>> 16);
            return i;
          }
          localObject = new Object[2];
          localObject[0] = Integer.valueOf(paramArrayOfByte2.length);
          localObject[i] = Integer.valueOf(paramInt2);
          throw new IllegalArgumentException(String.format("Destination array with length %d cannot have offset of %d and still store three bytes.", localObject));
        }
        Object localObject = new Object[2];
        localObject[0] = Integer.valueOf(paramArrayOfByte1.length);
        localObject[i] = Integer.valueOf(paramInt1);
        throw new IllegalArgumentException(String.format("Source array with length %d cannot have offset of %d and still process four bytes.", localObject));
      }
      throw new NullPointerException("Destination array was null.");
    }
    throw new NullPointerException("Source array was null.");
  }
}