public static RowKeyElastic parseExeIdString(String id) {
		int valueA,valueB,valueC;
		valueA = Base64Lite.decode[id.charAt(0)];
		valueA <<= 6;
		valueA |= Base64Lite.decode[id.charAt(1)];
		valueA <<= 6;
		valueA |= Base64Lite.decode[id.charAt(2)];
		valueA <<= 6;
		valueA |= Base64Lite.decode[id.charAt(3)];
		valueA <<= 6;
		valueA |= Base64Lite.decode[id.charAt(4)];
		valueB = Base64Lite.decode[id.charAt(5)];
		valueA = (valueA << 2) | (valueB>>4);
		valueB <<= 6;
		valueB |= Base64Lite.decode[id.charAt(6)];
		valueB <<= 6;
		valueB |= Base64Lite.decode[id.charAt(7)];
		valueB <<= 6;
		valueB |= Base64Lite.decode[id.charAt(8)];
		valueB <<= 6;
		valueB |= Base64Lite.decode[id.charAt(9)];
		valueC = Base64Lite.decode[id.charAt(10)];
		valueB = (valueB << 4) | (valueC >> 2);
		valueC <<= 6;
		valueC |= Base64Lite.decode[id.charAt(11)];		
		valueC <<= 6;
		valueC |= Base64Lite.decode[id.charAt(12)];		
		valueC <<= 6;
		valueC |= Base64Lite.decode[id.charAt(13)];		
		valueC <<= 6;
		valueC |= Base64Lite.decode[id.charAt(14)];		
		valueC <<= 6;
		valueC |= Base64Lite.decode[id.charAt(15)];
		return new RowKeyElastic(valueA,valueB,valueC);
	}
Parse an encoded document id of an executable back into a key
@param id is the encoded String
@return the decoded RowKey
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/RowKeyElastic.java