  
  
  if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("route")
    parser.add_argument("segment", type=int)
    args = parser.parse_args()
  
    orig_settings = termios.tcgetattr(sys.stdin)
    tty.setcbreak(sys.stdin)
  
 
</s> remove     i = min(i + 1, max_i)
 </s> add     i = (i + 1) % max_i if loop else min(i + 1, max_i) </s> remove     replay(args.route, args.segment)
 </s> add     replay(args.segment, args.loop) </s> remove   lr = LogReader(f"cd:/{route}/{segment}/rlog.bz2")
  fr = FrameReader(f"cd:/{route}/{segment}/fcamera.hevc", readahead=True)
 </s> add   lr = LogReader(f"cd:/{route}/rlog.bz2")
  fr = FrameReader(f"cd:/{route}/fcamera.hevc", readahead=True) </s> remove     socks[w].send(msg.to_bytes())
 </s> add     try:
      if socks[w]:
        socks[w].send(msg.to_bytes())
    except messaging.messaging_pyx.MultiplePublishersError:
      socks[w] = None </s> remove def replay(route, segment):
 </s> add def replay(route, loop):
  parser.add_argument("--loop", action='store_true')
  parser.add_argument("segment")
  
  
  if __name__ == "__main__":
    parser = argparse.ArgumentParser()
  parser.add_argument("--loop", action='store_true')
  parser.add_argument("segment")
  parser.add_argument("--loop", action='store_true')
  parser.add_argument("segment")
    args = parser.parse_args()
  
    orig_settings = termios.tcgetattr(sys.stdin)
    tty.setcbreak(sys.stdin)
  
keep keep keep keep replace replace keep keep keep keep keep
 Handle loop and multiple publishers 
tools/replay/unlog_segment.py