-- Exercise 1 -----------------------------------------

getSecret :: FilePath -> FilePath -> IO ByteString
getSecret encoded_path original_path = do
  encoded_image <- BS.readFile encoded_path
  original_image <- BS.readFile original_path
  return $ BS.filter (/= 0) $ BS.pack $ BS.zipWith (xor) encoded_image original_image

-- Exercise 2 -----------------------------------------
getSecret :: FilePath -> FilePath -> IO ByteString
getSecret encoded_path original_path = do
  encoded_image <- BS.readFile encoded_path
  original_image <- BS.readFile original_path
  return $ BS.filter (/= 0) $ BS.pack $ BS.zipWith (xor) encoded_image original_image

-- Exercise 2 -----------------------------------------
getSecret encoded_path original_path = do
  encoded_image <- BS.readFile encoded_path
  original_image <- BS.readFile original_path
  return $ BS.filter (/= 0) $ BS.pack $ BS.zipWith (xor) encoded_image original_image

-- Exercise 2 -----------------------------------------