public void run() {
		printJump();

		try {

			String s = Utils.getString("guild_challenge/index");
			int i = s.indexOf("var flashvars = {");
			i = s.indexOf("var flashvars = {", i + 1);
			i = s.indexOf("var flashvars = {", i + 1);
			s = s.substring(s.indexOf("guild_id:", i + 1));
			s = s.substring(0, s.indexOf('\n'));
			final String guild_id = s.replaceAll("[^0-9]", "");

			JSONObject result = Utils.getJSON("guild_challenge/getData/"
					+ guild_id);

			if (result.getInt("game") == 1) {

				Utils.visit("games/kisten/0");

				JSONObject befor = Utils.getJSON("games/getGameWarehouse");

				int wait = new Random().nextInt(30) + 30;
				Control.sleep(wait * 10, 2);

				String md5;
				try {
					MessageDigest m = MessageDigest.getInstance("MD5");
					byte[] data = ("U9ZF6FG7WDDSW453WIN" + befor
							.getString("hash")).getBytes();
					m.update(data, 0, data.length);
					BigInteger in = new BigInteger(1, m.digest());
					md5 = String.format("%1$032X", in);
				} catch (NoSuchAlgorithmException e) {
					Output.error(e);
					return;
				}

				md5 = md5.toLowerCase();

				JSONObject win = Utils.getJSON("games/punkteWarehouse/" + md5);

				if (win.getInt("result") == 1) {
					Output.printTabLn("Weinkeller gewonnen", 1);
				} else {
					Output.printTabLn("Weinkeller verloren", 1);
				}
			} else {
				Output.printTabLn("Weinkeller heute schon erledigt", 1);
			}
		} catch (Exception e) {
			Output.error(e);
		}
	}