Mqleet's picture
[update] templates
a3d3755
Raw History Blame Contribute Delete
262 kB
<!DOCTYPE html>
<html>
<head>
<!-- Google tag (gtag.js) -->
<!-- Taken from view-source:https://voyager.minedojo.org/ -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Q75H4YSQ8M"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-Q75H4YSQ8M');
</script>
<!-- Adapted from Dave Epstein's BlogGAN webpage template: https://dave.ml/blobgan/ -->
<title>VLM Agents Generate Their Own Memories: Distilling Experience into Embodied Programs of Thought
</title>
<link rel="icon" href="images/memory.png" type="image/png">
<link rel="stylesheet" href="bulma.min.css" />
<link rel="stylesheet" href="https://ical-learning.github.io/.bulma-carousel.min.css" />
<link rel="stylesheet" href="https://ical-learning.github.io/.bulma-slider.min.css" />
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<style>
html,
body,
h1,
h2,
h3,
h4,
h5,
h6 {
/* font-family: "Titillium Web", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; */
font-family: 'Lato';
}
.cite {
padding: 0px;
background: #ffffff;
font-size: 18px
}
.card {
border: 1px solid #ccc
}
/* img { margin-bottom:-6px;} */
p {
font-size: 18px;
}
</style>
<meta charset="UTF-8">
<meta name="description"
content="VLM Agents Generate Their Own Memories: Distilling Experience into Embodied Programs of Thought">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
<link rel="apple-touch-icon" sizes="180x180" href="https://ical-learning.github.io/apple-touch-icon.png">
<link rel="manifest" href="https://ical-learning.github.io/site.webmanifest">
<meta name="theme-color" content="#f5ece5">
<link rel="mask-icon" href="https://ical-learning.github.io/safari-pinned-tab.svg" color="#276FBF">
<meta name="msapplication-TileColor" content="#276FBF">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<style>
html,
body {
/* font-family: 'GT Ultra', sans-serif !important; */
font-family: 'Lato' !important;
font-weight: 400;
font-size: 18px;
overflow-x: hidden;
box-sizing: border-box;
/* color: #1f1e1d; */
color: #000000;
background-color: #f5ece5;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
header {
text-align: center;
}
a {
/* color: #276FBF !important; */
color: #276FBF;
text-decoration: none;
font-weight: 400;
}
a:hover {
text-decoration: underline;
/* color: #184477 !important; */
color: #184477;
}
section h3 {
margin-bottom: 1rem;
display: flex;
align-items: center;
}
section h5,
section h3 {
justify-content: space-between;
display: flex;
align-items: center;
}
</style>
<style>
.outer {
width: 100%;
height: 200px;
background-color: red;
}
.inner {
position: relative;
width: 100%;
text-align: center;
margin: auto;
color: white;
cursor: crosshair;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
.video-responsive {
text-align: center;
}
@media screen and (max-width: 560px) {
.video-responsive {
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
height: 0;
}
.video-responsive iframe {
left: 0;
top: 0;
height: 100%;
width: 100%;
position: absolute;
}
}
.log {
position: relative;
width: 100%;
text-align: center;
}
.inner_cat {
position: relative;
width: 100%;
text-align: center;
margin: auto;
color: white;
cursor: crosshair;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
.log_cat {
position: relative;
width: 100%;
text-align: center;
}
.inner_sn {
position: relative;
width: 100%;
text-align: center;
margin: auto;
color: white;
cursor: crosshair;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
.log_sn {
position: relative;
width: 100%;
text-align: center;
}
.inner_gc {
position: relative;
width: 100%;
text-align: center;
margin: auto;
color: white;
cursor: crosshair;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
.log_gc {
position: relative;
width: 100%;
text-align: center;
}
.inner_shading {
position: relative;
width: 100%;
text-align: center;
margin: auto;
color: white;
cursor: crosshair;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
.log_shading {
position: relative;
width: 100%;
text-align: center;
}
.inner_gqa {
position: relative;
width: 100%;
text-align: center;
margin: auto;
color: white;
cursor: crosshair;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
.log_gqa {
position: relative;
width: 100%;
text-align: center;
}
.inner_demo {
position: relative;
width: 100%;
text-align: center;
margin: auto;
color: white;
cursor: crosshair;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
.log_demo {
position: relative;
width: 100%;
text-align: center;
}
/* .demo_gif {
position: relative;
width: 50%;
text-align: center;
margin: auto;
} */
</style>
<style>
.project-links {
/* width: 400px;
height: 400px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: flex;
justify-content: center; */
max-width: 600px;
margin: 0 auto;
align-items: center;
display: flex;
gap: 20px;
justify-content: center;
flex-wrap: wrap;
}
</style>
<!-- Paper button -->
<style>
.btn-paper {
width: 95px;
height: 35px;
cursor: pointer;
border-radius: 25px;
background: transparent;
border: 2px solid #91C9FF;
outline: none;
transition: 1s ease-in-out;
text-decoration: none;
align-items: center;
display: flex;
text-align: center;
font-weight: 500;
color: black;
}
.btn-paper:hover {
transition: 0.75s ease-in-out;
background: #8bb2ff1e;
text-decoration: none;
font-weight: 500;
color: black;
}
.vertical-center-paper {
height: 80%;
position: relative;
/* top: 0px;
right: 0;
float: left; */
padding-right: 1px;
padding-left: 6px;
}
</style>
<!-- Paper button -->
<style>
.btn-paper-helper-x {
width: 130px;
height: 35px;
cursor: pointer;
border-radius: 25px;
background: transparent;
border: 2px solid #91C9FF;
outline: none;
transition: 1s ease-in-out;
text-decoration: none;
align-items: center;
display: flex;
text-align: center;
font-weight: 500;
color: black;
}
.btn-paper-helper-x:hover {
transition: 0.75s ease-in-out;
background: #8bb2ff1e;
text-decoration: none;
font-weight: 500;
color: black;
}
.vertical-center-paper-helper-x {
height: 80%;
position: relative;
/* top: 0px;
right: 0;
float: left; */
padding-right: 1px;
padding-left: 6px;
}
</style>
<!-- Code button -->
<style>
.btn-code {
width: 105px;
height: 35px;
cursor: pointer;
border-radius: 25px;
background: transparent;
border: 2px solid #91C9FF;
outline: none;
transition: 1s ease-in-out;
text-decoration: none;
align-items: center;
display: flex;
text-align: center;
font-weight: 500;
color: black;
}
.btn-code:hover {
transition: 0.75s ease-in-out;
background: #8bb2ff1e;
text-decoration: none;
font-weight: 500;
}
.vertical-center-code {
height: 80%;
position: relative;
/* top: 0px;
left: 0px;
float: left; */
padding-right: 8px;
padding-left: 10px;
}
</style>
<!-- Citation button -->
<style>
.btn-citation {
width: 110px;
height: 35px;
cursor: pointer;
border-radius: 25px;
background: transparent;
border: 2px solid #91C9FF;
outline: none;
transition: 1s ease-in-out;
text-decoration: none;
align-items: center;
display: flex;
text-align: center;
font-weight: 500;
color: black;
}
.btn-citation:link {
color: black;
}
.btn-citation:visited {
color: black;
}
/* .btn-citation:hover {
color: black;
} */
.btn-citation:active {
color: black;
}
.btn-citation:hover {
transition: 0.75s ease-in-out;
background: #8bb2ff1e;
text-decoration: none;
font-weight: 500;
color: black;
}
.vertical-center-cit {
height: 70%;
position: relative;
/* top: 0px;
right: 0;
float: left; */
padding-right: 7px;
padding-left: 6px;
}
</style>
<style>
.btn-twitter {
width: 100px;
height: 35px;
cursor: pointer;
border-radius: 25px;
background: transparent;
border: 2px solid #91C9FF;
outline: none;
transition: 1s ease-in-out;
text-decoration: none;
align-items: center;
display: flex;
text-align: center;
font-weight: 500;
color: black;
}
.btn-twitter:hover {
transition: 0.75s ease-in-out;
background: #8bb2ff1e;
text-decoration: none;
font-weight: 500;
}
.vertical-center-twitter {
height: 80%;
position: relative;
/* top: 0px;
left: 0px;
float: left; */
padding-right: 8px;
padding-left: 10px;
}
</style>
<!-- Interactive button -->
<style>
.btn-interact {
width: 133px;
height: 35px;
cursor: pointer;
border-radius: 25px;
background: transparent;
border: 2px solid #91C9FF;
outline: none;
transition: 1s ease-in-out;
text-decoration: none;
align-items: center;
display: flex;
text-align: center;
font-weight: 500;
color: black;
}
.btn-interact:link {
color: black;
}
.btn-interact:visited {
color: black;
}
/* .btn-citation:hover {
color: black;
} */
.btn-interact:active {
color: black;
}
.btn-interact:hover {
transition: 0.75s ease-in-out;
background: #8bb2ff1e;
text-decoration: none;
font-weight: 500;
color: black;
}
.vertical-center-interact {
height: 70%;
position: relative;
/* top: 0px;
right: 0;
float: left; */
padding-right: 7px;
padding-left: 6px;
}
</style>
<style>
.vertical-center {
height: 80%;
position: relative;
top: 0px;
right: 0;
float: left;
}
</style>
<style>
/* The grid: Four equal columns that floats next to each other */
/* .column {
float: left;
width: 25% !important;
padding: 10px;
} */
/* Style the images inside the grid */
.column img {
opacity: 0.8;
cursor: pointer;
}
.column img:hover {
opacity: 1;
}
/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
/* The expanding image container (positioning is needed to position the close button and the text) */
.container {
position: relative;
display: none;
}
/* Expanding image text */
#imgtext {
position: absolute;
bottom: 15px;
left: 15px;
color: white;
font-size: 20px;
}
/* Closable button inside the image */
.closebtn {
position: absolute;
top: 10px;
right: 15px;
color: rgb(0, 0, 0);
font-size: 35px;
cursor: pointer;
}
.centered {
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: rgb(0, 0, 0);
background-color: rgba(0, 0, 0, 0.26);
}
.text-block {
position: absolute;
/* bottom: 25px;
right: 20px; */
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
background-color: rgba(0, 0, 0, 0.26);
color: white;
padding-left: 30px;
padding-right: 30px;
}
.parentContainer {
position: relative;
text-align: center;
color: white;
}
.column-left,
.column-right {
width: 50%;
}
.container {
display: flex;
padding: 0px; /* Adjust as needed */
}
.columns {
justify-content: center;
}
.video-column {
padding: 0; /* Remove padding */
}
.video-container {
display: flex;
flex-wrap: wrap;
justify-content: center; /* this will center the videos */
}
/*
.is-one-third-desktop {
flex: 0 1 calc(32.333% - 4px);
margin: 2px;
max-width: 32.333%;
} */
/* .is-one-third-desktop {
flex: 0 1 calc(24% - 4px);
margin: 2px;
max-width: 24%;
} */
.is-centered {
text-align: center;
}
.typed-text {
border-right: 2px solid gray;
padding: 5px;
white-space: pre-wrap;
overflow: hidden;
}
.text-segment {
display: inline;
}
#layout {
width: 100%; /* Ensures the container div spans the full width */
overflow: hidden; /* Clears the float, containing the floated children */
}
#textBlock {
width: 40%;
float: left; /* Aligns this div to the left */
height: 600px; /* Match the height with the container for uniformity */
background-color: #f8f8f8; /* Just a sample color for visibility */
padding: 10px;
box-sizing: border-box;
}
#graphic {
width: 20%;
float: left; /* Centers between text and container */
height: 600px; /* Match the height with the container */
background-color: #ccc; /* Just a sample color for visibility */
display: flex;
justify-content: center;
align-items: center;
}
#container {
width: 40%;
float: left; /* Aligns this div to the left */
height: 600px; /* Fixed height for scrollable area */
overflow-y: auto; /* Enables vertical scrolling */
background-color: #fff; /* Background color for visibility */
padding: 10px;
box-sizing: border-box;
}
/* .tabcontent {
display: none;
width: 100%;
float: left;
padding: 10px;
box-sizing: border-box;
}
.tablinks {
padding: 10px 20px;
border: none;
outline: none;
cursor: pointer;
transition: 0.3s;
font-size: 17px;
}
.tablinks:hover {
background-color: #ddd;
}
.tabs {
overflow: hidden;
background-color: #f1f1f1;
}
.tabs button.active {
background-color: #ccc;
} */
/* Basic styling for the tab container */
.tabs {
overflow: hidden;
background-color: #f1f1f1;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
/* Style the buttons inside the tab */
.tablinks {
background-color: inherit;
float: left;
border: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
transition: background-color 0.3s, color 0.3s;
font-size: 17px;
width: 20%; /* Equal width tabs */
}
/* Change background color of tabs on hover */
.tablinks:hover {
background-color: #ddd;
color: black;
}
/* Create an active/current "tab button" class */
.tablinks.active {
background-color: #666;
color: white;
}
/* Tab content (optional: hide initially with display:none) */
.tabcontent {
display: none;
padding: 16px;
border: 1px solid #ccc;
border-top: none;
animation: fadeIn 0.5s; /* Fading effect */
}
.tabcontent {
display: none; /* Hide all tab content by default */
padding: 16px;
border: 1px solid #ccc;
border-top: none;
animation: fadeIn 0.5s; /* Fading effect */
}
@keyframes fadeIn {
from {opacity: 0;}
to {opacity: 1;}
}
/* Tab content (optional: hide initially with display:none) */
.tabcontent_vwa {
display: none;
padding: 16px;
border: 1px solid #ccc;
border-top: none;
animation: fadeIn 0.5s; /* Fading effect */
}
.tabcontent_vwa {
display: none; /* Hide all tab content by default */
padding: 16px;
border: 1px solid #ccc;
border-top: none;
animation: fadeIn 0.5s; /* Fading effect */
}
/* Style the buttons inside the tab */
.tablinks_vwa {
background-color: inherit;
float: left;
border: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
transition: background-color 0.3s, color 0.3s;
font-size: 17px;
width: 20%; /* Equal width tabs */
}
/* Change background color of tabs on hover */
.tablinks_vwa:hover {
background-color: #ddd;
color: black;
}
/* Create an active/current "tab button" class */
.tablinks_vwa.active {
background-color: #666;
color: white;
}
.center {
display: block;
margin-left: auto;
margin-right: auto;
width: 50%;
}
/* Tab content (optional: hide initially with display:none) */
.tabcontent_ego {
display: none;
padding: 16px;
border: 1px solid #ccc;
border-top: none;
animation: fadeIn 0.5s; /* Fading effect */
}
.tabcontent_ego {
display: none; /* Hide all tab content by default */
padding: 16px;
border: 1px solid #ccc;
border-top: none;
animation: fadeIn 0.5s; /* Fading effect */
}
/* Style the buttons inside the tab */
.tablinks_ego {
background-color: inherit;
float: left;
border: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
transition: background-color 0.3s, color 0.3s;
font-size: 17px;
width: 20%; /* Equal width tabs */
}
/* Change background color of tabs on hover */
.tablinks_ego:hover {
background-color: #ddd;
color: black;
}
/* Create an active/current "tab button" class */
.tablinks_ego.active {
background-color: #666;
color: white;
}
</style>
<style>
.names-container {
display: flex;
flex-direction: column;
align-items: center;
}
.names-row {
display: flex;
justify-content: center;
gap: 30px; /* Adjust the gap between names */
margin-bottom: 10px; /* Adjust the spacing between rows */
}
.names-row a {
text-decoration: none;
color: #1a73e8; /* Adjust the link color */
font-size: 22px; /* Specify the font size */
}
.institution-logos {
display: flex;
justify-content: center;
align-items: center;
gap: 15px; /* Adjust the gap between logos and text */
margin-top: 10px;
}
.highlighted-text {
font-size: 1.2em; Increase font size
/* font-weight: bold; Make text bold */
padding: 10px; /* Add padding */
border-radius: 5px; /* Rounded corners */
display: inline-block; /* Ensure padding and border apply correctly */
}
</style>
</head>
<body class="w3-white">
<!-- Page Container -->
<div class="w3-content w3-margin-top w3-margin-bottom" style="max-width:1080px;">
<!-- The Grid -->
<div class="w3-row-padding">
<!-- paper container -->
<div class="w3-display-container w3-row w3-white w3-margin-bottom">
<div class="w3-center">
<h2>VLM Agents Generate Their Own Memories:</h2>
<h4>Distilling Experience into Embodied Programs of Thought</h4>
<br>
<h4 class="highlighted-text">NeurIPS 2024 Spotlight Paper</h4>
<br>
<br>
<div class="names-container">
<div class="names-row">
<a href="https://www.gabesarch.me">Gabriel Sarch</a>
<a href="https://lawrencekjang.github.io/">Lawrence Jang</a>
<a href="https://sites.google.com/andrew.cmu.edu/tarrlab/people/michael-j-tarr">Michael Tarr</a>
</div>
<div class="names-row">
<a href="https://www.cs.cmu.edu/~wcohen/">William Cohen</a>
<a href="https://kennethmarino.com/">Kenneth Marino</a>
<a href="https://www.cs.cmu.edu/~katef/">Katerina Fragkiadaki</a>
</div>
</div>
<div class="institution-logos">
<!-- <img src="images/cmu.png" alt="Carnegie Mellon Logo" style="width:50px;height:auto;vertical-align:middle;"> -->
<span>Carnegie Mellon University</span>
<!-- <img src="images/deepmind.png" alt="Deepmind Logo" style="width:50px;height:auto;vertical-align:middle;"> -->
<span>Google Deepmind</span>
</div>
<br>
<div class="project-links">
<a href="https://arxiv.org/abs/2406.14596" target="_blank" class="btn-paper"
role="button">
<img src="images/paper.png" class="vertical-center-paper"> Paper
</a>
<a href="https://github.com/Gabesarch/ICAL" target="_blank" class="btn-code"
role="button">
<img src="images/code.png" class="vertical-center-code"> Code
</a>
<!-- <a href="https://twitter.com/GabrielSarch" target="_blank" class="btn-code" role="button" style="width: 115px;">
<img src="images/twitt.png" class = "vertical-center-code"> Twitter
</a> -->
</div>
<!-- <hr> -->
<br>
<hr>
<div class="w3-center">
<!-- <img src="images/intro.jpg" alt="Tease Image" style="max-width:80%; height:auto; margin-bottom:20px;"> -->
<h2>Abstract</h2>
</div>
<p align="justify">Large-scale LLMs and VLMs excel at few-shot learning but require high-quality examples. We introduce In-Context
Abstraction Learning (ICAL), which iteratively refines suboptimal trajectories into high-quality data with optimized
actions and detailed reasoning. Given an inefficient demonstration, a VLM corrects actions and annotates causal
relationships, object states, subgoals, and task-relevant visuals, forming "programs of thought." With human feedback,
these programs are improved as the agent executes them in a similar environment. The resulting examples, used as prompt
context or fine-tuning data, significantly boost decision-making while reducing human feedback needs. ICAL surpasses
state-of-the-art in TEACh (dialogue-based instruction following), VisualWebArena (multimodal web agents), and Ego4D
(egocentric video action anticipation). In TEACh, combining fine-tuning and retrieval on ICAL examples outperforms raw
human demonstrations and expert examples, achieving a 17.5% increase in goal-condition success. In VisualWebArena,
retrieval-augmented GPT-4V with ICAL improves task success rate 1.6x over GPT-4V, while fine-tuning Qwen2-VL achieves a
2.8x improvement. In Ego4D, ICAL outperforms few-shot GPT-4V and remains competitive with supervised models. Overall,
ICAL scales 2x better than raw human demonstrations and reduces manual prompt engineering.
</p>
<div class="w3-center" style="width: 100%;"><img
style="width: 30%" src="images/white_space.jpg"></div>
<hr>
</div>
<!-- <div id="container" class="typed-text"></div> -->
<!-- <div id="container" class="typed-text"></div> -->
<!-- <div id="container" style="height: 400px; overflow-y: auto;"></div> -->
<div class="w3-center">
<h2>ICAL Method</h2>
</div>
<div>
<p>
In-Context Abstraction Learning (ICAL) aims at automating the acquisition of generalizable examples and knowledge for in-context agents. ICAL operates by receiving a language instruction <i>I</i> with a noisy trajectory of observations and actions, denoted <i>&#958;<sub>noisy</sub> = {o<sub>0</sub>, a<sub>0</sub>, &#x2026;, o<sub>T</sub>, a<sub>T</sub>}</i> in a new task domain <i>D</i>.
</p>
<p>
A new domain <i>D</i> represents changes in task variables not captured in VLM pretraining, such as a different environment (e.g., kitchen #1 vs. kitchen #2), task (e.g., "add the cheapest red bike to my wish list"), or user preference (e.g., "I prefer the red cup for coffee"). The core aim of <model> is to abstract each noisy trajectory into a single example <i>e</i>, which then forms part of a memory set <i>M</i>. Each example <i>e &#x2208; M</i> represents an optimized trajectory <i>&#958;<sub>optimized</sub></i> with generalizable language abstractions <i>L</i>. The objective is to ensure that <i>M</i> collectively encapsulates examples that, when used in a VLMs context window, increase the likelihood of successful task execution in the new domain, while also containing knowledge that is transferable across similar tasks and contexts. This can be encapsulated as:
</p>
<p>
<!-- \[
\max_{E} \mathbb{E}[R | e, I, o_t, D]
\] -->
\[
\max_{M} \mathbb{E}\left[ \sum_{t=0}^T r_t(o_t, a_t) \,\Big|\, a_t \sim \pi(a \mid h_t, M, I), D \right]
\]
</p>
<p>
where:
<ul style="list-style-type: disc; margin-left: 20px;">
<li>\( M \) represents the memory or model parameters that influence the policy \(\pi\).</li>
<li>\( \mathbb{E}[\cdot] \) denotes the expectation over the random variables involved in the decision-making
process.</li>
<li>\( r_t(o_t, a_t) \) is the reward function at time \( t \), dependent on the observation \( o_t \) and action \(
a_t \).</li>
<li>\( a_t \sim \pi(a \mid h_t, M, I) \) indicates that the action \( a_t \) is sampled from a policy \(\pi\),
conditioned on the history \( h_t \), memory \( M \), and additional input \( I \).</li>
<li>\( h_t = \{o_0, a_0, \ldots, o_{t-1}, a_{t-1}, o_t\} \) is the history up to time \( t \).</li>
<li>\( D \) represents the new domain or task to learn.</li>
<li>\( T \) is the time horizon over which the reward is summed.</li>
</ul>
<!-- where <i>R</i> is the return or the cumulative reward acquired by performing actions based on the instruction <i>I</i>, observation <i>o<sub>t</sub></i>, and in-context example memory set <i>M</i>. -->
</p>
ICAL learns effectively by generating programs of thought:
<ol>
<li><strong>Task and Causal Abstractions:</strong> Essential principles and actions are identified to achieve goals,
explaining how elements interconnect through cause and effect.</li>
<li><strong>State Changes:</strong> Crucial for decision-making, predicted state changes during a demonstration are
annotated, showing the dynamic environment, such as a bowl becoming clean.</li>
<li><strong>Task Decomposition and Subgoals:</strong> Tasks are broken down into steps and subgoals with natural
language annotations detailing each step and summarizing actions to facilitate understanding.</li>
<li><strong>State Abstraction:</strong> Focuses on selecting only relevant state variables interacted with during a
demonstration, and suggesting additional relevant state variables, avoiding overwhelming detail and enhancing
performance.</li>
</ol>
<p>ICAL processes noisy/suboptimal/incorrect trajectories, coming from a human or agent policy, in two phases:</p>
<p>
(1) the abstraction phase where a VLM is prompted to correct action errors and generate initial programs of thought:
\[
F_{abstract}: (\xi_{noisy}, I, \{e^1, \ldots, e^k\}) \rightarrow (\xi_{optimized}, L)
\]
(2) the human-in-the-loop phase, where the actions and programs of thought are refined guided by human feedback \(H(a_t, o_t)\). The model update can be represented as \(\Xi_{\text{update}}\):
\[
\Xi_{update}(\xi_{optimized}, H(a_t, o_t), L, I, \{e^1, ..., e^k\}) \rightarrow \xi'_{optimized}, L'
\]
Successful trajectories are stored in a repository to assist the agent in learning and
responding to new instructions and environments.</p>
</div>
<br>
<!-- <div class="w3-center" style="width: 70%"><img src="images/Figure2_method.jpg"></div> -->
<div class="w3-center" style="width: 100%; margin-left: auto; margin-right: auto;">
<img src="images/Figure2_method.jpg">
</div>
<div class="w3-center" style="width: 100%;"><img style="width: 30%" src="images/white_space.jpg"></div>
<hr>
<div class="w3-center">
<h2>Retrieval Augmented Generation (RAG) and Supervised Fine-tuning (SFT) using Abstracted Examples</h2>
</div>
<div>
<p>After the ICAL examples have
been learned, ICAL uses retrieval-augmented
generation or supervised fine-tuning to teach the agent to perform the new tasks.</p>
<b>Retrieval Augmented Generation (RAG)</b>
<p>Given the learned example set <i>M</i> and a new instruction \(I\), we prompt the VLM to carry out the instruction by producing action sequences \(\{a_0, ..., a_T\} \in A\) from an action API that describes the skills set \(A\) (e.g., <code>go_to(X)</code>, <code>pickup(X)</code>), by retrieving the top \(K\) examples from <i>M</i> to include in the prompt based on their textual and visual similarity with the current scene.</p>
<p>The aggregated similarity score \(s\) for each example \(e\) reads:</p>
<p style="text-align: center;">
\(s = \lambda_{I} \cdot s^I + \lambda_{\text{textual}} \cdot s^{\text{textual}} + \lambda_{\text{visual}} \cdot s^{\text{visual}}\)
</p>
<p>where \(s^I\), \(s^{\text{textual}}\), and \(s^{\text{visual}}\) are the similarity scores for the input text instruction, textual state, and visual state, respectively, computed via cosine similarity using embeddings from OpenAI's <code>text-embedding-ada-002</code> model and <code>CLIP ViT-B/32</code> model. The coefficients \(\lambda_{I}\), \(\lambda_{\text{textual}}\), and \(\lambda_{\text{visual}}\) are weighting hyperparameters chosen in each domain by a held out validation set.</p>
<p>The VLM prompt contains the new instruction \(I\), the current webpage image for VisualWebArena or 12 video frames for Ego4D annotated with Set-of-Marks, a textual state description \(x_t\) describing the objects and their attributes for embodied agents and HTML elements for web agents, the action API \(A\), and the retrieved set of in-context examples \(\{e^1,...,e^k\} \in \textit{M}\).</p>
<b>Supervised Fine-tuning (SFT)</b>
<p> Supervised fine-tuning trains the multimodal LLM, Qwen2-VL, to directly predict the ICAL programs of thought and
corresponding action sequences for new tasks. The training dataset pairs task instructions \(I\), multimodal inputs
\(S\) (e.g., visual frames, textual descriptions), and ground truth outputs, including intermediate reasoning steps
and final actions. </p>
<p> The model learns to generate structured ICAL outputs and actions end-to-end, enabling it to perform tasks without
relying on retrieval from learned examples.</p>
</div>
<!-- <div class="w3-center" style="width: 70%"><img src="images/Figure2_method.jpg"></div> -->
<div class="w3-center" style="width:50%; margin-left: auto; margin-right: auto;">
<img src="images/Figure_deployNew1.jpg">
</div>
<div class="w3-center" style="width: 100%;"><img style="width: 30%" src="images/white_space.jpg"></div>
<hr>
<div class="w3-center">
<h2>Results</h2>
</div>
<div class="w3-center">
<h5>TEACh: Household Instruction Following</h5>
</div>
<p>Below are results on the TEACh household instruction following validation unseen dataset. <b>ICAL examples significantly improves on the state-of-the-art by 12.6% in goal-condition success</b>, outperforming agents that use the raw visual demonstrations as in context examples without abstraction learning. The left plot displays <b>Goal Condition Success</b> and the right plot displays <b>Success Rate</b>.</p>
<div class="w3-center" style="width: 100%;"><img style="width: 80%" src="images/instruction_following_success.jpg"></div>
<br>
<div class="w3-center">
<h5>VisualWebArena: Autonomous Visual Web Agents</h5>
</div>
<p><b>ICAL outperforms the previous state-of-the-art GPT4V +
SoM (Koh et. Al., 2023) on the VisualWebArena benchmark</b>, improving from 14.3% to 22.7% in average success rate. The baseline utilizes GPT4V with few-shot hand-designed examples and set of
marks image prompting.</p>
<!-- <div class="w3-center" style="width: 100%;"><img style="width: 50%" src="images/VWA_plots.jpg"></div> -->
<div class="w3-center" style="width: 100%;"><img style="width: 70%" src="images/VWA_results.png"></div>
<br>
<div class="w3-center">
<h5>Ego4D: Video Action Forecasting</h5>
</div>
<p>ICAL demonstrates superior performance on Ego4D
action anticipation compared to hand-written few-shot GPT4V that uses chain of thought. ICAL also remains competitive with the fully supervised
baseline (grauman et. Al., 2022) despite using 639x less training data.</p>
<div class="w3-center" style="width: 100%; padding-left: 70px;"><img style="width: 50%" src="images/video_forecasting_website.jpg"></div>
<div class="w3-center" style="width: 100%;"><img
style="width: 30%" src="images/white_space.jpg"></div>
<hr>
<br>
<!-- <div class="w3-center">
<h2>Additional Takeaways</h2>
</div> -->
<div class="w3-center">
<h5>ICAL Scaling and Continual Learning</h5>
</div>
<p>ICAL scales 2x better than raw human demonstrations. ICAL shows <b>continual improvements in TEACh unseen success rate</b> with more examples learned. Our method benefits from even a small amount of examples learned, with an improvement of an absolute 14.7% success rate over chain-of-thought prompting with just 10 examples learned.</p>
<div class="w3-center">
<video width="40%" playsinline autoplay muted loop>
<source src="images/output_video_plot&#32;(4).mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<p>*values interpolated for visualization</p>
<div class="w3-center" style="width: 100%;"><img style="width: 100%" src="images/scaling_plots.png"></div>
</div>
<br>
<div class="w3-center">
<h5>ICAL Meta-learning</h5>
</div>
<p>ICAL requires less human feedback over time by leveraging learned examples. In TEACh, for the second half of
examples processed, the model requires significantly fewer environment steps (436±88
vs. 267±43, p=0.0143) and human feedbacks (0.74±0.17 vs. 0.21±0.08, p=0.0089)
per example.</p>
<div class="w3-center" style="width: 100%;"><img style="width: 40%" src="images/reduced_human_effort.png"></div>
<br>
<div class="w3-center">
<h5>LoRA finetuning on ICAL examples complements retrieval</h5>
</div>
<p><b>In TEACh, using GPT3.5, the most notable advancement was achieved when LoRA fine-tuning was combined with retrieval-augmented generation</b>, achieving a
Success rate of 35.4% and a sub-task score of 55.9%. This demonstrate that consolidating the learned examples through
fine-tuning, particularly when integrated with retrieval processes through in-context learning, improves performance.</p>
<div class="w3-center" style="width: 100%;"><img style="width: 80%" src="images/finetuning_plots.jpg"></div>
<br>
<div class="w3-center">
<h5>What's Important: Abstractions or Human-In-The-Loop?</h5>
</div>
<p>Our ablations reveal the importance of both the offline and human-in-the-loop abstraction making for performance.</p>
<div class="w3-center" style="width: 100%;"><img style="width: 50%" src="images/ablation_plots.jpg"></div>
<!--
<div id="layout">
<div id="textBlock" style="width: 40%; float: left;">Your text goes here</div>
<div id="graphic" style="width: 20%; float: left;">Graphic here</div>
<div id="container" style="width: 40%; float: left; height: 600px; overflow-y: auto;">
</div>
</div> -->
<div class="w3-center" style="width: 100%;"><img style="width: 30%" src="images/white_space.jpg"></div>
<div class="w3-center">
<h4>Human-in-the-loop demo video on web navigation</h2>
<iframe width="560" height="315" src="https://www.youtube.com/embed/nnngPSYk6mg?si=1TzElGiDFx6nqoPk"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
<br>
</div>
<hr>
<div class="w3-center">
<h2>ICAL Examples</h2>
</div>
<p>Below we show examples of the raw trajectories obtained from human or agent demonstrations, and the ICAL examples with optimized actions and programs of thought on the right. Click on a task tab to show the example before and after applying ICAL. You can scroll to view the full examples.</p>
<div class="w3-center" style="width: 50%;"><img style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div class="w3-center">
<h4>TEACh: Household Instruction Following</h4>
</div>
<br>
<div class="tabs">
<button class="tablinks" onclick="openTab(event, 'Tab1')">Make Toast</button>
<button class="tablinks" onclick="openTab(event, 'Tab2')">Prepare Coffee</button>
<button class="tablinks" onclick="openTab(event, 'Tab3')">Make a Sandwich</button>
<button class="tablinks" onclick="openTab(event, 'Tab4')">Boil Potato</button>
<button class="tablinks" onclick="openTab(event, 'Tab5')">Put Away Items</button>
</div>
<div id="Tab1" class="tabcontent" style="max-height: 550px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Agent Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
src="images/teach_images/interaction_video_baa4e99d8931aaa1_07e0.tfd_baa4e99d8931aaa1_07e0.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b></div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted Example</b></div>
<div id="textBlockTab1" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab1" style="width: 40%; float: left; height: 600px; overflow-y: auto;">Text for Tab 2</div>
</div>
<div id="Tab2" class="tabcontent" style="max-height: 550px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Agent Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
src="images/teach_images/interaction_video_f79c6594b742b28e_31a6.tfd_f79c6594b742b28e_31a6.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b></div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted Example</b></div>
<div id="textBlockTab2" style="width: 40%; float: left; height: 600px; overflow-y: auto;">Text for Tab 2</div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab2" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
</div>
<div id="Tab3" class="tabcontent" style="max-height: 550px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Agent Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
src="images/teach_images/interaction_video_250ea89c821ebbf2_2500.tfd_250ea89c821ebbf2_2500.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b></div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted Example</b></div>
<div id="textBlockTab3" style="width: 40%; float: left; height: 600px; overflow-y: auto;">Text for Tab 3</div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab3" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
</div>
<div id="Tab4" class="tabcontent" style="max-height: 550px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Agent Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
src="images/teach_images/interaction_video_717112cc2f4e5c47_d55b.tfd_717112cc2f4e5c47_d55b.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b></div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted Example</b></div>
<div id="textBlockTab4" style="width: 40%; float: left; height: 600px; overflow-y: auto;">Text for Tab 3</div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab4" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
</div>
<div id="Tab5" class="tabcontent" style="max-height: 550px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Agent Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
src="images/teach_images/interaction_video_f79c6594b742b28e_31a6.tfd_f79c6594b742b28e_31a6.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b></div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted Example</b></div>
<div id="textBlockTab5" style="width: 40%; float: left; height: 600px; overflow-y: auto;">Text for Tab 3</div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab5" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
</div>
<br>
<spacer type="horizontal" width="100" height="50"> </spacer>
<br>
<br>
<spacer type="horizontal" width="100" height="50"> </spacer>
<div class="w3-center">
<h4>VisualWebArena: Autonomous Visual Web Agents</h4>
</div>
<br>
<div class="tabs">
<button class="tablinks_vwa" onclick="openTab_VWA(event, 'Tab6')">Cheapest Listing</button>
<button class="tablinks_vwa" onclick="openTab_VWA(event, 'Tab7')">Retrieve Brand</button>
<button class="tablinks_vwa" onclick="openTab_VWA(event, 'Tab8')">Post A Story</button>
<button class="tablinks_vwa" onclick="openTab_VWA(event, 'Tab9')">Number Of Comments</button>
<button class="tablinks_vwa" onclick="openTab_VWA(event, 'Tab10')">Compare Items</button>
</div>
<div id="Tab6" class="tabcontent_vwa" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 210px; padding-right: 10px;"><b>Webpage image:</b></div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 70%; float: left; padding-left: 10px; padding-right: 10px; overflow-y: auto; max-height: 300px;">
<img src="images/vwa_images/image_classifieds_172.png" class="nopadimg">
</div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab6" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<!-- <div style="width: 20%; float: left; padding-top: 200px; padding-right: 10px;"><img
style="padding-bottom: 30px;" src="images/ICAL_arrow.jpg" class="nopadimg"><b>Webpage:</b><img style="width: 100%" src="images/vwa_images/image_classifieds_172.png" class="nopadimg"></div> -->
<div id="containerTab6" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_classifieds_172.png"
class="nopadimg"></div> -->
</div>
<div id="Tab7" class="tabcontent_vwa" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 210px; padding-right: 10px;"><b>Webpage image:</b></div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 70%; float: left; padding-left: 10px; padding-right: 10px; overflow-y: auto; max-height: 300px;">
<img src="images/vwa_images/image_classifieds_40.png" class="nopadimg">
</div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab7" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<!-- <div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"><b>Webpage:</b><img style="width: 100%" src="images/vwa_images/image_classifieds_40.png" class="nopadimg"></div> -->
<div id="containerTab7" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_classifieds_40.png" class="nopadimg"></div> -->
</div>
<div id="Tab8" class="tabcontent_vwa" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 210px; padding-right: 10px;"><b>Webpage image:</b></div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 70%; float: left; padding-left: 10px; padding-right: 10px; overflow-y: auto; max-height: 300px;">
<img src="images/vwa_images/image_reddit_28_2.png" class="nopadimg">
</div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab8" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<!-- <div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"><b>Webpage:</b><img style="width: 100%" src="images/vwa_images/image_reddit_28_2.png" class="nopadimg"></div> -->
<div id="containerTab8" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_reddit_28_2.png" class="nopadimg"></div> -->
</div>
<div id="Tab9" class="tabcontent_vwa" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 210px; padding-right: 10px;"><b>Webpage image:</b></div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 70%; float: left; padding-left: 10px; padding-right: 10px; overflow-y: auto; max-height: 300px;">
<img src="images/vwa_images/image_reddit_70_2.png" class="nopadimg">
</div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab9" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<!-- <div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"><b>Webpage:</b><img style="width: 100%" src="images/vwa_images/image_reddit_70_2.png" class="nopadimg"></div> -->
<div id="containerTab9" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_reddit_70_2.png" class="nopadimg"></div> -->
</div>
<div id="Tab10" class="tabcontent_vwa" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 210px; padding-right: 10px;"><b>Webpage image:</b></div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 70%; float: left; padding-left: 10px; padding-right: 10px; overflow-y: auto; max-height: 300px;">
<img src="images/vwa_images/image_shopping_190_0.png" class="nopadimg">
</div>
<div class="w3-center" style="width: 15%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 15%" src="images/white_space.jpg" class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab10" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<!-- <div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"><b>Webpage:</b><img style="width: 100%" src="images/vwa_images/image_shopping_190_0.png" class="nopadimg"></div> -->
<div id="containerTab10" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_shopping_190_0.png" class="nopadimg"></div> -->
</div>
<br>
<spacer type="horizontal" width="100" height="50"> </spacer>
<br>
<br>
<spacer type="horizontal" width="100" height="50"> </spacer>
<br>
<div class="w3-center">
<h4>Ego4D: Video Action Forecasting</h4>
</div>
<br>
<div class="tabs">
<button class="tablinks_ego" onclick="openTab_EGO(event, 'Tab11')">Make Sauce</button>
<button class="tablinks_ego" onclick="openTab_EGO(event, 'Tab12')">Clean Bathroom</button>
<button class="tablinks_ego" onclick="openTab_EGO(event, 'Tab13')">Wash Car</button>
<button class="tablinks_ego" onclick="openTab_EGO(event, 'Tab14')">Apply Cement</button>
<button class="tablinks_ego" onclick="openTab_EGO(event, 'Tab15')">Sew Mask</button>
</div>
<div id="Tab11" class="tabcontent_ego" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
src="images/images1.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab11" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab11" style="width: 40%; float: left; height: 600px; overflow-y: auto;">Text for Tab 2</div>
<!-- <div id="textBlockTab11" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div> -->
<!-- <div style="width: 20%; float: left; padding-top: 200px; padding-right: 10px;"><img style="padding-bottom: 30px;"
src="images/ICAL_arrow.jpg" class="nopadimg"><b>Saved Image:</b><img style="width: 100%"
src="images/vwa_images/image_classifieds_172.png" class="nopadimg"></div> -->
<!-- <div id="containerTab11" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div> -->
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_classifieds_172.png"
class="nopadimg"></div> -->
</div>
<div id="Tab12" class="tabcontent_ego" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img src="images/images2.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab12" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab12" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_classifieds_40.png" class="nopadimg"></div> -->
</div>
<div id="Tab13" class="tabcontent_ego" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img src="images/images3.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab13" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab13" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_reddit_28_2.png" class="nopadimg"></div> -->
</div>
<div id="Tab14" class="tabcontent_ego" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img src="images/images4.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab14" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab14" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_reddit_70_2.png" class="nopadimg"></div> -->
</div>
<div id="Tab15" class="tabcontent_ego" style="max-height: 600px; overflow-y: auto;">
<div class="w3-center" style="width: 20%; float: left; padding-left: 10px; padding-right: 10px; opacity: 0.0;"><img
style="width: 30%" src="images/white_space.jpg" class="nopadimg"></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Video:</b></div>
<div style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img src="images/images5.png"
class="nopadimg"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>Raw Demonstration</b>
</div>
<div class="w3-center" style="width: 20%; float: left; height: 40px; padding-top: 20px;"></div>
<div class="w3-center" style="width: 40%; float: left; height: 40px; padding-top: 20px;"><b>ICAL Abstracted
Example</b></div>
<div id="textBlockTab15" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<div style="width: 20%; float: left; padding-top: 250px; padding-left: 10px; padding-right: 10px;"><img
src="images/ICAL_arrow.jpg" class="nopadimg"></div>
<div id="containerTab15" style="width: 40%; float: left; height: 600px; overflow-y: auto;"></div>
<!-- <div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><b>Saved Image:</b></div>
<div class="w3-center" style="width: 100%; float: left; padding-left: 10px; padding-right: 10px;"><img
style="width: 30%" src="images/vwa_images/image_shopping_190_0.png" class="nopadimg"></div> -->
</div>
<div class="w3-center" style="width: 100%;"><img
style="width: 30%" src="images/white_space.jpg"></div>
<hr>
<div class="w3-center">
<h2>ICAL Video Demos</h2>
</div>
<br>
<div class="w3-center">
<p><b>Instruction:</b> Find me powder to make the beverage that is the same as the picture:
</p>
<img style="width: 15%; vertical-align: bottom;" src="images/matcha_image_website.jpg">
</div>
<br>
<div class="w3-center">
<video controls muted autoplay loop width="60%">
<source src="images/shopping_296Agent.mp4" type="video/mp4">
<source src="https://ical-learning.github.io/movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
<!-- <img style="width: 10%; vertical-align: top;" src="images/matcha_image_website.jpg"> -->
</div>
<div class="w3-center" style="width: 100%;"><img style="width: 30%" src="images/white_space.jpg"></div>
<div class="w3-center">
<p><b>Instruction:</b> What is the email of the seller of the red pallete on this page?</p>
</div>
<div class="w3-center">
<video controls muted autoplay loop width="60%">
<source src="images/class_50Agent.mp4" type="video/mp4">
<source src="https://ical-learning.github.io/movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
</div>
<div class="w3-center" style="width: 100%;"><img style="width: 30%" src="images/white_space.jpg"></div>
<div class="w3-center">
<h4>Human-in-the-Loop Demo</h4>
</div>
<div class="w3-center">
<p><b>Instruction:</b> Can you search for "Cheerios", and add the family sized blue Cheerios cereal to my cart and order it only if the total
comes out to less than $43?</p>
</div>
<div class="w3-center">
<video controls muted autoplay loop width="60%">
<source src="images/Shopping_272Final.mp4" type="video/mp4">
<source src="https://ical-learning.github.io/movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
</div>
<div class="w3-center" style="width: 100%;"><img style="width: 30%" src="images/white_space.jpg"></div>
<div class="w3-center">
<p><b>Instruction:</b> &lt;Driver&gt; hello. &lt;Driver&gt; task please. &lt;Commander&gt; We have a lot to do! Hello! &lt;Commander&gt; We
need to wash a mug and fill it with coffee. &lt;Driver&gt; ok. &lt;Commander&gt; The mug is on the island on a plate.
&lt;Commander&gt; Great. Now take it to the sink to clean it. &lt;Commander&gt; good work. &lt;Commander&gt; Now we need
to add the coffee. &lt;Driver&gt; done. &lt;Commander&gt; Good job! &lt;Driver&gt; next please. &lt;Commander&gt; We
need to find a knife and the bread. &lt;Driver&gt; have knife where is bread? &lt;Commander&gt; The bread is in the
fridge. &lt;Commander&gt; We need two slices of bread toasted. &lt;Driver&gt; done. &lt;Driver&gt; ok. &lt;Driver&gt;
done. &lt;Commander&gt; Grab the knife again. &lt;Commander&gt; We need to slice the tomato and lettuce.
&lt;Commander&gt; The tomato and lettuce need to be on the plate with the bread. &lt;Commander&gt; Good work! Have a
great day! &lt;Driver&gt; done. &lt;Driver&gt; thank.</p>
</div>
<div class="w3-center">
<video controls muted autoplay loop width="40%">
<source src="images/output0_movie_FINAL_success_True_33058982c98c2919_9452.tfd_33058982c98c2919_9452.mp4" type="video/mp4">
<source src="https://ical-learning.github.io/movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
</div>
<div class="w3-center" style="width: 100%;"><img style="width: 30%" src="images/white_space.jpg"></div>
<div class="w3-center">
<p><b>Instruction:</b> &lt;Commander&gt; boil whole potatoes in water. &lt;Driver&gt; hello. &lt;Commander&gt; potato. &lt;Commander&gt; hi.
&lt;Commander&gt; it's in the lower drawer to the left of the cooking stove. &lt;Driver&gt; the knife? &lt;Commander&gt;
don't cut. boil it whole. &lt;Driver&gt; where do I boil it? &lt;Commander&gt; in the pot on the stove.
&lt;Commander&gt; awesome. task complete.</p>
</div>
<div class="w3-center">
<video controls muted autoplay loop width="40%">
<source src="images/output0_movie_FINAL_success_True_f739111c57090fa0_911d.tfd_f739111c57090fa0_911d.mp4"
type="video/mp4">
<source src="https://ical-learning.github.io/movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
</div>
<br>
<br>
<hr>
<h4>See our paper for more!</h4>
<section id="citation">
<h2>Citation</h2>
<div class="cit_cont">
<pre style="background-color:#F5F5F5;"><code><font size="-1">@inproceedings{sarch2024vlm,
title={VLM Agents Generate Their Own Memories: Distilling Experience into Embodied Programs of Thought},
author={Sarch, Gabriel Herbert and Jang, Lawrence and Tarr, Michael J and Cohen, William W and Marino, Kenneth and
Fragkiadaki, Katerina},
booktitle={The Thirty-eighth Annual Conference on Neural Information Processing Systems},
year={2024}
}
</font></code></pre>
</div>
</section>
<hr>
<br>
<br>
<!-- end paper container -->
</div><!-- End Grid -->
</div><!-- End Page Container -->
<script>
function typeWriter(containerId, text, colors, typingSpeed) {
const container = document.getElementById(containerId);
container.innerHTML = ''; // Clear the previous content
const lines = text.split('\n');
let currentLine = 0;
function typeLine(line) {
if (line >= lines.length) return;
const span = document.createElement('span');
span.style.color = colors[line % colors.length]; // Cycle through colors if not enough
// Check if the current color is black, and adjust the font size accordingly
if (span.style.color === 'black' || span.style.color === '#000' || span.style.color === '#000000') {
span.style.fontSize = '12px'; // Change '24px' to the desired font size for black text
}
container.appendChild(span);
let words = lines[line].split(' ');
let i = 0;
function typeWord() {
if (i < words.length) {
span.appendChild(document.createTextNode(words[i++] + ' '));
setTimeout(typeWord, typingSpeed);
} else {
container.appendChild(document.createElement('br'));
typeLine(line + 1);
}
}
typeWord();
}
// function typeLine(line) {
// if (line >= lines.length) return;
// const span = document.createElement('span');
// span.style.color = colors[line % colors.length];
// if (span.style.color === 'black' || span.style.color === '#000' || span.style.color === '#000000') {
// span.style.fontSize = '12px';
// }
// container.appendChild(span);
// let words = lines[line].match(/(?:\s*\S+)+/g) || []; // Ensure words is an array even if match finds nothing
// let i = 0;
// function typeWord() {
// if (i < words.length) {
// span.appendChild(document.createTextNode(words[i++] + ' '));
// setTimeout(typeWord, typingSpeed);
// } else {
// container.appendChild(document.createElement('br'));
// typeLine(line + 1);
// }
// }
// typeWord();
// }
typeLine(0);
}
function openTab(evt, tabName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(tabName).style.display = "block";
evt.currentTarget.className += " active";
// Define texts, colors, and speed for each tab
const typingSpeed = 15; // Same speed for all tabs for simplicity
switch (tabName) {
case 'Tab1':
// document.getElementById('textBlockTab1').innerHTML = displayFormattedText("Instruction for Tab 1\nDetails of operation...");
typeWriter(
'containerTab1',
"Instruction:\n<Driver> task? <Commander> Hello. First we need to cut bread. <Commander> Next we need to toast a slice. <Driver> next. <Commander> All done. \n\nAbstracted State:\n'Potato_2': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['CounterTop', 'Plate']}\n'Knife_16': {'label': 'Knife', 'holding': False, 'supported_by': ['Cabinet']}\n'Bread_17': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['DiningTable']}\n'Knife_29': {'label': 'Knife', 'holding': False, 'supported_by': ['DiningTable']}\n'CounterTop_42': {'label': 'CounterTop'}\n'CounterTop_43': {'label': 'CounterTop'}\n'CounterTop_58': {'label': 'CounterTop'}\n'Bread_61': {'label': 'Bread', 'holding': False, 'sliced': True, 'cooked': False, 'supported_by': ['CounterTop']}\n'Knife_62': {'label': 'Knife', 'holding': False, 'supported_by': ['Fridge']}\n'Toaster_63': {'label': 'Toaster', 'toggled': False}\n'Plate_70': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Microwave_77': {'label': 'Microwave', 'toggled': True, 'open': False}\n'SinkBasin_80': {'label': 'SinkBasin'}\n'Knife_85': {'label': 'Knife', 'holding': True, 'supported_by': ['CounterTop']}\n'Fridge_95': {'label': 'Fridge', 'open': False}\n'DiningTable_99': {'label': 'DiningTable'}\n'BreadSliced_100': {'label': 'BreadSliced', 'holding': False, 'cooked': False, 'supported_by': ['CounterTop']}\n\nTask Decomposition & Subgoals:\nSummary: The script slices a piece of bread, toasts it, and then places the toasted slice on a clean plate.\nPlan:\n1. Go to the knife and pick it up.\n2. Go to the bread and slice it.\n3. Initialize a new InteractionObject for the sliced bread.\n4. Go to the toaster and place the bread slice in it.\n5. Toggle the toaster on to start toasting.\n6. Toggle the toaster off after toasting is done and update the bread slice's 'cooked' state to True.\n7. Pick up the toasted bread slice.\n8. Go to the clean plate and place the toasted bread slice on it.\n\nAbstraction Comments:\n1. The knife is picked up to slice the bread, which is necessary to create slices for toasting.\n2. The toaster is used to toast a slice of bread, fulfilling the requirement to toast a slice for consumption.\n3. The state of the bread slice is updated to reflect that it has been toasted, ensuring consistency with the actual object state.\n4. A clean plate is located and used to place the toasted bread slice on, adhering to the requirement of placing toast on a clean plate.\n\nOptimized Actions & State Changes:\n# Define InteractionObject instances for the knife, bread, toaster, and a clean plate\nknife = InteractionObject('Knife', object_instance='Knife_85') # Knife is on the countertop\nbread = InteractionObject('Bread', object_instance='Bread_61') # Bread is on the countertop\ntoaster = InteractionObject('Toaster', object_instance='Toaster_63') # Toaster is not toggled\nclean_plate = InteractionObject('Plate', object_instance='Plate_70') # Clean plate is on the countertop\n\n# Slice the bread\nknife.go_to()\nknife.pickup()\nbread.go_to()\nbread.slice()\nbread_sliced = InteractionObject('BreadSliced', parent_object=bread.object_instance) # Initialize new sliced object from sliced parent\n\n# Toast a slice of bread\ntoaster.go_to()\nbread_sliced.pickup()\nbread_sliced.place(toaster)\ntoaster.toggle_on() # Start toasting the bread slice\n# Wait for the bread to toast (this step is abstracted in the script)\ntoaster.toggle_off() # Stop toasting after it's done\nbread_sliced.change_state('cooked', True) # Update the state of the bread slice to indicate it's toasted\nbread_sliced.pickup() # Remove the toasted bread slice from the toaster\n\n# Place the toasted bread slice on a clean plate\nclean_plate.go_to() # Navigate to the clean plate\nbread_sliced.place(clean_plate) # Place the toasted bread slice on the clean plate",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
case 'Tab2':
// document.getElementById('textBlockTab2').innerHTML = displayFormattedText("Different instructions for Tab 2\nAnother set of operations...");
typeWriter(
'containerTab2',
"Instruction:\n<Driver> hello how can I help? <Commander> Please make coffee. <Driver> sure, where can I find some cups please? <Commander> you can find a mug close to the coffee machine. <Driver> I can't turn on the coffee machine. <Commander> that was everything, thanks. \n\nAbstracted State:\n'Mug_1': {'label': 'Mug', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Floor', 'GarbageCan']}\n'CounterTop_18': {'label': 'CounterTop'}\n'Fridge_37': {'label': 'Fridge', 'open': False}\n'Microwave_38': {'label': 'Microwave', 'toggled': True, 'open': False}\n'SinkBasin_59': {'label': 'SinkBasin'}\n'CoffeeMachine_61': {'label': 'CoffeeMachine', 'toggled': True}\n'Mug_68': {'label': 'Mug', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Faucet_69': {'label': 'Faucet', 'toggled': True}\n\nTask Decomposition & Subgoals:\nSummary: The script prepares coffee in a clean mug found near the coffee machine and places the filled mug on a suitable receptacle.\nPlan:\n1. Identify the mug near the coffee machine.\n2. Verify that the mug is clean and empty.\n3. Use the coffee machine to make coffee in the mug.\n4. Place the mug with coffee on a suitable receptacle, such as the countertop.\n\nAbstraction Comments:\n1. The mug is identified near the coffee machine and picked up to ensure we are using the correct object as per the Commander's instructions.\n2. The mug's cleanliness and emptiness are checked, and if necessary, it is cleaned in the sink basin to meet the requirement of using a clean and empty mug.\n3. The coffee machine is used to prepare coffee, which is the main task assigned by the Commander.\n4. The mug is placed on the countertop after coffee preparation, completing the task as requested.\n\nOptimized Actions & State Changes:\n# Define InteractionObject instances for the mug near the coffee machine, the coffee machine, and the countertop\nmug_near_coffeemachine = InteractionObject('Mug', object_instance='Mug_68') # Mug is near the coffee machine\ncoffee_machine = InteractionObject('CoffeeMachine', object_instance='CoffeeMachine_61') # Coffee machine to prepare coffee\ncountertop = InteractionObject('CounterTop', object_instance='CounterTop_18') # Define a countertop instance to place the mug on\n\n# Go to the mug near the coffee machine and pick it up\nmug_near_coffeemachine.go_to()\nmug_near_coffeemachine.pickup()\n\n# Check if the mug is clean and empty; if not, clean it\nif mug_near_coffeemachine.check_attribute('dirty', True) or mug_near_coffeemachine.check_attribute('filled', True):\n ‎ ‎ ‎ ‎ # If the mug is not clean or is filled, we need to clean it\n ‎ ‎ ‎ ‎ sink_basin = InteractionObject('SinkBasin', object_instance='SinkBasin_59') # Sink basin for cleaning the mug if necessary\n ‎ ‎ ‎ ‎ faucet = InteractionObject('Faucet', object_instance='Faucet_69') # Faucet to use water for cleaning\n ‎ ‎ ‎ ‎ \n ‎ ‎ ‎ ‎ # If the faucet is on, turn it off before cleaning\n ‎ ‎ ‎ ‎ if faucet.check_attribute('toggled', True):\n ‎ ‎ ‎ ‎ faucet.toggle_off()\n ‎ ‎ ‎ ‎ \n ‎ ‎ ‎ ‎ # Clean the mug\n ‎ ‎ ‎ ‎ sink_basin.go_to()\n ‎ ‎ ‎ ‎ mug_near_coffeemachine.place(sink_basin)\n ‎ ‎ ‎ ‎ faucet.toggle_on() # Rinse the mug with water\n ‎ ‎ ‎ ‎ faucet.toggle_off() # Turn off the faucet after rinsing\n ‎ ‎ ‎ ‎ mug_near_coffeemachine.change_state('dirty', False) # Update the mug's state to clean\n ‎ ‎ ‎ ‎ mug_near_coffeemachine.change_state('filled', False) # Update the mug's state to empty\n\n# Use the coffee machine to prepare coffee in the clean mug\ncoffee_machine.go_to()\nmug_near_coffeemachine.pickup()\nmug_near_coffeemachine.place(coffee_machine)\n# Wait for coffee to be prepared (this step is abstracted in the script)\nmug_near_coffeemachine.change_state('filled', True) # Update the mug's state to filled with coffee\nmug_near_coffeemachine.change_state('fillLiquid', 'coffee') # Update the liquid in the mug to coffee\n\n# Place the mug with coffee on the countertop\nmug_near_coffeemachine.pickup()\nmug_near_coffeemachine.place(countertop) # Correctly place the mug on the countertop",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
case 'Tab3':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab3',
"Instruction:\n<Driver> hi, task? <Commander> make sandwich. <Commander> make 2 slices of toast. <Commander> slice tomato and put on a clean plate. <Driver> next. <Driver> next. <Commander> nice job. thanks you. <Driver> 2 bread and 1 tomato. \n\nAbstracted State:\n'Plate_2': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['Shelf']}\n'Bread_4': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Floor', 'Shelf']}\n'Bread_9': {'label': 'Bread', 'holding': False, 'sliced': True, 'cooked': False, 'supported_by': ['DiningTable']}\n'CounterTop_32': {'label': 'CounterTop'}\n'Toaster_39': {'label': 'Toaster', 'toggled': False}\n'Bread_45': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Shelf']}\n'Fridge_47': {'label': 'Fridge', 'open': False}\n'Plate_52': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['DiningTable']}\n'SinkBasin_55': {'label': 'SinkBasin'}\n'Knife_61': {'label': 'Knife', 'holding': True, 'supported_by': ['CounterTop']}\n'Tomato_66': {'label': 'Tomato', 'holding': False, 'sliced': True, 'cooked': False, 'supported_by': ['Stool']}\n'Knife_70': {'label': 'Knife', 'holding': False, 'supported_by': ['Cabinet']}\n'DiningTable_72': {'label': 'DiningTable'}\n'Faucet_78': {'label': 'Faucet', 'toggled': False}\n'Stool_79': {'label': 'Stool'}\n'Shelf_80': {'label': 'Shelf'}\n'BreadSliced_81': {'label': 'BreadSliced', 'holding': False, 'cooked': True, 'supported_by': ['CounterTop']}\n'BreadSliced_82': {'label': 'BreadSliced', 'holding': False, 'cooked': True, 'supported_by': ['CounterTop']}\n'TomatoSliced_83': {'label': 'TomatoSliced', 'holding': False, 'cooked': False, 'supported_by': ['CounterTop']}\n\nTask Decomposition & Subgoals:\nSummary: The revised script will slice bread, toast two slices, slice a tomato, and assemble the sandwich components on a clean plate.\nPlan:\n1. Retrieve a knife from the countertop.\n2. Slice the bread and create instances for the sliced bread.\n3. Toast two slices of bread in the toaster.\n4. Check if the plate on the dining table is clean; if not, clean it.\n5. Retrieve a tomato from the stool.\n6. Slice the tomato and create instances for the sliced tomato.\n7. Assemble the toasted bread and tomato slices on the clean plate.\n\nAbstraction Comments:\n1. The knife is used to slice the bread and tomato, which are essential components of the sandwich.\n2. The toaster is used to toast the bread slices, which is a key step in making a sandwich with toast.\n3. The plate's cleanliness is ensured before assembling the sandwich to maintain hygiene.\n4.The toasted bread and tomato slices are placed on the plate to complete the sandwich assembly.\n\nOptimized Actions & State Changes: \n# Define InteractionObject instances for the bread, knife, toaster, tomato, and plate\nbread = InteractionObject('Bread', object_instance = 'Bread_9') # Bread is on the dining table\nknife = InteractionObject('Knife', object_instance = 'Knife_61') # Knife is on the countertop\ntoaster = InteractionObject('Toaster', object_instance = 'Toaster_39') # Toaster for toasting bread\ntomato = InteractionObject('Tomato', object_instance = 'Tomato_66') # Tomato is on the stool\nplate = InteractionObject('Plate', object_instance = 'Plate_52') # Plate is on the dining table\nsink = InteractionObject('SinkBasin', object_instance = 'SinkBasin_55') # Sink for cleaning the plate\nfaucet = InteractionObject('Faucet', object_instance = 'Faucet_78') # Faucet for cleaning the plate\n\n# Slice the bread\nknife.go_to() \nknife.pickup() \nbread.go_to() \nbread.slice() \nbread_sliced_1 = InteractionObject('BreadSliced', parent_object = bread.object_instance) # Initialize new sliced object from sliced parent\nbread_sliced_2 = InteractionObject('BreadSliced', parent_object = bread.object_instance) # Initialize new sliced object from sliced parent\n\n# Toast two slices of bread\ntoaster.go_to() \nbread_sliced_1.pickup() \nbread_sliced_1.place(toaster) \ntoaster.toggle_on() # Start toasting the first bread slice\n# Wait for the bread to toast(this step is abstracted in the script) \ntoaster.toggle_off() # Stop toasting after it's done\nbread_sliced_1.change_state('cooked', True) # Update the bread slice's state to toasted\nbread_sliced_1.pickup() # Remove the toasted bread slice from the toaster\n\nbread_sliced_2.pickup() \nbread_sliced_2.place(toaster) \ntoaster.toggle_on() # Start toasting the second bread slice\n# Wait for the bread to toast(this step is abstracted in the script) \ntoaster.toggle_off() # Stop toasting after it's done\nbread_sliced_2.change_state('cooked', True) # Update the bread slice's state to toasted\nbread_sliced_2.pickup() # Remove the toasted bread slice from the toaster\n\n# Check if the plate is clean; if not, clean it\nplate.go_to() \nif plate.check_attribute('dirty', True): \n ‎ ‎ ‎ ‎ plate.pickup() \n ‎ ‎ ‎ ‎ sink.go_to() \n ‎ ‎ ‎ ‎ plate.place(sink) \n ‎ ‎ ‎ ‎ faucet.go_to() \n ‎ ‎ ‎ ‎ faucet.toggle_on() # Turn on the faucet to clean the plate\n ‎ ‎ ‎ ‎ faucet.toggle_off() # Turn off the faucet after cleaning\n ‎ ‎ ‎ ‎ plate.pickup() # Pick up the clean plate\n ‎ ‎ ‎ ‎ plate.change_state('dirty', False) # Update the plate's state to clean\n\n# Slice the tomato\ntomato.go_to()\ntomato.pickup()\ntomato.slice()\ntomato_sliced = InteractionObject('TomatoSliced', parent_object=tomato.object_instance) # Initialize new sliced object from sliced parent\n\n# Assemble the sandwich components on the plate\nplate.go_to()\nbread_sliced_1.place(plate)\nbread_sliced_2.place(plate)\ntomato_sliced.pickup()\ntomato_sliced.place(plate)",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
case 'Tab4':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab4',
"Instruction:\n<Driver> hi how can i help. <Commander> please boil a potato. <Driver> done. <Commander> thank you that's all. \n\nAbstracted State:\n'Pot_16': {'label': 'Pot', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['StoveBurner']}\n'Pot_19': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['StoveBurner']}\n'Pot_31': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['StoveBurner']}\n'StoveBurner_37': {'label': 'StoveBurner'}\n'StoveBurner_39': {'label': 'StoveBurner'}\n'CounterTop_42': {'label': 'CounterTop'}\n'StoveBurner_45': {'label': 'StoveBurner'}\n'StoveBurner_49': {'label': 'StoveBurner'}\n'Pot_51': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Cabinet']}\n'Potato_54': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Fridge']}\n'Fridge_61': {'label': 'Fridge', 'open': False}\n'Drawer_90': {'label': 'Drawer', 'open': False}\n\nTask Decomposition & Subgoals:\nSummary: The script should boil a potato by retrieving it from the fridge, placing it in a pot with water, boiling it on the stove burner, and updating the potato's state to 'cooked'.\nPlan:\n1. Navigate to the fridge and open it.\n2. Retrieve the potato from the fridge.\n3. Close the fridge.\n4. Navigate to a clean pot that is filled with water.\n5. Place the potato in the pot.\n6. Navigate to the stove burner and place the pot on it.\n7. Turn on the stove burner to boil the potato.\n8. Update the potato's state to 'cooked' after it has been boiled.\n\nAbstraction Comments:\n1. The fridge is opened to access the potato, which is necessary for the task.\n2. The potato is placed in a clean pot with water, as boiling requires water.\n3. The stove burner is turned on to heat the pot, which cooks the potato.\n4. The potato's state is updated to 'cooked' to reflect the completion of the boiling process.\n\nOptimized Actions & State Changes:\n# Define InteractionObject instances for the fridge, potato, pot, and stove burner\nfridge = InteractionObject('Fridge', object_instance='Fridge_61')\npotato = InteractionObject('Potato', object_instance='Potato_54') # The potato inside the fridge\nclean_pot_with_water = InteractionObject('Pot', object_instance='Pot_16') # A clean pot filled with water\nstove_burner = InteractionObject('StoveBurner', object_instance='StoveBurner_37') # A stove burner to boil the potato\n\n# Open the fridge to retrieve the potato\nfridge.go_to()\nfridge.open()\n\n# Retrieve the potato from the fridge\npotato.go_to()\npotato.pickup()\n\n# Close the fridge after taking out the potato\nfridge.close()\n\n# Navigate to the clean pot filled with water\nclean_pot_with_water.go_to()\n\n# Place the potato in the pot\npotato.place(clean_pot_with_water)\n\n# Navigate to the stove burner and place the pot on it\nstove_burner.go_to()\nclean_pot_with_water.pickup_and_place(stove_burner)\n\n# Turn on the stove burner to boil the potato\nstove_burner.toggle_on()\n\n# Wait for the potato to boil (this step is abstracted in the script)\n# After boiling, update the potato's state to 'cooked'\npotato.change_state('cooked', True)",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
case 'Tab5':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab5',
"Instruction:\n<Driver> hi how can i be of assistance. <Commander> please put all the dish sponges in the sink. <Commander> there is one on the chair. <Commander> and also one in the fridge. <Driver> are there any more. <Commander> did you get the one in the fridge? <Commander> that will do for today. \n\nAbstracted State:\n'DishSponge_3': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'SaltShaker_11': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Sink']}\n'DishSponge_19': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Fridge']}\n'CounterTop_28': {'label': 'CounterTop'}\n'CounterTop_39': {'label': 'CounterTop'}\n'Fridge_52': {'label': 'Fridge', 'open': False}\n'SinkBasin_66': {'label': 'SinkBasin'}\n'DishSponge_72': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Chair']}\n'Mug_76': {'label': 'Mug', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Sink']}\n'DiningTable_78': {'label': 'DiningTable'}\n'Faucet_79': {'label': 'Faucet', 'toggled': True}\n'Chair_81': {'label': 'Chair'}\n\nTask Decomposition & Subgoals:\nSummary: The script moves all dish sponges to the sink as per the Commander's instructions.\nPlan:\n1. Define InteractionObject instances for the dish sponges on the chair, in the fridge, and on the countertop.\n2. Move the dish sponge from the chair to the sink basin.\n3. Move the dish sponge from the fridge to the sink basin.\n4. Move any additional dish sponges to the sink basin if they are found on the countertop.\n\nAbstraction Comments:\n1. The dish sponges are identified based on their locations as mentioned by the Commander: one on the chair and one in the fridge.\n2. Each sponge is picked up from its respective location and placed in the sink basin, fulfilling the task of gathering all dish sponges in the sink.\n3. The script ensures that all known dish sponges are moved to the sink, as per the Commander's instructions, completing the task for the day.\n\nOptimized Actions & State Changes:\n# Define InteractionObject instances for the dish sponges and the sink basin\ndish_sponge_chair = InteractionObject('DishSponge', object_instance='DishSponge_72') # Dish sponge on the chair\ndish_sponge_fridge = InteractionObject('DishSponge', object_instance='DishSponge_19') # Dish sponge in the fridge\ndish_sponge_countertop = InteractionObject('DishSponge', object_instance='DishSponge_3') # Dish sponge on the countertop\nsink_basin = InteractionObject('SinkBasin', object_instance='SinkBasin_66') # Sink basin\n\n# Move the dish sponge from the chair to the sink basin\ndish_sponge_chair.go_to()\ndish_sponge_chair.pickup()\nsink_basin.go_to()\ndish_sponge_chair.place(sink_basin)\n\n# Move the dish sponge from the fridge to the sink basin\ndish_sponge_fridge.go_to()\ndish_sponge_fridge.pickup()\nsink_basin.go_to()\ndish_sponge_fridge.place(sink_basin)\n\n# Move any additional dish sponges to the sink basin if they are found on the countertop\ndish_sponge_countertop.go_to()\ndish_sponge_countertop.pickup()\nsink_basin.go_to()\ndish_sponge_countertop.place(sink_basin)",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
}
}
function openTab_VWA(evt, tabName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent_vwa");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks_vwa");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(tabName).style.display = "block";
evt.currentTarget.className += " active";
// Define texts, colors, and speed for each tab
const typingSpeed = 15; // Same speed for all tabs for simplicity
switch (tabName) {
case 'Tab6':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab6',
"Instruction:\nNavigate to the cheapest listing in the 'Furniture category' with three blue chairs suitable for a workplace in the image.\n\nAbstracted State:\n [] [StaticText] [Show only]\n [] [StaticText] [City]\n [] [StaticText] [Classifieds]\n [] [StaticText] [Min.]\n [] [StaticText] [> Furniture]\n [] [StaticText] [Refine category]\n [5] [A] [Classifieds]\n [] [StaticText] [Max.]\n [11] [BUTTON] [Apply]\n [] [StaticText] [Subscribe to this search]\n [6] [INPUT] []\n [12] [BUTTON] [Subscribe now!]\n [9] [INPUT] []\n [8] [INPUT] []\n [10] [INPUT] []\n\nTask Decomposition & Subgoals:\nSummary: To find the cheapest listing with three blue office chairs, I will refine the search by typing 'Office Chairs' into the search bar and applying the filter.\nPlan:\nLet's think step-by-step. The objective is to find the cheapest listing in the 'Furniture' category with three blue chairs suitable for a workplace. The feedback indicates that I should search for 'Office Chairs' to find a more suitable listing. I will type 'Office Chairs' into the search bar, which has the ID [6], and then click the 'Apply' button to refine the search results.\n\nAbstraction Comments:\n1. When searching for specific items on a classifieds website, it is more effective to narrow down the search by selecting the appropriate category before typing in the search term.\n2. When the end of a page is reached and the task requires viewing more items, navigate to the next page instead of attempting to scroll further.\n3. When the objective is to find a listing with a specific type of image, ensure that the image matches the criteria before clicking on the listing.\n\nPredicted State Change:\nAfter typing 'Office Chairs' into the search field, the next state will display listings specifically related to office chairs, with the first few listings likely being the most relevant to the search term entered.\n\nOptimized Actions:\ntype [6] [Office Chairs]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black'],
typingSpeed
);
break;
case 'Tab7':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab7',
"Instruction:\nSearch for 'dishwasher' and tell me the brand of the most recent listing of a stainless steel one.\n\nAbstracted State:\n [47] [A] [LG Dishwasher]\n [43] [A] [Portable Dishwasher]\n [27] [A] [Electronics]\n [25] [A] [Computer parts]\n [] [StaticText] [Computers]\n [23] [A] [Cell phones]\n [] [StaticText] [Computer parts]\n [] [StaticText] [Books]\n [24] [A] [Collectibles]\n [] [StaticText] [Collectibles]\n [21] [A] [Books]\n [] [StaticText] [Jewelry]\n [] [StaticText] [Cars + trucks]\n [] [StaticText] [Electronics]\n [] [StaticText] [350.00 $]\n [26] [A] [Computers]\n [22] [A] [Cars + trucks]\n [] [StaticText] [Cell phones]\n\nTask Decomposition & Subgoals:\nSummary: The most recent stainless steel dishwasher listing is the LG dishwasher, and I will return the brand name LG as the correct answer.\nPlan:\nLet's think step-by-step. The objective is to find the most recent listing of a stainless steel dishwasher and tell the brand. The feedback indicates that the most recent stainless steel dishwasher is the LG one. I will review the listings to confirm that the LG dishwasher is the most recent one and that it is stainless steel before providing the brand name.\n\nAbstraction Comments:\n1. When the objective is to display an item and that item is already visible on the page, no further navigation is required. The task can be completed by issuing the stop action after selecting the item.\n2. When searching for the most recently posted item of a specific type, ensure the listings are sorted by the newest first and visually inspect the images for the specific characteristics before clicking on the correct listing.\n\nPredicted State Change:\nThe episode will end after the stop action is issued and any information provided will be returned to the user.\n\nOptimized Actions:\nstop [LG]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black'],
typingSpeed
);
break;
case 'Tab8':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab8',
"Instruction:\nWrite a story about this picture <image of a baseball scene, not shown> and post it in the most relevant subreddit.\n\nAbstracted State:\n [5] [A] [Submit]\n [8] [BUTTON] [Search]\n [] [StaticText] [I see Terry Collins famous baseball ejection. I raise you Wally Backman Baseball ejection. youtube.com ]\n [1] [A] [Forums]\n [] [StaticText] [Men's League Baseball Summer 2023]\n [] [StaticText] [Submitted by Jitzwad__Gumlord t3_122vttw 11 months ago in ColumbiaMD]\n [3] [INPUT] []\n [] [StaticText] [Any baseball fans here? Two owners needed for free fantasy baseball league! Submitted by Jitzwad__Gumlord t3]\n [22] [A] [I see Terry Collins famous baseball ejection. I raise you Wally Backman Baseball ejection.]\n [31] [A] [contextual_somebody]\n [26] [A] [12 comments]\n [4] [A] []\n [12] [A] [6 comments]\n [] [StaticText] [Submitted by Elron-Cupboard t3_zkpy4w 1 year ago in todayilearned]\n [] [StaticText] [Wiki]\n [2] [A] [Wiki]\n\nTask Decomposition & Subgoals:\nSummary: To write and post a story about the provided picture, I need to navigate to the submission page by clicking the 'Submit' button.\nPlan:\nLet's think step-by-step. The objective is to write a story about a given picture and post it in the most relevant subreddit. The first step is to navigate to the submission page by clicking the 'Submit' button. Once there, I can write the story and select the most relevant subreddit for posting.\n\nAbstraction Comments:\n1. To create a post on Reddit, one must navigate to the submission page by clicking the 'Submit' button, not by searching for a subreddit.\n2. To select a subreddit for submission, one must type the name of the relevant subreddit into the forum box rather than trying to select it from a dropdown menu.\n3. Before submitting a post on Reddit, ensure that all required fields, such as the title and body, are filled out with the relevant content.\n4. When creating a post, the title should be concise and indicative of the content, while the body should contain the detailed story or information. Keywords related to the content should be included in the body to improve searchability and relevance.\n5. A Reddit post requires a title to be provided in the designated field before it can be submitted.\n6. When creating a submission on Reddit, it is crucial to input the title of the post into the correct field designated for the title to ensure the post is formatted correctly.\n\nPredicted State Change:\nThe next state will present a submission form where the user can create a new post, including fields for the URL or image, title, body text, and a dropdown menu to select the relevant subreddit for the story about the picture.\n\nOptimized Actions:\nclick [5]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black'],
typingSpeed
);
break;
case 'Tab9':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab9',
"Instruction:\nHow many comments are removed or deleted in the post that has a turkey picture in the hot posts of f/pics\n\nAbstracted State:\n [] [StaticText] [192 comments]\n [26] [A] [beware_the_noid]\n [] [StaticText] [195 comments]\n [] [StaticText] [Comments]\n [18] [BUTTON] []\n [12] [A] [195 comments]\n [21] [A] [KrakenDesign]\n [7] [A] [Submissions]\n [13] [BUTTON] []\n [27] [A] [108 comments]\n [] [StaticText] [108 comments]\n [22] [A] [134 comments]\n [17] [A] [192 comments]\n [] [StaticText] [134 comments]\n [] [StaticText] [Submissions]\n\nTask Decomposition & Subgoals:\nSummary: Clicking on the comments link for the post 'A Trejo Thanksgiving' will allow me to access the comments section and count the number of removed or deleted comments, fulfilling the task objective.\nPlan:\nThe objective is to find the number of comments that are removed or deleted in the post with a turkey picture in the hot posts of /f/pics. The observation shows a post titled 'A Trejo Thanksgiving' with a description that includes two men standing in front of a large pot of food, which could potentially be the turkey post mentioned. The next step is to click on the comments link associated with this post, which has the ID [12], to view the comments and determine the number of removed or deleted comments.\n\nAbstraction Comments:\n1. To accurately report the number of removed or deleted comments, one must count each instance where a comment would normally appear but is instead indicated as removed or deleted.\n\nPredicted State Change:\nThe next state will display the comment section of the post with the turkey picture, where the user can read through the comments to find any that are removed or deleted.\n\nOptimized Actions:\nclick [12]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'green', 'black', 'black', 'orange', 'black'],
typingSpeed
);
break;
case 'Tab10':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab10',
"Instruction:\nCan you add the two most expensive white projectors in the 'Video Projectors' category to the comparison page?\n\nAbstracted State:\n [18] [A] [Tools & Home Improvement]\n [16] [A] [Home & Kitchen]\n [40] [BUTTON] [Add to Cart]\n [] [StaticText] [items]\n [27] [A] [1  Review]\n [11] [DIV] [Beauty & Personal CareOral CareToothbrushes & AccessoriesDental Floss & PicksOrthodontic SuppliesChildren's Dental CareOral Pain ReliefToothpasteTeeth WhiteningBreath FreshenersDenture CareTongue Clea]\n [7] [INPUT] []\n [36] [A] [Add to Compare]\n [1] [A] [My Account]\n [17] [A] [Office Products]\n [24] [A] [Grocery & Gourmet Food]\n [21] [A] [Electronics]\n [32] [A] [V8 +Energy, Healthy Energy Drink, Steady Energy from Black and Green Tea, Pomegranate Blueberry, 8 Ounce Can ,Pack of 24]\n [10] [DIV] [Menu Beauty & Personal CareOral CareToothbrushes & AccessoriesDental Floss & PicksOrthodontic SuppliesChildren's Dent]\n [51] [A] [12  Reviews]\n [62] [A] [12  Reviews]\n\nTask Decomposition & Subgoals:\nSummary: Clicking on the Electronics category will take me closer to finding the 'Video Projectors' category, where I can then select the two most expensive white projectors to add to the comparison page, thus progressing towards the objective.\nPlan:\nTo add the two most expensive white projectors to the comparison page, I need to navigate to the 'Video Projectors' category. The category is likely to be found within the 'Electronics' section of the website. The Electronics category link is identified by ID [21]. By clicking on this link, I will be taken to the Electronics section where I can then locate the 'Video Projectors' category and select the two most expensive white projectors for comparison.\n\nAbstraction Comments:\n1. When tasked with finding the most expensive items, it is necessary to sort items by price in descending order to easily identify the top-priced items.\n2. Before selecting items based on price, ensure that the items are sorted correctly by price. This will allow for accurate selection based on the cost criteria.\n3. When tasked with comparing items based on price and color, ensure to select the correct items that match the criteria (most expensive and white in this case) before adding them to the comparison page.\n4. When the task involves adding items to a comparison or cart, and the items are not on the current page, use the 'go back' action to return to the page where the items can be found, rather than navigating to unrelated categories.\n5. When tasked with adding the most expensive items of a certain type to a comparison, ensure to select the correct items based on the specified attributes (in this case, price and color).\n6. When adding items to a comparison page, ensure to click the correct 'Add to Compare' link associated with the specific item that matches the criteria given in the task.\n7. Once items have been added to a comparison or wish list, the next step is to navigate to that list to review the items, not to go back to previous pages.\n8. When the task is complete, no further actions are necessary on the website. Instead, confirm completion with the stop action.\n\nPredicted State Change:\nThe next state will display the 'Electronics' category page, where the user can browse through various electronic items. The page will include a list of subcategories, such as 'Home Audio,' 'Video Projectors,' and 'Television & Video,' among others, to help the user navigate to the specific type of electronic product they are looking for.\n\nOptimized Actions:\nclick [21]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black'],
typingSpeed
);
break;
}
}
function openTab_EGO(evt, tabName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent_ego");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks_ego");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(tabName).style.display = "block";
evt.currentTarget.className += " active";
// Define texts, colors, and speed for each tab
const typingSpeed = 15; // Same speed for all tabs for simplicity
switch (tabName) {
case 'Tab11':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab11',
"Abstracted State:\nID [11] Bottle of sauce\nID [4] Pot with food\nID [5] Left hand of user\nID [7] Right hand of user reaching for the bottle\nID [17] Wooden spoon in the pot\nID [25] Lid of the bottle\n\nTask Decomposition & Subgoals:\nSummary: The user in this video is preparing to use a bottle of sauce while cooking.\nPlan:\nThe user is reaching for a bottle of sauce (ID 11) with their right hand (ID 7), indicating they are about to use it in their cooking process. The presence of a pot with food (ID 4) and a wooden spoon (ID 17) suggests that the user will be adding sauce to the food and mixing it.\n\nAbstraction Comments:\n1. The user's focus on the bottle suggests that its contents are needed for the next step in the cooking process.\n2. The proximity of the bottle to the pot implies that the sauce will be added directly to the food being cooked.\n3. The presence of the wooden spoon within the pot indicates that after adding the sauce, the user will likely stir the mixture.\n4. The sequence of actions suggests a cooking task where ingredients are sequentially added and mixed.\n5. The user's body language, with one hand on the pot and the other reaching for the bottle, suggests a multitasking cooking scenario.\n\nPredicted State Change:\nThe bottle will go from closed to open, and its contents will be poured into the pot. The lid (ID 25) will be removed and placed aside. The spoon (ID 17) will be used to mix the food in the pot, changing the consistency and appearance of the food.\n\nOptimized Actions:\n1. hold_(support,_grip,_grasp) bottle_(bottle,_flask)\n2. open bottle_(bottle,_flask)\n3. put_(place,_leave,_drop) bottle_(bottle,_flask)\n4. put_(place,_leave,_drop) lid_(cap,_cover,_lid)\n5. take_(pick,_grab,_get) spoon_(spoon,_spoonful)\n6. mix food\n7. close food\n8. take_(pick,_grab,_get) bottle_(bottle,_flask)\n9. open bottle_(bottle,_flask)\n10. pour sauce\n11. take_(pick,_grab,_get) spoon_(spoon,_spoonful)\n12. put_(place,_leave,_drop) spoon_(spoon,_spoonful)\n13. take_(pick,_grab,_get) soil_(dirt,_mud,_soil)\n14. adjust_(regulate,_increase/reduce,_change) bottle_(bottle,_flask)\n15. hold_(support,_grip,_grasp) spoon_(spoon,_spoonful)\n16. mix food\n17. put_(place,_leave,_drop) spoon_(spoon,_spoonful)\n18. take_(pick,_grab,_get) bottle_(bottle,_flask)\n19. hold_(support,_grip,_grasp) bottle_(bottle,_flask)\n20. open bottle_(bottle,_flask)",
['red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
case 'Tab12':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab12',
"Abstracted State:\nID [7] Napkin being stretched\nID [4] Right hand with glove\nID [6] Left hand with glove\nID [1] Toilet\nID [2] Toilet lid\n\nTask Decomposition & Subgoals:\nSummary: The user in this video is preparing to clean by stretching a napkin while wearing gloves.\nPlan:\nThe video sequence provided shows the individual stretching a napkin (ID 7) with both hands (IDs 4 & 6). The individual is likely preparing to clean a surface, possibly the toilet (ID 1) or the lid (ID 2), as indicated by the future actions.\n\nAbstraction Comments:\n1. The user is wearing gloves, which suggests that they are preparing for a cleaning task where they might come into contact with chemicals or dirt.\n2. The napkin is the focus of the current action, indicating it will be used shortly for wiping or cleaning.\n3. The proximity of the toilet suggests that it might be the object to be cleaned.\n4. The presence of a lid and the future action of opening it suggest that the user will clean inside the toilet as well.\n5. The sequence of actions involving the napkin, from stretching to wiping to disposing, indicates a complete cleaning cycle for a single-use item.\n\nPredicted State Change:\nThe napkin goes from being folded to stretched out. After the video, the napkin will be used to wipe a surface and then disposed of. The lid of the toilet will be opened and closed. The user's hands will likely change from being gloved to ungloved. Cleaning supplies such as a brush and detergent may be taken from and returned to their storage places.\n\nOptimized Actions:\n1. wipe lid_(cap,_cover,_lid)\n2. open lid_(cap,_cover,_lid)\n3. throw_(toss,_dump,_dispose) napkin_(handkerchief,_napkin,_serviette,_tissue,_wipe)\n4. take_(pick,_grab,_get) napkin_(handkerchief,_napkin,_serviette,_tissue,_wipe)\n5. open lid_(cap,_cover,_lid)\n6. put_(place,_leave,_drop) napkin_(handkerchief,_napkin,_serviette,_tissue,_wipe)\n7. take_(pick,_grab,_get) brush\n8. clean_(sweep,_scrub,_mop,_dust) toilet\n9. put_(place,_leave,_drop) brush\n10. hold_(support,_grip,_grasp) handle\n11. turn_on_(switch_on,_start,_light) switch_(knob,_switch)\n12. remove glove\n13. put_(place,_leave,_drop) glove\n14. take_(pick,_grab,_get) plate_(dish,_plate,_platter,_saucer)\n15. take_(pick,_grab,_get) detergent\n16. put_(place,_leave,_drop) detergent\n17. put_(place,_leave,_drop) detergent\n18. turn_on_(switch_on,_start,_light) faucet_(faucet,_tap)\n19. open drawer\n20. close drawer",
['red', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
case 'Tab13':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab13',
"Abstracted State:\nID [1] Sponge being used for washing\nID [2, 3] User's hands dipping the sponge\nID [5] Bucket containing soapy water\nID [4] Hose likely used for rinsing\n\nTask Decomposition & Subgoals:\nSummary: The user in this video is preparing to wash a car by dipping a sponge into soapy water.\nPlan:\nThe video sequence provided shows the individual dipping a sponge (ID 1) into a bucket of soapy water (ID 5) using their hands (IDs 2 & 3). This action is typically followed by washing a car, which involves scrubbing the car's surface with the sponge, rinsing with water, and possibly adjusting the spray settings for optimal cleaning.\n\nAbstraction Comments:\n1. The presence of a sponge and soapy water indicates the task of cleaning, most likely a car given the context.\n2. The user's hands are actively involved in the task, suggesting that the actions will be manual and involve manipulation of cleaning tools.\n3. The hose in the periphery suggests that there will be a rinsing step following the scrubbing with the sponge.\n4. Adjusting the spray settings on the hose or nozzle is a common step in car washing to control the water flow for different cleaning stages.\n\nPredicted State Change:\nThe sponge goes from dry to wet as it is dipped into the soapy water. After the video, the car will go from dirty to clean as it is washed. The sponge will be squeezed, releasing soapy water, and then reapplied to the car's surface. The hose may be turned on and off, changing from a resting state to an active state as water is sprayed.\n\nOptimized Actions:\n1. squeeze sponge_(scrubber,_sponge)\n2. wash car_(car,_vehicle)\n3. wash car_(car,_vehicle)\n4. wash car_(car,_vehicle)\n5. put_(place,_leave,_drop) sponge_(scrubber,_sponge)\n6. take_(pick,_grab,_get) spray_(spray,_sprayer)\n7. spray water\n8. touch water\n9. adjust_(regulate,_increase/reduce,_change) spray_(spray,_sprayer)\n10. spray spray_(spray,_sprayer)\n11. spray car_(car,_vehicle)\n12. spray car_(car,_vehicle)\n13. put_(place,_leave,_drop) spray_(spray,_sprayer)\n14. turn_(spin,_rotate,_flip,_turn_over) faucet_(faucet,_tap)\n15. turn_(spin,_rotate,_flip,_turn_over) switch_(knob,_switch)\n16. turn_(spin,_rotate,_flip,_turn_over) faucet_(faucet,_tap)\n17. turn_(spin,_rotate,_flip,_turn_over) faucet_(faucet,_tap)\n18. turn_(spin,_rotate,_flip,_turn_over) faucet_(faucet,_tap)\n19. take_(pick,_grab,_get) spray_(spray,_sprayer)\n20. hold_(support,_grip,_grasp) spray_(spray,_sprayer)",
['red', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
case 'Tab14':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab14',
"Abstracted State:\nID [7] Trowel being used to apply cement\nID [22] Right hand of user applying cement\nID [4] Left hand of user supporting trowel\nID [1] Surface where cement is being applied\nID [2] Cement mixture\n\nTask Decomposition & Subgoals:\nSummary: The user in this video is applying cement to a surface with a trowel.\nPlan:\nThe video sequence provided shows the individual applying cement (ID 2) to a surface (ID 1) using a trowel (ID 7) with their right hand (ID 22) and left hand (ID 4) supporting. The individual is likely to continue applying cement, smoothing it out, and possibly using a lever to ensure even application.\n\nAbstraction Comments:\n1. The trowel is the main tool being used, indicating its importance in the task of applying cement.\n2. The user's hands are actively engaged in the task, suggesting that actions involving hand tools are central to the process.\n3. The presence of the cement mixture indicates that the task is ongoing and more cement will be applied.\n4. The surface being worked on is likely to change in appearance as more cement is applied and smoothed out.\n5. The user may need to clean the trowel or other tools used in the process, indicating a possible cleaning action in the future.\n\nPredicted State Change:\nThe surface will go from being uneven with cement to smooth as the user applies and smooths the cement. The trowel will be used, put down, and picked up multiple times during the process. The cement mixture will decrease in volume as it is applied to the surface.\n\nOptimized Actions:\n1. throw_(toss,_dump,_dispose) trowel\n2. apply_(spread,_smear) cement_(cement,_concrete,_mortar)\n3. move_(transfer,_pass,_exchange) lever\n4. smooth cement_(cement,_concrete,_mortar)\n5. operate_(use,_dial,_click-button) cement_(cement,_concrete,_mortar)\n6. smooth cement_(cement,_concrete,_mortar)\n7. operate_(use,_dial,_click-button) cement_(cement,_concrete,_mortar)\n8. put_(place,_leave,_drop) lever\n9. take_(pick,_grab,_get) trowel\n10. throw_(toss,_dump,_dispose) cement_(cement,_concrete,_mortar)\n11. scrape cement_(cement,_concrete,_mortar)\n12. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)\n13. put_(place,_leave,_drop) cement_(cement,_concrete,_mortar)\n14. clean_(sweep,_scrub,_mop,_dust) cement_(cement,_concrete,_mortar)\n15. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)\n16. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)\n17. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)\n18. put_(place,_leave,_drop) cement_(cement,_concrete,_mortar)\n19. smooth cement_(cement,_concrete,_mortar)\n20. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)",
['red', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
case 'Tab15':
// document.getElementById('textBlockTab3').innerHTML = displayFormattedText("More instructions for Tab 3\nAdditional details...");
typeWriter(
'containerTab15',
"Abstracted State:\nID [13] Scissors used for cutting\nID [22] Mask being manipulated\nID [2] Sewing machine likely to be used in the task\nID [3] Right hand of user\nID [5] Left hand of user\nID [25] String being cut\n\nTask Decomposition & Subgoals:\nSummary: The user in this video is working on a sewing project, specifically cutting a string and manipulating a mask.\nPlan:\nThe user is seen cutting a string (ID 25) with scissors (ID 13) and manipulating a mask (ID 22). The user's actions suggest they are in the process of sewing or preparing to sew, as indicated by the presence of a sewing machine (ID 2).\n\nAbstraction Comments:\n1. The presence of scissors and string in the user's hands suggests cutting actions will be performed.\n2. The mask is the focus of the user's activity, indicating it will undergo various manipulations such as folding and cutting.\n3. The sewing machine's proximity and the user's actions imply it will be used for sewing parts of the mask.\n4. The sequence of actions involving the mask and string suggests a process of assembling or finishing a sewing project.\n5. The user's hands are actively engaged with the materials, indicating a hands-on task requiring dexterity and precision.\n\nPredicted State Change:\nThe string will change from being attached to being cut and separated. The mask will be folded, turned over, and possibly sewn, altering its flat state to a more three-dimensional form. The scissors will be picked up, used, and then set down multiple times.\n\nOptimized Actions:\n1. pull string_(bobbin,_knot,_lace,_ribbon,_spool,_strand,_string,_thread,_twine,_wool,_yarn)\n2. take_(pick,_grab,_get) scissors\n3. cut_(trim,_slice,_chop) mask\n4. take_(pick,_grab,_get) mask\n5. cut_(trim,_slice,_chop) mask\n6. put_(place,_leave,_drop) scissors\n7. fold mask\n8. put_(place,_leave,_drop) mask\n9. put_(place,_leave,_drop) mask\n10. take_(pick,_grab,_get) mask\n11. fold mask\n12. turn_(spin,_rotate,_flip,_turn_over) facemask\n13. pull string_(bobbin,_knot,_lace,_ribbon,_spool,_strand,_string,_thread,_twine,_wool,_yarn)\n14. put_(place,_leave,_drop) string_(bobbin,_knot,_lace,_ribbon,_spool,_strand,_string,_thread,_twine,_wool,_yarn)\n15. take_(pick,_grab,_get) facemask\n16. put_(place,_leave,_drop) facemask\n17. put_(place,_leave,_drop) facemask\n18. fold facemask\n19. move_(transfer,_pass,_exchange) facemask\n20. touch sewing_machine",
['red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'purple', 'black', 'black', 'black', 'black', 'blue', 'black', 'black', 'black', 'black', 'black', 'black', 'green', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
typingSpeed
);
break;
}
}
function displayFormattedText(containerId, text, colors) {
const container = document.getElementById(containerId);
container.innerHTML = ''; // Clear the previous content
const lines = text.split('\n');
lines.forEach((line, index) => {
const span = document.createElement('span');
span.style.color = colors[index % colors.length]; // Cycle through colors if not enough
// Check if the current color is black, and adjust the font size accordingly
if (span.style.color === 'black' || span.style.color === '#000' || span.style.color === '#000000') {
span.style.fontSize = '12px'; // Change '24px' to the desired font size for black text
}
// Escape HTML-like content to prevent it from being interpreted as HTML tags
line = line.replace(/</g, '&lt;').replace(/>/g, '&gt;');
span.innerHTML = line + '<br>'; // Add line break after each line
container.appendChild(span);
});
}
// Example usage:
document.addEventListener("DOMContentLoaded", function () {
displayFormattedText(
'textBlockTab1',
"Instruction:\n<Driver> task? <Commander> Hello. First we need to cut bread. <Commander> Next we need to toast a slice. <Driver> next. <Commander> All done. \n\nFull State:\n'DishSponge_0': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Microwave']}\n'Pan_1': {'label': 'Pan', 'holding': False, 'dirty': True, 'supported_by': ['StoveBurner']}\n'Potato_2': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['CounterTop', 'Plate']}\n'PepperShaker_3': {'label': 'PepperShaker', 'holding': False, 'supported_by': ['Pot', 'DiningTable']}\n'SaltShaker_4': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Floor', 'GarbageCan']}\n'Lettuce_5': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Cabinet']}\n'Egg_6': {'label': 'Egg', 'holding': False, 'supported_by': ['CounterTop']}\n'PaperTowelRoll_7': {'label': 'PaperTowelRoll', 'holding': False, 'supported_by': ['Sink']}\n'Spatula_8': {'label': 'Spatula', 'holding': False, 'dirty': False, 'supported_by': ['Drawer']}\n'Plate_9': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['Floor', 'GarbageCan']}\n'SoapBottle_10': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['Sink']}\n'Tomato_11': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Sink']}\n'Cup_12': {'label': 'Cup', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Cabinet']}\n'Kettle_13': {'label': 'Kettle', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Bowl_14': {'label': 'Bowl', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['DiningTable']}\n'Fork_15': {'label': 'Fork', 'holding': False, 'dirty': False, 'supported_by': ['Fridge']}\n'Knife_16': {'label': 'Knife', 'holding': False, 'supported_by': ['Cabinet']}\n'Bread_17': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['DiningTable']}\n'Potato_18': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': True, 'supported_by': ['Microwave']}\n'DishSponge_19': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['DiningTable']}\n'Plate_20': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'SoapBottle_21': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['CounterTop']}\n'PepperShaker_22': {'label': 'PepperShaker', 'holding': False, 'supported_by': ['Cabinet', 'Pan']}\n'DishSponge_23': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'Potato_24': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['CounterTop']}\n'Lettuce_25': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Fridge']}\n'SoapBottle_26': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['CounterTop']}\n'Tomato_27': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Cabinet']}\n'Bowl_28': {'label': 'Bowl', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['CounterTop']}\n'Knife_29': {'label': 'Knife', 'holding': False, 'supported_by': ['DiningTable']}\n'Potato_30': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Cabinet']}\n'DishSponge_31': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Spatula_32': {'label': 'Spatula', 'holding': False, 'dirty': False, 'supported_by': ['Drawer']}\n'Egg_33': {'label': 'Egg', 'holding': False, 'supported_by': ['Microwave']}\n'Cup_34': {'label': 'Cup', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'SoapBottle_35': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['DiningTable']}\n'Tomato_36': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['CounterTop']}\n'Lettuce_37': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Fridge']}\n'Cabinet_38': {'label': 'Cabinet', 'open': False}\n'StoveBurner_39': {'label': 'StoveBurner'}\n'Drawer_40': {'label': 'Drawer', 'open': False}\n'Cabinet_41': {'label': 'Cabinet', 'open': False}\n'CounterTop_42': {'label': 'CounterTop'}\n'CounterTop_43': {'label': 'CounterTop'}\n'Drawer_44': {'label': 'Drawer', 'open': False}\n'StoveBurner_45': {'label': 'StoveBurner'}\n'Drawer_46': {'label': 'Drawer', 'open': False}\n'Drawer_47': {'label': 'Drawer', 'open': False}\n'StoveBurner_48': {'label': 'StoveBurner'}\n'Drawer_49': {'label': 'Drawer', 'open': False}\n'Cabinet_50': {'label': 'Cabinet', 'open': False}\n'Cabinet_51': {'label': 'Cabinet', 'open': False}\n'Cabinet_52': {'label': 'Cabinet', 'open': False}\n'Cabinet_53': {'label': 'Cabinet', 'open': False}\n'Cabinet_54': {'label': 'Cabinet', 'open': False}\n'StoveBurner_55': {'label': 'StoveBurner'}\n'Drawer_56': {'label': 'Drawer', 'open': False}\n'Cabinet_57': {'label': 'Cabinet', 'open': False}\n'CounterTop_58': {'label': 'CounterTop'}\n'Cabinet_59': {'label': 'Cabinet', 'open': False}\n'Cabinet_60': {'label': 'Cabinet', 'open': False}\n'Bread_61': {'label': 'Bread', 'holding': False, 'sliced': True, 'cooked': False, 'supported_by': ['CounterTop']}\n'Knife_62': {'label': 'Knife', 'holding': False, 'supported_by': ['Fridge']}\n'Toaster_63': {'label': 'Toaster', 'toggled': False}\n'Fork_64': {'label': 'Fork', 'holding': False, 'dirty': False, 'supported_by': ['Stool']}\n'Bowl_65': {'label': 'Bowl', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['CounterTop']}\n'Kettle_66': {'label': 'Kettle', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Cup_67': {'label': 'Cup', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['DiningTable']}\n'Tomato_68': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Cabinet']}\n'SoapBottle_69': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['CounterTop']}\n'Plate_70': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'LightSwitch_71': {'label': 'LightSwitch'}\n'Pot_72': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['DiningTable']}\n'Window_73': {'label': 'Window'}\n'Window_74': {'label': 'Window'}\n'Spatula_75': {'label': 'Spatula', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'PaperTowelRoll_76': {'label': 'PaperTowelRoll', 'holding': False, 'supported_by': ['CounterTop']}\n'Microwave_77': {'label': 'Microwave', 'toggled': True, 'open': False}\n'Egg_78': {'label': 'Egg', 'holding': False, 'supported_by': ['Sink']}\n'Lettuce_79': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Cabinet']}\n'SinkBasin_80': {'label': 'SinkBasin'}\n'SaltShaker_81': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Sink']}\n'CoffeeMachine_82': {'label': 'CoffeeMachine', 'toggled': False}\n'PepperShaker_83': {'label': 'PepperShaker', 'holding': False, 'supported_by': ['DiningTable']}\n'Apple_84': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['Sink']}\n'Knife_85': {'label': 'Knife', 'holding': True, 'supported_by': ['CounterTop']}\n'StoveKnob_86': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_87': {'label': 'StoveKnob', 'toggled': False}\n'StoveKnob_88': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_89': {'label': 'StoveKnob', 'toggled': False}\n'Potato_90': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Fridge']}\n'Pan_91': {'label': 'Pan', 'holding': False, 'dirty': True, 'supported_by': ['Cabinet']}\n'GarbageCan_92': {'label': 'GarbageCan'}\n'DishSponge_93': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Spoon_94': {'label': 'Spoon', 'holding': False, 'dirty': False, 'supported_by': ['DiningTable']}\n'Fridge_95': {'label': 'Fridge', 'open': False}\n'Mug_96': {'label': 'Mug', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Cabinet']}\n'Faucet_97': {'label': 'Faucet', 'toggled': False}\n'Stool_98': {'label': 'Stool'}\n'DiningTable_99': {'label': 'DiningTable'}\n'BreadSliced_100': {'label': 'BreadSliced', 'holding': False, 'cooked': False, 'supported_by': ['CounterTop']}\n\nRaw Actions:\ntarget_knife = InteractionObject('Knife', object_instance = 'Knife')\ntarget_knife.go_to()\ntarget_knife.pickup()\ntarget_tvstand = InteractionObject('TVStand', object_instance = 'TVStand')\ntarget_tvstand.go_to()\ntarget_tvstand.slice()\ntarget_countertop = InteractionObject('CounterTop', object_instance = 'CounterTop')\ntarget_countertop.go_to()\ntarget_knife.place(target_countertop)\ntarget_potatosliced = InteractionObject('PotatoSliced', object_instance = 'PotatoSliced')\ntarget_potatosliced.pickup_and_place(target_countertop)\ntarget_breadsliced = InteractionObject('BreadSliced', object_instance = 'BreadSliced')\ntarget_breadsliced.pickup()\ntarget_countertop.go_to()\ntarget_breadsliced.place(target_countertop)\ntarget_cabinet = InteractionObject('Cabinet', object_instance = 'Cabinet')\ntarget_cabinet.go_to()\ntarget_cabinet.toggle_off()\ntarget_breadsliced.pickup_and_place(target_countertop)",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black']
);
displayFormattedText(
'textBlockTab2',
"Instruction:\n<Driver> hello how can I help? <Commander> Please make coffee. <Driver> sure, where can I find some cups please? <Commander> you can find a mug close to the coffee machine. <Driver> I can't turn on the coffee machine. <Commander> that was everything, thanks. \n\nFull State:\n'Bowl_0': {'label': 'Bowl', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Cabinet']}\n'Mug_1': {'label': 'Mug', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Floor', 'GarbageCan']}\n'Bread_2': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['CounterTop']}\n'DishSponge_3': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop', 'Microwave']}\n'Lettuce_4': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Fridge']}\n'Knife_5': {'label': 'Knife', 'holding': False, 'supported_by': ['CounterTop']}\n'Egg_6': {'label': 'Egg', 'holding': False, 'supported_by': ['Floor', 'GarbageCan']}\n'Knife_7': {'label': 'Knife', 'holding': False, 'supported_by': ['Fridge']}\n'Potato_8': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Fridge']}\n'Apple_9': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['CounterTop', 'Microwave']}\n'Bowl_10': {'label': 'Bowl', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['Fridge']}\n'Egg_11': {'label': 'Egg', 'holding': False, 'supported_by': ['Drawer']}\n'Potato_12': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Cabinet']}\n'Cabinet_13': {'label': 'Cabinet', 'open': False}\n'StoveBurner_14': {'label': 'StoveBurner'}\n'Drawer_15': {'label': 'Drawer', 'open': False}\n'StoveBurner_16': {'label': 'StoveBurner'}\n'StoveBurner_17': {'label': 'StoveBurner'}\n'CounterTop_18': {'label': 'CounterTop'}\n'StoveBurner_19': {'label': 'StoveBurner'}\n'Drawer_20': {'label': 'Drawer', 'open': False}\n'Drawer_21': {'label': 'Drawer', 'open': False}\n'Drawer_22': {'label': 'Drawer', 'open': False}\n'Drawer_23': {'label': 'Drawer', 'open': False}\n'Cabinet_24': {'label': 'Cabinet', 'open': False}\n'Cabinet_25': {'label': 'Cabinet', 'open': False}\n'Cabinet_26': {'label': 'Cabinet', 'open': False}\n'Cabinet_27': {'label': 'Cabinet', 'open': False}\n'Cabinet_28': {'label': 'Cabinet', 'open': False}\n'Cabinet_29': {'label': 'Cabinet', 'open': False}\n'Cabinet_30': {'label': 'Cabinet', 'open': False}\n'Cabinet_31': {'label': 'Cabinet', 'open': False}\n'Cabinet_32': {'label': 'Cabinet', 'open': False}\n'Cabinet_33': {'label': 'Cabinet', 'open': False}\n'Cabinet_34': {'label': 'Cabinet', 'open': False}\n'Cabinet_35': {'label': 'Cabinet', 'open': False}\n'Apple_36': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['Fridge']}\n'Fridge_37': {'label': 'Fridge', 'open': False}\n'Microwave_38': {'label': 'Microwave', 'toggled': True, 'open': False}\n'GarbageCan_39': {'label': 'GarbageCan'}\n'StoveKnob_40': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_41': {'label': 'StoveKnob', 'toggled': False}\n'StoveKnob_42': {'label': 'StoveKnob', 'toggled': False}\n'StoveKnob_43': {'label': 'StoveKnob', 'toggled': False}\n'Fork_44': {'label': 'Fork', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Ladle_45': {'label': 'Ladle', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'Pan_46': {'label': 'Pan', 'holding': False, 'dirty': False, 'supported_by': ['Fridge']}\n'SoapBottle_47': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['Fridge']}\n'Pot_48': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['StoveBurner']}\n'Tomato_49': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Fridge', 'Pan']}\n'Potato_50': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Floor', 'GarbageCan']}\n'SaltShaker_51': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['CounterTop']}\n'Plate_52': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Window_53': {'label': 'Window'}\n'Toaster_54': {'label': 'Toaster', 'toggled': False}\n'Spatula_55': {'label': 'Spatula', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Knife_56': {'label': 'Knife', 'holding': False, 'supported_by': ['Fridge']}\n'Egg_57': {'label': 'Egg', 'holding': False, 'supported_by': ['Drawer']}\n'Cup_58': {'label': 'Cup', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'SinkBasin_59': {'label': 'SinkBasin'}\n'Knife_60': {'label': 'Knife', 'holding': False, 'supported_by': ['CounterTop']}\n'CoffeeMachine_61': {'label': 'CoffeeMachine', 'toggled': True}\n'Lettuce_62': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Cabinet']}\n'PepperShaker_63': {'label': 'PepperShaker', 'holding': False, 'supported_by': ['Fridge']}\n'LightSwitch_64': {'label': 'LightSwitch'}\n'DishSponge_65': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Bread_66': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Cabinet']}\n'Spoon_67': {'label': 'Spoon', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Mug_68': {'label': 'Mug', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Faucet_69': {'label': 'Faucet', 'toggled': True}\n'Bowl_70': {'label': 'Bowl', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Fridge']}\n'Stool_71': {'label': 'Stool'}\n\nRaw Actions:\ntarget_faucet = InteractionObject('Faucet', object_instance = 'Faucet')\ntarget_faucet.go_to()\ntarget_faucet.toggle_off()\ntarget_mug = InteractionObject('Mug', object_instance = 'Mug')\ntarget_coffeemachine = InteractionObject('CoffeeMachine', object_instance = 'CoffeeMachine')\ntarget_mug.pickup_and_place(target_coffeemachine)\ntarget_mug.pickup()\ntarget_sinkbasin = InteractionObject('SinkBasin', object_instance = 'SinkBasin')\ntarget_sinkbasin.go_to()\ntarget_mug.place(target_sinkbasin)\ntarget_faucet.go_to()\ntarget_faucet.toggle_on()",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black']
);
displayFormattedText(
'textBlockTab3',
"Instruction:\n<Driver> hi, task? <Commander> make sandwich. <Commander> make 2 slices of toast. <Commander> slice tomato and put on a clean plate. <Driver> next. <Driver> next. <Commander> nice job. thanks you. <Driver> 2 bread and 1 tomato. \n\nFull State:\n'DishSponge_0': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Microwave']}\n'Pan_1': {'label': 'Pan', 'holding': False, 'dirty': False, 'supported_by': ['Shelf']}\n'Plate_2': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['Shelf']}\n'WineBottle_3': {'label': 'WineBottle', 'holding': False, 'filled': True, 'fillLiquid': None, 'supported_by': ['DiningTable']}\n'Bread_4': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Floor', 'Shelf']}\n'Fork_5': {'label': 'Fork', 'holding': False, 'dirty': False, 'supported_by': ['DiningTable']}\n'SoapBottle_6': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['CounterTop']}\n'Potato_7': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['DiningTable']}\n'Apple_8': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['CounterTop']}\n'Bread_9': {'label': 'Bread', 'holding': False, 'sliced': True, 'cooked': False, 'supported_by': ['DiningTable']}\n'SoapBottle_10': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['Stool']}\n'WineBottle_11': {'label': 'WineBottle', 'holding': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['Cabinet']}\n'Potato_12': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Fridge']}\n'Pan_13': {'label': 'Pan', 'holding': False, 'dirty': False, 'supported_by': ['Floor', 'Shelf']}\n'StoveBurner_14': {'label': 'StoveBurner'}\n'StoveBurner_15': {'label': 'StoveBurner'}\n'Cabinet_16': {'label': 'Cabinet', 'open': False}\n'Cabinet_17': {'label': 'Cabinet', 'open': False}\n'Cabinet_18': {'label': 'Cabinet', 'open': False}\n'Cabinet_19': {'label': 'Cabinet', 'open': False}\n'Cabinet_20': {'label': 'Cabinet', 'open': False}\n'Cabinet_21': {'label': 'Cabinet', 'open': False}\n'Cabinet_22': {'label': 'Cabinet', 'open': False}\n'Cabinet_23': {'label': 'Cabinet', 'open': False}\n'Cabinet_24': {'label': 'Cabinet', 'open': False}\n'Cabinet_25': {'label': 'Cabinet', 'open': False}\n'Cabinet_26': {'label': 'Cabinet', 'open': False}\n'Cabinet_27': {'label': 'Cabinet', 'open': False}\n'Cabinet_28': {'label': 'Cabinet', 'open': False}\n'StoveBurner_29': {'label': 'StoveBurner'}\n'StoveBurner_30': {'label': 'StoveBurner'}\n'Drawer_31': {'label': 'Drawer', 'open': False}\n'CounterTop_32': {'label': 'CounterTop'}\n'Apple_33': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['Floor', 'GarbageCan']}\n'GarbageCan_34': {'label': 'GarbageCan'}\n'Potato_35': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Floor', 'GarbageCan']}\n'Vase_36': {'label': 'Vase', 'holding': False, 'supported_by': ['DiningTable']}\n'Bowl_37': {'label': 'Bowl', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['Shelf']}\n'SoapBottle_38': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['CounterTop']}\n'Toaster_39': {'label': 'Toaster', 'toggled': False}\n'Fork_40': {'label': 'Fork', 'holding': False, 'dirty': False, 'supported_by': ['Stool']}\n'LightSwitch_41': {'label': 'LightSwitch'}\n'Ladle_42': {'label': 'Ladle', 'holding': False, 'dirty': False, 'supported_by': ['Stool']}\n'Vase_43': {'label': 'Vase', 'holding': False, 'supported_by': ['Shelf']}\n'Microwave_44': {'label': 'Microwave', 'toggled': True, 'open': False}\n'Bread_45': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Shelf']}\n'Vase_46': {'label': 'Vase', 'holding': False, 'supported_by': ['Shelf']}\n'Fridge_47': {'label': 'Fridge', 'open': False}\n'Lettuce_48': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Fridge']}\n'Window_49': {'label': 'Window'}\n'WineBottle_50': {'label': 'WineBottle', 'holding': False, 'filled': True, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Spatula_51': {'label': 'Spatula', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Plate_52': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['DiningTable']}\n'CoffeeMachine_53': {'label': 'CoffeeMachine', 'toggled': True}\n'Vase_54': {'label': 'Vase', 'holding': False, 'supported_by': ['Floor', 'Shelf']}\n'SinkBasin_55': {'label': 'SinkBasin'}\n'SaltShaker_56': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Fridge']}\n'Pot_57': {'label': 'Pot', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['StoveBurner']}\n'Cup_58': {'label': 'Cup', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['DiningTable']}\n'PepperShaker_59': {'label': 'PepperShaker', 'holding': False, 'supported_by': ['Cabinet']}\n'Pan_60': {'label': 'Pan', 'holding': False, 'dirty': True, 'supported_by': ['Floor', 'Shelf']}\n'Knife_61': {'label': 'Knife', 'holding': True, 'supported_by': ['CounterTop']}\n'StoveKnob_62': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_63': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_64': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_65': {'label': 'StoveKnob', 'toggled': False}\n'Tomato_66': {'label': 'Tomato', 'holding': False, 'sliced': True, 'cooked': False, 'supported_by': ['Stool']}\n'DishSponge_67': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Sink']}\n'Egg_68': {'label': 'Egg', 'holding': False, 'supported_by': ['Fridge']}\n'Spoon_69': {'label': 'Spoon', 'holding': False, 'dirty': False, 'supported_by': ['Microwave']}\n'Knife_70': {'label': 'Knife', 'holding': False, 'supported_by': ['Cabinet']}\n'Mug_71': {'label': 'Mug', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Microwave']}\n'DiningTable_72': {'label': 'DiningTable'}\n'Shelf_73': {'label': 'Shelf'}\n'Shelf_74': {'label': 'Shelf'}\n'Shelf_75': {'label': 'Shelf'}\n'Shelf_76': {'label': 'Shelf'}\n'ShelvingUnit_77': {'label': 'ShelvingUnit'}\n'Faucet_78': {'label': 'Faucet', 'toggled': False}\n'Stool_79': {'label': 'Stool'}\n'Shelf_80': {'label': 'Shelf'}\n'BreadSliced_81': {'label': 'BreadSliced', 'holding': False, 'cooked': True, 'supported_by': ['CounterTop']}\n'BreadSliced_82': {'label': 'BreadSliced', 'holding': False, 'cooked': True, 'supported_by': ['CounterTop']}\n'TomatoSliced_83': {'label': 'TomatoSliced', 'holding': False, 'cooked': False, 'supported_by': ['CounterTop']}\n\nRaw Actions:\ntarget_bread = InteractionObject('Bread', object_instance = 'Bread')\ntarget_sinkbasin = InteractionObject('SinkBasin', object_instance = 'SinkBasin')\ntarget_bread.pickup_and_place(target_sinkbasin)\ntarget_spatula = InteractionObject('Spatula', object_instance = 'Spatula')\ntarget_spatula.pickup()\ntarget_bread.go_to()\ntarget_bread.slice()\ntarget_countertop = InteractionObject('CounterTop', object_instance = 'CounterTop')\ntarget_countertop.go_to()\ntarget_spatula.place(target_countertop)\ntarget_breadsliced = InteractionObject('BreadSliced', object_instance = None, parent_object = 'Bread') # Initialize new sliced object from sliced parent\ntarget_toaster = InteractionObject('Toaster', object_instance = 'Toaster')\ntarget_breadsliced.pickup_and_place(target_toaster)\ntarget_breadsliced.pickup()\ntarget_watch = InteractionObject('Watch', object_instance = 'Watch')\ntarget_watch.go_to()\ntarget_breadsliced.place(target_watch)\ntarget_breadsliced.pickup_and_place(target_countertop)\ntarget_breadsliced.pickup()\ntarget_countertop.go_to()\ntarget_breadsliced.place(target_countertop)\ntarget_plate = InteractionObject('Plate', object_instance = 'Plate')\ntarget_breadsliced.pickup_and_place(target_plate)\ntarget_plate.pickup()\ntarget_diningtable = InteractionObject('DiningTable', object_instance = 'DiningTable')\ntarget_diningtable.go_to()\ntarget_plate.place(target_diningtable)\ntarget_breadsliced.pickup_and_place(target_plate)\ntarget_breadsliced.place(target_plate)\ntarget_tomato = InteractionObject('Tomato', object_instance = 'Tomato')\ntarget_tomato.pickup_and_place(target_plate)\ntarget_knife = InteractionObject('Knife', object_instance = 'Knife')\ntarget_knife.pickup()\ntarget_tomatosliced = InteractionObject('TomatoSliced', object_instance = 'TomatoSliced')\ntarget_tomatosliced.pickup_and_place(target_plate)",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black']
);
displayFormattedText(
'textBlockTab4',
"Instruction:\n<Driver> hi how can i help. <Commander> please boil a potato. <Driver> done. <Commander> thank you that's all. \n\nFull State:\n'Mug_0': {'label': 'Mug', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Floor', 'Drawer']}\n'Apple_1': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['SideTable']}\n'Spoon_2': {'label': 'Spoon', 'holding': False, 'dirty': False, 'supported_by': ['Floor', 'GarbageCan']}\n'DishSponge_3': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'PepperShaker_4': {'label': 'PepperShaker', 'holding': False, 'supported_by': ['SideTable']}\n'Knife_5': {'label': 'Knife', 'holding': False, 'supported_by': ['SideTable']}\n'PaperTowelRoll_6': {'label': 'PaperTowelRoll', 'holding': False, 'supported_by': ['Cabinet', 'Pot']}\n'Spatula_7': {'label': 'Spatula', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Lettuce_8': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['CounterTop']}\n'WineBottle_9': {'label': 'WineBottle', 'holding': False, 'filled': True, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'SaltShaker_10': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Cabinet', 'Plate']}\n'Kettle_11': {'label': 'Kettle', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['SideTable']}\n'Cup_12': {'label': 'Cup', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Drawer']}\n'Fork_13': {'label': 'Fork', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Bowl_14': {'label': 'Bowl', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['Cabinet']}\n'Knife_15': {'label': 'Knife', 'holding': False, 'supported_by': ['Stool']}\n'Pot_16': {'label': 'Pot', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['StoveBurner']}\n'Bread_17': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['CounterTop']}\n'PaperTowelRoll_18': {'label': 'PaperTowelRoll', 'holding': False, 'supported_by': ['Floor', 'GarbageCan']}\n'Pot_19': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['StoveBurner']}\n'Cup_20': {'label': 'Cup', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['SideTable']}\n'Lettuce_21': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Cabinet']}\n'Apple_22': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['Cabinet']}\n'Mug_23': {'label': 'Mug', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Cabinet']}\n'DishSponge_24': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Sink']}\n'Knife_25': {'label': 'Knife', 'holding': False, 'supported_by': ['Sink']}\n'PaperTowelRoll_26': {'label': 'PaperTowelRoll', 'holding': False, 'supported_by': ['Cabinet']}\n'Lettuce_27': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Cabinet']}\n'WineBottle_28': {'label': 'WineBottle', 'holding': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['Cabinet']}\n'Cup_29': {'label': 'Cup', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['Stool']}\n'Bowl_30': {'label': 'Bowl', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['SideTable']}\n'Pot_31': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['StoveBurner']}\n'Knife_32': {'label': 'Knife', 'holding': False, 'supported_by': ['Floor', 'Drawer']}\n'DishSponge_33': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Fridge']}\n'WineBottle_34': {'label': 'WineBottle', 'holding': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['Cabinet']}\n'Bowl_35': {'label': 'Bowl', 'holding': False, 'dirty': False, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['CounterTop']}\n'SaltShaker_36': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['CounterTop']}\n'StoveBurner_37': {'label': 'StoveBurner'}\n'Cabinet_38': {'label': 'Cabinet', 'open': False}\n'StoveBurner_39': {'label': 'StoveBurner'}\n'Cabinet_40': {'label': 'Cabinet', 'open': False}\n'Cabinet_41': {'label': 'Cabinet', 'open': False}\n'CounterTop_42': {'label': 'CounterTop'}\n'Cabinet_43': {'label': 'Cabinet', 'open': False}\n'Faucet_44': {'label': 'Faucet', 'toggled': False}\n'StoveBurner_45': {'label': 'StoveBurner'}\n'Drawer_46': {'label': 'Drawer', 'open': False}\n'Window_47': {'label': 'Window'}\n'Drawer_48': {'label': 'Drawer', 'open': False}\n'StoveBurner_49': {'label': 'StoveBurner'}\n'Bread_50': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Cabinet']}\n'Pot_51': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Cabinet']}\n'Knife_52': {'label': 'Knife', 'holding': False, 'supported_by': ['CounterTop']}\n'Bowl_53': {'label': 'Bowl', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Potato_54': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Fridge']}\n'SoapBottle_55': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['Cabinet', 'Plate']}\n'StoveKnob_56': {'label': 'StoveKnob', 'toggled': False}\n'StoveKnob_57': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_58': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_59': {'label': 'StoveKnob', 'toggled': False}\n'Fork_60': {'label': 'Fork', 'holding': False, 'dirty': False, 'supported_by': ['Microwave']}\n'Fridge_61': {'label': 'Fridge', 'open': False}\n'Cup_62': {'label': 'Cup', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Kettle_63': {'label': 'Kettle', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['SideTable']}\n'Microwave_64': {'label': 'Microwave', 'toggled': True, 'open': False}\n'GarbageCan_65': {'label': 'GarbageCan'}\n'Egg_66': {'label': 'Egg', 'holding': False, 'supported_by': ['Fridge']}\n'LightSwitch_67': {'label': 'LightSwitch'}\n'Pan_68': {'label': 'Pan', 'holding': False, 'dirty': True, 'supported_by': ['CounterTop']}\n'SaltShaker_69': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Drawer']}\n'WineBottle_70': {'label': 'WineBottle', 'holding': False, 'filled': True, 'fillLiquid': None, 'supported_by': ['Cabinet']}\n'Lettuce_71': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['Sink']}\n'HousePlant_72': {'label': 'HousePlant', 'filled': True, 'fillLiquid': 'water'}\n'Spatula_73': {'label': 'Spatula', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'PaperTowelRoll_74': {'label': 'PaperTowelRoll', 'holding': False, 'supported_by': ['Stool']}\n'Tomato_75': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Floor', 'GarbageCan']}\n'SinkBasin_76': {'label': 'SinkBasin'}\n'Knife_77': {'label': 'Knife', 'holding': False, 'supported_by': ['Cabinet']}\n'Plate_78': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'PepperShaker_79': {'label': 'PepperShaker', 'holding': False, 'supported_by': ['CounterTop']}\n'Toaster_80': {'label': 'Toaster', 'toggled': False}\n'CoffeeMachine_81': {'label': 'CoffeeMachine', 'toggled': True}\n'DishSponge_82': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Floor', 'Drawer']}\n'Spoon_83': {'label': 'Spoon', 'holding': False, 'dirty': False, 'supported_by': ['SideTable']}\n'Apple_84': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['Fridge']}\n'Mug_85': {'label': 'Mug', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['CounterTop', 'CoffeeMachine']}\n'Drawer_86': {'label': 'Drawer', 'open': False}\n'Drawer_87': {'label': 'Drawer', 'open': False}\n'Drawer_88': {'label': 'Drawer', 'open': False}\n'SideTable_89': {'label': 'SideTable'}\n'Drawer_90': {'label': 'Drawer', 'open': False}\n'Drawer_91': {'label': 'Drawer', 'open': False}\n'Drawer_92': {'label': 'Drawer', 'open': False}\n'Stool_93': {'label': 'Stool'}\n\nRaw Actions:\ntarget_fridge = InteractionObject('Fridge', object_instance = 'Fridge')\ntarget_fridge.go_to()\ntarget_fridge.open()\ntarget_potato = InteractionObject('Potato', object_instance = 'Potato')\ntarget_pot = InteractionObject('Pot', object_instance = 'Pot')\ntarget_potato.pickup_and_place(target_pot)",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black']
);
displayFormattedText(
'textBlockTab5',
"Instruction:\n<Driver> hi how can i be of assistance. <Commander> please put all the dish sponges in the sink. <Commander> there is one on the chair. <Commander> and also one in the fridge. <Driver> are there any more. <Commander> did you get the one in the fridge? <Commander> that will do for today. \n\nFull State:\n'Mug_0': {'label': 'Mug', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Spoon_1': {'label': 'Spoon', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'Plate_2': {'label': 'Plate', 'holding': False, 'dirty': False, 'supported_by': ['DiningTable']}\n'DishSponge_3': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Knife_4': {'label': 'Knife', 'holding': False, 'supported_by': ['Drawer']}\n'Apple_5': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['Microwave']}\n'Tomato_6': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Fridge']}\n'Knife_7': {'label': 'Knife', 'holding': False, 'supported_by': ['Fridge']}\n'WineBottle_8': {'label': 'WineBottle', 'holding': False, 'filled': True, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Pan_9': {'label': 'Pan', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'Potato_10': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Drawer']}\n'SaltShaker_11': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Sink']}\n'Bread_12': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['CounterTop']}\n'Egg_13': {'label': 'Egg', 'holding': False, 'supported_by': ['StoveBurner', 'Pot']}\n'SaltShaker_14': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Pan', 'Cabinet']}\n'Tomato_15': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Chair']}\n'Egg_16': {'label': 'Egg', 'holding': False, 'supported_by': ['CounterTop']}\n'Spoon_17': {'label': 'Spoon', 'holding': False, 'dirty': False, 'supported_by': ['Fridge']}\n'Knife_18': {'label': 'Knife', 'holding': False, 'supported_by': ['CounterTop']}\n'DishSponge_19': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Fridge']}\n'WineBottle_20': {'label': 'WineBottle', 'holding': False, 'filled': True, 'fillLiquid': None, 'supported_by': ['Plate', 'DiningTable']}\n'Cabinet_21': {'label': 'Cabinet', 'open': False}\n'Cabinet_22': {'label': 'Cabinet', 'open': False}\n'StoveBurner_23': {'label': 'StoveBurner'}\n'Cabinet_24': {'label': 'Cabinet', 'open': False}\n'Cabinet_25': {'label': 'Cabinet', 'open': False}\n'Cabinet_26': {'label': 'Cabinet', 'open': False}\n'Drawer_27': {'label': 'Drawer', 'open': False}\n'CounterTop_28': {'label': 'CounterTop'}\n'Cabinet_29': {'label': 'Cabinet', 'open': False}\n'StoveBurner_30': {'label': 'StoveBurner'}\n'Cabinet_31': {'label': 'Cabinet', 'open': False}\n'StoveBurner_32': {'label': 'StoveBurner'}\n'Cabinet_33': {'label': 'Cabinet', 'open': False}\n'Cabinet_34': {'label': 'Cabinet', 'open': False}\n'Cabinet_35': {'label': 'Cabinet', 'open': False}\n'Cabinet_36': {'label': 'Cabinet', 'open': False}\n'Drawer_37': {'label': 'Drawer', 'open': False}\n'Cabinet_38': {'label': 'Cabinet', 'open': False}\n'CounterTop_39': {'label': 'CounterTop'}\n'Curtains_40': {'label': 'Curtains'}\n'StoveBurner_41': {'label': 'StoveBurner'}\n'Drawer_42': {'label': 'Drawer', 'open': False}\n'Egg_43': {'label': 'Egg', 'holding': False, 'supported_by': ['Plate', 'DiningTable']}\n'StoveKnob_44': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_45': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_46': {'label': 'StoveKnob', 'toggled': True}\n'StoveKnob_47': {'label': 'StoveKnob', 'toggled': False}\n'Toaster_48': {'label': 'Toaster', 'toggled': True}\n'Lettuce_49': {'label': 'Lettuce', 'holding': False, 'sliced': False, 'supported_by': ['CounterTop']}\n'Fork_50': {'label': 'Fork', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'SoapBottle_51': {'label': 'SoapBottle', 'holding': False, 'supported_by': ['CounterTop']}\n'Fridge_52': {'label': 'Fridge', 'open': False}\n'Ladle_53': {'label': 'Ladle', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Ladle_54': {'label': 'Ladle', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'GarbageCan_55': {'label': 'GarbageCan'}\n'Bread_56': {'label': 'Bread', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['Drawer']}\n'SaltShaker_57': {'label': 'SaltShaker', 'holding': False, 'supported_by': ['Pan', 'Cabinet']}\n'Potato_58': {'label': 'Potato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['DiningTable']}\n'Pan_59': {'label': 'Pan', 'holding': False, 'dirty': False, 'supported_by': ['StoveBurner', 'CounterTop']}\n'LightSwitch_60': {'label': 'LightSwitch'}\n'WineBottle_61': {'label': 'WineBottle', 'holding': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['CounterTop']}\n'Spatula_62': {'label': 'Spatula', 'holding': False, 'dirty': False, 'supported_by': ['CounterTop']}\n'Knife_63': {'label': 'Knife', 'holding': False, 'supported_by': ['Fridge']}\n'Tomato_64': {'label': 'Tomato', 'holding': False, 'sliced': False, 'cooked': False, 'supported_by': ['DiningTable']}\n'Apple_65': {'label': 'Apple', 'holding': False, 'sliced': False, 'dirty': False, 'cooked': False, 'supported_by': ['Microwave']}\n'SinkBasin_66': {'label': 'SinkBasin'}\n'Knife_67': {'label': 'Knife', 'holding': False, 'supported_by': ['Chair']}\n'Pot_68': {'label': 'Pot', 'holding': False, 'dirty': True, 'filled': False, 'fillLiquid': None, 'supported_by': ['StoveBurner']}\n'PepperShaker_69': {'label': 'PepperShaker', 'holding': False, 'supported_by': ['Chair']}\n'Microwave_70': {'label': 'Microwave', 'toggled': False, 'open': False}\n'Cup_71': {'label': 'Cup', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['DiningTable']}\n'DishSponge_72': {'label': 'DishSponge', 'holding': False, 'dirty': False, 'supported_by': ['Chair']}\n'Plate_73': {'label': 'Plate', 'holding': False, 'dirty': True, 'supported_by': ['Cabinet']}\n'Spoon_74': {'label': 'Spoon', 'holding': False, 'dirty': False, 'supported_by': ['Cabinet']}\n'CoffeeMachine_75': {'label': 'CoffeeMachine', 'toggled': True}\n'Mug_76': {'label': 'Mug', 'holding': False, 'dirty': True, 'filled': True, 'fillLiquid': 'water', 'supported_by': ['Sink']}\n'Bowl_77': {'label': 'Bowl', 'holding': False, 'dirty': False, 'filled': False, 'fillLiquid': None, 'supported_by': ['DiningTable']}\n'DiningTable_78': {'label': 'DiningTable'}\n'Faucet_79': {'label': 'Faucet', 'toggled': True}\n'Faucet_80': {'label': 'Faucet', 'toggled': False}\n'Chair_81': {'label': 'Chair'}\n\nRaw Actions:\ntarget_dishsponge = InteractionObject('DishSponge', object_instance = 'DishSponge')\ntarget_countertop = InteractionObject('CounterTop', object_instance = 'CounterTop')\ntarget_dishsponge.pickup_and_place(target_countertop)\ntarget_soapbar = InteractionObject('SoapBar', object_instance = 'SoapBar')\ntarget_soapbar.pickup()\ntarget_countertop.go_to()\ntarget_soapbar.place(target_countertop)\ntarget_fridge = InteractionObject('Fridge', object_instance = 'Fridge')\ntarget_fridge.go_to()\ntarget_fridge.open()\ntarget_dishsponge.pickup_and_place(target_countertop)",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black']
);
displayFormattedText(
'textBlockTab6',
"Instruction:\nNavigate to the cheapest listing in the 'Furniture category' with three blue chairs suitable for a workplace in the image.\n\nFull State:\n[1] [IMG] [Classifieds, description: a blue and black logo with the words ohm, url: /oc-content/uploads/sigma_logo.png]\n[2] [A] [My account]\n[3] [A] [Logout]\n[4] [A] [Publish Ad]\n[] [StaticText] [Classifieds]\n[5] [A] [Classifieds]\n[] [StaticText] [> Furniture]\n[] [StaticText] [Furniture]\n[] [StaticText] [Your search]\n[6] [INPUT] []\n[] [StaticText] [City]\n[7] [INPUT] []\n[] [StaticText] [Show only]\n[8] [INPUT] []\n[] [StaticText] [Price]\n[] [StaticText] [Min.]\n[9] [INPUT] []\n[] [StaticText] [Max.]\n[10] [INPUT] []\n[11] [BUTTON] [Apply]\n[] [StaticText] [Subscribe to this search]\n[12] [BUTTON] [Subscribe now!]\n[] [StaticText] [Refine category]\n[] [StaticText] [All categories]\n[13] [A] [All categories]\n[14] [A] [Furniture]\n[] [StaticText] [1 - 12 of 9467 listings]\n[15] [SPAN] [Sort by: Lower price first Newly listed Lower pric]\n[16] [A] []\n[17] [A] []\n[] [StaticText] [Listings]\n[] [StaticText] [Free Full Sleeper Sofa 1.00 $ Furniture Arlington (Virginia) 2023/11/04 Full Sleeper Sofa with ]\n[18] [IMG] [Free Full Sleeper Sofa, description: a red couch in a living room, url: /oc-content/uploads/3312/3312_thumbnail.png]\n[19] [A] [Free Full Sleeper Sofa]\n[] [StaticText] [1.00 $]\n[] [StaticText] [Arlington (Virginia)]\n[] [StaticText] [2023/11/04]\n[] [StaticText] [Full Sleeper Sofa with four pillows. Must be able to haul away from location. Needs to be picked up by Monday 11/6. Dimensions: 87W x 37D x 30H]\n[] [StaticText] [Nightstand/side table & misc. furniture -like new - price-cut 1.00 $ Furniture Lake Barcroft (Virginia) 2023/11/09 ]\n[20] [IMG] [Nightstand/side table & misc. furniture -like new - price-cut, description: a white and black desk sitting on top of a washer, url: /oc-content/uploads/5998/5998_thumbnail.png]\n[21] [A] [Nightstand/side table & misc. furniture -like new - price-cut]\n[] [StaticText] [Lake Barcroft (Virginia)]\n[] [StaticText] [2023/11/09]\n[] [StaticText] [Nightstand $50, trash bin $25]\n[] [StaticText] [New Luxury Arcadia Chair (7) 1.00 $ Furniture Rose Hill (Virginia) 2023/10/31 See link, give me]\n[22] [IMG] [New Luxury Arcadia Chair (7), description: a group of grey chairs in a room with windows, url: /oc-content/uploads/6237/6237_thumbnail.png]\n[23] [A] [New Luxury Arcadia Chair (7)]\n[] [StaticText] [Rose Hill (Virginia)]\n[] [StaticText] [2023/10/31]\n[] [StaticText] [See link, give me an offer]\n[] [StaticText] [New Dining Table 1.00 $ Furniture Lake Barcroft (Virginia) 2023/11/10 We paid over $600 from am]\n[24] [IMG] [New Dining Table, description: a dining table with chairs and a cabinet, url: /oc-content/uploads/12838/12838_thumbnail.png]\n[25] [A] [New Dining Table]\n[] [StaticText] [2023/11/10]\n[] [StaticText] [We paid over $600 from amazon, asking $500 or best offer]\n[] [StaticText] [New Dining Table 1.00 $ Furniture Lake Barcroft (Virginia) 2023/11/07 We paid over $600 from am]\n[26] [IMG] [New Dining Table, description: a dining table with chairs and a cabinet, url: /oc-content/uploads/13246/13246_thumbnail.png]\n[27] [A] [New Dining Table]\n[] [StaticText] [2023/11/07]\n[] [StaticText] [New Dining Table 1.00 $ Furniture Lake Barcroft (Virginia) 2023/11/14 We paid over $600 from am]\n[28] [IMG] [New Dining Table, description: a dining table with chairs and a cabinet, url: /oc-content/uploads/13935/13935_thumbnail.png]\n[29] [A] [New Dining Table]\n[] [StaticText] [2023/11/14]\n[] [StaticText] [Handmade / Handcrafted Rustic Furniture Made to Order 1.00 $ Furniture Fredericksburg (Virginia) 2023/10/21 ]\n[30] [IMG] [Handmade / Handcrafted Rustic Furniture Made to Order, description: a white cabinet with two drawers in a room, url: /oc-content/uploads/14611/14611_thumbnail.png]\n[31] [A] [Handmade / Handcrafted Rustic Furniture Made to Order]\n[] [StaticText] [Fredericksburg (Virginia)]\n[] [StaticText] [2023/10/21]\n[] [StaticText] [Handmade /Handcrafted furniture MADE TO ORDER ' I have over 40 years of handcrafting furniture experience I am posting a sample of my work but by no means limited to Have a project you might want ma]\n[] [StaticText] [Classic SG Gibson 1.00 $ Furniture Alexandria (Virginia) 2023/11/12 Classic SG Gibson , 118670 ]\n[32] [IMG] [Classic SG Gibson, description: a red electric guitar is sitting on a white wall, url: /oc-content/uploads/14962/14962_thumbnail.png]\n[33] [A] [Classic SG Gibson]\n[] [StaticText] [Alexandria (Virginia)]\n[] [StaticText] [2023/11/12]\n[] [StaticText] [Classic SG Gibson , 118670 Made in the USA Best Offer]\n[] [StaticText] [Great furniture for fair prices 1.00 $ Furniture Oxford (Pennsylvania) 2023/11/08 Many items - ]\n[34] [IMG] [Great furniture for fair prices, description: total gym elite plus with 8 for sale in san diego, ca, url: /oc-content/uploads/16160/16160_thumbnail.png]\n[35] [A] [Great furniture for fair prices]\n[] [StaticText] [Oxford (Pennsylvania)]\n[] [StaticText] [2023/11/08]\n[] [StaticText] [Many items - Save $5 off each item if you pick up by 9:15 Saturday morning Desk & chair $25 Brown leather couch $ 75 Silver lamp set $25 Lamp set w/ shades $50 Spindle table lamp $20 Floor Lamp $20 8 ]\n[] [StaticText] [Estate Sale 1.00 $ Furniture Dublin (Virginia) 2023/10/17 Estate Clean Out * Hobby Quilter * Di]\n[36] [IMG] [Estate Sale, description: a wooden hutch with glass doors in a kitchen, url: /oc-content/uploads/18876/18876_thumbnail.png]\n[37] [A] [Estate Sale]\n[] [StaticText] [Dublin (Virginia)]\n[] [StaticText] [2023/10/17]\n[] [StaticText] [Estate Clean Out * Hobby Quilter * Dining Room Set *Living Room Set *3 Bedroom Sets *Piano *Curio Cabinets *Antique Dish Sets And More Message for $]\n[] [StaticText] [Sears vintage mobile computer desk 1.00 $ Furniture Arcola (Virginia) 2023/10/29 Sturdy and mob]\n[38] [IMG] [Sears vintage mobile computer desk, description: a desk with a shelf and a drawer, url: /oc-content/uploads/18910/18910_thumbnail.png]\n[39] [A] [Sears vintage mobile computer desk]\n[] [StaticText] [Arcola (Virginia)]\n[] [StaticText] [2023/10/29]\n[] [StaticText] [Sturdy and mobile with pull out tray 44L 22w 30h Wheels have brakes. Desk $45 and selling a bag of boys age 12 clothes for $1 with purchase. Off Braddock rd. Measure your vehicle before contact and le]\n[] [StaticText] [New Luxury Arcadia Chair (7) 1.00 $ Furniture Rose Hill (Virginia) 2023/11/10 See link, give me]\n[40] [IMG] [New Luxury Arcadia Chair (7), description: four blue chairs in an office, url: /oc-content/uploads/22694/22694_thumbnail.png]\n[41] [A] [New Luxury Arcadia Chair (7)]\n\nRaw Actions:\ntype [6] [Office Chairs]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black']
);
displayFormattedText(
'textBlockTab7',
"Instruction:\nSearch for 'dishwasher' and tell me the brand of the most recent listing of a stainless steel one.\n\nFull State:\n[1] [IMG] [Classifieds, description: a blue and black logo with the words ohm, url: /oc-content/uploads/sigma_logo.png]\n[2] [A] [My account]\n[3] [A] [Logout]\n[4] [A] [Publish Ad]\n[] [StaticText] [Classifieds]\n[5] [A] [Classifieds]\n[] [StaticText] [> Search results: dishwasher]\n[] [StaticText] [Search results: dishwasher]\n[] [StaticText] [Your search]\n[6] [INPUT] []\n[] [StaticText] [City]\n[7] [INPUT] []\n[] [StaticText] [Show only]\n[8] [INPUT] []\n[] [StaticText] [Price]\n[] [StaticText] [Min.]\n[9] [INPUT] []\n[] [StaticText] [Max.]\n[10] [INPUT] []\n[11] [BUTTON] [Apply]\n[] [StaticText] [Subscribe to this search]\n[12] [BUTTON] [Subscribe now!]\n[] [StaticText] [Refine category]\n[] [StaticText] [All categories]\n[13] [A] [All categories]\n[] [StaticText] [Antiques]\n[14] [A] [Antiques]\n[] [StaticText] [Appliances]\n[15] [A] [Appliances]\n[] [StaticText] [Arts + crafts]\n[16] [A] [Arts + crafts]\n[] [StaticText] [Auto parts]\n[17] [A] [Auto parts]\n[] [StaticText] [Beauty + health]\n[18] [A] [Beauty + health]\n[] [StaticText] [Bikes]\n[19] [A] [Bikes]\n[] [StaticText] [Boats]\n[20] [A] [Boats]\n[] [StaticText] [Books]\n[21] [A] [Books]\n[] [StaticText] [Cars + trucks]\n[22] [A] [Cars + trucks]\n[] [StaticText] [Cell phones]\n[23] [A] [Cell phones]\n[] [StaticText] [Collectibles]\n[24] [A] [Collectibles]\n[] [StaticText] [Computer parts]\n[25] [A] [Computer parts]\n[] [StaticText] [Computers]\n[26] [A] [Computers]\n[] [StaticText] [Electronics]\n[27] [A] [Electronics]\n[] [StaticText] [Farm + garden]\n[28] [A] [Farm + garden]\n[] [StaticText] [Furniture]\n[29] [A] [Furniture]\n[] [StaticText] [Household]\n[30] [A] [Household]\n[] [StaticText] [Jewelry]\n[31] [A] [Jewelry]\n[] [StaticText] [Motorcycles]\n[32] [A] [Motorcycles]\n[] [StaticText] [Music instruments]\n[33] [A] [Music instruments]\n[] [StaticText] [Photo + video]\n[34] [A] [Photo + video]\n[] [StaticText] [Rvs + campers]\n[35] [A] [Rvs + campers]\n[] [StaticText] [Video gaming]\n[36] [A] [Video gaming]\n[] [StaticText] [1 - 12 of 429 listings]\n[37] [SPAN] [Sort by: Newly listed Newly listed Lower price fir]\n[38] [A] []\n[39] [A] []\n[] [StaticText] [Listings]\n[] [StaticText] [ALL IN ONE Capsule Filling Machine Size 000 / 3 Makes 100 Caps Filler 75.00 $ Beauty + health Harrisonburg (Virginia) 2023/11/]\n[40] [IMG] [ALL IN ONE Capsule Filling Machine Size 000 / 3 Makes 100 Caps Filler, description: a set of plastic containers with a red lid, url: /oc-content/uploads/15485/15485_thumbnail.png]\n[41] [A] [ALL IN ONE Capsule Filling Machine Size 000 / 3 Makes 100 Caps Filler]\n[] [StaticText] [75.00 $]\n[] [StaticText] [Harrisonburg (Virginia)]\n[] [StaticText] [2023/11/16]\n[] [StaticText] [This listing is for a previously ownedAll-In-One Capsule Filling Machine for Size 000(3) capsules. It can be used on virtually any kind of crushed substance (NO LIQUIDS and the substance should be cru]\n[] [StaticText] [Portable Dishwasher 400.00 $ Appliances Rosedale (Maryland) 2023/11/16 GE brand new out of box ]\n[42] [IMG] [Portable Dishwasher, description: a dishwasher is being installed in a kitchen, url: /oc-content/uploads/60649/60649_thumbnail.png]\n[43] [A] [Portable Dishwasher]\n[] [StaticText] [400.00 $]\n[] [StaticText] [Rosedale (Maryland)]\n[] [StaticText] [Whirpool dishwasher 60.00 $ Appliances Niles (Ohio) 2023/11/16 I will remove the post when it i]\n[44] [IMG] [Whirpool dishwasher, description: a small white dishwasher sitting on top of a wooden table, url: /oc-content/uploads/58625/58625_thumbnail.png]\n[45] [A] [Whirpool dishwasher]\n[] [StaticText] [60.00 $]\n[] [StaticText] [Niles (Ohio)]\n[] [StaticText] [LG dishwasher 100.00 $ Appliances Burke (Virginia) 2023/11/16 LG dishwasher Used condition work]\n[46] [IMG] [LG dishwasher, description: a stainless steel dishwasher in a kitchen, url: /oc-content/uploads/18607/18607_thumbnail.png]\n[47] [A] [LG dishwasher]\n[] [StaticText] [100.00 $]\n[] [StaticText] [Burke (Virginia)]\n[] [StaticText] [COMFEE Countertop Dishwasher. New but no box 270.00 $ Appliances Hedgesville (West Virginia) 2023/11/16 ]\n[48] [IMG] [COMFEE Countertop Dishwasher. New but no box, description: a white and black dishwasher sitting on a table, url: /oc-content/uploads/49422/49422_thumbnail.png]\n[49] [A] [COMFEE Countertop Dishwasher. New but no box]\n[] [StaticText] [270.00 $]\n[] [StaticText] [Hedgesville (West Virginia)]\n[] [StaticText] [Used Whirlpool Refrigerator 200.00 $ Appliances Rockville (Maryland) 2023/11/16 White used Frig]\n[50] [IMG] [Used Whirlpool Refrigerator, description: a refrigerator or freezer in a kitchen, url: /oc-content/uploads/54909/54909_thumbnail.png]\n[51] [A] [Used Whirlpool Refrigerator]\n[] [StaticText] [200.00 $]\n[] [StaticText] [Rockville (Maryland)]\n[] [StaticText] [Used KitchenAid dishwasher 200.00 $ Appliances Rockville (Maryland) 2023/11/16 White used Frigi]\n[52] [IMG] [Used KitchenAid dishwasher, description: a kitchen with a green counter top and a dishwasher, url: /oc-content/uploads/11312/11312_thumbnail.png]\n[53] [A] [Used KitchenAid dishwasher]\n[] [StaticText] [White used Frigidaire Gallery Series microwave My wife and I are updating our kitchen, so were selling our previous set of appliances. If youre interested were also selling a white Frigidaire gas stov]\n[] [StaticText] [Used Frigidaire Gas Stove/Range 400.00 $ Appliances Rockville (Maryland) 2023/11/16 White used ]\n[54] [IMG] [Used Frigidaire Gas Stove/Range, description: a white stove with black counter tops and white cabinets, url: /oc-content/uploads/21311/21311_thumbnail.png]\n[55] [A] [Used Frigidaire Gas Stove/Range]\n[] [StaticText] [Frigidaire Gallery Series Microwave 100.00 $ Appliances Rockville (Maryland) 2023/11/16 White u]\n[56] [IMG] [Frigidaire Gallery Series Microwave, description: a kitchen with a stove and microwave, url: /oc-content/uploads/5046/5046_thumbnail.png]\n[57] [A] [Frigidaire Gallery Series Microwave]\n[] [StaticText] [Beer Mugs-Acrylic (Price drop) 35.00 $ Household Rosslyn (Virginia) 2023/11/16 Acrylic Beer Mug]\n[58] [IMG] [Beer Mugs-Acrylic (Price drop), description: three boxes of a glassware set on a table, url: /oc-content/uploads/22724/22724_thumbnail.png]\n[59] [A] [Beer Mugs-Acrylic (Price drop)]\n[] [StaticText] [35.00 $]\n[] [StaticText] [Rosslyn (Virginia)]\n[] [StaticText] [GE Profile Stainless Steel Dishwasher - 3 Yrs Old, 3rd Rack 350.00 $ Appliances Lincolnia (Virginia) 2023/11/16 ]\n[60] [IMG] [GE Profile Stainless Steel Dishwasher - 3 Yrs Old, 3rd Rack, description: a stainless steel dishwasher sitting on a wooden floor, url: /oc-content/uploads/70627/70627_thumbnail.png]\n[61] [A] [GE Profile Stainless Steel Dishwasher - 3 Yrs Old, 3rd Rack]\n[] [StaticText] [350.00 $]\n\nRaw Actions:\nstop [LG]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black'],
);
displayFormattedText(
'textBlockTab8',
"Instruction:\nWrite a story about this picture <image of a baseball scene, not shown> and post it in the most relevant subreddit.\n\nFull State:\n[] [StaticText] [Forums]\n[1] [A] [Forums]\n[] [StaticText] [Wiki]\n[2] [A] [Wiki]\n[3] [INPUT] []\n[4] [A] []\n[] [StaticText] [Submit]\n[5] [A] [Submit]\n[] [StaticText] [MarvelsGrantMan136 Logged in as MarvelsGrantMan136 Profile My account User settings ]\n[6] [BUTTON] [MarvelsGrantMan136]\n[] [StaticText] [Search]\n[7] [INPUT] []\n[8] [BUTTON] [Search]\n[] [StaticText] [50 results for baseball:]\n[] [StaticText] [Any baseball fans here? Two owners needed for free fantasy baseball league! Submitted by Jitzwad__Gumlord t3]\n[] [StaticText] [Any baseball fans here? Two owners needed for free fantasy baseball league!]\n[9] [A] [Any baseball fans here? Two owners needed for free fantasy baseball league!]\n[] [StaticText] [Submitted by Jitzwad__Gumlord t3_122vttw 11 months ago in ColumbiaMD]\n[10] [A] [Jitzwad__Gumlord]\n[11] [A] [ColumbiaMD]\n[] [StaticText] [advance if this is not allowed hereLooking for two more owners to fill my fantasy baseball league. Format is head-to-head points on ESPN platform, 10-team league. Free to join. Long-running]\n[] [StaticText] [6 comments]\n[12] [A] [6 comments]\n[13] [BUTTON] []\n[] [StaticText] [7]\n[14] [BUTTON] []\n[] [StaticText] [TIL baseball legend Ty Cobb's mother killed his father, claiming she thought he was an intruder. Ty said his baseball career was dedicated to his father, who never got to see him play ]\n[] [StaticText] [TIL baseball legend Ty Cobb's mother killed his father, claiming she thought he was an intruder. Ty said his baseball career was dedicated to his father, who never got to see him play]\n[15] [A] [TIL baseball legend Ty Cobb's mother killed his father, claiming she thought he was an intruder. Ty said his baseball career was dedicated to his father, who never got to see him play]\n[16] [A] [troublewiththecurve.net]\n[] [StaticText] [Submitted by Elron-Cupboard t3_zkpy4w 1 year ago in todayilearned]\n[17] [A] [Elron-Cupboard]\n[18] [A] [todayilearned]\n[] [StaticText] [8 comments]\n[19] [A] [8 comments]\n[20] [BUTTON] []\n[] [StaticText] [98]\n[21] [BUTTON] []\n[] [StaticText] [I see Terry Collins famous baseball ejection. I raise you Wally Backman Baseball ejection. youtube.com ]\n[] [StaticText] [I see Terry Collins famous baseball ejection. I raise you Wally Backman Baseball ejection.]\n[22] [A] [I see Terry Collins famous baseball ejection. I raise you Wally Backman Baseball ejection.]\n[23] [A] [youtube.com]\n[] [StaticText] [Submitted by tc3590 t3_10lverv 1 year ago in videos]\n[24] [A] [tc3590]\n[25] [A] [videos]\n[] [StaticText] [12 comments]\n[26] [A] [12 comments]\n[27] [BUTTON] []\n[] [StaticText] [46]\n[28] [BUTTON] []\n[] [StaticText] [TIL In The 1930s, Baseball rivaled Soccer In England, attracting 10,000 spectators per game. In 1938, at the inaugural Baseball World Cup, Great Britain defeated the USA 4 games to 1. The outbreak of ]\n[29] [A] [TIL In The 1930s, Baseball rivaled Soccer In England, attracting 10,000 spectators per game. In 1938, at the inaugural Baseball World Cup, Great Britain defeated the USA 4 games to 1. The outbreak of ]\n[30] [A] [en.wikipedia.org]\n[] [StaticText] [Submitted by contextual_somebody t3_z50do8 1 year ago in todayilearned]\n[31] [A] [contextual_somebody]\n[32] [A] [todayilearned]\n[] [StaticText] [30 comments]\n[33] [A] [30 comments]\n[34] [BUTTON] []\n[] [StaticText] [304]\n[35] [BUTTON] []\n[] [StaticText] [Men's League Baseball Summer 2023 Submitted by GMBAVT t3_10zv8f3 1 year ago in vermont ]\n[] [StaticText] [Men's League Baseball Summer 2023]\n[36] [A] [Men's League Baseball Summer 2023]\n[] [StaticText] [Submitted by GMBAVT t3_10zv8f3 1 year ago in vermont]\n[37] [A] [GMBAVT]\n[38] [A] [vermont]\n[] [StaticText] [Competition. Camaraderie. Fun.Have a friend, partner, or significant other who wishes to play baseball again or longs for one more summer in the sun?The **Green Mountain Baseball Association** is putt]\n[] [StaticText] [7 comments]\n[39] [A] [7 comments]\n[40] [BUTTON] []\n[] [StaticText] [6]\n[41] [BUTTON] []\n[] [StaticText] [ELI5 What is the Shift ban in Major League Baseball and why are people upset about it? Submitted by lokigodofch]\n[] [StaticText] [ELI5 What is the Shift ban in Major League Baseball and why are people upset about it?]\n[42] [A] [ELI5 What is the Shift ban in Major League Baseball and why are people upset about it?]\n[] [StaticText] [Submitted by lokigodofchaos t3_11bm7x3 1 year ago in explainlikeimfive]\n[43] [A] [lokigodofchaos]\n[44] [A] [explainlikeimfive]\n[] [StaticText] [watch baseball but for some reason I've seen people complaining about it on social media]\n[] [StaticText] [26 comments]\n[45] [A] [26 comments]\n[46] [BUTTON] []\n[] [StaticText] [4]\n[47] [BUTTON] []\n[] [StaticText] [Any leatherworkers in the city who restore old baseball gloves? Submitted by Not_Really_Famous t3_124xv1m ]\n[] [StaticText] [Any leatherworkers in the city who restore old baseball gloves?]\n[48] [A] [Any leatherworkers in the city who restore old baseball gloves?]\n[] [StaticText] [Submitted by Not_Really_Famous t3_124xv1m 11 months ago in baltimore]\n[49] [A] [Not_Really_Famous]\n[50] [A] [baltimore]\n[] [StaticText] [currently in possession of my dad’s (really) old and worn baseball glove and would love to have it professionally restored - has anyone ever done something similar or know of anyone in the city]\n[] [StaticText] [10 comments]\n[51] [A] [10 comments]\n[52] [BUTTON] []\n[] [StaticText] [17]\n[53] [BUTTON] []\n[] [StaticText] [Any good baseball bars? Submitted by Grizzlymedic423 t3_126np0u 11 months ago in newhaven ]\n[] [StaticText] [Any good baseball bars?]\n[54] [A] [Any good baseball bars?]\n[] [StaticText] [Submitted by Grizzlymedic423 t3_126np0u 11 months ago in newhaven]\n[55] [A] [Grizzlymedic423]\n[56] [A] [newhaven]\n[] [StaticText] [opening day! Just moved to town and was wondering if there were any good bars to watch baseball]\n[57] [A] [12 comments]\n[58] [BUTTON] []\n[59] [BUTTON] []\n[] [StaticText] [Most probable line of fire of baseballs shot at PNC Park Submitted by NickySmithFromPGH t3_11e5rpn 12 mont]\n[] [StaticText] [Most probable line of fire of baseballs shot at PNC Park]\n[60] [A] [Most probable line of fire of baseballs shot at PNC Park]\n[] [StaticText] [Submitted by NickySmithFromPGH t3_11e5rpn 12 months ago in pittsburgh]\n[61] [A] [NickySmithFromPGH]\n[62] [A] [pittsburgh]\n[63] [IMG] [, description: google maps showing traffic in a city, url: http://tayer.psy.cmu.edu:9999/submission_images/4180e99fdf483770023f9a57475faf98404121408c4626900f55001f0dd4a442.jpg]\n[64] [A] [7 comments]\n[65] [BUTTON] []\n[] [StaticText] [0]\n[66] [BUTTON] []\n[] [StaticText] [[image] Shohei Ohtani created this chart when he was a high schooler in Japan. Today he is widely regarded as the best baseball player on the planet. ]\n[] [StaticText] [[image] Shohei Ohtani created this chart when he was a high schooler in Japan. Today he is widely regarded as the best baseball player on the planet.]\n[67] [A] [[image] Shohei Ohtani created this chart when he was a high schooler in Japan. Today he is widely regarded as the best baseball player on the planet.]\n[] [StaticText] [Submitted by DORAKKINGOFFISH t3_11yzglu 11 months ago in GetMotivated]\n[68] [A] [DORAKKINGOFFISH]\n[69] [A] [GetMotivated]\n[70] [BUTTON] []\n[] [StaticText] [786]\n[71] [BUTTON] []\n\nRaw Actions:\nclick [5]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black']
);
displayFormattedText(
'textBlockTab9',
"Instruction:\nHow many comments are removed or deleted in the post that has a turkey picture in the hot posts of f/pics\n\nFull State:\n[] [StaticText] [Forums]\n[1] [A] [Forums]\n[] [StaticText] [Wiki]\n[2] [A] [Wiki]\n[3] [INPUT] []\n[4] [A] []\n[] [StaticText] [Submit]\n[5] [A] [Submit]\n[] [StaticText] [MarvelsGrantMan136 Logged in as MarvelsGrantMan136 Profile My account User settings ]\n[6] [BUTTON] [MarvelsGrantMan136]\n[] [StaticText] [/f/pics]\n[] [StaticText] [/f/]\n[] [StaticText] [Submissions]\n[7] [A] [Submissions]\n[] [StaticText] [Comments]\n[8] [A] [Comments]\n[] [StaticText] [Hot Hot New Active Top Controversial Most commented]\n[9] [BUTTON] [Hot]\n[] [StaticText] [A Trejo Thanksgiving. Submitted by DinoRoman t3_z433er 1 year ago ]\n[] [StaticText] [A Trejo Thanksgiving.]\n[10] [IMG] [, description: two men standing in front of a large pot of food, url: /media/cache/submission_thumbnail_1x/2e4fa0a328e653a97a7d07046291c298ef5b4e0d0c73a287f317ca86a8e8685f.jpg]\n[] [StaticText] [Submitted by DinoRoman t3_z433er 1 year ago]\n[11] [A] [DinoRoman]\n[] [StaticText] [195 comments]\n[12] [A] [195 comments]\n[13] [BUTTON] []\n[] [StaticText] [7522]\n[14] [BUTTON] []\n[] [StaticText] [Amazing shot of a Blue Jay pestering a Bald Eagle Submitted by Smash_Factor t3_115q04n 1 year ago ]\n[] [StaticText] [Amazing shot of a Blue Jay pestering a Bald Eagle]\n[15] [IMG] [, description: a bald eagle is perched on a branch with a bird on it, url: /media/cache/submission_thumbnail_1x/b02113033af32feae9ff147dbbe3764039368d67d193885bd04e65c2e6beea9c.jpg]\n[] [StaticText] [Submitted by Smash_Factor t3_115q04n 1 year ago]\n[16] [A] [Smash_Factor]\n[] [StaticText] [192 comments]\n[17] [A] [192 comments]\n[18] [BUTTON] []\n[] [StaticText] [7502]\n[19] [BUTTON] []\n[] [StaticText] [We won first place in the costume contest! Submitted by KrakenDesign t3_yghd0a 1 year ago ]\n[] [StaticText] [We won first place in the costume contest!]\n[20] [IMG] [, description: two people dressed up in costumes on the street, url: /media/cache/submission_thumbnail_1x/bd8bc5f4c846aac4df08626faa3a34a7d47c8f3bdd92bf615a54afd939f063a7.jpg]\n[] [StaticText] [Submitted by KrakenDesign t3_yghd0a 1 year ago]\n[21] [A] [KrakenDesign]\n[] [StaticText] [134 comments]\n[22] [A] [134 comments]\n[23] [BUTTON] []\n[] [StaticText] [6777]\n[24] [BUTTON] []\n[] [StaticText] [It maybe a bit early for everyone else but Happy New Year's from us Kiwi's over here. Bring on 2023. Submitted by ]\n[] [StaticText] [It maybe a bit early for everyone else but Happy New Year's from us Kiwi's over here. Bring on 2023.]\n[25] [IMG] [, description: fireworks are lit up over the city skyline, url: /media/cache/submission_thumbnail_1x/92411be6af4e9ad5ccd3ccbaa01c10457bb00e704e99c58dd430de1a958307fd.jpg]\n[] [StaticText] [Submitted by beware_the_noid t3_zzroda 1 year ago]\n[26] [A] [beware_the_noid]\n[] [StaticText] [108 comments]\n[27] [A] [108 comments]\n[28] [BUTTON] []\n[] [StaticText] [6697]\n[29] [BUTTON] []\n[] [StaticText] [The photo that was the inspiration for Jamie Lee Curtis' character in EEAAO Submitted by woutomatic t3_11vr5]\n[] [StaticText] [The photo that was the inspiration for Jamie Lee Curtis' character in EEAAO]\n[30] [IMG] [, description: a woman is sitting at a table with papers, url: /media/cache/submission_thumbnail_1x/13400796795df4ad5b650a78d4b5aa2d6409847876eb3880c0887cbad3d078db.jpg]\n[] [StaticText] [Submitted by woutomatic t3_11vr5a3 11 months ago]\n[31] [A] [woutomatic]\n[] [StaticText] [204 comments]\n[32] [A] [204 comments]\n[33] [BUTTON] []\n[] [StaticText] [6169]\n[34] [BUTTON] []\n[] [StaticText] [These kids from Germany were insistent that I take their photo (with my camera). Here you go, guys! Submitted by ]\n[] [StaticText] [These kids from Germany were insistent that I take their photo (with my camera). Here you go, guys!]\n[35] [IMG] [, description: a group of people standing in front of a building, url: /media/cache/submission_thumbnail_1x/6dc2020f2794bfec1ee7749d976c10ba7f64f63835ecf7d015439ff402f4c71b.jpg]\n[] [StaticText] [Submitted by soccerk1 t3_10nmdjw 1 year ago]\n[36] [A] [soccerk1]\n[] [StaticText] [92 comments]\n[37] [A] [92 comments]\n[38] [BUTTON] []\n[] [StaticText] [5394]\n[39] [BUTTON] []\n[] [StaticText] [My Jamaican wife got me a bunch of flowers for my birthday! Submitted by paulrudder1982 t3_11bpnef 1 year ]\n[] [StaticText] [My Jamaican wife got me a bunch of flowers for my birthday!]\n[40] [IMG] [, description: a man standing in front of a car with a bunch of plants, url: /media/cache/submission_thumbnail_1x/4b2e184be3780e0137d8c719be86a7afe2ea8feddc734b2b60f00af901da2d77.jpg]\n[] [StaticText] [Submitted by paulrudder1982 t3_11bpnef 1 year ago]\n[41] [A] [paulrudder1982]\n[] [StaticText] [165 comments]\n[42] [A] [165 comments]\n[43] [BUTTON] []\n[] [StaticText] [5238]\n[44] [BUTTON] []\n[] [StaticText] [Parents of LGBT children at the first Pride Parade, 1973 Submitted by Heretostay59 t3_1275f3r 11 months ag]\n[] [StaticText] [Parents of LGBT children at the first Pride Parade, 1973]\n[45] [IMG] [, description: a group of people holding signs in a street, url: /media/cache/submission_thumbnail_1x/a70457e4ff490d1a950e4a8329e3f274566259a67ed6c9c73387210241686496.jpg]\n[] [StaticText] [Submitted by Heretostay59 t3_1275f3r 11 months ago]\n[46] [A] [Heretostay59]\n[] [StaticText] [96 comments]\n[47] [A] [96 comments]\n[48] [BUTTON] []\n[] [StaticText] [4984]\n[49] [BUTTON] []\n[] [StaticText] [It took 30+ hours for me to etch a sketch the Mona Lisa [OC] Submitted by Pikajane t3_z8ytxi 1 year ago ]\n[] [StaticText] [It took 30+ hours for me to etch a sketch the Mona Lisa [OC]]\n[50] [IMG] [, description: a red easel with a picture on it, url: /media/cache/submission_thumbnail_1x/c1dfd44a4ab4e3c3196c10f3c9d115c8df06e80b1f9a1cd3dd65ba703ec78866.jpg]\n[] [StaticText] [Submitted by Pikajane t3_z8ytxi 1 year ago]\n[51] [A] [Pikajane]\n[] [StaticText] [76 comments]\n[52] [A] [76 comments]\n[53] [BUTTON] []\n[] [StaticText] [4978]\n[54] [BUTTON] []\n[] [StaticText] [Aphrodite beats her son Eros with a slipper. 360 BC from Taranto Submitted by swell_swell_swell t3_zz8fa9 ]\n[] [StaticText] [Aphrodite beats her son Eros with a slipper. 360 BC from Taranto]\n[55] [IMG] [, description: a vase with a woman and a man on it, url: /media/cache/submission_thumbnail_1x/4ca1692e68adb577e66dc15b817d79210ffe2ccb308f667c750fd91555030d79.jpg]\n[] [StaticText] [Submitted by swell_swell_swell t3_zz8fa9 1 year ago]\n[56] [A] [swell_swell_swell]\n[] [StaticText] [198 comments]\n[57] [A] [198 comments]\n[58] [BUTTON] []\n[] [StaticText] [4757]\n[59] [BUTTON] []\n[] [StaticText] [My wife’s toy costume for 2022 Submitted by o0_bobbo_0o t3_ygzhiz 1 year ago ]\n[] [StaticText] [My wife’s toy costume for 2022]\n[60] [IMG] [, description: a boy is riding in a car with a phone on it, url: /media/cache/submission_thumbnail_1x/6bfbf1280d28d84a9261695f0cac5a90addaaff1174807a2b381fdc159f3ed00.jpg]\n[] [StaticText] [Submitted by o0_bobbo_0o t3_ygzhiz 1 year ago]\n[61] [A] [o0_bobbo_0o]\n[] [StaticText] [137 comments]\n[62] [A] [137 comments]\n[63] [BUTTON] []\n[] [StaticText] [4719]\n[64] [BUTTON] []\n[] [StaticText] [My 20-yr-old nephew didn't think he showed up looking like Michael Jackson until we showed him this. Submitted by ]\n[] [StaticText] [My 20-yr-old nephew didn't think he showed up looking like Michael Jackson until we showed him this.]\n[65] [IMG] [, description: a man is sitting in a restaurant with a man, url: /media/cache/submission_thumbnail_1x/383cdf241ed25dbe4301723c730f9905a729297838e725136dcf882218dcaae6.jpg]\n[] [StaticText] [Submitted by Mchootin t3_126n57t 11 months ago]\n[66] [A] [Mchootin]\n[] [StaticText] [109 comments]\n[67] [A] [109 comments]\n[68] [BUTTON] []\n[] [StaticText] [4717]\n[69] [BUTTON] []\n[] [StaticText] [The tropical “Rainbow Lobster” (Panulirus ornatus) Submitted by fluffy_squidtooth t3_10oag8w 1 year ago ]\n[] [StaticText] [The tropical “Rainbow Lobster” (Panulirus ornatus)]\n[70] [IMG] [, description: a purple and blue lobster with a purple tail, url: /media/cache/submission_thumbnail_1x/d3333ad4839961f9f765b514279fc0730c9c7fee194ecd3fd069e3f15ef86234.jpg]\n[] [StaticText] [Submitted by fluffy_squidtooth t3_10oag8w 1 year ago]\n[71] [A] [fluffy_squidtooth]\n[] [StaticText] [140 comments]\n[72] [A] [140 comments]\n[73] [BUTTON] []\n[] [StaticText] [4640]\n[74] [BUTTON] []\n[] [StaticText] [Grateful for my freedom in America! I escaped religious persecution in Egypt! Submitted by ibrahim0000000 t3]\n[] [StaticText] [Grateful for my freedom in America! I escaped religious persecution in Egypt!]\n[75] [IMG] [, description: a man smiling while sitting on a couch, url: /media/cache/submission_thumbnail_1x/9a12dee6b9a00fe03cd6934a66bec81259b0eeb9d514a9dc76398a55a354774f.jpg]\n[] [StaticText] [Submitted by ibrahim0000000 t3_zvulr1 1 year ago]\n[76] [A] [ibrahim0000000]\n[] [StaticText] [187 comments]\n[77] [A] [187 comments]\n[78] [BUTTON] []\n[] [StaticText] [4408]\n[79] [BUTTON] []\n[] [StaticText] [My friend's mother has been doing their hair for award shows for 30 yrs Submitted by Shame_Agile t3_11czvmf ]\n[] [StaticText] [My friend's mother has been doing their hair for award shows for 30 yrs]\n[80] [IMG] [, description: a man and woman standing next to each other at an event, url: /media/cache/submission_thumbnail_1x/62c2dae35d9939e6cb179ce8f6f006abae3ca30b911f4966c540939ee6e5bab2.jpg]\n[] [StaticText] [Submitted by Shame_Agile t3_11czvmf 1 year ago]\n[81] [A] [Shame_Agile]\n[] [StaticText] [178 comments]\n[82] [A] [178 comments]\n[83] [BUTTON] []\n[] [StaticText] [4342]\n[84] [BUTTON] []\n[] [StaticText] [My oil painting of McDonald’s Filet-O-Fish Submitted by NoahVerrier t3_ygjzsl 1 year ago ]\n[] [StaticText] [My oil painting of McDonald’s Filet-O-Fish]\n[85] [IMG] [, description: a painting of a hamburger, fries and a drink, url: /media/cache/submission_thumbnail_1x/00d2341392f787ba15960934bea08a81090053c0ac17458c37c743a2eacb9f66.jpg]\n[] [StaticText] [Submitted by NoahVerrier t3_ygjzsl 1 year ago]\n[86] [A] [NoahVerrier]\n[] [StaticText] [160 comments]\n[87] [A] [160 comments]\n[88] [BUTTON] []\n[] [StaticText] [4056]\n[89] [BUTTON] []\n[] [StaticText] [Daily life in Japan’s countryside Submitted by No_Eye8650 t3_zzqsmt 1 year ago ]\n[] [StaticText] [Daily life in Japan’s countryside]\n[90] [IMG] [, description: a painting of a train station with a blue train, url: /media/cache/submission_thumbnail_1x/a7b9cae3a0e868d8d1eb4376b93200c3bdd089524795800a944d268932e11fab.jpg]\n[] [StaticText] [Submitted by No_Eye8650 t3_zzqsmt 1 year ago]\n[91] [A] [No_Eye8650]\n[] [StaticText] [51 comments]\n[92] [A] [51 comments]\n[93] [BUTTON] []\n[] [StaticText] [3923]\n[94] [BUTTON] []\n[] [StaticText] [happy birthday jonathan banks Submitted by mommamia245 t3_10pqq7a 1 year ago ]\n[] [StaticText] [happy birthday jonathan banks]\n[95] [IMG] [, description: a man sitting in a white chair with a hat on, url: /media/cache/submission_thumbnail_1x/3ba604ec9775deb72ff3394510e9a6c242e47283c101a2608f04a106428f1a94.jpg]\n[] [StaticText] [Submitted by mommamia245 t3_10pqq7a 1 year ago]\n[96] [A] [mommamia245]\n[] [StaticText] [63 comments]\n[97] [A] [63 comments]\n[98] [BUTTON] []\n[] [StaticText] [3657]\n[99] [BUTTON] []\n[] [StaticText] [The nut that defeated its nemesis Submitted by tchuruck t3_zz7vxu 1 year ago ]\n[] [StaticText] [The nut that defeated its nemesis]\n[100] [IMG] [, description: a pair of scissors with a box on top, url: /media/cache/submission_thumbnail_1x/1dc0b9788b90a21e5020bdb2a9bfd357b8841cad5611df493e472d32ef91e4ea.jpg]\n[] [StaticText] [Submitted by tchuruck t3_zz7vxu 1 year ago]\n[101] [A] [tchuruck]\n[] [StaticText] [156 comments]\n[102] [A] [156 comments]\n[103] [BUTTON] []\n[] [StaticText] [3443]\n[104] [BUTTON] []\n[] [StaticText] [BORA BORA....The most beautiful Island in the World! Submitted by TamerDubai t3_10pdlib 1 year ago ]\n[] [StaticText] [BORA BORA....The most beautiful Island in the World!]\n[105] [IMG] [, description: a small island in the ocean with a blue sky, url: /media/cache/submission_thumbnail_1x/4c806381badf137f7977f7d661a94260e373de7f44171542cf22e069f2cf603d.jpg]\n[] [StaticText] [Submitted by TamerDubai t3_10pdlib 1 year ago]\n[106] [A] [TamerDubai]\n[] [StaticText] [164 comments]\n[107] [A] [164 comments]\n[108] [BUTTON] []\n[] [StaticText] [3365]\n[109] [BUTTON] []\n[] [StaticText] [Soup of the day at an airport Submitted by frankPutty t3_125r02s 11 months ago ]\n[] [StaticText] [Soup of the day at an airport]\n[110] [IMG] [, description: a sign with a picture of a dog, url: /media/cache/submission_thumbnail_1x/83447460b1988f46c3964935b676a67c0af9dc23b04bea9a083bf5912025f407.jpg]\n[] [StaticText] [Submitted by frankPutty t3_125r02s 11 months ago]\n[111] [A] [frankPutty]\n[] [StaticText] [55 comments]\n[112] [A] [55 comments]\n[113] [BUTTON] []\n[] [StaticText] [3292]\n[114] [BUTTON] []\n[] [StaticText] [pics]\n[115] [A] [pics]\n[116] [BUTTON] [Subscribe Subscribe Unsubscribe 0]\n[] [StaticText] [Subscribe]\n[] [StaticText] [t5_2qh0u]\n[] [StaticText] [Created 1 year ago]\n[] [StaticText] [Subscribe via RSS]\n[117] [A] [Subscribe via RSS]\n[118] [DETAILS] [Hide this forum By marking forums as hidden, you won't see submissions from those forums when browsing the featured and all submission listings. You can still subscribe to and moderate forums you]\n[119] [SUMMARY] [Hide this forum]\n[] [StaticText] [Hide]\n[120] [BUTTON] [Hide]\n[] [StaticText] [Toolbox]\n[] [StaticText] [Bans]\n[121] [A] [Bans]\n[] [StaticText] [Moderation log]\n[122] [A] [Moderation log]\n\nRaw Actions:\nclick [12]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black']
);
displayFormattedText(
'textBlockTab10',
"Instruction:\nCan you add the two most expensive white projectors in the 'Video Projectors' category to the comparison page?\n\nFull State:\n[] [StaticText] [My Account]\n[1] [A] [My Account]\n[] [StaticText] [My Wish List]\n[2] [A] [My Wish List]\n[] [StaticText] [Sign In]\n[3] [A] [Sign In]\n[] [StaticText] [Compare Products 1 item]\n[4] [A] [Compare Products 1 item]\n[] [StaticText] [Welcome to One Stop Market]\n[] [StaticText] [Create an Account]\n[5] [A] [Create an Account]\n[7] [IMG] [one_stop_market_logo, description: one stop market logo, url: http://metis.lti.cs.cmu.edu:7770/media/logo/websites/1/image_15__1.png]\n[8] [A] [My Cart 39 39 items]\n[] [StaticText] [39]\n[] [StaticText] [39 items]\n[] [StaticText] [items]\n[] [StaticText] [Search]\n[9] [INPUT] []\n[10] [A] [Advanced Search]\n[11] [BUTTON] [Search]\n[12] [DIV] [Menu Beauty & Personal CareOral CareToothbrushes & AccessoriesDental Floss & PicksOrthodontic SuppliesChildren's Dent]\n[13] [DIV] [Beauty & Personal CareOral CareToothbrushes & AccessoriesDental Floss & PicksOrthodontic SuppliesChildren's Dental CareOral Pain ReliefToothpasteTeeth WhiteningBreath FreshenersDenture CareTongue Clea]\n[14] [UL] [Beauty & Personal CareOral CareToothbrushes & AccessoriesDental Floss & PicksOrthodontic SuppliesChildren's Dental CareOral Pain ReliefToothpasteTeeth WhiteningBreath FreshenersDenture CareTongue Clea]\n[15] [A] [Beauty & Personal Care]\n[16] [A] [Sports & Outdoors]\n[17] [A] [Clothing, Shoes & Jewelry]\n[18] [A] [Home & Kitchen]\n[19] [A] [Office Products]\n[20] [A] [Tools & Home Improvement]\n[21] [A] [Health & Household]\n[22] [A] [Patio, Lawn & Garden]\n[23] [A] [Electronics]\n[24] [A] [Cell Phones & Accessories]\n[25] [A] [Video Games]\n[26] [A] [Grocery & Gourmet Food]\n[] [StaticText] [One Stop Market]\n[27] [IMG] [Image, description: a package of gingerbread house cookies, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B08PCSHBXY.0.jpg]\n[28] [A] [Pre-baked Gingerbread House Kit Value Pack, 17 oz., Pack of 2, Total 34 oz.]\n[] [StaticText] [Rating:]\n[] [StaticText] [20%]\n[29] [A] [1  Review]\n[] [StaticText] [$19.99]\n[30] [BUTTON] [Add to Cart]\n[31] [A] [Add to Wish List]\n[32] [A] [Add to Compare]\n[33] [IMG] [Image, description: energy drink with berries and grapes, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B00CPTR7WS.0.jpg]\n[34] [A] [V8 +Energy, Healthy Energy Drink, Steady Energy from Black and Green Tea, Pomegranate Blueberry, 8 Ounce Can ,Pack of 24]\n[] [StaticText] [57%]\n[35] [A] [12  Reviews]\n[] [StaticText] [$14.47]\n[36] [BUTTON] [Add to Cart]\n[37] [A] [Add to Wish List]\n[38] [A] [Add to Compare]\n[39] [IMG] [Image, description: orange vanilla coffee flavoring, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B0040WHKIY.0.jpg]\n[40] [A] [Elmwood Inn Fine Teas, Orange Vanilla Caffeine-free Fruit Infusion, 16-Ounce Pouch]\n[] [StaticText] [95%]\n[41] [A] [4  Reviews]\n[] [StaticText] [$19.36]\n[42] [BUTTON] [Add to Cart]\n[43] [A] [Add to Wish List]\n[44] [A] [Add to Compare]\n[45] [IMG] [Image, description: a red and yellow cake with roses and yellow candy, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B08743KW8M.0.jpg]\n[46] [A] [Belle Of The Ball Princess Sprinkle Mix| Wedding Colorful Sprinkles| Cake Cupcake Cookie Sprinkles| Ice cream Candy Sprinkles| Yellow Gold Red Royal Red Rose Icing Flowers Decorating Sprinkles, 8OZ]\n[] [StaticText] [63%]\n[47] [A] [12  Reviews]\n[] [StaticText] [$23.50]\n[48] [BUTTON] [Add to Cart]\n[49] [A] [Add to Wish List]\n[50] [A] [Add to Compare]\n[51] [IMG] [Image, description: so delicious coconut whip, coconut whip, coconut whip, coconut whip, coconut whip, coconut whip, coconut whip, coconut whip, coconut whip, coconut whip,, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B01N1QRJNG.0.jpg]\n[52] [A] [So Delicious Dairy Free CocoWhip Light, Vegan, Non-GMO Project Verified, 9 oz. Tub]\n[] [StaticText] [78%]\n[53] [A] [12  Reviews]\n[] [StaticText] [$15.62]\n[54] [BUTTON] [Add to Cart]\n[55] [A] [Add to Wish List]\n[56] [A] [Add to Compare]\n[57] [IMG] [Image, description: korean fried rice - 2 packs, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B07Y4MC6M5.0.jpg]\n[58] [A] [Cheongeun Sweet Potato Starch Powder 500g, 2ea(Sweet Potato 55%, Corn 45%)]\n[] [StaticText] [$34.00]\n[59] [BUTTON] [Add to Cart]\n[60] [A] [Add to Wish List]\n[61] [A] [Add to Compare]\n[62] [IMG] [Image, description: a bottle of ginger ale on a white background, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B071KC37VD.0.jpg]\n[63] [A] [Q Mixers Premium Ginger Ale: Real Ingredients & Less Sweet, 6.7 Fl Oz (24 Bottles)]\n[] [StaticText] [88%]\n[64] [A] [12  Reviews]\n[] [StaticText] [$68.50]\n[65] [BUTTON] [Add to Cart]\n[66] [A] [Add to Wish List]\n[67] [A] [Add to Compare]\n[68] [IMG] [Image, description: kraft stove top turkey & cranberry, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B004U5F23G.0.jpg]\n[69] [A] [Stove Top Turkey Stuffing Mix (12 oz Boxes, Pack of 2)]\n[] [StaticText] [85%]\n[70] [A] [12  Reviews]\n[] [StaticText] [$8.49]\n[71] [BUTTON] [Add to Cart]\n[72] [A] [Add to Wish List]\n[73] [A] [Add to Compare]\n[74] [IMG] [Image, description: a beige powder on a white background, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B074DBMG66.0.jpg]\n[75] [A] [Briess DME - Pilsen Light - 1 lb Bag]\n[] [StaticText] [$12.99]\n[76] [BUTTON] [Add to Cart]\n[77] [A] [Add to Wish List]\n[78] [A] [Add to Compare]\n[79] [IMG] [Image, description: tony chachere's more spice seasoning, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B001Q1J3QY.0.jpg]\n[80] [A] [Tony Chachere's More Spice Creole Seasoning - 14 oz]\n[] [StaticText] [75%]\n[81] [A] [12  Reviews]\n[] [StaticText] [$7.92]\n[82] [BUTTON] [Add to Cart]\n[83] [A] [Add to Wish List]\n[84] [A] [Add to Compare]\n[85] [IMG] [Image, description: a plate of lobster pies with carrots and peas, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B0793RMRGT.0.jpg]\n[86] [A] [Lobster Cobbler Pot Pie - Gourmet Frozen Seafood Appetizers (Set of 8 Trays)]\n[] [StaticText] [$411.76]\n[87] [BUTTON] [Add to Cart]\n[88] [A] [Add to Wish List]\n[89] [A] [Add to Compare]\n[90] [IMG] [Image, description: crunchy rollers - pack of 6, url: http://metis.lti.cs.cmu.edu:7770/media/catalog/product/cache/89ff578b9cd87e0600daac45c9e1ea98/B/0/B00J7HXXGA.0.jpg]\n[91] [A] [Crunchy Rice Rollers - Gluten Free - Vegan - 3.5 oz Individual Packs (4 Packs of 8 Rollers)]\n[] [StaticText] [83%]\n[92] [A] [12  Reviews]\n[] [StaticText] [$11.50]\n[93] [BUTTON] [Add to Cart]\n[94] [A] [Add to Wish List]\n[95] [A] [Add to Compare]\n[] [StaticText] [Items 1 to 12 of 24 total]\n\nRaw Actions:\nclick [21]",
['grey', 'black', 'black', 'red', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'orange', 'black']
);
displayFormattedText(
'textBlockTab11',
"Raw Actions:\n1. hold_(support,_grip,_grasp) bottle_(bottle,_flask)\n2. open bottle_(bottle,_flask)\n3. put_(place,_leave,_drop) bottle_(bottle,_flask)\n4. put_(place,_leave,_drop) lid_(cap,_cover,_lid)\n5. take_(pick,_grab,_get) spoon_(spoon,_spoonful)\n6. mix food\n7. close food\n8. take_(pick,_grab,_get) bottle_(bottle,_flask)\n9. open bottle_(bottle,_flask)\n10. pour sauce\n11. take_(pick,_grab,_get) spoon_(spoon,_spoonful)\n12. put_(place,_leave,_drop) spoon_(spoon,_spoonful)\n13. take_(pick,_grab,_get) soil_(dirt,_mud,_soil)\n14. adjust_(regulate,_increase/reduce,_change) bottle_(bottle,_flask)\n15. hold_(support,_grip,_grasp) spoon_(spoon,_spoonful)\n16. mix food\n17. put_(place,_leave,_drop) spoon_(spoon,_spoonful)\n18. take_(pick,_grab,_get) bottle_(bottle,_flask)\n19. hold_(support,_grip,_grasp) bottle_(bottle,_flask)\n20. open bottle_(bottle,_flask)",
['orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black']
);
displayFormattedText(
'textBlockTab12',
"Raw Actions:\n1. wipe lid_(cap,_cover,_lid)\n2. open lid_(cap,_cover,_lid)\n3. throw_(toss,_dump,_dispose) napkin_(handkerchief,_napkin,_serviette,_tissue,_wipe)\n4. take_(pick,_grab,_get) napkin_(handkerchief,_napkin,_serviette,_tissue,_wipe)\n5. open lid_(cap,_cover,_lid)\n6. put_(place,_leave,_drop) napkin_(handkerchief,_napkin,_serviette,_tissue,_wipe)\n7. take_(pick,_grab,_get) brush\n8. clean_(sweep,_scrub,_mop,_dust) toilet\n9. put_(place,_leave,_drop) brush\n10. hold_(support,_grip,_grasp) handle\n11. turn_on_(switch_on,_start,_light) switch_(knob,_switch)\n12. remove glove\n13. put_(place,_leave,_drop) glove\n14. take_(pick,_grab,_get) plate_(dish,_plate,_platter,_saucer)\n15. take_(pick,_grab,_get) detergent\n16. put_(place,_leave,_drop) detergent\n17. put_(place,_leave,_drop) detergent\n18. turn_on_(switch_on,_start,_light) faucet_(faucet,_tap)\n19. open drawer\n20. close drawer",
['orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'],
);
displayFormattedText(
'textBlockTab13',
"Raw Actions:\n1. squeeze sponge_(scrubber,_sponge)\n2. wash car_(car,_vehicle)\n3. wash car_(car,_vehicle)\n4. wash car_(car,_vehicle)\n5. put_(place,_leave,_drop) sponge_(scrubber,_sponge)\n6. take_(pick,_grab,_get) spray_(spray,_sprayer)\n7. spray water\n8. touch water\n9. adjust_(regulate,_increase/reduce,_change) spray_(spray,_sprayer)\n10. spray spray_(spray,_sprayer)\n11. spray car_(car,_vehicle)\n12. spray car_(car,_vehicle)\n13. put_(place,_leave,_drop) spray_(spray,_sprayer)\n14. turn_(spin,_rotate,_flip,_turn_over) faucet_(faucet,_tap)\n15. turn_(spin,_rotate,_flip,_turn_over) switch_(knob,_switch)\n16. turn_(spin,_rotate,_flip,_turn_over) faucet_(faucet,_tap)\n17. turn_(spin,_rotate,_flip,_turn_over) faucet_(faucet,_tap)\n18. turn_(spin,_rotate,_flip,_turn_over) faucet_(faucet,_tap)\n19. take_(pick,_grab,_get) spray_(spray,_sprayer)\n20. hold_(support,_grip,_grasp) spray_(spray,_sprayer)",
['orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black']
);
displayFormattedText(
'textBlockTab14',
"Raw Actions:\n1. throw_(toss,_dump,_dispose) trowel\n2. apply_(spread,_smear) cement_(cement,_concrete,_mortar)\n3. move_(transfer,_pass,_exchange) lever\n4. smooth cement_(cement,_concrete,_mortar)\n5. operate_(use,_dial,_click-button) cement_(cement,_concrete,_mortar)\n6. smooth cement_(cement,_concrete,_mortar)\n7. operate_(use,_dial,_click-button) cement_(cement,_concrete,_mortar)\n8. put_(place,_leave,_drop) lever\n9. take_(pick,_grab,_get) trowel\n10. throw_(toss,_dump,_dispose) cement_(cement,_concrete,_mortar)\n11. scrape cement_(cement,_concrete,_mortar)\n12. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)\n13. put_(place,_leave,_drop) cement_(cement,_concrete,_mortar)\n14. clean_(sweep,_scrub,_mop,_dust) cement_(cement,_concrete,_mortar)\n15. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)\n16. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)\n17. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)\n18. put_(place,_leave,_drop) cement_(cement,_concrete,_mortar)\n19. smooth cement_(cement,_concrete,_mortar)\n20. take_(pick,_grab,_get) cement_(cement,_concrete,_mortar)",
['orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black']
);
displayFormattedText(
'textBlockTab15',
"Raw Actions:\n1. pull string_(bobbin,_knot,_lace,_ribbon,_spool,_strand,_string,_thread,_twine,_wool,_yarn)\n2. take_(pick,_grab,_get) scissors\n3. cut_(trim,_slice,_chop) mask\n4. take_(pick,_grab,_get) mask\n5. cut_(trim,_slice,_chop) mask\n6. put_(place,_leave,_drop) scissors\n7. fold mask\n8. put_(place,_leave,_drop) mask\n9. put_(place,_leave,_drop) mask\n10. take_(pick,_grab,_get) mask\n11. fold mask\n12. turn_(spin,_rotate,_flip,_turn_over) facemask\n13. pull string_(bobbin,_knot,_lace,_ribbon,_spool,_strand,_string,_thread,_twine,_wool,_yarn)\n14. put_(place,_leave,_drop) string_(bobbin,_knot,_lace,_ribbon,_spool,_strand,_string,_thread,_twine,_wool,_yarn)\n15. take_(pick,_grab,_get) facemask\n16. put_(place,_leave,_drop) facemask\n17. put_(place,_leave,_drop) facemask\n18. fold facemask\n19. move_(transfer,_pass,_exchange) facemask\n20. touch sewing_machine",
['orange', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black']
);
});
// Optionally, to show the first tab by default on load
document.addEventListener("DOMContentLoaded", function () {
document.querySelector(".tablinks").click();
document.querySelector(".tablinks_vwa").click();
document.querySelector(".tablinks_ego").click();
});
</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</body>
</html>