Search

Customise the Time Bar

Time

Set the look and feel of the time bar.

Customise the Time Bar
View live example →

The KeyLines time bar provides a powerful way to explore when events occur. This demo shows you how you can customise the time bar to suit your use case and application styling.

The demo uses a dataset of generic transactions over a period of 20 days from July 20, 2010 to August 9, 2010.

Appearance tab

This tab includes options to show or hide the control bar, switch between histogram and area time bar types, customise the background, area and histogram colours, mark specific times in a different colour, and change the font family and axis scales.

Options tab

This tab shows you how you can control:

  • Whether the user can move the sliders to control the time range
  • The animation play speed (default is 60 pixels per second)
  • The speed at which the histogram height scales
  • Whether to offer an 'Extend' button, which shows a cumulative animation of events from a given start time
  • The minimum scale and maximum range which users can zoom to.
Localisation

Date and time formats are a prime source of misunderstanding – "11/7/2010" could mean either the 11th of July or the 7th of November depending on your country. The 'Localisation' tab shows how to switch between 12- and 24-hour clock formats; DD/MM/YY and MM/DD/YY date formats, and by a simple lookup, different language translations of month names.

Key functions used:

import KeyLines from "keylines";
import { data } from "./data.js";

let timebar;

let defaultOptions;

let minScaleIndex;
let maxRangeIndex;

const time1 = new Date("26 Jul 2010");
const time2 = new Date("31 Jul 2010");

const colours = {
  blue: "#0B93B2",
  green: "#0A8254",
  red: "#e03038",
  lightblue: "#6cbed0",
  lightgreen: "#53a787",
};

const locales = {
  de: {
    longMonths: [
      "Januar",
      "Februar",
      "März",
      "April",
      "Mai",
      "Juni",
      "Juli",
      "August",
      "September",
      "Oktober",
      "November",
      "Dezember",
    ],
    shortMonths: [
      "Jan",
      "Feb",
      "Mär",
      "Apr",
      "Mai",
      "Jun",
      "Jul",
      "Aug",
      "Sep",
      "Okt",
      "Nov",
      "Dez",
    ],
    ampm: ["AM", "PM"],
    quarter: "Q",
    half: "H",
  },
  en: {
    longMonths: [
      "January",
      "February",
      "March",
      "April",
      "May",
      "June",
      "July",
      "August",
      "September",
      "October",
      "November",
      "December",
    ],
    shortMonths: [
      "Jan",
      "Feb",
      "Mar",
      "Apr",
      "May",
      "Jun",
      "Jul",
      "Aug",
      "Sep",
      "Oct",
      "Nov",
      "Dec",
    ],
    ampm: ["AM", "PM"],
    quarter: "Q",
    half: "H",
  },
  es: {
    longMonths: [
      "enero",
      "febrero",
      "marzo",
      "abril",
      "mayo",
      "junio",
      "julio",
      "agosto",
      "septiembre",
      "octubre",
      "noviembre",
      "diciembre",
    ],
    shortMonths: [
      "ene",
      "feb",
      "mar",
      "abr",
      "may",
      "jun",
      "jul",
      "ago",
      "sep",
      "oct",
      "nov",
      "dic",
    ],
    ampm: ["a.m.", "p.m."],
    quarter: "T", // trimestre
    half: "S", // semestre
  },
  fr: {
    longMonths: [
      "janvier",
      "février",
      "mars",
      "avril",
      "mai",
      "juin",
      "juillet",
      "août",
      "septembre",
      "octobre",
      "novembre",
      "décembre",
    ],
    shortMonths: [
      "jan",
      "fév",
      "mars",
      "avr",
      "mai",
      "juin",
      "juil",
      "août",
      "sep",
      "oct",
      "nov",
      "déc",
    ],
    ampm: ["AM", "PM", "matin", "soir"], // Demonstrates AM/PM interval labelling
    quarter: "T", // trimestre
    half: "S", // semestre
  },
  it: {
    longMonths: [
      "gennaio",
      "febbraio",
      "marzo",
      "aprile",
      "maggio",
      "giugno",
      "luglio",
      "agosto",
      "settembre",
      "ottobre",
      "novembre",
      "dicembre",
    ],
    shortMonths: [
      "gen",
      "feb",
      "mar",
      "apr",
      "mag",
      "giu",
      "lug",
      "ago",
      "set",
      "ott",
      "nov",
      "dic",
    ],
    ampm: ["AM", "PM"],
    quarter: "T", // trimestre
    half: "S", // semestre
  },
};

function getSliderColour(backColour) {
  if (backColour === "black") {
    return "rgba(0, 0, 0, 0.7)";
  }
  if (backColour === "grey") {
    return "rgba(0, 0, 0, 0.3)";
  }
  return defaultOptions.sliderColour;
}

// Turn minScale string into setting
function makeMinScale(s) {
  if (s) {
    const parts = s.split(",");
    return { units: parts[0], value: parseInt(parts[1], 10) };
  }
  // reset to default
  return { units: "sec", value: 1 };
}

// Turn maxRange string into setting
function makeMaxRange(s) {
  if (s) {
    const parts = s.split(",");
    return { units: parts[0], value: parseInt(parts[1], 10) };
  }
  // otherwise reset to default
  return "auto";
}

function isMinScaleBiggerThanMaxRange() {
  return minScaleIndex >= maxRangeIndex;
}

function handleRangeErrorMessage() {
  $("#range-scale").toggle(isMinScaleBiggerThanMaxRange());
}

function resetZoom() {
  timebar.zoom("fit", { animate: false });
}

// Set options according to the controls on the Options tab
async function setOptions() {
  const backColour = $("select[name=background]").val();
  const newSliderMode = $("select[name=sliders]").val();
  let fontSize = $("input[name=fontsize]").val();
  handleRangeErrorMessage();

  if (fontSize <= 50) {
    if (fontSize >= 5) fontSize = $("input[name=fontsize]").val();
    else fontSize = 5;
  } else fontSize = 50;

  const options = {
    area: {
      colour:
        colours[$("select[name=areacolour]").val()] ||
        defaultOptions.area.colour,
    },
    minScale: makeMinScale($("select[name=minscale]").val()),
    maxRange: makeMaxRange($("select[name=maxrange]").val()),
    showPlay: $("input[name=play]").is(":checked"),
    showExtend: $("input[name=playextend]").is(":checked"),
    showFit: $("input[name=fit]").is(":checked"),
    showControlBar: $("input[name=controlbar]").is(":checked"),
    scale: {
      showMinor: $("input[name=minor]").is(":checked"),
      showMajor: $("input[name=major]").is(":checked"),
    },
    sliders: newSliderMode,
    playSpeed: $("#playSlider").slider("value"),
    backColour,
    sliderColour: getSliderColour(backColour),
    fontColour: backColour === "grey" ? "white" : defaultOptions.fontColour,
    fontFamily: $("select[name=fontfamily]").val(),
    fontSize,
    histogram: {
      colour:
        colours[$("select[name=colour]").val()] ||
        defaultOptions.histogram.colour,
      highlightColour:
        colours[$("select[name=highlightcolour]").val()] ||
        defaultOptions.histogram.highlightColour,
      markColour:
        colours[$("select[name=markcolour]").val()] ||
        defaultOptions.histogram.markColour,
      markHiColour:
        colours[$("select[name=markhicolour]").val()] ||
        defaultOptions.histogram.markHiColour,
    },
    heightChange: {
      animate: $("input[name=heightchange]").is(":checked"),
      time: $("#hcSlider").slider("value"),
    },
    groups: {
      groupBy: $("select[name=group]").val() === "none" ? null : "type",
      categories:
        $("select[name=group]").val() === "one"
          ? ["Low"]
          : ["Low", "Medium", "High"],
    },
    type: $("select[name=type]").val(),
  };
  // we need this for later
  const oldSliderMode = timebar.options().sliders;
  await timebar.options(options);
  // if we change mode call zoom fit
  if (oldSliderMode !== newSliderMode) {
    resetZoom();
  }
}

// Set localisation options
function setLocale() {
  const options = {
    locale: $.extend(locales[$(".locale.active").val()], {
      order: $("input[name=order]:checked").val(),
      h12: $("input[name=hours]:checked").val() === "h12",
    }),
  };
  timebar.options(options);
}

function setupFormControls() {
  $("#rhsForm").on("submit", (e) => e.preventDefault()); // prevent the form to submit
  $("#style").on("change click", ":input", setOptions);
  $("#options").on("change", ":input", setOptions);

  $("#type").on("change", () => {
    // Switch between the correct colour options for type (histogram/area)
    $("#options-histogram").toggle(500);
    $("#options-area").toggle(500);
  });
  // Start with area colour section hidden
  $("#options-area").toggle();

  $("#localisation").on("change", ":input", setLocale);
  $(".maxrange").on("change", (e) => {
    maxRangeIndex = $(e.currentTarget).find("option:selected").attr("index");
  });
  $(".minscale").on("change", (e) => {
    minScaleIndex = $(e.currentTarget).find("option:selected").attr("index");
  });

  // range slider to set speed
  $("#playSlider").slider({
    min: 10,
    max: 150,
    value: defaultOptions.playSpeed,
    change() {
      const speed = $(this).slider("value");
      $("#playSpeed").text(speed);
      // when slider changes update the playSpeed to current value
      timebar.options({ playSpeed: speed });
    },
  });

  // show initial play speed
  $("#playSpeed").text(defaultOptions.playSpeed);

  $("#hcSlider").slider({
    min: 10,
    max: 500,
    step: 10,
    value: defaultOptions.heightChange.time,
    change() {
      const time = $(this).slider("value");
      $("#hcTime").text(time);
      timebar.options({ heightChange: { time } });
    },
  });

  $("#hcTime").text(defaultOptions.heightChange.time);

  // locale buttons
  $(".locale").on("click", (e) => {
    $(".locale").removeClass("active btn-kl");
    $(e.currentTarget).addClass("active btn-kl");
    setLocale();
  });

  // changing to localisation tab should zoom in to properly demonstrate how options affect times
  // and dates
  let cachedOptions = null;
  let cachedRange = null;
  $("#rhscontent .nav a").on("click", async (e) => {
    if ($(e.currentTarget).text() === "Localisation") {
      // cache options
      cachedOptions = timebar.options();
      cachedRange = timebar.range();
      // zoom in and ensure options make sense to properly display dates
      await timebar.options({
        sliders: "fixed",
        scale: {
          showMinor: true,
          showMajor: true,
        },
      });
      await timebar.range(new Date(2010, 6, 27), new Date(2010, 6, 28));
      // Reset the localisation buttons
      $(".locale.active").removeClass("btn-kl active");
      $("input[value=en]").addClass("btn-kl active");
      $("input[value=h12]").prop("checked", true);
      $("input[value=mdy]").prop("checked", true);
    } else if (cachedOptions) {
      // restore cached options
      await timebar.options(cachedOptions);
      cachedOptions = null;
      timebar.range(cachedRange.dt1, cachedRange.dt2);
    }
  });
}

function loaded() {
  timebar.mark({ dt1: time1, dt2: time2 });
  resetZoom();
}

async function klReady(bar) {
  // save the timebar reference
  timebar = bar;

  // now load the data in the timebar: that's it!
  await timebar.load(data);
  loaded();

  // get default options so we can return to factory settings after we have changed options
  defaultOptions = timebar.options();

  setupFormControls();

  // setOptions so that time bar matches current state of the form
  await setOptions();
}

$(function () {
  KeyLines.create({ container: "kltimebar", type: "timebar" }).then(klReady);
});
export const data = {
  type: "LinkChart",
  items: [
    {
      d: { type: "High" },
      id: "11-25732",
      id1: "11",
      id2: "25732",
      dt: [1279737619000],
    },
    {
      d: { type: "Low" },
      id: "817187-23",
      id1: "817187",
      id2: "23",
      dt: [1280250589000],
    },
    {
      d: { type: "High" },
      id: "817187-663161",
      id1: "817187",
      id2: "663161",
      dt: [1280250589000],
    },
    {
      d: { type: "Low" },
      id: "165408-331680",
      id1: "165408",
      id2: "331680",
      dt: [1279624989000],
    },
    {
      d: { type: "Low" },
      id: "165408-78474",
      id1: "165408",
      id2: "78474",
      dt: [1279624989000],
    },
    {
      d: { type: "Low" },
      id: "9881-9881",
      id1: "9881",
      id2: "9881",
      dt: [
        1280366173000, 1280363401000, 1280367871000, 1280362249000,
        1280353249000, 1280365460000, 1280363401000, 1280362249000,
        1280362249000, 1280367871000, 1280365962000, 1280371526000,
        1280367871000, 1280349829000, 1280266574000, 1280369726000,
        1280367871000, 1280367871000, 1280362249000, 1280362531000,
        1280369726000, 1280353249000, 1280371526000, 1280349829000,
        1280362531000, 1280365962000, 1280371526000, 1280369726000,
        1280362249000, 1280362249000, 1280362249000, 1280365962000,
        1280362249000, 1280367871000, 1280349829000, 1280366173000,
        1280367871000, 1280362249000, 1280367871000, 1280366173000,
        1280365460000, 1280367871000, 1280353249000, 1280370792000,
        1280367871000, 1280362612000, 1280367871000, 1280362612000,
        1280363401000, 1280363401000, 1280367871000, 1280349829000,
        1280266574000, 1280349829000, 1280370792000, 1280363401000,
        1280361650000, 1280349829000, 1280371526000, 1280362249000,
        1280361650000, 1280371526000, 1280361650000, 1280365460000,
        1280353249000, 1280353249000, 1280367871000, 1280363401000,
        1280365962000, 1280361650000, 1280371526000, 1280362249000,
        1280367871000, 1280362531000, 1280362249000, 1280361650000,
        1280370359000, 1280362249000, 1280369726000, 1280365962000,
        1280363401000, 1280369726000, 1280349829000, 1280349829000,
        1280362531000, 1280365460000, 1280349829000, 1280365962000,
        1280370792000, 1280369726000, 1280369726000, 1280349829000,
        1280361650000, 1280367871000, 1280349829000, 1280366173000,
        1280370359000, 1280369726000, 1280371526000, 1280362612000,
        1280353249000, 1280367871000, 1280371526000, 1280367871000,
        1280367871000, 1280367871000, 1280367871000, 1280367871000,
        1280370792000, 1280362249000, 1280362612000, 1280363401000,
        1280369726000, 1280363401000, 1280365962000, 1280371526000,
        1280365460000, 1280367871000, 1280365962000, 1280367871000,
        1280365962000, 1280363401000, 1280371526000, 1280367871000,
        1280367871000, 1280361650000, 1280349829000, 1280371526000,
        1280353249000, 1280362249000, 1280363401000, 1280363401000,
        1280363401000, 1280361650000, 1280365460000, 1280366173000,
        1280361650000, 1280367871000, 1280363401000, 1280367871000,
        1280363401000, 1280365460000, 1280367871000, 1280363401000,
        1280371526000, 1280353249000, 1280362249000, 1280367871000,
        1280367871000, 1280369726000, 1280363401000, 1280349829000,
        1280362531000, 1280371526000, 1280367871000, 1280363401000,
        1280363401000, 1280365460000, 1280367871000, 1280361650000,
        1280362531000, 1280363401000, 1280366173000, 1280363401000,
        1280365460000, 1280369726000, 1280349829000, 1280365460000,
        1280350419000, 1280362249000, 1280366173000, 1280367871000,
        1280361650000, 1280361650000, 1280365962000, 1280371526000,
        1280365962000, 1280369726000, 1280349829000, 1280371526000,
        1280349829000, 1280363401000, 1280353249000, 1280367871000,
        1280365962000, 1280361650000, 1280367871000, 1280363401000,
        1280362249000, 1280361650000, 1280367871000, 1280363401000,
        1280349829000, 1280369726000, 1280366173000, 1280371526000,
        1280370792000, 1280370359000, 1280362249000, 1280371526000,
        1280363401000, 1280362531000, 1280363401000, 1280365962000,
        1280363401000, 1280363401000, 1280365460000, 1280362531000,
        1280362531000, 1280371526000, 1280349829000, 1280365460000,
        1280370792000, 1280366173000, 1280367871000, 1280371526000,
        1280362249000, 1280362531000, 1280362249000, 1280365962000,
        1280367871000, 1280367871000, 1280363401000, 1280366173000,
        1280363401000, 1280370792000, 1280367871000, 1280369726000,
        1280349829000, 1280349829000, 1280367871000, 1280367871000,
        1280371526000, 1280361650000, 1280362249000, 1280363401000,
        1280353249000, 1280370792000, 1280363401000, 1280371526000,
        1280349829000, 1280349829000, 1280363401000, 1280371526000,
        1280363401000, 1280362249000, 1280349829000, 1280361650000,
        1280361650000, 1280349829000, 1280362249000, 1280362249000,
        1280367871000, 1280369726000, 1280362249000, 1280367871000,
        1280365460000, 1280362249000, 1280363401000, 1280370359000,
        1280362249000, 1280363401000, 1280349829000, 1280363401000,
        1280362249000, 1280367871000, 1280361650000, 1280349829000,
        1280349829000, 1280353249000, 1280349829000, 1280365962000,
        1280367871000, 1280370359000, 1280363401000, 1280367871000,
        1280362249000, 1280367871000, 1280370792000, 1280362249000,
        1280362249000, 1280371526000, 1280349829000, 1280435394000,
        1280363401000, 1280362249000, 1280361650000, 1280353249000,
        1280371526000, 1280362249000, 1280349829000, 1280361650000,
        1280361650000, 1280367871000, 1280369726000, 1280366173000,
        1280349829000, 1280362249000, 1280365460000, 1280371526000,
        1280363401000, 1280353249000, 1280370359000, 1280367871000,
        1280370792000, 1280363401000, 1280370359000, 1280349829000,
        1280369726000, 1280367871000, 1280349829000, 1280363401000,
        1280363401000, 1280367871000, 1280371526000, 1280353249000,
        1280370792000, 1280370359000, 1280365962000, 1280362249000,
        1280349829000, 1280349829000, 1280363401000, 1280371526000,
        1280366173000, 1280365460000, 1280362249000, 1280371526000,
        1280369726000, 1280361650000, 1280367871000, 1280362249000,
        1280367871000, 1280363401000, 1280362531000, 1280363401000,
        1280362612000, 1280349829000, 1280363401000, 1280367871000,
        1280370792000, 1280349829000, 1280367871000, 1280363401000,
        1280365962000, 1280365460000, 1280349829000, 1280362249000,
        1280363401000, 1280349829000, 1280369726000, 1280361650000,
        1280371526000, 1280349829000, 1280367871000, 1280349829000,
        1280362249000, 1280349829000, 1280349829000, 1280363401000,
        1280366173000, 1280365460000, 1280367871000, 1280353249000,
        1280349829000, 1280365962000, 1280349829000, 1280362249000,
        1280353249000, 1280363401000, 1280266574000, 1280363401000,
        1280363401000, 1280363401000, 1280371526000, 1280362612000,
        1280363401000, 1280369726000, 1280363401000, 1280370359000,
        1280369726000, 1280361650000, 1280362249000, 1280365460000,
        1280362249000, 1280366173000, 1280367871000, 1280362249000,
        1280362612000, 1280370359000, 1280363401000, 1280363401000,
        1280371526000, 1280363401000, 1280367871000, 1280363401000,
        1280361650000, 1280366173000, 1280362249000, 1280361650000,
        1280362249000, 1280367871000, 1280362249000, 1280349829000,
        1280367871000, 1280365460000, 1280362249000, 1280361650000,
        1280367871000, 1280367871000, 1280367871000, 1280365962000,
        1280349829000, 1280349829000, 1280349829000, 1280367871000,
        1280371526000, 1280349829000, 1280363401000, 1280349829000,
        1280369726000, 1280361650000, 1280370792000, 1280363401000,
        1280371526000, 1280370792000, 1280371526000, 1280363401000,
        1280369726000, 1280371526000, 1280362531000, 1280353249000,
        1280370792000, 1280361650000, 1280349829000, 1280349829000,
        1280362249000, 1280365460000, 1280349829000, 1280371526000,
        1280363401000, 1280363401000, 1280367871000, 1280370359000,
        1280363401000, 1280369726000, 1280370792000, 1280371526000,
        1280361650000, 1280367871000, 1280365460000, 1280349829000,
        1280353249000, 1280363401000, 1280363401000, 1280353249000,
        1280363401000, 1280363401000, 1280365460000, 1280363401000,
        1280367871000, 1280366173000, 1280365962000, 1280369726000,
        1280366173000, 1280361650000, 1280362249000, 1280362249000,
        1280366173000, 1280266574000, 1280363401000, 1280349829000,
        1280349829000, 1280367871000, 1280367871000, 1280362249000,
        1280363401000, 1280349829000, 1280361650000, 1280349829000,
        1280365962000, 1280367871000, 1280363401000, 1280367871000,
        1280361650000, 1280353249000, 1280367871000, 1280349829000,
        1280362249000, 1280362249000, 1280363401000, 1280353249000,
        1280366173000, 1280362249000, 1280365962000, 1280362249000,
        1280370359000, 1280363401000, 1280349829000, 1280367871000,
        1280367871000, 1280367871000, 1280371526000, 1280363401000,
        1280362249000, 1280367871000, 1280369726000, 1280361650000,
        1280365460000, 1280370359000, 1280371526000, 1280362612000,
        1280367871000, 1280363401000, 1280367871000, 1280371526000,
        1280363401000, 1280361650000, 1280362249000, 1280365460000,
        1280371526000, 1280367871000, 1280371526000, 1280365962000,
        1280365460000, 1280363401000, 1280365460000, 1280367871000,
        1280353249000, 1280362249000, 1280367871000, 1280363401000,
        1280349829000, 1280366173000, 1280362249000, 1280361650000,
        1280371526000, 1280367871000, 1280363401000, 1280349829000,
        1280367871000, 1280367871000, 1280353249000, 1280349829000,
        1280363401000, 1280369726000, 1280349829000, 1280349829000,
        1280353249000, 1280371526000, 1280365962000, 1280369726000,
        1280362531000, 1280365962000, 1280367871000, 1280353249000,
        1280367871000, 1280369726000, 1280349829000, 1280363401000,
        1280367871000, 1280371526000, 1280365962000, 1280371526000,
        1280361650000, 1280367871000, 1280369726000, 1280367871000,
        1280349829000, 1280371526000, 1280367871000, 1280367871000,
        1280349829000, 1280367871000, 1280361650000, 1280362249000,
        1280362249000, 1280362249000, 1280370792000, 1280370792000,
        1280349829000, 1280371526000, 1280362531000, 1280371526000,
        1280349829000, 1280370359000, 1280365962000, 1280367871000,
        1280367871000, 1280349829000, 1280349829000, 1280353249000,
        1280353249000, 1280349829000, 1280361650000, 1280361650000,
        1280371526000, 1280362531000, 1280367871000, 1280369726000,
        1280370359000, 1280362249000, 1280363401000, 1280367871000,
        1280362249000, 1280362249000, 1280371526000, 1280371526000,
        1280367871000, 1280365962000, 1280349829000, 1280362249000,
        1280362249000, 1280362249000, 1280370792000, 1280371526000,
        1280371526000, 1280371526000, 1280371526000, 1280371526000,
        1280362249000, 1280370359000, 1280365962000, 1280371526000,
        1280362249000, 1280362249000, 1280362531000, 1280367871000,
        1280349829000, 1280363401000, 1280365460000, 1280367871000,
        1280366173000, 1280353249000, 1280349829000, 1280349829000,
        1280367871000, 1280367871000, 1280362249000, 1280366173000,
        1280367871000, 1280371526000, 1280353249000, 1280367871000,
        1280371526000, 1280369726000, 1280349829000, 1280371526000,
        1280349829000, 1280349829000, 1280371526000, 1280349829000,
        1280367871000, 1280367871000, 1280362531000, 1280367871000,
        1280361650000, 1280367871000, 1280362249000, 1280362531000,
        1280362249000, 1280367871000, 1280367871000, 1280371526000,
        1280371526000, 1280367871000, 1280363401000, 1280349829000,
        1280361650000, 1280367871000, 1280367871000, 1280362249000,
        1280367871000, 1280369726000, 1280362531000, 1280365962000,
        1280367871000, 1280367871000, 1280362531000, 1280363401000,
        1280367871000, 1280363401000, 1280363401000, 1280353249000,
        1280367871000, 1280370359000, 1280362249000, 1280371526000,
        1280365460000, 1280370792000, 1280349829000, 1280363401000,
        1280349829000, 1280367871000, 1280371526000, 1280353249000,
        1280367871000, 1280367871000, 1280363401000, 1280363401000,
        1280349829000, 1280365962000, 1280367871000, 1280362249000,
        1280362249000, 1280363401000, 1280371526000, 1280371526000,
        1280349829000, 1280362249000, 1280371526000, 1280349829000,
        1280349829000, 1280367871000, 1280362249000, 1280367871000,
        1280349829000, 1280361650000, 1280362249000, 1280370792000,
        1280365962000, 1280363401000, 1280362249000, 1280363401000,
        1280349829000, 1280365460000, 1280363401000, 1280349829000,
        1280365460000, 1280362249000, 1280363401000, 1280370359000,
        1280367871000, 1280371526000, 1280366173000, 1280370359000,
        1280361650000, 1280369726000, 1280365962000, 1280370792000,
        1280365460000, 1280370792000, 1280371526000, 1280365962000,
        1280363401000, 1280367871000, 1280365962000, 1280363401000,
        1280361650000, 1280362249000, 1280349829000, 1280365962000,
        1280365962000, 1280363401000, 1280353249000, 1280367871000,
        1280349829000, 1280367871000, 1280367871000, 1280361650000,
        1280363401000, 1280367871000, 1280361650000, 1280369726000,
        1280366173000, 1280365962000, 1280370359000, 1280367871000,
        1280365460000, 1280349829000, 1280367871000, 1280367871000,
        1280349829000, 1280363401000, 1280363401000, 1280349829000,
        1280349829000, 1280353249000, 1280366173000, 1280371526000,
        1280361650000, 1280363401000, 1280353249000, 1280349829000,
        1280371526000, 1280362531000, 1280367871000, 1280367871000,
        1280367871000, 1280363401000, 1280362249000, 1280367871000,
        1280362249000, 1280362249000, 1280367871000, 1280367871000,
        1280367871000, 1280349829000, 1280362249000, 1280370359000,
        1280363401000, 1280367871000, 1280362249000, 1280363401000,
        1280369726000, 1280371526000, 1280367871000, 1280367871000,
        1280362249000, 1280362249000, 1280371526000, 1280371526000,
        1280369726000, 1280371526000, 1280369726000, 1280365460000,
        1280349829000, 1280349829000, 1280363401000, 1280367871000,
        1280361650000, 1280361650000, 1280369726000, 1280362249000,
        1280367871000, 1280362249000, 1280367871000, 1280363401000,
        1280369726000, 1280349829000, 1280367871000, 1280362531000,
        1280367871000, 1280353249000, 1280367871000, 1280362531000,
        1280369726000, 1280367871000, 1280362612000, 1280362249000,
        1280365460000, 1280365962000, 1280363401000, 1280362249000,
        1280362249000, 1280363401000, 1280362249000, 1280363401000,
        1280365460000, 1280367871000, 1280361650000, 1280363401000,
        1280371526000, 1280367871000, 1280367871000, 1280362249000,
        1280362249000, 1280361650000, 1280367871000, 1280367871000,
        1280363401000, 1280366173000, 1280362249000, 1280349829000,
        1280363401000, 1280367871000, 1280367871000, 1280365962000,
        1280363401000, 1280367871000, 1280367871000, 1280365962000,
        1280370792000, 1280353249000, 1280367871000, 1280367871000,
        1280349829000, 1280349829000, 1280363401000, 1280353249000,
        1280367871000, 1280370792000, 1280369726000, 1280363401000,
        1280362249000, 1280365460000, 1280349829000, 1280367871000,
        1280362249000, 1280361650000, 1280367871000, 1280361650000,
        1280353249000, 1280370792000, 1280369726000, 1280350419000,
        1280367871000, 1280367871000, 1280366173000, 1280349829000,
        1280369726000, 1280361650000, 1280366173000, 1280371526000,
        1280349829000, 1280367871000, 1280369726000, 1280367871000,
        1280363401000, 1280362531000, 1280363401000, 1280353249000,
        1280349829000, 1280349829000, 1280363401000, 1280353249000,
        1280367871000, 1280371526000, 1280363401000, 1280349829000,
        1280353249000, 1280365460000, 1280366173000, 1280362249000,
        1280370792000, 1280362249000, 1280371526000, 1280367871000,
        1280365962000, 1280349829000, 1280367871000, 1280370359000,
        1280362249000, 1280367871000, 1280367871000, 1280370792000,
        1280370792000, 1280370792000, 1280367871000, 1280367871000,
        1280369726000, 1280371526000, 1280361650000, 1280367871000,
        1280369726000, 1280349829000, 1280371526000, 1280363401000,
        1280363401000, 1280349829000, 1280349829000, 1280361650000,
        1280371526000, 1280367871000, 1280362249000, 1280367871000,
        1280371526000, 1280370359000, 1280349829000, 1280367871000,
        1280367871000, 1280363401000, 1280349829000, 1280353249000,
        1280363401000, 1280349829000, 1280367871000, 1280367871000,
        1280362531000, 1280349829000, 1280362249000, 1280371526000,
        1280367871000, 1280367871000, 1280349829000, 1280362531000,
        1280365460000, 1280369726000, 1280367871000, 1280365460000,
        1280367871000, 1280349829000, 1280349829000, 1280365460000,
        1280362531000, 1280363401000, 1280367871000, 1280349829000,
        1280353249000, 1280365962000, 1280365460000, 1280349829000,
        1280349829000, 1280362612000, 1280349829000, 1280365962000,
        1280353249000, 1280349829000, 1280365460000, 1280371526000,
        1280363401000, 1280366173000, 1280365460000, 1280362531000,
        1280349829000, 1280349829000, 1280369726000, 1280369726000,
        1280367871000, 1280353249000, 1280361650000, 1280353249000,
        1280370792000, 1280371526000, 1280371526000, 1280349829000,
        1280363401000, 1280353249000, 1280361650000, 1280353249000,
        1280349829000, 1280367871000, 1280367871000, 1280367871000,
        1280362531000, 1280367871000, 1280362249000, 1280362249000,
        1280362249000, 1280361650000, 1280370792000, 1280369726000,
        1280363401000, 1280366173000, 1280363401000, 1280362249000,
        1280353249000, 1280365460000, 1280365962000, 1280349829000,
        1280370359000, 1280353249000, 1280365460000, 1280367871000,
        1280363401000, 1280370792000, 1280367871000, 1280367871000,
        1280365460000, 1280362249000, 1280349829000, 1280367871000,
        1280366173000, 1280353249000, 1280363401000, 1280370792000,
        1280362249000, 1280349829000, 1280365460000, 1280365962000,
        1280367871000, 1280363401000, 1280363401000, 1280370792000,
        1280362249000, 1280362249000, 1280371526000, 1280367871000,
        1280363401000, 1280353249000, 1280367871000, 1280371526000,
        1280349829000, 1280361650000, 1280353249000, 1280362249000,
        1280349829000, 1280362531000, 1280361650000, 1280371526000,
        1280367871000, 1280365962000, 1280362249000, 1280349829000,
        1280349829000, 1280362531000, 1280371526000, 1280367871000,
        1280365962000, 1280370359000, 1280365460000, 1280363401000,
        1280362249000, 1280367871000, 1280367871000, 1280361650000,
        1280361650000, 1280349829000, 1280349829000, 1280362531000,
        1280349829000, 1280365460000, 1280369726000, 1280371526000,
        1280367871000, 1280369726000, 1280370792000, 1280370359000,
        1280350419000, 1280361650000, 1280363401000, 1280361650000,
        1280363401000, 1280349829000, 1280362531000, 1280369726000,
        1280365962000, 1280362249000, 1280361650000, 1280362249000,
        1280371526000, 1280371526000, 1280367871000, 1280353249000,
        1280363401000, 1280353249000, 1280353249000, 1280363401000,
        1280266574000, 1280367871000, 1280362612000, 1280363401000,
        1280370792000, 1280362249000, 1280361650000, 1280366173000,
        1280371526000, 1280349829000, 1280367871000, 1280367871000,
        1280362249000, 1280367871000, 1280367871000, 1280371526000,
        1280353249000, 1280349829000, 1280362249000, 1280363401000,
        1280365962000, 1280367871000, 1280369726000, 1280367871000,
        1280365962000, 1280371526000, 1280367871000, 1280353249000,
        1280367871000, 1280371526000, 1280365460000, 1280366173000,
        1280349829000, 1280369726000, 1280361650000, 1280362531000,
        1280361650000, 1280362249000, 1280349829000, 1280349829000,
        1280369726000, 1280371526000, 1280363401000, 1280367871000,
        1280365460000, 1280369726000, 1280363401000, 1280363401000,
        1280371526000, 1280362531000, 1280349829000, 1280365460000,
        1280370792000, 1280365460000, 1280361650000, 1280362249000,
        1280367871000, 1280363401000, 1280362249000, 1280362249000,
        1280361650000, 1280367871000, 1280362249000, 1280349829000,
        1280367871000, 1280371526000, 1280363401000, 1280349829000,
        1280353249000, 1280370359000, 1280362249000, 1280349829000,
        1280361650000, 1280361650000, 1280370359000, 1280365460000,
        1280365460000, 1280362249000, 1280369726000, 1280371526000,
        1280363401000, 1280371526000, 1280365962000, 1280362249000,
        1280365460000, 1280367871000, 1280367871000, 1280366173000,
        1280361650000, 1280350419000, 1280362249000, 1280366173000,
        1280363401000, 1280362249000, 1280371526000, 1280367871000,
        1280371526000, 1280369726000, 1280369726000, 1280363401000,
        1280353249000, 1280362249000, 1280370792000, 1280371526000,
        1280362249000, 1280367871000, 1280349829000, 1280361650000,
        1280361650000, 1280362249000, 1280349829000, 1280362531000,
        1280353249000, 1280370792000, 1280369726000, 1280365460000,
        1280349829000, 1280349829000, 1280367871000, 1280365460000,
        1280367871000, 1280363401000, 1280371526000, 1280353249000,
        1280370792000, 1280349829000, 1280363401000, 1280362249000,
        1280367871000, 1280349829000, 1280362249000, 1280367871000,
        1280349829000, 1280371526000, 1280353249000, 1280362249000,
        1280349829000, 1280363401000, 1280367871000, 1280371526000,
        1280349829000, 1280349829000, 1280349829000, 1280362249000,
        1280362249000, 1280371526000, 1280367871000, 1280362249000,
        1280367871000, 1280363401000, 1280349829000, 1280362249000,
        1280366173000, 1280367871000, 1280371526000, 1280362249000,
        1280361650000, 1280367871000, 1280349829000, 1280349829000,
        1280371526000, 1280362249000, 1280349829000, 1280369726000,
        1280362249000, 1280349829000, 1280362249000, 1280361650000,
        1280363401000, 1280362249000, 1280349829000, 1280367871000,
        1280362531000, 1280363401000, 1280365460000, 1280363401000,
        1280363401000, 1280363401000, 1280367871000, 1280362531000,
        1280362249000, 1280367871000, 1280371526000, 1280349829000,
        1280370792000, 1280367871000, 1280349829000, 1280349829000,
        1280370359000, 1280362249000, 1280349829000, 1280367871000,
        1280363401000, 1280371526000, 1280363401000, 1280367871000,
        1280349829000, 1280349829000, 1280365460000, 1280370792000,
        1280367871000, 1280371526000, 1280349829000, 1280362249000,
        1280365460000, 1280361650000, 1280362249000, 1280363401000,
        1280365460000, 1280365962000, 1280369726000, 1280363401000,
        1280362249000, 1280370792000, 1280361650000, 1280363401000,
        1280367871000, 1280363401000, 1280371526000, 1280362531000,
        1280370359000, 1280367871000, 1280349829000, 1280349829000,
        1280361650000, 1280367871000, 1280349829000, 1280363401000,
        1280362249000, 1280349829000, 1280349829000, 1280353249000,
        1280363401000, 1280353249000, 1280371526000, 1280353249000,
        1280367871000, 1280366173000, 1280362249000, 1280367871000,
        1280367871000, 1280362531000, 1280367871000, 1280363401000,
        1280365962000, 1280363401000, 1280370792000, 1280371526000,
        1280367871000, 1280349829000, 1280370792000, 1280362531000,
        1280362249000, 1280349829000, 1280369726000, 1280362531000,
        1280369726000, 1280367871000, 1280370359000, 1280361650000,
        1280370359000, 1280363401000, 1280367871000, 1280349829000,
        1280361650000, 1280367871000, 1280369726000, 1280349829000,
        1280363401000, 1280369726000, 1280349829000, 1280371526000,
        1280349829000, 1280349829000, 1280362531000, 1280366173000,
        1280363401000, 1280363401000, 1280349829000, 1280367871000,
        1280369726000, 1280363401000, 1280367871000, 1280365962000,
        1280367871000, 1280362531000, 1280363401000, 1280371526000,
        1280349829000, 1280371526000, 1280365460000, 1280362249000,
        1280370792000, 1280363401000, 1280367871000, 1280362249000,
        1280362531000, 1280367871000, 1280371526000, 1280371526000,
        1280371526000, 1280367871000, 1280367871000, 1280349829000,
        1280370792000, 1280371526000, 1280365962000, 1280366173000,
        1280367871000, 1280362249000, 1280369726000, 1280369726000,
        1280363401000, 1280363401000, 1280365962000, 1280367871000,
        1280353249000, 1280367871000, 1280353249000, 1280365962000,
        1280362249000, 1280362531000, 1280370792000, 1280349829000,
        1280362249000, 1280367871000, 1280365460000, 1280349829000,
        1280365460000, 1280349829000, 1280365460000, 1280367871000,
        1280367871000, 1280369726000, 1280362531000, 1280349829000,
        1280367871000, 1280361650000, 1280367871000, 1280370792000,
        1280353249000, 1280362249000, 1280362531000, 1280363401000,
        1280362249000, 1280365962000, 1280367871000, 1280349829000,
        1280363401000, 1280361650000, 1280349829000, 1280363401000,
        1280361650000, 1280370792000, 1280349829000, 1280353249000,
        1280363401000, 1280365460000, 1280353249000, 1280370359000,
        1280349829000, 1280367871000, 1280365460000, 1280371526000,
        1280349829000, 1280371526000, 1280367871000, 1280362249000,
        1280367871000, 1280362249000, 1280365460000, 1280349829000,
        1280365460000, 1280349829000, 1280369726000, 1280353249000,
        1280367871000, 1280367871000, 1280363401000, 1280349829000,
        1280369726000, 1280371526000, 1280367871000, 1280353249000,
        1280369726000, 1280349829000, 1280349829000, 1280367871000,
        1280361650000, 1280371526000, 1280367871000, 1280367871000,
        1280349829000, 1280362249000, 1280367871000, 1280371526000,
        1280367871000, 1280361650000, 1280353249000, 1280349829000,
        1280349829000, 1280349829000, 1280370792000, 1280370359000,
        1280266574000, 1280362249000, 1280367871000, 1280367871000,
        1280349829000, 1280369726000, 1280370792000, 1280349829000,
        1280369726000, 1280362249000, 1280367871000, 1280365962000,
        1280365460000, 1280371526000, 1280363401000, 1280369726000,
        1280371526000, 1280361650000, 1280365460000, 1280371526000,
        1280365460000, 1280367871000, 1280353249000, 1280371526000,
        1280353249000, 1280367871000, 1280349829000, 1280367871000,
        1280366173000, 1280363401000, 1280349829000, 1280363401000,
        1280369726000, 1280363401000, 1280353249000, 1280349829000,
        1280366173000, 1280367871000, 1280349829000, 1280370359000,
        1280365460000, 1280367871000, 1280371526000, 1280362249000,
        1280367871000, 1280361650000, 1280363401000, 1280362531000,
        1280369726000, 1280353249000, 1280367871000, 1280353249000,
        1280369726000, 1280363401000, 1280349829000, 1280369726000,
        1280361650000, 1280371526000, 1280365460000, 1280367871000,
        1280362249000, 1280349829000, 1280365460000, 1280365962000,
        1280367871000, 1280349829000, 1280361650000, 1281042542000,
        1280367871000, 1280362612000, 1280349829000, 1280371526000,
        1280370792000, 1280353249000, 1280367871000, 1280349829000,
        1280349829000, 1280363401000, 1280367871000, 1280361650000,
        1280367871000, 1280349829000, 1280367871000, 1280367871000,
        1280353249000, 1280367871000, 1280361650000, 1280367871000,
        1280367871000, 1280362249000, 1280362249000, 1280365460000,
        1280367871000, 1280371526000, 1280363401000, 1280370792000,
        1280367871000, 1280367871000, 1280363401000, 1280367871000,
        1280361650000, 1280362249000, 1280367871000, 1280363401000,
        1280369726000, 1280362249000, 1280370792000, 1280362249000,
        1280369726000, 1280370792000, 1280370792000, 1280349829000,
        1280369726000, 1280367871000, 1280366173000, 1280367871000,
        1280367871000, 1280363401000, 1280353249000, 1280362249000,
        1280365962000, 1280365962000, 1280362531000, 1280363401000,
        1280362249000, 1280365962000, 1280349829000, 1280365460000,
        1280367871000, 1280367871000, 1280365460000, 1280353249000,
        1280353249000, 1280369726000, 1280349829000, 1280371526000,
        1280365962000, 1280371526000, 1280353249000, 1280369726000,
        1280370792000, 1280369726000, 1280362531000, 1280369726000,
        1280363401000, 1280370359000, 1280349829000, 1280371526000,
        1280363401000, 1280369726000, 1280367871000, 1280353249000,
        1280361650000, 1280365962000, 1280367871000, 1280369726000,
        1280365460000, 1280349829000, 1280365962000, 1280365962000,
        1280361650000, 1280361650000, 1280371526000, 1280367871000,
        1280371526000, 1280363401000, 1280361650000, 1280361650000,
        1280362249000, 1280362249000, 1280363401000, 1280367871000,
        1280365460000, 1280366173000, 1280362249000, 1280363401000,
        1280362249000, 1280349829000, 1280370792000, 1280369726000,
        1280363401000, 1280361650000, 1280363401000, 1280362249000,
        1280371526000, 1280363401000, 1280361650000, 1280362249000,
        1280362249000, 1280369726000, 1280363401000, 1280362249000,
        1280369726000, 1280266574000, 1280367871000, 1280371526000,
        1280353249000, 1280367871000, 1280363401000, 1280371526000,
        1280362249000, 1280363401000, 1280371526000, 1280363401000,
        1280361650000, 1280369726000, 1280349829000, 1280361650000,
        1280361650000, 1280367871000, 1280366173000, 1280371526000,
        1280361650000, 1280353249000, 1280371526000, 1280362531000,
        1280367871000, 1280362249000, 1280362612000, 1280369726000,
        1280367871000, 1280349829000, 1280353249000, 1280371526000,
        1280362531000, 1280362531000, 1280349829000, 1280367871000,
        1280365460000, 1280370792000, 1280370792000, 1280369726000,
        1280349829000, 1280362612000, 1280362249000, 1280367871000,
        1280367871000, 1280367871000, 1280367871000, 1280361650000,
        1280367871000, 1280371526000, 1280361650000, 1280365962000,
        1280369726000, 1280371526000, 1280349829000, 1280353249000,
        1280353249000, 1280349829000, 1280371526000, 1280370792000,
        1280363401000, 1280365962000, 1280363401000, 1280365460000,
        1280362249000, 1280362249000, 1280370359000, 1280362249000,
        1280349829000, 1280361650000, 1280362531000, 1280349829000,
        1280363401000, 1280370792000, 1280353249000, 1280349829000,
        1280370792000, 1280349829000, 1280362249000, 1280349829000,
        1280349829000, 1280371526000, 1280362249000, 1280365962000,
        1280361650000, 1280349829000, 1280353249000, 1280349829000,
        1280367871000, 1280371526000, 1280363401000, 1280367871000,
        1280363401000, 1280363401000, 1280367871000, 1280365460000,
        1280361650000, 1280363401000, 1280349829000, 1280369726000,
        1280349829000, 1280367871000, 1280361650000, 1280365962000,
        1280371526000, 1280353249000, 1280371526000, 1280367871000,
        1280367871000, 1280365460000, 1280367871000, 1280371526000,
        1280371526000, 1280367871000, 1280367871000, 1280363401000,
        1280369726000, 1280363401000, 1280361650000, 1280363401000,
        1280363401000, 1280367871000, 1280363401000, 1280361650000,
        1280362249000, 1280362531000, 1280370359000, 1280367871000,
        1280367871000, 1280362531000, 1280362249000, 1280369726000,
        1280365962000, 1280349829000, 1280366173000, 1280367871000,
        1280363401000, 1280370792000, 1280361650000, 1280361650000,
        1280353249000, 1280349829000, 1280367871000, 1280365460000,
        1280365962000, 1280371526000, 1280353249000, 1280349829000,
        1280367871000, 1280363401000, 1280362249000, 1280371526000,
        1280362531000, 1280365962000, 1280362249000, 1280361650000,
        1280361650000, 1280367871000, 1280349829000, 1280367871000,
        1280349829000, 1280370792000, 1280349829000, 1280370359000,
        1280362249000, 1280363401000, 1280363401000, 1280365460000,
        1280361650000, 1280370792000, 1280362249000, 1280361650000,
        1280362249000, 1280371526000, 1280353249000, 1280367871000,
        1280367871000, 1280365460000, 1280371526000, 1280362531000,
        1280362249000, 1280371526000, 1280367871000, 1280370792000,
        1280362249000, 1280371526000, 1280367871000, 1280363401000,
        1280367871000, 1280369726000, 1280367871000, 1280361650000,
        1280363401000, 1280349829000, 1280370359000, 1280362249000,
        1280367871000, 1280367871000, 1280349829000, 1280349829000,
        1280362249000, 1280370359000, 1280365962000, 1280361650000,
        1280371526000, 1280362531000, 1280367871000, 1280353249000,
        1280363401000, 1280371526000, 1280369726000, 1280371526000,
        1280361650000, 1280365460000, 1280353249000, 1280367871000,
        1280363401000, 1280365962000, 1280362249000, 1280367871000,
        1280361650000, 1280370792000, 1280367871000, 1280363401000,
        1280371526000, 1280371526000, 1280371526000, 1280349829000,
        1280371526000, 1280367871000, 1280353249000, 1280349829000,
        1280361650000, 1280370792000, 1280365460000, 1280365460000,
        1280367871000, 1280362531000, 1280367871000, 1280370359000,
        1280362249000, 1280365962000, 1280366173000, 1280370792000,
        1280367871000, 1280362249000, 1280371526000, 1280365460000,
        1280365962000, 1280353249000, 1280367871000, 1280349829000,
        1280363401000, 1280369726000, 1280371526000, 1280349829000,
        1280367871000, 1280367871000, 1280361650000, 1280361650000,
        1280371526000, 1280363401000, 1280367871000, 1280367871000,
        1280369726000, 1280369726000, 1280349829000, 1280353249000,
        1280362249000, 1280367871000, 1280367871000, 1280361650000,
        1280349829000, 1280369726000, 1280362531000, 1280371526000,
        1280367871000, 1280349829000, 1280361650000, 1280363401000,
        1280349829000, 1280361650000, 1280349829000, 1280362249000,
        1280363401000, 1280349829000, 1280371526000, 1280363401000,
        1280353249000, 1280367871000, 1280361650000, 1280366173000,
        1280353249000, 1280367871000, 1280371526000, 1280349829000,
        1280435760000, 1280362249000, 1280370792000, 1280353249000,
        1280362531000, 1280371526000, 1280366173000, 1280365962000,
        1280362612000, 1280349829000, 1280361650000, 1280365460000,
        1280362249000, 1280370792000, 1280349829000, 1280370792000,
        1280367871000, 1280367871000, 1280367871000, 1280369726000,
        1280363401000, 1280370359000, 1280370792000, 1280363401000,
        1280367871000, 1280363401000, 1280362249000, 1280367871000,
        1280371526000, 1280367871000, 1280371526000, 1280365962000,
        1280353249000, 1280367871000, 1280266574000, 1280371526000,
        1280362249000, 1280367871000, 1280362531000, 1280361650000,
        1280369726000, 1280367871000, 1280369726000, 1280365460000,
        1280363401000, 1280366173000, 1280365460000, 1280366173000,
        1280362249000, 1280363401000, 1280370792000, 1280363401000,
        1280349829000, 1280349829000, 1280363401000, 1280366173000,
        1280371526000, 1280361650000, 1280365460000, 1280363401000,
        1280362531000, 1280363401000, 1280362249000, 1280353249000,
        1280366173000, 1280365460000, 1280367871000, 1280367871000,
        1280363401000, 1280367871000, 1280349829000, 1280362249000,
        1280363401000, 1280349829000, 1280362249000, 1280350419000,
        1280369726000, 1280349829000, 1280367871000, 1280369726000,
        1280363401000, 1280369726000, 1280362249000, 1280362531000,
        1280349829000, 1280362612000, 1280361650000, 1280365460000,
        1280366173000, 1280362249000, 1280353249000, 1280362249000,
        1280371526000, 1280367871000, 1280349829000, 1280367871000,
        1280361650000, 1280361650000, 1280349829000, 1280362249000,
        1280363401000, 1280363401000, 1280361650000, 1280362531000,
        1280362249000, 1280363401000, 1280365460000, 1280367871000,
        1280367871000, 1280362249000, 1280367871000, 1280362531000,
        1280367871000, 1280367871000, 1280349829000, 1280369726000,
        1280362249000, 1280371526000, 1280363401000, 1280362249000,
        1280362531000, 1280353249000, 1280371526000, 1280363401000,
        1280369726000, 1280363401000, 1280362612000, 1280363401000,
        1280362249000, 1280365962000, 1280363401000, 1280367871000,
        1280369726000, 1280371526000, 1280367871000, 1280353249000,
        1280366173000, 1280353249000, 1280353249000, 1280363401000,
        1280367871000, 1280367871000, 1280362531000, 1280371526000,
        1280371526000, 1280371526000, 1280353249000, 1280363401000,
        1280363401000, 1280365460000, 1280361650000, 1280363401000,
        1280362531000, 1280363401000, 1280361650000, 1280367871000,
        1280371526000, 1280367871000, 1280365460000, 1280362249000,
        1280365962000, 1280367871000, 1280365460000, 1280362249000,
        1280362249000, 1280365460000, 1280367871000, 1280349829000,
        1280369726000, 1280349829000, 1280349829000, 1280362531000,
        1280349829000, 1280366173000, 1280349829000, 1280362249000,
        1280371526000, 1280365460000, 1280367871000, 1280367871000,
        1280370792000, 1280349829000, 1280353249000, 1280349829000,
        1280363401000, 1280362531000, 1280367871000, 1280362249000,
        1280367871000, 1280365460000, 1280367871000, 1280365962000,
        1280363401000, 1280349829000, 1280366173000, 1280370792000,
        1280361650000, 1280362249000, 1280371526000, 1280365962000,
        1280371526000, 1280370359000, 1280361650000, 1280353249000,
        1280362531000, 1280365460000, 1280365962000, 1280367871000,
        1280362249000, 1280362249000, 1280367871000, 1280353249000,
        1280367871000, 1280371526000, 1280363401000, 1280365962000,
        1280371526000, 1280362531000, 1280363401000, 1280367871000,
        1280362249000, 1280362249000, 1280363401000, 1280362531000,
        1280371526000, 1280363401000, 1280349829000, 1280363401000,
        1280353249000, 1280367871000, 1280361650000, 1280363401000,
        1280353249000, 1280362249000, 1280353249000, 1280349829000,
        1280363401000, 1280367871000, 1280367871000, 1280366173000,
        1280362249000, 1280363401000, 1280363401000, 1280349829000,
        1280365460000, 1280366173000, 1280370359000, 1280367871000,
        1280369726000, 1280366173000, 1280349829000, 1280369726000,
        1280349829000, 1280370359000, 1280353249000, 1280363401000,
        1280369726000, 1280361650000, 1280366173000, 1280365460000,
        1280366173000, 1280362249000, 1280367871000, 1280361650000,
        1280362531000, 1280362249000, 1280371526000, 1280369726000,
        1280362249000, 1280349829000, 1280363401000, 1280367871000,
        1280362531000, 1280371526000, 1280362249000, 1280367871000,
        1280349829000, 1280362612000, 1280370792000, 1280353249000,
        1280369726000, 1280367871000, 1280349829000, 1280362249000,
        1280353249000, 1280367871000, 1280349829000, 1280349829000,
        1280371526000, 1280361650000, 1280362612000, 1280349829000,
        1280362249000, 1280367871000, 1280363401000, 1280369726000,
        1280361650000, 1280353249000, 1280365460000, 1280349829000,
        1280349829000, 1280349829000, 1280365962000, 1280365962000,
        1280369726000, 1280365962000, 1280366173000, 1280349829000,
        1280362249000, 1280365460000, 1280349829000, 1280366173000,
        1280367871000, 1280370359000, 1280367871000, 1280362531000,
        1280363401000, 1280349829000, 1280363401000, 1280367871000,
        1280353249000, 1280363401000, 1280369726000, 1280362249000,
        1280361650000, 1280369726000, 1280362531000, 1280362612000,
        1280361650000, 1280363401000, 1280353249000, 1280350419000,
        1280370792000, 1280370792000, 1280353249000, 1280362249000,
        1280367871000, 1280361650000, 1280362249000, 1280362249000,
        1280353249000, 1280353249000, 1280353249000, 1280370792000,
        1280365460000, 1280349829000, 1280362249000, 1280349829000,
        1280367871000, 1280349829000, 1280362531000, 1280370792000,
        1280365460000, 1280370792000, 1280367871000, 1280371526000,
        1280363401000, 1280371526000, 1280369726000, 1280353249000,
        1280361650000, 1280349829000, 1280363401000, 1280363401000,
        1280362249000, 1280365962000, 1280361650000, 1280363401000,
        1280365460000, 1280370792000, 1280349829000, 1280353249000,
        1280371526000, 1280353249000, 1280367871000, 1280349829000,
        1280370792000, 1280369726000, 1280365460000, 1280365962000,
        1280349829000, 1280362249000, 1280362531000, 1280367871000,
        1280353249000, 1280369726000, 1280370792000, 1280363401000,
        1280363401000, 1280371526000, 1280365460000, 1280362249000,
        1280361650000, 1280367871000, 1280363401000, 1280369726000,
        1280363401000, 1280349829000, 1280371526000, 1280361650000,
        1280370359000, 1280367871000, 1280363401000, 1280367871000,
        1280362249000, 1280371526000, 1280369726000, 1280349829000,
        1280371526000, 1280371526000, 1280349829000, 1280367871000,
        1280367871000, 1280367871000, 1280365460000, 1280361650000,
        1280363401000, 1280362249000, 1280369726000, 1280362249000,
        1280367871000, 1280367871000, 1280367871000, 1280362249000,
        1280363401000, 1280349829000, 1280361650000, 1280362249000,
        1280362249000, 1280363401000, 1280363401000, 1280353249000,
        1280349829000, 1280362531000, 1280367871000, 1280353249000,
        1280367871000, 1280369726000, 1280361650000, 1280371526000,
        1280371526000, 1280349829000, 1280353249000, 1280371526000,
        1280362249000, 1280370792000, 1280365962000, 1280371526000,
        1280367871000, 1280361650000, 1280367871000, 1280362249000,
        1280367871000, 1280349829000, 1280349829000, 1280367871000,
        1280371526000, 1280353249000, 1280367871000, 1280370792000,
        1280353249000, 1280361650000, 1280361650000, 1280371526000,
        1280362612000, 1280362249000, 1280365962000, 1280349829000,
        1280365460000, 1280349829000, 1280367871000, 1280362249000,
        1280370792000, 1280369726000, 1280365962000, 1280363401000,
        1280363401000, 1280362531000, 1280369726000, 1280367871000,
        1280365460000, 1280371526000, 1280353249000, 1280367871000,
        1280362249000, 1280367871000, 1280367871000, 1280349829000,
        1280367871000, 1280349829000, 1280369726000, 1280367871000,
        1280349829000, 1280367871000, 1280370792000, 1280370359000,
        1280362531000, 1280371526000, 1280362249000, 1280371526000,
        1280369726000, 1280367871000, 1280362249000, 1280349829000,
        1280362249000, 1280362249000, 1280370359000, 1280365460000,
        1280371526000, 1280363401000, 1280350419000, 1280363401000,
        1280367871000, 1280363401000, 1280363401000, 1280370359000,
        1280369726000, 1280365460000, 1280371526000, 1280367871000,
        1280369726000, 1280370359000, 1280369726000, 1280366173000,
        1280367871000, 1280367871000, 1280367871000, 1280349829000,
        1280353249000, 1280362249000, 1280266574000, 1280362249000,
        1280367871000, 1280369726000, 1280361650000, 1280371526000,
        1280367871000, 1280363401000, 1280363401000, 1280367871000,
        1280369726000, 1280367871000, 1280362249000, 1280367871000,
        1280371526000, 1280367871000, 1280367871000, 1280369726000,
        1280361650000, 1280371526000, 1280350419000, 1280349829000,
        1280362612000, 1280350419000, 1280353249000, 1280362249000,
        1280369726000, 1280349829000, 1280362249000, 1280362531000,
        1280367871000, 1280361650000, 1280362531000, 1280370792000,
        1280362249000, 1280365460000, 1280362249000, 1280362249000,
        1280362249000, 1280370359000, 1280349829000, 1280367871000,
        1280369726000, 1280371526000, 1280370792000, 1280363401000,
        1280370792000, 1280362249000, 1280367871000, 1280371526000,
        1280363401000, 1280363401000, 1280362612000, 1280367871000,
        1280363401000, 1280362249000, 1280371526000, 1280363401000,
        1280367871000, 1280353249000, 1280349829000, 1280365460000,
        1280362249000, 1280365460000, 1280367871000, 1280361650000,
        1280365962000, 1280371526000, 1280363401000, 1280363401000,
        1280362249000, 1280349829000, 1280367871000, 1280362249000,
        1280367871000, 1280369726000, 1280371526000, 1280363401000,
        1280367871000, 1280369726000, 1280362531000, 1280367871000,
        1280367871000, 1280363401000, 1280353249000, 1280371526000,
        1280349829000, 1280362249000, 1280353249000, 1280349829000,
        1280367871000, 1280349829000, 1280349829000, 1280367871000,
        1280365962000, 1280362249000, 1280369726000, 1280367871000,
        1280361650000, 1280365460000, 1280371526000, 1280367871000,
        1280349829000, 1280349829000, 1280361650000, 1280363401000,
        1280366173000, 1280367871000, 1280371526000, 1280366173000,
        1280367871000, 1280367871000, 1280362249000, 1280349829000,
        1280349829000, 1280363401000, 1280370359000, 1280369726000,
        1280366173000, 1280362249000, 1280362249000, 1280363401000,
        1280370792000, 1280371526000, 1280367871000, 1280362531000,
        1280370359000, 1280349829000, 1280363401000, 1280362612000,
        1280371526000, 1280362531000, 1280362249000, 1280362531000,
        1280362249000, 1280367871000, 1280365460000, 1280353249000,
        1280349829000, 1280362249000, 1280365962000, 1280370792000,
        1280371526000, 1280369726000, 1280369726000, 1280371526000,
        1280370359000, 1280266574000, 1280349829000, 1280362249000,
        1280362249000, 1280362249000, 1280371526000, 1280349829000,
        1280361650000, 1280361650000, 1280361650000, 1280362249000,
        1280369726000, 1280371526000, 1280365962000, 1280363401000,
        1280363401000, 1280363401000, 1280367871000, 1280363401000,
        1280361650000, 1280369726000, 1280362249000, 1280367871000,
        1280371526000, 1280365962000, 1280363401000, 1280353249000,
        1280361650000, 1280367871000, 1280349829000, 1280367871000,
        1280353249000, 1280353249000, 1280362249000, 1280367871000,
        1280371526000, 1280371526000, 1280362249000, 1280349829000,
        1280349829000, 1280349829000, 1280367871000, 1280371526000,
        1280362249000, 1280369726000, 1280369726000, 1280363401000,
        1280371526000, 1280367871000, 1280370792000, 1280349829000,
        1280370792000, 1280371526000, 1280367871000, 1280353249000,
        1280367871000, 1280367871000, 1280362249000, 1280353249000,
        1280367871000, 1280353249000, 1280367871000, 1280349829000,
        1280266574000, 1280361650000, 1280371526000, 1280349829000,
        1280366173000, 1280367871000, 1280370359000, 1280370359000,
        1280361650000, 1280363401000, 1280362249000, 1280349829000,
        1280370792000, 1280367871000, 1280362249000, 1280369726000,
        1280363401000, 1280365962000, 1280362531000, 1280362249000,
        1280349829000, 1280367871000, 1280349829000, 1280363401000,
        1280349829000, 1280370792000, 1280363401000, 1280363401000,
        1280366173000, 1280365962000, 1280353249000, 1280349829000,
        1280349829000, 1280349829000, 1280366173000, 1280353249000,
        1280353249000, 1280369726000, 1280353249000, 1280363401000,
        1280363401000, 1280367871000, 1280367871000, 1280371526000,
        1280363401000, 1280349829000, 1280363401000, 1280367871000,
        1280362531000, 1280349829000, 1280353249000, 1280365460000,
        1280367871000, 1280365460000, 1280365962000, 1280367871000,
        1280362249000, 1280349829000, 1280365460000, 1280369726000,
        1280349829000, 1280361650000, 1280367871000, 1280362249000,
        1280367871000, 1280362249000, 1280365962000, 1280367871000,
        1280365460000, 1280365460000, 1280371526000, 1280369726000,
        1280362249000, 1280365460000, 1280362249000, 1280363401000,
        1280361650000, 1280367871000, 1280367871000, 1280371526000,
        1280349829000, 1280366173000, 1280349829000, 1280361650000,
        1280363401000, 1280362249000, 1280371526000, 1280367871000,
        1280363401000, 1280361650000, 1280367871000, 1280362249000,
        1280369726000, 1280369726000, 1280362249000, 1280361650000,
        1280369726000, 1280349829000, 1280371526000, 1280367871000,
        1280349829000, 1280349829000, 1280349829000, 1280371526000,
        1280362531000, 1280371526000, 1280349829000, 1280365460000,
        1280362249000, 1280369726000, 1280362249000, 1280365962000,
        1280371526000, 1280349829000, 1280362531000, 1280362249000,
        1280363401000, 1280369726000, 1280367871000, 1280371526000,
        1280365962000, 1280369726000, 1280363401000, 1280365962000,
        1280363401000, 1280369726000, 1280365460000, 1280367871000,
        1280361650000, 1280362531000, 1280371526000, 1280369726000,
        1280362612000, 1280349829000, 1280361650000, 1280362249000,
        1280363401000, 1280365460000, 1280349829000, 1280369726000,
        1280366173000, 1280369726000, 1280371526000, 1280365460000,
        1280371526000, 1280369726000, 1280369726000, 1280366173000,
        1280362249000, 1280361650000, 1280367871000, 1280362249000,
        1280367871000, 1280369726000, 1280363401000, 1280365962000,
        1280362531000, 1280353249000, 1280353249000, 1280363401000,
        1280367871000, 1280367871000, 1280369726000, 1280349829000,
        1280371526000, 1280371526000, 1280367871000, 1280371526000,
        1280371526000, 1280350419000, 1280362249000, 1280349829000,
        1280365460000, 1280367871000, 1280369726000, 1280365962000,
        1280367871000, 1280365962000, 1280365460000, 1280361650000,
        1280371526000, 1280367871000, 1280266574000, 1280366173000,
        1280363401000, 1280367871000, 1280362249000, 1280353249000,
        1280362249000, 1280353249000, 1280367871000, 1280349829000,
        1280350419000, 1280370792000, 1280349829000, 1280367871000,
        1280365460000, 1280366173000, 1280363401000, 1280362249000,
        1280363401000, 1280367871000, 1280366173000, 1280363401000,
        1280371526000, 1280353249000, 1280367871000, 1280361650000,
        1280369726000, 1280369726000, 1280370792000, 1280362531000,
        1280363401000, 1280349829000, 1280362249000, 1280367871000,
        1280362249000, 1280349829000, 1280366173000, 1280349829000,
        1280363401000, 1280371526000, 1280362249000, 1280363401000,
        1280349829000, 1280363401000, 1280362249000, 1280362249000,
        1280365460000, 1280363401000, 1280353249000, 1280371526000,
        1280349829000, 1280353249000, 1280362612000, 1280371526000,
        1280362249000, 1280363401000, 1280362531000, 1280361650000,
        1280369726000, 1280365460000, 1280349829000, 1280362249000,
        1280349829000, 1280363401000, 1280362249000, 1280349829000,
        1280365460000, 1280349829000, 1280365460000, 1280362612000,
        1280371526000, 1280363401000, 1280349829000, 1280362249000,
        1280361650000, 1280369726000, 1280362249000, 1280367871000,
        1280362249000, 1280349829000, 1280349829000, 1280365962000,
        1280349829000, 1280367871000, 1280349829000, 1280363401000,
        1280367871000, 1280362249000, 1280369726000, 1280369726000,
        1280363401000, 1280370792000, 1280365460000, 1280367871000,
        1280353249000, 1280353249000, 1280369726000, 1280361650000,
        1280369726000, 1280367871000, 1280361650000, 1280371526000,
        1280349829000, 1280367871000, 1280363401000, 1280349829000,
        1280361650000, 1280367871000, 1280349829000, 1280365460000,
        1280353249000, 1280363401000, 1280363401000, 1280362249000,
        1280353249000, 1280367871000, 1280367871000, 1280367871000,
        1280349829000, 1280353249000, 1280353249000, 1280362249000,
        1280367871000, 1280363401000, 1280362249000, 1280363401000,
        1280370792000, 1280353249000, 1280363401000, 1280367871000,
        1280367871000, 1280369726000, 1280363401000, 1280362531000,
        1280349829000, 1280369726000, 1280362531000, 1280353249000,
        1280365962000, 1280367871000, 1280363401000, 1280353249000,
        1280363401000, 1280363401000, 1280363401000, 1280349829000,
        1280367871000, 1280362249000, 1280361650000, 1280349829000,
        1280367871000, 1280367871000, 1280370792000, 1280367871000,
        1280362249000, 1280365460000, 1280362249000, 1280370359000,
        1280349829000, 1280370792000, 1280363401000, 1280349829000,
        1280350419000, 1280362249000, 1280362531000, 1280362249000,
        1280367871000, 1280369726000, 1280349829000, 1280365460000,
        1280367871000, 1280353249000, 1280371526000, 1280371526000,
        1280361650000, 1280367871000, 1280353249000, 1280361650000,
        1280369726000, 1280370792000, 1280363401000, 1280370792000,
        1280367871000, 1280349829000, 1280363401000, 1280367871000,
        1280362249000, 1280371526000, 1280371526000, 1280367871000,
        1280371526000, 1280353249000, 1280370792000, 1280369726000,
        1280369726000, 1280361650000, 1280349829000, 1280370359000,
        1280362531000, 1280363401000,
      ],
      w: null,
    },
    {
      d: { type: "Medium" },
      id: "101794-2943",
      id1: "101794",
      id2: "2943",
      dt: [1280064191000],
    },
    {
      d: { type: "Low" },
      id: "101794-756347",
      id1: "101794",
      id2: "756347",
      dt: [1280064191000],
    },
    {
      d: { type: "Low" },
      id: "237619-10595",
      id1: "237619",
      id2: "10595",
      dt: [1280279745000],
    },
    {
      d: { type: "Medium" },
      id: "506332-2943",
      id1: "506332",
      id2: "2943",
      dt: [1280064812000],
    },
    {
      d: { type: "Medium" },
      id: "580954-435806",
      id1: "580954",
      id2: "435806",
      dt: [1280062051000],
    },
    {
      d: { type: "Low" },
      id: "580954-2943",
      id1: "580954",
      id2: "2943",
      dt: [1280062051000],
    },
    {
      d: { type: "Low" },
      id: "787553-47117",
      id1: "787553",
      id2: "47117",
      dt: [1281003222000],
    },
    {
      d: { type: "Medium" },
      id: "787553-371805",
      id1: "787553",
      id2: "371805",
      dt: [1281003222000],
    },
    {
      d: { type: "Low" },
      id: "210870-246854",
      id1: "210870",
      id2: "246854",
      dt: [1280113457000],
    },
    {
      d: { type: "Low" },
      id: "210870-825421",
      id1: "210870",
      id2: "825421",
      dt: [1280113457000],
    },
    {
      d: { type: "Low" },
      id: "757298-144287",
      id1: "757298",
      id2: "144287",
      dt: [1279662373000],
    },
    {
      d: { type: "Low" },
      id: "757298-603719",
      id1: "757298",
      id2: "603719",
      dt: [1279662373000],
    },
    {
      d: { type: "Medium" },
      id: "891670-522842",
      id1: "891670",
      id2: "522842",
      dt: [1280062051000],
    },
    {
      d: { type: "Low" },
      id: "891670-2943",
      id1: "891670",
      id2: "2943",
      dt: [1280062051000],
    },
    {
      d: { type: "Low" },
      id: "884733-663814",
      id1: "884733",
      id2: "663814",
      dt: [1280203618000],
    },
    {
      d: { type: "Low" },
      id: "884733-842115",
      id1: "884733",
      id2: "842115",
      dt: [1280203618000],
    },
    {
      d: { type: "Medium" },
      id: "706882-370231",
      id1: "706882",
      id2: "370231",
      dt: [1280062051000],
    },
    {
      d: { type: "High" },
      id: "706882-2943",
      id1: "706882",
      id2: "2943",
      dt: [1280062051000],
    },
    {
      d: { type: "Medium" },
      id: "290749-47117",
      id1: "290749",
      id2: "47117",
      dt: [1281066835000],
    },
    {
      d: { type: "Low" },
      id: "290749-521329",
      id1: "290749",
      id2: "521329",
      dt: [1281066835000],
    },
    {
      d: { type: "Low" },
      id: "292984-51324",
      id1: "292984",
      id2: "51324",
      dt: [1280492030000],
    },
    {
      d: { type: "Low" },
      id: "292984-71919",
      id1: "292984",
      id2: "71919",
      dt: [1280492030000],
    },
    {
      d: { type: "Medium" },
      id: "743035-75460",
      id1: "743035",
      id2: "75460",
      dt: [1281138480000],
    },
    {
      d: { type: "Medium" },
      id: "743035-495170",
      id1: "743035",
      id2: "495170",
      dt: [1281138480000],

// ...truncated 38476 lines
<!doctype html>
<html lang="en" style="background-color: #2d383f">
  <head>
    <meta charset="utf-8" />
    <title>Customise the Time Bar</title>
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/keylines.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/minimalsdk.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/sdk-layout.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/demo.css" />
    <link rel="stylesheet" type="text/css" href="jquery-ui-dist/jquery-ui.css" />
    <script src="jquery" defer type="text/javascript"></script>
    <link rel="stylesheet" href="./style.css" />
  </head>
  <body>
    <div id="klchart" class="klchart klchart-timebar"></div>
    <div id="kltimebar" class="kltimebar"></div>
    <script src="jquery-ui-dist/jquery-ui.js" defer type="text/javascript"></script>
    <script type="module" src="./code.js"></script>
  </body>
</html>
.slider {
  margin: 10px;
}
.stat {
  border: 1px solid #cacdcf;
  padding: 4px;
  background: #f5f5f5;
}

#playSlider,
#hcSlider {
  display: inline-block;
  width: 180px;
}

.pad {
  margin-bottom: 10px;
}

.kltimebar {
  height: 100%;
}

.input-small {
  min-height: 38px;
  width: 46px;
}
.nav-tabs {
  border-bottom: 1px solid #ccc;
  padding: 0px;
}
.tab-links {
  display: inline-block;
}
.tab-links:not(:first-child) {
  margin-left: -4px;
}

.tab-links.active {
  border: 0px 0px 3px 0px solid #00aa70;
}
.tab-pane.active {
  display: block;
  visibility: visible;
  overflow: hidden;
}

input.inline {
  margin-left: 10px;
}

Terms of use

These terms do not alter or supersede any existing agreements between you (or your employer) and us.

By accessing or using any Content you agree to be bound by these Terms of Use. Please review these terms carefully before using the website.

The contents of this website, including but not limited to any text, code samples, API references, schemas, interactive tools, and other materials (collectively, the 'Content'), are made available for informational and internal evaluation purposes only. All intellectual property rights in the Content are reserved. No licence is granted to use the Content for any commercial purpose, or to copy, distribute, modify, reverse-engineer, or incorporate any part of the Content into any product or service, without our prior written consent.

This Content is provided “as is” and “as available,” without any representations, warranties, or guarantees of any kind, whether express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, non-infringement, or accuracy. To the fullest extent permitted by applicable law, we expressly exclude and disclaim all implied warranties, conditions, and other terms that might otherwise be implied.

We disclaim all liability for any loss or damage, whether direct, indirect, incidental, consequential, or otherwise, arising from any reliance placed on the Content or from your use of it, to the fullest extent permitted by applicable law. By continuing to access or use the Content, you acknowledge and agree to these terms.