code: function createMachineID(val_bb3, val_ff2, val_3b3) {
  	// Machine IDs are binary KV objects with root key MessageObject and three hashes named BB3, FF2, and 3B3.
  	// I don't feel like writing a proper BinaryKV serializer, so this will work fine.
  
  	let buffer = ByteBuffer.allocate(155, ByteBuffer.LITTLE_ENDIAN);
  	buffer.writeByte(0); // 1 byte, total 1
  	buffer.writeCString("MessageObject"); // 14 bytes, total 15
  
  	buffer.writeByte(1); // 1 byte, total 16
  	buffer.writeCString("BB3"); // 4 bytes, total 20
  	buffer.writeCString(sha1(val_bb3)); // 41 bytes, total 61
  
  	buffer.writeByte(1); // 1 byte, total 62
  	buffer.writeCString("FF2"); // 4 bytes, total 66
  	buffer.writeCString(sha1(val_ff2)); // 41 bytes, total 107
  
  	buffer.writeByte(1); // 1 byte, total 108
  	buffer.writeCString("3B3"); // 4 bytes, total 112
  	buffer.writeCString(sha1(val_3b3)); // 41 bytes, total 153
  
  	buffer.writeByte(8); // 1 byte, total 154
  	buffer.writeByte(8); // 1 byte, total 155
  
  	return buffer.flip().toBuffer();
  
  	function sha1(input) {
  		let hash = Crypto.createHash('sha1');
  		hash.update(input, 'utf8');
  		return hash.digest('hex');
  	}
  }
docs: Private functions