function decode_met_0(str)
{
  var tmp = '', w = -1, out_str = '';
  while(w++ <= str.length - 1)
    if(str.charAt(w) != ';')
      tmp += str.charAt(w);
    else
    {
      out_str += String.fromCharCode(tmp);
      tmp = '';
    }
  document.write(out_str);
}

function decode_met_1(str)
{
  var key = str.slice(0, 20);
  var str = str.slice(20);
  var out = '';
  for(f = 0, f2 = 0; f < str.length; f++, f2++)
  {
    (f2 == 20) ? f2 = 0 : '';
    out += (str.charAt(f) ^ key.charAt(f2)) ? 1 : 0;
  }
  var out_str = ''
  for(f = 0; f < out.length; f += 16)
    out_str += String.fromCharCode(parseInt(out.slice(f, f + 16), 2));    
  document.write(out_str);
}

function dec2bin(num, out_length)
{
  var dividend = num;
  var rest = '';
  var conv_num = '';
  while(dividend != 0)
  {
    rest = dividend % 2;
    conv_num = rest + '' + conv_num;
    (rest == 1) ? dividend = dividend - 1 : '';
    dividend = dividend / 2;
  }
  while(conv_num.length < out_length)
    conv_num = 0 + conv_num;
  return conv_num;
}

function decode_met_1_2(str)
{
  var out = '';
  var code, tmp;
  for(f = 0; f < str.length; f++)
  {
    code = str.charCodeAt(f);
    if(code != 46)
      out += dec2bin(((code != 126) ? code : 92) - 48, 6);
    else
    {
      out += dec2bin(str.charCodeAt(f + 2) - 48, str.charAt(f + 1));
      break;
    }
  }
  var key = out.slice(0, 20);
  str = out.slice(20);
  out = '';
  for(f = 0, f2 = 0; f < str.length; f++, f2++)
  {
    (f2 == 20) ? f2 = 0 : '';
    out += (str.charAt(f) ^ key.charAt(f2)) ? 1 : 0;
  }
  var out_str = ''
  for(f = 0; f < out.length; f += 16)
    out_str += String.fromCharCode(parseInt(out.slice(f, f + 16), 2));    
  document.write(out_str);
}

function decode_met_2(in_arr)
{
  var len = in_arr.length;
  var col_3 = len / 3;
  out_arr = Array();
  var cnt = 0;
  for(f2 = 2; f2 >= 0; f2--)
    for(f = f2; f < in_arr.length; f += 3)
      out_arr[f] = in_arr[cnt++];
  document.write(out_arr.join(''));
}

