# Instruction
- You are an expert in cleaning process data descriptions. Given a task, you are provided with a set of annotation description
data for a certain visual LLM related to human user operation videos. Plus, You are provided with full trace of playwright action,
whic includes action and url before and after the action.
- You need to analyze all the descriptive data and ultimately summarize a complete and reasonable user operation description that can accomplish the given task.
- For each strategy, give a clear list of the low level action sequence.

# Task
Tell me the distance to drive from Carnegie Mellon University to the top computer science school in massachusetts

# Annotation description
### Part 1: Observing Actions on OpenStreetMap Website

#### Action 1:
- **Action:** I click on the search bar located at the top left corner of the page.
- **Page Changes:** The search bar becomes active, and a dropdown menu appears below it, suggesting recent or popular search queries.
- **Possible Purpose:** The likely intent is to initiate a search for a specific location or address on the map.

#### Action 2:
- **Action:** I type "Where is this? Go" into the search bar.
- **Page Changes:** As I type, the text appears in the search bar. No immediate page changes occur until further action is taken.
- **Possible Purpose:** The purpose is to input a query to find a particular location or area on the map.

#### Action 3:
- **Action:** I press the "Go" button next to the search bar.
- **Page Changes:** After pressing "Go," the map updates to display the searched location. However, since the query "Where is this? Go" is not a specific location, the map may not change significantly or might show an error message.
- **Possible Purpose:** The intent is to execute the search query and view the corresponding location on the map.

#### Action 4:
- **Action:** I click on the "From" textbox within the directions panel on the left side of the page.
- **Page Changes:** The "From" textbox becomes active, allowing me to input a starting location for directions.
- **Possible Purpose:** The purpose is to specify a starting point for generating directions.

#### Action 5:
- **Action:** I type "Carnegie Mellon University, Schenley Drive" into the "From" textbox.
- **Page Changes:** As I type, suggestions appear in a dropdown menu below the textbox, listing possible matches for the entered text.
- **Possible Purpose:** The intent is to select "Carnegie Mellon University, Schenley Drive" as the starting point for the directions.

#### Action 6:
- **Action:** I select "Carnegie Mellon University, Schenley Drive" from the dropdown suggestions.
- **Page Changes:** The selected location is confirmed in the "From" textbox, and the map may zoom in or highlight the selected starting point.
- **Possible Purpose:** The purpose is to finalize the starting location for the directions.

#### Action 7:
- **Action:** I click on the "To" textbox within the directions panel.
- **Page Changes:** The "To" textbox becomes active, ready for input.
- **Possible Purpose:** The intent is to specify the destination for the directions.

#### Action 8:
- **Action:** I type "Massachusetts Institute of Technology" into the "To" textbox.
- **Page Changes:** Suggestions appear in a dropdown menu below the "To" textbox, listing possible matches for the entered destination.
- **Possible Purpose:** The purpose is to select "Massachusetts Institute of Technology" as the destination for the directions.

#### Action 9:
- **Action:** I select "Massachusetts Institute of Technology, All" from the dropdown suggestions.
- **Page Changes:** The selected destination is confirmed in the "To" textbox, and the map may update to show the route between the starting point and the destination.
- **Possible Purpose:** The intent is to finalize the destination for the directions.

#### Action 10:
- **Action:** I click the "Go" button next to the "To" textbox.
- **Page Changes:** The map displays the calculated route from "Carnegie Mellon University, Schenley Drive" to "Massachusetts Institute of Technology." The route is highlighted on the map, and step-by-step directions are shown in the directions panel.
- **Possible Purpose:** The purpose is to generate and view the directions between the specified starting point and destination. 

### Summary
In this segment, I interact with the OpenStreetMap website by searching for locations and generating directions. I start by attempting to search for a location, then specify a starting point and a destination for directions, and finally, I generate and view the route on the map. Each action is aimed at navigating and utilizing the map's features to find and plan a route.

# Playwright action
[
  {
    "action_uid": "link_Find directions between two points",
    "idx": 0,
    "action_repr": "frame.clickget_by_role(\"link\", name=\"Find directions between two points\")",
    "before": {
      "url": "http://miniserver1875.asuscomm.com:3000/#map=7/42.896/-75.108"
    },
    "after": {
      "url": "http://miniserver1875.asuscomm.com:3000/#map=7/42.896/-75.108"
    }
  },
  {
    "action_uid": "textbox_From",
    "idx": 2,
    "action_repr": "frame.pressget_by_role(\"textbox\", name=\"From\")Tab",
    "before": {
      "url": "http://miniserver1875.asuscomm.com:3000/#map=7/42.896/-75.108"
    },
    "after": {
      "url": "http://miniserver1875.asuscomm.com:3000/#map=7/42.896/-75.108"
    }
  },
  {
    "action_uid": "textbox_To",
    "idx": 3,
    "action_repr": "frame.pressget_by_role(\"textbox\", name=\"To\")Tab",
    "before": {
      "url": "http://miniserver1875.asuscomm.com:3000/directions"
    },
    "after": {
      "url": "http://miniserver1875.asuscomm.com:3000/directions"
    }
  }
]

# Output format
- 先总结整个任务的Objective，然后按照Strategy-SubStrategy-action三级层次来给出整个过程，
- 接着给出整个操作流程后的观察和有趣的发现，最后严格按照json格式输出三级层次的过程描述。
- 最后的输出json应该是包在```{json}```之间，最底层动作需要包含描述、对应的playwright动作指令顺序编号，以及具体指令内容。

# Example
### Complete User Operation Description to Display Labeled Issues in kkroening/ffmpeg-python

**Objective:** Filter and display all issues labeled as "question" in the kkroening/ffmpeg-python repository.

---

#### **Strategy 1: Navigate to the Repository**
**Low-Level Action Sequence:**
1. **Search for the user "kkroening"**
   - Click the global search bar (placeholder: "Search GitLab").
   - Type "kkroening" and press `Enter`.
2. **Select the user from results**
   - Click the "Users" tab in search results.
   - Click on "Karl Kroening @kkroening" in the user list.
3. **Access the repository**
   - Navigate to the "Personal projects" section.
   - Click on the "ffmpeg-python" project.

---

#### **Strategy 2: Filter Issues by Label**
**Low-Level Action Sequence:**
1. **Open the Issues tab**
   - Scroll to the left sidebar menu.
   - Click the "Issues" tab (displaying the count, e.g., "Issues 402").
2. **Apply label filtering**
   - Click the search/filter bar in the issues list.
   - Select the "Label" dropdown from the filter options.
   - Type or select "question" from the label dropdown.
   - Click the search/apply button to confirm the filter.

---

#### **Final Oberservation**
The issues list will refresh to show only issues with the "question" label. The URL will reflect the filter:
`.../ffmpeg-python/-/issues/?label_name[]=question`.

---

### Key Observations from Playwright Trace
- The final URL after filtering:
  `http://ec2-3-135-39-80.../ffmpeg-python/-/issues/?label_name%5B%5D=question`
  confirms the "question" label filter is applied.
- Critical interactions include selecting the "Label" dropdown and explicitly choosing "question" to refine results.

### Final output
```json
[{
  "strategy" : "Navigate to the Repository",
  "substrategies": [
    {
      "substrategy": "Search for the user \"kkroening\"",
      "actions" : [
        {
          "description": "Click the global search bar (placeholder: \"Search GitLab\"). ",
          "playwright_idx" : 18,
          "playwright_instruction" : "frame.pressget_by_placeholder(\"Search GitLab\")Enter"
        }
      ]
    },
    {
      "substrategy": "Select the user from results",
      "actions" : [
      ]
    }
  ]
},
{
  "strategy" : "Filter Issues by Label",
  "substrategies" : [
  ]
}]
```