{
  "label_schema_version": 2,
  "cup_numbering": "right_to_left_overhead",
  "position_convention": "Cup numbers follow the test convention: 1 is rightmost in the overhead image; numbers increase toward the left. Physical location names describe the overhead image.",
  "episodes": [
    {
      "folder": "cup_eval_excluded",
      "episode_index": 242,
      "episode_name": "episode_000242",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 242,
      "frames": 519,
      "fps": 30,
      "duration_seconds": 17.3,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        3,
        2,
        3,
        2,
        3
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lm-lm-lm-lm-lm",
      "swap_end_frames_approx": [
        115,
        153,
        190,
        226,
        284
      ],
      "final_frame": 284,
      "final_time_seconds": 9.466666666666667,
      "reveal_time_seconds": 13.366666666666667,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout242.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000242/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000242/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000242/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          1,
          2,
          1,
          2,
          1
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 1,
      "test_group": "First 15",
      "test_group_number": 1
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 226,
      "episode_name": "episode_000226",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 226,
      "frames": 514,
      "fps": 30,
      "duration_seconds": 17.133333333333333,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        3,
        2,
        2,
        1,
        3
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lm-lm-lr-mr-lr",
      "swap_end_frames_approx": [
        114,
        158,
        197,
        237,
        282
      ],
      "final_frame": 282,
      "final_time_seconds": 9.4,
      "reveal_time_seconds": 13.633333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout226.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000226/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000226/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000226/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          1,
          2,
          2,
          3,
          1
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 2,
      "test_group": "First 15",
      "test_group_number": 2
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 210,
      "episode_name": "episode_000210",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 210,
      "frames": 456,
      "fps": 30,
      "duration_seconds": 15.2,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        3,
        1,
        1,
        3,
        3
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lm-lr-lm-lr-mr",
      "swap_end_frames_approx": [
        113,
        151,
        189,
        227,
        268
      ],
      "final_frame": 268,
      "final_time_seconds": 8.933333333333334,
      "reveal_time_seconds": 12.5,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout210.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000210/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000210/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000210/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          1,
          3,
          3,
          1,
          1
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 3,
      "test_group": "First 15",
      "test_group_number": 3
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 194,
      "episode_name": "episode_000194",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 194,
      "frames": 541,
      "fps": 30,
      "duration_seconds": 18.033333333333335,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        3,
        1,
        2,
        2,
        3
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lm-lr-mr-lr-lm",
      "swap_end_frames_approx": [
        149,
        198,
        241,
        284,
        319
      ],
      "final_frame": 319,
      "final_time_seconds": 10.633333333333333,
      "reveal_time_seconds": 14.633333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout194.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000194/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000194/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000194/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          1,
          3,
          2,
          2,
          1
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 4,
      "test_group": "First 15",
      "test_group_number": 4
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 177,
      "episode_name": "episode_000177",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 177,
      "frames": 482,
      "fps": 30,
      "duration_seconds": 16.066666666666666,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        3,
        3,
        1,
        1,
        2
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lm-mr-lr-lm-mr",
      "swap_end_frames_approx": [
        135,
        182,
        219,
        266,
        301
      ],
      "final_frame": 301,
      "final_time_seconds": 10.033333333333333,
      "reveal_time_seconds": 13.233333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout177.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000177/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000177/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000177/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          1,
          1,
          3,
          3,
          2
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 5,
      "test_group": "First 15",
      "test_group_number": 5
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 161,
      "episode_name": "episode_000161",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 161,
      "frames": 491,
      "fps": 30,
      "duration_seconds": 16.366666666666667,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        2,
        3,
        2,
        3,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lr-lm-lm-lm-lm",
      "swap_end_frames_approx": [
        129,
        169,
        204,
        239,
        267
      ],
      "final_frame": 267,
      "final_time_seconds": 8.9,
      "reveal_time_seconds": 13.433333333333334,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout161.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000161/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000161/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000161/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          2,
          1,
          2,
          1,
          2
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 6,
      "test_group": "First 15",
      "test_group_number": 6
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 145,
      "episode_name": "episode_000145",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 145,
      "frames": 500,
      "fps": 30,
      "duration_seconds": 16.666666666666668,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        2,
        3,
        1,
        2,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lr-lm-lr-mr-lr",
      "swap_end_frames_approx": [
        137,
        187,
        230,
        270,
        302
      ],
      "final_frame": 302,
      "final_time_seconds": 10.066666666666666,
      "reveal_time_seconds": 13.5,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout145.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000145/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000145/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000145/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          2,
          1,
          3,
          2,
          2
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 7,
      "test_group": "First 15",
      "test_group_number": 7
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 129,
      "episode_name": "episode_000129",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 129,
      "frames": 517,
      "fps": 30,
      "duration_seconds": 17.233333333333334,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        2,
        2,
        3,
        1,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lr-lr-lm-lr-mr",
      "swap_end_frames_approx": [
        149,
        197,
        249,
        290,
        325
      ],
      "final_frame": 325,
      "final_time_seconds": 10.833333333333334,
      "reveal_time_seconds": 14.233333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout129.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000129/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000129/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000129/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          2,
          2,
          1,
          3,
          2
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 8,
      "test_group": "First 15",
      "test_group_number": 8
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 112,
      "episode_name": "episode_000112",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 112,
      "frames": 549,
      "fps": 30,
      "duration_seconds": 18.3,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        2,
        2,
        1,
        3,
        1
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lr-lr-mr-lr-lr",
      "swap_end_frames_approx": [
        143,
        188,
        239,
        283,
        322
      ],
      "final_frame": 322,
      "final_time_seconds": 10.733333333333333,
      "reveal_time_seconds": 14.966666666666667,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout112.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000112/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000112/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000112/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          2,
          2,
          3,
          1,
          3
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 9,
      "test_group": "First 15",
      "test_group_number": 9
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 96,
      "episode_name": "episode_000096",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 96,
      "frames": 499,
      "fps": 30,
      "duration_seconds": 16.633333333333333,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        2,
        1,
        3,
        2,
        1
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lr-mr-lr-lm-mr",
      "swap_end_frames_approx": [
        132,
        178,
        218,
        254,
        290
      ],
      "final_frame": 290,
      "final_time_seconds": 9.666666666666666,
      "reveal_time_seconds": 13.766666666666667,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout096.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000096/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000096/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000096/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          2,
          3,
          1,
          2,
          3
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 10,
      "test_group": "First 15",
      "test_group_number": 10
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 80,
      "episode_name": "episode_000080",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 80,
      "frames": 454,
      "fps": 30,
      "duration_seconds": 15.133333333333333,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        1,
        1,
        1,
        1,
        1
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "mr-lm-lm-lm-lm",
      "swap_end_frames_approx": [
        125,
        164,
        201,
        242,
        275
      ],
      "final_frame": 275,
      "final_time_seconds": 9.166666666666666,
      "reveal_time_seconds": 12.3,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout080.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000080/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000080/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000080/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          3,
          3,
          3,
          3,
          3
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 11,
      "test_group": "First 15",
      "test_group_number": 11
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 64,
      "episode_name": "episode_000064",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 64,
      "frames": 504,
      "fps": 30,
      "duration_seconds": 16.8,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        1,
        1,
        3,
        3,
        1
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "mr-lm-lr-mr-lr",
      "swap_end_frames_approx": [
        119,
        165,
        207,
        259,
        301
      ],
      "final_frame": 301,
      "final_time_seconds": 10.033333333333333,
      "reveal_time_seconds": 13.933333333333334,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout064.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000064/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000064/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000064/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          3,
          3,
          1,
          1,
          3
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 12,
      "test_group": "First 15",
      "test_group_number": 12
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 47,
      "episode_name": "episode_000047",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 47,
      "frames": 458,
      "fps": 30,
      "duration_seconds": 15.266666666666667,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        1,
        3,
        2,
        1,
        1
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "mr-lr-lm-mr-lm",
      "swap_end_frames_approx": [
        119,
        161,
        204,
        247,
        285
      ],
      "final_frame": 285,
      "final_time_seconds": 9.5,
      "reveal_time_seconds": 12.533333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout047.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000047/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000047/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000047/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          3,
          1,
          2,
          3,
          3
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 13,
      "test_group": "First 15",
      "test_group_number": 13
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 31,
      "episode_name": "episode_000031",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 31,
      "frames": 510,
      "fps": 30,
      "duration_seconds": 17.0,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        1,
        3,
        3,
        1,
        3
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "mr-lr-mr-lr-lr",
      "swap_end_frames_approx": [
        118,
        162,
        212,
        254,
        292
      ],
      "final_frame": 292,
      "final_time_seconds": 9.733333333333333,
      "reveal_time_seconds": 13.933333333333334,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout031.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000031/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000031/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000031/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          3,
          1,
          1,
          3,
          1
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 14,
      "test_group": "First 15",
      "test_group_number": 14
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 13,
      "episode_name": "episode_000013",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 13,
      "frames": 465,
      "fps": 30,
      "duration_seconds": 15.5,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        1,
        2,
        2,
        2,
        2
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "mr-mr-lr-lr-lr",
      "swap_end_frames_approx": [
        113,
        151,
        191,
        229,
        264
      ],
      "final_frame": 264,
      "final_time_seconds": 8.8,
      "reveal_time_seconds": 12.633333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout013.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000013/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000013/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000013/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          3,
          2,
          2,
          2,
          2
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 15,
      "test_group": "First 15",
      "test_group_number": 15
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 235,
      "episode_name": "episode_000235",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 235,
      "frames": 476,
      "fps": 30,
      "duration_seconds": 15.866666666666667,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        3,
        2,
        3,
        3,
        1
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lm-lm-lm-mr-lr",
      "swap_end_frames_approx": [
        123,
        169,
        210,
        252,
        304
      ],
      "final_frame": 304,
      "final_time_seconds": 10.133333333333333,
      "reveal_time_seconds": 13.0,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout235.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000235/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000235/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000235/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          1,
          2,
          1,
          1,
          3
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 16,
      "test_group": "Next 15",
      "test_group_number": 1
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 218,
      "episode_name": "episode_000218",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 218,
      "frames": 520,
      "fps": 30,
      "duration_seconds": 17.333333333333332,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        3,
        2,
        1,
        2,
        3
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lm-lm-mr-mr-lm",
      "swap_end_frames_approx": [
        117,
        160,
        203,
        245,
        288
      ],
      "final_frame": 288,
      "final_time_seconds": 9.6,
      "reveal_time_seconds": 13.833333333333334,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout218.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000218/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000218/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000218/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          1,
          2,
          3,
          2,
          1
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 17,
      "test_group": "Next 15",
      "test_group_number": 2
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 202,
      "episode_name": "episode_000202",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 202,
      "frames": 522,
      "fps": 30,
      "duration_seconds": 17.4,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        3,
        1,
        3,
        1,
        3
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lm-lr-lr-lr-lr",
      "swap_end_frames_approx": [
        126,
        167,
        205,
        245,
        284
      ],
      "final_frame": 284,
      "final_time_seconds": 9.466666666666667,
      "reveal_time_seconds": 13.966666666666667,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout202.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000202/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000202/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000202/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          1,
          3,
          1,
          3,
          1
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 18,
      "test_group": "Next 15",
      "test_group_number": 3
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 186,
      "episode_name": "episode_000186",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 186,
      "frames": 504,
      "fps": 30,
      "duration_seconds": 16.8,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        3,
        3,
        2,
        3,
        3
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lm-mr-lm-lm-mr",
      "swap_end_frames_approx": [
        149,
        204,
        250,
        288,
        320
      ],
      "final_frame": 320,
      "final_time_seconds": 10.666666666666666,
      "reveal_time_seconds": 13.866666666666667,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout186.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000186/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000186/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000186/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          1,
          1,
          2,
          1,
          1
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 19,
      "test_group": "Next 15",
      "test_group_number": 4
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 169,
      "episode_name": "episode_000169",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 169,
      "frames": 453,
      "fps": 30,
      "duration_seconds": 15.1,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        3,
        3,
        3,
        2,
        2
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lm-mr-mr-lm-lr",
      "swap_end_frames_approx": [
        135,
        174,
        209,
        252,
        281
      ],
      "final_frame": 281,
      "final_time_seconds": 9.366666666666667,
      "reveal_time_seconds": 12.533333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout169.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000169/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000169/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000169/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          1,
          1,
          1,
          2,
          2
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 20,
      "test_group": "Next 15",
      "test_group_number": 5
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 153,
      "episode_name": "episode_000153",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 153,
      "frames": 511,
      "fps": 30,
      "duration_seconds": 17.033333333333335,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        2,
        3,
        2,
        1,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lr-lm-lm-mr-mr",
      "swap_end_frames_approx": [
        130,
        171,
        215,
        254,
        287
      ],
      "final_frame": 287,
      "final_time_seconds": 9.566666666666666,
      "reveal_time_seconds": 14.033333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout153.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000153/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000153/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000153/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          2,
          1,
          2,
          3,
          2
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 21,
      "test_group": "Next 15",
      "test_group_number": 6
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 137,
      "episode_name": "episode_000137",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 137,
      "frames": 498,
      "fps": 30,
      "duration_seconds": 16.6,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        2,
        3,
        3,
        3,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lr-lm-mr-mr-lm",
      "swap_end_frames_approx": [
        146,
        187,
        230,
        271,
        300
      ],
      "final_frame": 300,
      "final_time_seconds": 10.0,
      "reveal_time_seconds": 13.566666666666666,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout137.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000137/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000137/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000137/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          2,
          1,
          1,
          1,
          2
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 22,
      "test_group": "Next 15",
      "test_group_number": 7
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 121,
      "episode_name": "episode_000121",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 121,
      "frames": 499,
      "fps": 30,
      "duration_seconds": 16.633333333333333,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        2,
        2,
        2,
        2,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lr-lr-lr-lr-lr",
      "swap_end_frames_approx": [
        149,
        199,
        245,
        285,
        316
      ],
      "final_frame": 316,
      "final_time_seconds": 10.533333333333333,
      "reveal_time_seconds": 13.866666666666667,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout121.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000121/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000121/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000121/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          2,
          2,
          2,
          2,
          2
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 23,
      "test_group": "Next 15",
      "test_group_number": 8
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 103,
      "episode_name": "episode_000103",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 103,
      "frames": 520,
      "fps": 30,
      "duration_seconds": 17.333333333333332,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        2,
        1,
        1,
        3,
        1
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lr-mr-lm-lr-lr",
      "swap_end_frames_approx": [
        135,
        183,
        226,
        268,
        311
      ],
      "final_frame": 311,
      "final_time_seconds": 10.366666666666667,
      "reveal_time_seconds": 13.9,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout103.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000103/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000103/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000103/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          2,
          3,
          3,
          1,
          3
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 24,
      "test_group": "Next 15",
      "test_group_number": 9
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 88,
      "episode_name": "episode_000088",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 88,
      "frames": 510,
      "fps": 30,
      "duration_seconds": 17.0,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        2,
        1,
        2,
        3,
        1
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lr-mr-mr-lm-lr",
      "swap_end_frames_approx": [
        130,
        176,
        217,
        263,
        306
      ],
      "final_frame": 306,
      "final_time_seconds": 10.2,
      "reveal_time_seconds": 13.9,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout088.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000088/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000088/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000088/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          2,
          3,
          2,
          1,
          3
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 25,
      "test_group": "Next 15",
      "test_group_number": 10
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 72,
      "episode_name": "episode_000072",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 72,
      "frames": 503,
      "fps": 30,
      "duration_seconds": 16.766666666666666,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        1,
        1,
        1,
        2,
        1
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "mr-lm-lm-mr-mr",
      "swap_end_frames_approx": [
        120,
        166,
        226,
        267,
        329
      ],
      "final_frame": 329,
      "final_time_seconds": 10.966666666666667,
      "reveal_time_seconds": 14.066666666666666,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout072.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000072/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000072/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000072/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          3,
          3,
          3,
          2,
          3
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 26,
      "test_group": "Next 15",
      "test_group_number": 11
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 56,
      "episode_name": "episode_000056",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 56,
      "frames": 466,
      "fps": 30,
      "duration_seconds": 15.533333333333333,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        1,
        1,
        2,
        1,
        1
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "mr-lm-mr-mr-lm",
      "swap_end_frames_approx": [
        125,
        164,
        203,
        246,
        304
      ],
      "final_frame": 304,
      "final_time_seconds": 10.133333333333333,
      "reveal_time_seconds": 12.733333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout056.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000056/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000056/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000056/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          3,
          3,
          2,
          3,
          3
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 27,
      "test_group": "Next 15",
      "test_group_number": 12
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 39,
      "episode_name": "episode_000039",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 39,
      "frames": 519,
      "fps": 30,
      "duration_seconds": 17.3,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        1,
        3,
        1,
        3,
        3
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "mr-lr-lr-lr-mr",
      "swap_end_frames_approx": [
        131,
        177,
        224,
        263,
        300
      ],
      "final_frame": 300,
      "final_time_seconds": 10.0,
      "reveal_time_seconds": 14.333333333333334,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout039.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000039/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000039/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000039/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          3,
          1,
          3,
          1,
          1
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 28,
      "test_group": "Next 15",
      "test_group_number": 13
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 22,
      "episode_name": "episode_000022",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 22,
      "frames": 492,
      "fps": 30,
      "duration_seconds": 16.4,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        1,
        2,
        3,
        1,
        3
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "mr-mr-lm-lr-lr",
      "swap_end_frames_approx": [
        114,
        154,
        197,
        239,
        279
      ],
      "final_frame": 279,
      "final_time_seconds": 9.3,
      "reveal_time_seconds": 13.233333333333333,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout022.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000022/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000022/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000022/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          3,
          2,
          1,
          3,
          1
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 29,
      "test_group": "Next 15",
      "test_group_number": 14
    },
    {
      "folder": "cup_eval_excluded",
      "episode_index": 6,
      "episode_name": "episode_000006",
      "source_dataset": "0826_cup_5mix",
      "source_episode_index": 6,
      "frames": 451,
      "fps": 30,
      "duration_seconds": 15.033333333333333,
      "cup_count": 3,
      "swap_count": 5,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        1,
        2,
        1,
        1,
        2
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "mr-mr-mr-lm-mr",
      "swap_end_frames_approx": [
        107,
        143,
        185,
        224,
        258
      ],
      "final_frame": 258,
      "final_time_seconds": 8.6,
      "reveal_time_seconds": 12.4,
      "annotation_method": "OAT v2 table supplied by user, matched against original per-frame labels; final scene reviewed.",
      "review_image": "/review/holdout006.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_excluded/000006/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_excluded/000006/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_excluded/000006/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          3,
          2,
          3,
          3,
          2
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image",
      "test_number": 30,
      "test_group": "Next 15",
      "test_group_number": 15
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 0,
      "episode_name": "episode_000000",
      "source_dataset": "cup_eval",
      "source_episode_index": 0,
      "frames": 392,
      "fps": 30,
      "duration_seconds": 13.066666666666666,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        3,
        2,
        1,
        3,
        2,
        1
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lm-lm-mr-lr-lm-mr",
      "swap_end_frames_approx": [
        126,
        180,
        228,
        276,
        324,
        384
      ],
      "final_frame": 391,
      "final_time_seconds": 13.033333333333333,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep00.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000000/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000000/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000000/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          1,
          2,
          3,
          1,
          2,
          3
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 1,
      "episode_name": "episode_000001",
      "source_dataset": "cup_eval",
      "source_episode_index": 1,
      "frames": 336,
      "fps": 30,
      "duration_seconds": 11.2,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        3,
        3,
        2,
        1,
        1,
        3
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lm-mr-lm-mr-lm-lr",
      "swap_end_frames_approx": [
        102,
        144,
        192,
        240,
        282,
        330
      ],
      "final_frame": 335,
      "final_time_seconds": 11.166666666666666,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep01.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000001/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000001/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000001/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          1,
          1,
          2,
          3,
          3,
          1
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 2,
      "episode_name": "episode_000002",
      "source_dataset": "cup_eval",
      "source_episode_index": 2,
      "frames": 334,
      "fps": 30,
      "duration_seconds": 11.133333333333333,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        3,
        1,
        3,
        2,
        2,
        1
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lm-lr-lr-lm-lr-mr",
      "swap_end_frames_approx": [
        96,
        150,
        204,
        246,
        294,
        330
      ],
      "final_frame": 333,
      "final_time_seconds": 11.1,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep02.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000002/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000002/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000002/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          1,
          3,
          1,
          2,
          2,
          3
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 3,
      "episode_name": "episode_000003",
      "source_dataset": "cup_eval",
      "source_episode_index": 3,
      "frames": 307,
      "fps": 30,
      "duration_seconds": 10.233333333333333,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        3,
        2,
        1,
        1,
        3,
        2
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lm-lm-mr-lm-lr-lm",
      "swap_end_frames_approx": [
        90,
        132,
        174,
        216,
        258,
        300
      ],
      "final_frame": 306,
      "final_time_seconds": 10.2,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep03.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000003/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000003/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000003/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          1,
          2,
          3,
          3,
          1,
          2
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 4,
      "episode_name": "episode_000004",
      "source_dataset": "cup_eval",
      "source_episode_index": 4,
      "frames": 345,
      "fps": 30,
      "duration_seconds": 11.5,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        3,
        1,
        2,
        3,
        1,
        2
      ],
      "swap_pairs": [
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lm-lr-mr-lm-lr-mr",
      "swap_end_frames_approx": [
        90,
        138,
        180,
        228,
        294,
        342
      ],
      "final_frame": 344,
      "final_time_seconds": 11.466666666666667,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep04.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000004/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000004/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000004/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          1,
          3,
          2,
          1,
          3,
          2
        ],
        "swap_pairs": [
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 5,
      "episode_name": "episode_000005",
      "source_dataset": "cup_eval",
      "source_episode_index": 5,
      "frames": 336,
      "fps": 30,
      "duration_seconds": 11.2,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        2,
        3,
        3,
        1,
        2,
        3
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lr-lm-mr-lr-mr-lm",
      "swap_end_frames_approx": [
        84,
        126,
        186,
        234,
        282,
        324
      ],
      "final_frame": 335,
      "final_time_seconds": 11.166666666666666,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep05.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000005/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000005/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000005/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          2,
          1,
          1,
          3,
          2,
          1
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 6,
      "episode_name": "episode_000006",
      "source_dataset": "cup_eval",
      "source_episode_index": 6,
      "frames": 401,
      "fps": 30,
      "duration_seconds": 13.366666666666667,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        2,
        1,
        3,
        1,
        3,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lr-mr-lr-lr-lr-lm",
      "swap_end_frames_approx": [
        102,
        150,
        216,
        282,
        330,
        372
      ],
      "final_frame": 400,
      "final_time_seconds": 13.333333333333334,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep06.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000006/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000006/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000006/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          2,
          3,
          1,
          3,
          1,
          2
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 7,
      "episode_name": "episode_000007",
      "source_dataset": "cup_eval",
      "source_episode_index": 7,
      "frames": 356,
      "fps": 30,
      "duration_seconds": 11.866666666666667,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        2,
        3,
        1,
        3,
        1,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "lr-lm-lr-lr-lr-mr",
      "swap_end_frames_approx": [
        90,
        132,
        186,
        240,
        294,
        342
      ],
      "final_frame": 355,
      "final_time_seconds": 11.833333333333334,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep07.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000007/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000007/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000007/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          2,
          1,
          3,
          1,
          3,
          2
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 8,
      "episode_name": "episode_000008",
      "source_dataset": "cup_eval",
      "source_episode_index": 8,
      "frames": 368,
      "fps": 30,
      "duration_seconds": 12.266666666666667,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        2,
        1,
        2,
        3,
        3,
        1
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "lr-mr-mr-lm-mr-lr",
      "swap_end_frames_approx": [
        102,
        150,
        210,
        258,
        294,
        348
      ],
      "final_frame": 367,
      "final_time_seconds": 12.233333333333333,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep08.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000008/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000008/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000008/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          2,
          3,
          2,
          1,
          1,
          3
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 9,
      "episode_name": "episode_000009",
      "source_dataset": "cup_eval",
      "source_episode_index": 9,
      "frames": 346,
      "fps": 30,
      "duration_seconds": 11.533333333333333,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        2,
        1,
        1,
        3,
        2,
        3
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "lr-mr-lm-lr-lm-lm",
      "swap_end_frames_approx": [
        90,
        132,
        180,
        234,
        276,
        324
      ],
      "final_frame": 345,
      "final_time_seconds": 11.5,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep09.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000009/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000009/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000009/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          2,
          3,
          3,
          1,
          2,
          1
        ],
        "swap_pairs": [
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 10,
      "episode_name": "episode_000010",
      "source_dataset": "cup_eval",
      "source_episode_index": 10,
      "frames": 358,
      "fps": 30,
      "duration_seconds": 11.933333333333334,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        1,
        2,
        3,
        1,
        3,
        2
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "mr-mr-lm-lr-lr-lm",
      "swap_end_frames_approx": [
        90,
        138,
        192,
        246,
        294,
        336
      ],
      "final_frame": 357,
      "final_time_seconds": 11.9,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep10.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000010/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000010/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000010/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          3,
          2,
          1,
          3,
          1,
          2
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 11,
      "episode_name": "episode_000011",
      "source_dataset": "cup_eval",
      "source_episode_index": 11,
      "frames": 388,
      "fps": 30,
      "duration_seconds": 12.933333333333334,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "right",
      "position_sequence": [
        2,
        1,
        3,
        1,
        2,
        3,
        1
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ]
      ],
      "pair_sequence": "mr-lr-lr-mr-lm-lr",
      "swap_end_frames_approx": [
        96,
        162,
        216,
        264,
        318,
        372
      ],
      "final_frame": 387,
      "final_time_seconds": 12.9,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep11.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000011/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000011/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000011/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          3,
          1,
          3,
          2,
          1,
          3
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 12,
      "episode_name": "episode_000012",
      "source_dataset": "cup_eval",
      "source_episode_index": 12,
      "frames": 331,
      "fps": 30,
      "duration_seconds": 11.033333333333333,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 3,
      "final_label": "left",
      "position_sequence": [
        2,
        1,
        2,
        1,
        3,
        2,
        3
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "mr-mr-mr-lr-lm-lm",
      "swap_end_frames_approx": [
        96,
        138,
        186,
        234,
        276,
        318
      ],
      "final_frame": 330,
      "final_time_seconds": 11.0,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep12.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000012/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000012/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000012/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 1,
        "position_sequence": [
          2,
          3,
          2,
          3,
          1,
          2,
          1
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 13,
      "episode_name": "episode_000013",
      "source_dataset": "cup_eval",
      "source_episode_index": 13,
      "frames": 358,
      "fps": 30,
      "duration_seconds": 11.933333333333334,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        1,
        1,
        2,
        3,
        3,
        2
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          1,
          2
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "mr-lm-mr-lm-mr-lm",
      "swap_end_frames_approx": [
        102,
        150,
        198,
        252,
        294,
        348
      ],
      "final_frame": 357,
      "final_time_seconds": 11.9,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep13.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000013/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000013/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000013/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          3,
          3,
          2,
          1,
          1,
          2
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_6mixes",
      "episode_index": 14,
      "episode_name": "episode_000014",
      "source_dataset": "cup_eval",
      "source_episode_index": 14,
      "frames": 365,
      "fps": 30,
      "duration_seconds": 12.166666666666666,
      "cup_count": 3,
      "swap_count": 6,
      "initial_position": 2,
      "final_position": 2,
      "final_label": "middle",
      "position_sequence": [
        2,
        1,
        3,
        2,
        3,
        1,
        2
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          1,
          3
        ],
        [
          2,
          3
        ],
        [
          2,
          3
        ],
        [
          1,
          3
        ],
        [
          1,
          2
        ]
      ],
      "pair_sequence": "mr-lr-lm-lm-lr-mr",
      "swap_end_frames_approx": [
        102,
        150,
        204,
        246,
        300,
        342
      ],
      "final_frame": 364,
      "final_time_seconds": 12.133333333333333,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep14.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_6mixes/000014/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_6mixes/000014/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_6mixes/000014/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 2,
        "position_sequence": [
          2,
          3,
          1,
          2,
          1,
          3,
          2
        ],
        "swap_pairs": [
          [
            2,
            3
          ],
          [
            1,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_4cups",
      "episode_index": 15,
      "episode_name": "episode_000015",
      "source_dataset": "cup_eval",
      "source_episode_index": 15,
      "frames": 261,
      "fps": 30,
      "duration_seconds": 8.7,
      "cup_count": 4,
      "swap_count": 4,
      "initial_position": 2,
      "final_position": 1,
      "final_label": "rightmost",
      "position_sequence": [
        2,
        1,
        1,
        1,
        1
      ],
      "swap_pairs": [
        [
          1,
          2
        ],
        [
          2,
          3
        ],
        [
          3,
          4
        ],
        [
          3,
          4
        ]
      ],
      "pair_sequence": "34-23-12-12",
      "swap_end_frames_approx": [
        102,
        144,
        186,
        234
      ],
      "final_frame": 260,
      "final_time_seconds": 8.666666666666666,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep15.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_4cups/000015/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_4cups/000015/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_4cups/000015/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 3,
        "final_position": 4,
        "position_sequence": [
          3,
          4,
          4,
          4,
          4
        ],
        "swap_pairs": [
          [
            3,
            4
          ],
          [
            2,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            2
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    },
    {
      "folder": "cup_eval_4cups",
      "episode_index": 16,
      "episode_name": "episode_000016",
      "source_dataset": "cup_eval",
      "source_episode_index": 16,
      "frames": 271,
      "fps": 30,
      "duration_seconds": 9.033333333333333,
      "cup_count": 4,
      "swap_count": 4,
      "initial_position": 3,
      "final_position": 2,
      "final_label": "second from right",
      "position_sequence": [
        3,
        1,
        4,
        3,
        2
      ],
      "swap_pairs": [
        [
          1,
          3
        ],
        [
          1,
          4
        ],
        [
          3,
          4
        ],
        [
          2,
          3
        ]
      ],
      "pair_sequence": "24-14-12-23",
      "swap_end_frames_approx": [
        126,
        174,
        210,
        252
      ],
      "final_frame": 270,
      "final_time_seconds": 9.0,
      "reveal_time_seconds": null,
      "annotation_method": "Visually tracked from the initial covering through every swap in the overhead video. The block remains covered at the end.",
      "review_image": "/review/ep16.jpg",
      "videos": {
        "cam_high": "/media/cup_eval_4cups/000016/cam_high.mp4",
        "cam_left_wrist": "/media/cup_eval_4cups/000016/cam_left_wrist.mp4",
        "cam_right_wrist": "/media/cup_eval_4cups/000016/cam_right_wrist.mp4"
      },
      "overhead_left_to_right": {
        "initial_position": 2,
        "final_position": 3,
        "position_sequence": [
          2,
          4,
          1,
          2,
          3
        ],
        "swap_pairs": [
          [
            2,
            4
          ],
          [
            1,
            4
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ]
        ]
      },
      "cup_numbering": "right_to_left_overhead",
      "pair_sequence_convention": "Physical left/middle/right in the overhead image"
    }
  ]
}
