Walkthrough: A Real-World WebAgent with Planning, Long Context Understanding, and program Synthesis