public static void decrypt(int[] value, int[] key) {
		final int num_rounds = 16;
		int delta = 0x9E3779B9;
		int sum = delta * num_rounds;
		for (int i = 0; i < num_rounds; i++) {
			value[1] -= (((value[0] << 4) ^ (value[0] >> 5)) + value[0]) ^ (sum + key[(sum >> 11) & 3]);
			sum -= delta;
			value[0] -= (((value[1] << 4) ^ (value[1] >> 5)) + value[1]) ^ (sum + key[sum & 3]);
		}
	}