function dd(str) {
	var arr = new Array();
	var t = "";
	var s = str.indexOf(";");
	if (s > 1) {
		t = str.substring(s + 1);
		str = str.substring(0, s);
	}
	t = "G[[[:" + "H]]]:" + "I]],[[:" + "J],[:" + "K[[:" + "L]]:" + "M,0,0,0" + (t.length > 0 ? ":" + t : "");
	var ra = t.split(":");
	var i, c, r;
	for (i = ra.length - 1; i >= 0; i--) {
		c = ra[i].substring(0, 1);
		r = ra[i].substring(1);
		while ((s = str.indexOf(c)) > -1) {
			str = str.substring(0, s) + r + str.substring(s + 1);
		}
	}
	var u;
	s = "";
	ra = str.split(",");
	r = ra.length;
	for (i = 0; i < r; i++) {
	    t = ra[i];
		if ((c = t.search(/[0-9a-f!]/)) > 0) {
			s += t.substring(0, c);
			t = t.substring(c);
		}
		u = "";
		if ((c = t.search(/[^0-9a-f!]/)) > -1) {
			u = t.substring(c);
			t = t.substring(0, c);
		}
		if (t.search(/[^0-9a-f!]/) < 0) {
			if ((t.length < 3) || (t.indexOf("!") > -1)) {
				t = parseInt(t, 16);
			} else {
				t = "" + ( (parseInt(t.substring(0, t.length - 2), 16)) + ((parseInt(t.substring(t.length - 2), 16) - 128) / 100) );
			}
			s += t;
		}
		s += u + ",";
	}
	str = s.substr(0, s.length - 1);

	if (str.search(/[^ ,\.0-9\[\]]/) < 0) {
		eval("arr = " + str + ";");
	}
	return arr;
}
