<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Interactive BOM for KiCAD</title>
  <style type="text/css">
:root {
  --pcb-edge-color: black;
  --pad-color: #878787;
  --pad-hole-color: #CCCCCC;
  --pad-color-highlight: #D04040;
  --pin1-outline-color: #ffb629;
  --pin1-outline-color-highlight: #b4ff03;
  --silkscreen-edge-color: #aa4;
  --silkscreen-polygon-color: #4aa;
  --silkscreen-text-color: #4aa;
  --fabrication-edge-color: #907651;
  --fabrication-polygon-color: #907651;
  --fabrication-text-color: #a27c24;
  --track-color: #def5f1;
  --track-color-highlight: #D04040;
  --zone-color: #def5f1;
  --zone-color-highlight: #d0404080;
}

html, body {
  margin: 0px;
  height: 100%;
  font-family: Verdana, sans-serif;
}

.dark.topmostdiv {
  --pcb-edge-color: #eee;
  --pad-color: #808080;
  --pin1-outline-color: #ffa800;
  --pin1-outline-color-highlight: #ccff00;
  --track-color: #42524f;
  --zone-color: #42524f;
  background-color: #252c30;
  color: #eee;
}

button {
  background-color: #eee;
  border: 1px solid #888;
  color: black;
  height: 44px;
  width: 44px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  font-weight: bolder;
}

.dark button {
  /* This will be inverted */
  background-color: #c3b7b5;
}

button.depressed {
  background-color: #0a0;
  color: white;
}

.dark button.depressed {
  /* This will be inverted */
  background-color: #b3b;
}

button:focus {
  outline: 0;
}

button#tb-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}

button#lr-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}

button#bom-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-grouped-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m4 0h5m4 0h3M6.1 22h3m3.9 0h5m4 0h4m-16-8h4m4 0h4'/%3E%3Cpath stroke-linecap='null' d='M5 17.5h22M5 26.6h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-ungrouped-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m-4 8h3m-3 8h4'/%3E%3Cpath stroke-linecap='null' d='M5 13.5h22m-22 8h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-netlist-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke='%23000' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-width='2' d='M6 26l6-6v-8m13.8-6.3l-6 6v8'/%3E%3Ccircle cx='11.8' cy='9.5' r='2.8' stroke-width='2'/%3E%3Ccircle cx='19.8' cy='22.8' r='2.8' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}

button#copy {
  background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E");
  background-position: 6px 6px;
  background-repeat: no-repeat;
  background-size: 26px 26px;
  border-radius: 6px;
  height: 40px;
  width: 40px;
  margin: 10px 5px;
}

button#copy:active {
    box-shadow: inset 0px 0px 5px #6c6c6c;
}

textarea.clipboard-temp {
  position: fixed;
  top: 0;
  left: 0;
  width: 2em;
  height: 2em;
  padding: 0;
  border: None;
  outline: None;
  box-shadow: None;
  background: transparent;
}

.left-most-button {
  border-right: 0;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.middle-button {
  border-right: 0;
}

.right-most-button {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.button-container {
  font-size: 0;
  margin: 10px 10px 10px 0px;
}

.dark .button-container {
  filter: invert(1);
}

.button-container button {
  background-size: 32px 32px;
  background-position: 5px 5px;
  background-repeat: no-repeat;
}

@media print {
  .hideonprint {
    display: none;
  }
}

canvas {
  cursor: crosshair;
}

canvas:active {
  cursor: grabbing;
}

.fileinfo {
  width: 100%;
  max-width: 1000px;
  border: none;
  padding: 5px;
}

.fileinfo .title {
  font-size: 20pt;
  font-weight: bold;
}

.fileinfo td {
  overflow: hidden;
  white-space: nowrap;
  max-width: 1px;
  width: 50%;
  text-overflow: ellipsis;
}

.bom {
  border-collapse: collapse;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 10pt;
  table-layout: fixed;
  width: 100%;
  margin-top: 1px;
}

.bom th, .bom td {
  border: 1px solid black;
  padding: 5px;
  word-wrap: break-word;
  text-align: center;
  position: relative;
}

.dark .bom th, .dark .bom td {
  border: 1px solid #777;
}

.bom th {
  background-color: #CCCCCC;
  background-clip: padding-box;
}

.dark .bom th {
  background-color: #3b4749;
}

.bom tr.highlighted:nth-child(n) {
  background-color: #cfc;
}

.dark .bom tr.highlighted:nth-child(n) {
  background-color: #226022;
}

.bom tr:nth-child(even) {
  background-color: #f2f2f2;
}

.dark .bom tr:nth-child(even) {
  background-color: #313b40;
}

.bom tr.checked {
  color: #aaa;
}

.dark .bom tr.checked {
  color: #666;
}

.bom tr {
  transition: background-color 0.2s;
}

.bom .numCol {
  width: 25px;
}

.bom .Description {
  width: 10%;
}

.bom .Part {
  width: 10%;
}

.bom .Value {
  width: 15%;
}

.bom .Quantity {
  width: 65px;
}

.bom th .sortmark {
  position: absolute;
  right: 1px;
  top: 1px;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #221 transparent;
  transform-origin: 50% 85%;
  transition: opacity 0.2s, transform 0.4s;
}

.dark .bom th .sortmark {
  filter: invert(1);
}

.bom th .sortmark.none {
  opacity: 0;
}

.bom th .sortmark.desc {
  transform: rotate(180deg);
}

.bom th:hover .sortmark.none {
  opacity: 0.5;
}

.bom .bom-checkbox {
  width: 30px;
  position: relative;
  user-select: none;
  -moz-user-select: none;
}

.bom .bom-checkbox:before {
  content: "";
  position: absolute;
  border-width: 15px;
  border-style: solid;
  border-color: #51829f transparent transparent transparent;
  visibility: hidden;
  top: -15px;
}

.bom .bom-checkbox:after {
  content: "Double click to set/unset all";
  position: absolute;
  color: white;
  top: -35px;
  left: -26px;
  background: #51829f;
  padding: 5px 15px;
  border-radius: 8px;
  white-space: nowrap;
  visibility: hidden;
}

.bom .bom-checkbox:hover:before, .bom .bom-checkbox:hover:after {
  visibility: visible;
  transition: visibility 0.2s linear 1s;
}

.split {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: inherit;
}

.split.split-horizontal, .gutter.gutter-horizontal {
  height: 100%;
  float: left;
}

.gutter {
  background-color: #ddd;
  background-repeat: no-repeat;
  background-position: 50%;
  transition: background-color 0.3s;
}

.dark .gutter {
  background-color: #777;
}

.gutter.gutter-horizontal {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
  cursor: ew-resize;
  width: 5px;
}

.gutter.gutter-vertical {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
  cursor: ns-resize;
  height: 5px;
}

.searchbox {
  float: left;
  height: 40px;
  margin: 10px 5px;
  padding: 12px 32px;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 18px;
  box-sizing: border-box;
  border: 1px solid #888;
  border-radius: 6px;
  outline: none;
  background-color: #eee;
  transition: background-color 0.2s, border 0.2s;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4T8XSMUvDQBQH8P/LElFa/AIZHcTBQSz0I/gFstTBRR2KUC4ldDxw7h0Bl3RRUATxi4iiODgoiLNrbQYp5J6cpJJqomkX33Z37/14d/dIa33MzDuYI4johOI4XhyNRteO46zNYjDzAxE1yBZprVeZ+QbAUhXEGJMA2Ox2u4+fQIa0mPmsCgCgJYQ4t7lfgF0opQYAdv9ABkKI/UnOFCClXKjX61cA1osQY8x9kiRNKeV7IWA3oyhaSdP0FkAtjxhj3hzH2RBCPOf3pzqYHCilfAAX+URm9oMguPzeWSGQvUcMYC8rOBJCHBRdqxTo9/vbRHRqi8bj8XKv1xvODbiuW2u32/bvf0SlDv4XYOY7z/Mavu+nM1+BmQ+NMc0wDF/LprP0DbTWW0T00ul0nn4b7Q87+X4Qmfiq2wAAAABJRU5ErkJggg==');
  background-position: 10px 10px;
  background-repeat: no-repeat;
}

.dark .searchbox {
  background-color: #111;
  color: #eee;
}

.searchbox::placeholder {
  color: #ccc;
}

.dark .searchbox::placeholder {
  color: #666;
}

.filter {
  width: calc(60% - 64px);
}

.reflookup {
  width: calc(40% - 10px);
}

input[type=text]:focus {
  background-color: white;
  border: 1px solid #333;
}

.dark input[type=text]:focus {
  background-color: #333;
  border: 1px solid #ccc;
}

mark.highlight {
  background-color: #5050ff;
  color: #fff;
  padding: 2px;
  border-radius: 6px;
}

.dark mark.highlight {
  background-color: #76a6da;
  color: #111;
}

.menubtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
}

.statsbtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h28v24H4V6zm0 8h28v8H4m9-16v24h10V5.8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.iobtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M3 33v-7l6.8-7h16.5l6.7 7v7H3zM3.2 26H33M21 9l5-5.9 5 6h-2.5V15h-5V9H21zm-4.9 0l-5 6-5-6h2.5V3h5v6h2.5z'/%3E%3Cpath fill='none' stroke='%23000' d='M6.1 29.5H10'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.dark .statsbtn, .dark .savebtn, .dark .menubtn, .dark .iobtn {
  filter: invert(1);
}

.flexbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.savebtn {
  background-color: #d6d6d6;
  width: auto;
  height: 30px;
  flex-grow: 1;
  margin: 5px;
  border-radius: 4px;
}

.savebtn:active {
  background-color: #0a0;
  color: white;
}

.dark .savebtn:active {
  /* This will be inverted */
  background-color: #b3b;
}

.stats {
  border-collapse: collapse;
  font-size: 12pt;
  table-layout: fixed;
  width: 100%;
  min-width: 450px;
}

.dark .stats td {
  border: 1px solid #bbb;
}

.stats td {
  border: 1px solid black;
  padding: 5px;
  word-wrap: break-word;
  text-align: center;
  position: relative;
}

#checkbox-stats div {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#checkbox-stats .bar {
  background-color: rgba(28, 251, 0, 0.6);
}

.menu {
  position: relative;
  display: inline-block;
  margin: 10px 10px 10px 0px;
}

.menu-content {
  display: none;
  position: absolute;
  background-color: white;
  right: 0;
  min-width: 300px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 100;
  padding: 8px;
}

.dark .menu-content {
  background-color: #111;
}

.menu:hover .menu-content {
  display: block;
}

.menu:hover .menubtn, .menu:hover .iobtn, .menu:hover .statsbtn {
  background-color: #eee;
}

.menu-label {
  display: inline-block;
  padding: 8px;
  border: 1px solid #ccc;
  border-top: 0;
  width: calc(100% - 18px);
}

.menu-label-top {
  border-top: 1px solid #ccc;
}

.menu-textbox {
  float: left;
  height: 24px;
  margin: 10px 5px;
  padding: 5px 5px;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 14px;
  box-sizing: border-box;
  border: 1px solid #888;
  border-radius: 4px;
  outline: none;
  background-color: #eee;
  transition: background-color 0.2s, border 0.2s;
  width: calc(100% - 10px);
}

.menu-textbox.invalid, .dark .menu-textbox.invalid {
  color: red;
}

.dark .menu-textbox {
  background-color: #222;
  color: #eee;
}

.radio-container {
  margin: 4px;
}

.topmostdiv {
  width: 100%;
  height: 100%;
  background-color: white;
  transition: background-color 0.3s;
}

#top {
  height: 78px;
  border-bottom: 2px solid black;
}

.dark #top {
  border-bottom: 2px solid #ccc;
}

#dbg {
  display: block;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #aaa;
}

::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  margin: 3px 0;
  padding: 0;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
  border-radius: 3px;
}

.slider:hover {
  opacity: 1;
}

.slider:focus {
  outline: none;
}

.slider::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  background: #d3d3d3;
  border-radius: 3px;
  border: none;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
  margin-top: -4px;
}

.dark .slider::-webkit-slider-thumb {
  background: #3d3;
}

.slider::-moz-range-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
}

.slider::-moz-range-track {
  height: 8px;
  background: #d3d3d3;
  border-radius: 3px;
}

.dark .slider::-moz-range-thumb {
  background: #3d3;
}

.slider::-ms-track {
  width: 100%;
  height: 8px;
  border-width: 3px 0;
  background: transparent;
  border-color: transparent;
  color: transparent;
  transition: opacity .2s;
}

.slider::-ms-fill-lower {
  background: #d3d3d3;
  border: none;
  border-radius: 3px;
}

.slider::-ms-fill-upper {
  background: #d3d3d3;
  border: none;
  border-radius: 3px;
}

.slider::-ms-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
  margin: 0;
}

.shameless-plug {
  font-size: 0.8em;
  text-align: center;
  display: block;
}

a {
  color: #0278a4;
}

.dark a {
  color: #00b9fd;
}

#frontcanvas, #backcanvas {
    touch-action: none;
}


  </style>
  <script type="text/javascript" >
///////////////////////////////////////////////
/*
  Split.js - v1.3.5
  MIT License
  https://github.com/nathancahill/Split.js
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s=function(){return!1},o=e.attachEvent&&!e[n],a=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",l=function(e){return"string"==typeof e||e instanceof String?t.querySelector(e):e};return function(u,c){function z(e,t,n){var i=A(y,t,n);Object.keys(i).forEach(function(t){return e.style[t]=i[t]})}function h(e,t){var n=B(y,t);Object.keys(n).forEach(function(t){return e.style[t]=n[t]})}function f(e){var t=E[this.a],n=E[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,z(t.element,t.size,this.aGutterSize),z(n.element,n.size,this.bGutterSize)}function m(e){var t;this.dragging&&((t="touches"in e?e.touches[0][b]-this.start:e[b]-this.start)<=E[this.a].minSize+M+this.aGutterSize?t=E[this.a].minSize+this.aGutterSize:t>=this.size-(E[this.b].minSize+M+this.bGutterSize)&&(t=this.size-(E[this.b].minSize+this.bGutterSize)),f.call(this,t),c.onDrag&&c.onDrag())}function g(){var e=E[this.a].element,t=E[this.b].element;this.size=e[r]()[y]+t[r]()[y]+this.aGutterSize+this.bGutterSize,this.start=e[r]()[G]}function d(){var t=this,n=E[t.a].element,r=E[t.b].element;t.dragging&&c.onDragEnd&&c.onDragEnd(),t.dragging=!1,e[i]("mouseup",t.stop),e[i]("touchend",t.stop),e[i]("touchcancel",t.stop),t.parent[i]("mousemove",t.move),t.parent[i]("touchmove",t.move),delete t.stop,delete t.move,n[i]("selectstart",s),n[i]("dragstart",s),r[i]("selectstart",s),r[i]("dragstart",s),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor=""}function S(t){var i=this,r=E[i.a].element,o=E[i.b].element;!i.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),i.dragging=!0,i.move=m.bind(i),i.stop=d.bind(i),e[n]("mouseup",i.stop),e[n]("touchend",i.stop),e[n]("touchcancel",i.stop),i.parent[n]("mousemove",i.move),i.parent[n]("touchmove",i.move),r[n]("selectstart",s),r[n]("dragstart",s),o[n]("selectstart",s),o[n]("dragstart",s),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",i.gutter.style.cursor=j,i.parent.style.cursor=j,g.call(i)}function v(e){e.forEach(function(t,n){if(n>0){var i=F[n-1],r=E[i.a],s=E[i.b];r.size=e[n-1],s.size=t,z(r.element,r.size,i.aGutterSize),z(s.element,s.size,i.bGutterSize)}})}function p(){F.forEach(function(e){e.parent.removeChild(e.gutter),E[e.a].element.style[y]="",E[e.b].element.style[y]=""})}void 0===c&&(c={});var y,b,G,E,w=l(u[0]).parentNode,D=e.getComputedStyle(w).flexDirection,U=c.sizes||u.map(function(){return 100/u.length}),k=void 0!==c.minSize?c.minSize:100,x=Array.isArray(k)?k:u.map(function(){return k}),L=void 0!==c.gutterSize?c.gutterSize:10,M=void 0!==c.snapOffset?c.snapOffset:30,O=c.direction||"horizontal",j=c.cursor||("horizontal"===O?"ew-resize":"ns-resize"),C=c.gutter||function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},A=c.elementStyle||function(e,t,n){var i={};return"string"==typeof t||t instanceof String?i[e]=t:i[e]=o?t+"%":a+"("+t+"% - "+n+"px)",i},B=c.gutterStyle||function(e,t){return n={},n[e]=t+"px",n;var n};"horizontal"===O?(y="width","clientWidth",b="clientX",G="left","paddingLeft"):"vertical"===O&&(y="height","clientHeight",b="clientY",G="top","paddingTop");var F=[];return E=u.map(function(e,t){var i,s={element:l(e),size:U[t],minSize:x[t]};if(t>0&&(i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:O,parent:w},i.aGutterSize=L,i.bGutterSize=L,i.isFirst&&(i.aGutterSize=L/2),i.isLast&&(i.bGutterSize=L/2),"row-reverse"===D||"column-reverse"===D)){var a=i.a;i.a=i.b,i.b=a}if(!o&&t>0){var c=C(t,O);h(c,L),c[n]("mousedown",S.bind(i)),c[n]("touchstart",S.bind(i)),w.insertBefore(c,s.element),i.gutter=c}0===t||t===u.length-1?z(s.element,s.size,L/2):z(s.element,s.size,L);var f=s.element[r]()[y];return f<s.minSize&&(s.minSize=f),t>0&&F.push(i),s}),o?{setSizes:v,destroy:p}:{setSizes:v,getSizes:function(){return E.map(function(e){return e.size})},collapse:function(e){if(e===F.length){var t=F[e-1];g.call(t),o||f.call(t,t.size-t.bGutterSize)}else{var n=F[e];g.call(n),o||f.call(n,n.aGutterSize)}},destroy:p}}});

///////////////////////////////////////////////

///////////////////////////////////////////////
// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>
// This work is free. You can redistribute it and/or modify it
// under the terms of the WTFPL, Version 2
// For more information see LICENSE.txt or http://www.wtfpl.net/
//
// For more information, the home page:
// http://pieroxy.net/blog/pages/lz-string/testing.html
//
// LZ-based compression algorithm, version 1.4.4
var LZString=function(){var o=String.fromCharCode,i={};var n={decompressFromBase64:function(o){return null==o?"":""==o?null:n._decompress(o.length,32,function(n){return function(o,n){if(!i[o]){i[o]={};for(var t=0;t<o.length;t++)i[o][o.charAt(t)]=t}return i[o][n]}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o.charAt(n))})},_decompress:function(i,n,t){var r,e,a,s,p,u,l,f=[],c=4,d=4,h=3,v="",g=[],m={val:t(0),position:n,index:1};for(r=0;r<3;r+=1)f[r]=r;for(a=0,p=Math.pow(2,2),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 2:return""}for(f[3]=l,e=l,g.push(l);;){if(m.index>i)return"";for(a=0,p=Math.pow(2,h),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(l=a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 2:return g.join("")}if(0==c&&(c=Math.pow(2,h),h++),f[l])v=f[l];else{if(l!==d)return null;v=e+e.charAt(0)}g.push(v),f[d++]=e+v.charAt(0),e=v,0==--c&&(c=Math.pow(2,h),h++)}}};return n}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString});
///////////////////////////////////////////////

///////////////////////////////////////////////
/*!
 * PEP v0.4.3 | https://github.com/jquery/PEP
 * Copyright jQuery Foundation and other contributors | http://jquery.org/license
 */
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.PointerEventsPolyfill=b()}(this,function(){"use strict";function a(a,b){b=b||Object.create(null);var c=document.createEvent("Event");c.initEvent(a,b.bubbles||!1,b.cancelable||!1);
for(var d,e=2;e<m.length;e++)d=m[e],c[d]=b[d]||n[e];c.buttons=b.buttons||0;
var f=0;return f=b.pressure&&c.buttons?b.pressure:c.buttons?.5:0,c.x=c.clientX,c.y=c.clientY,c.pointerId=b.pointerId||0,c.width=b.width||0,c.height=b.height||0,c.pressure=f,c.tiltX=b.tiltX||0,c.tiltY=b.tiltY||0,c.twist=b.twist||0,c.tangentialPressure=b.tangentialPressure||0,c.pointerType=b.pointerType||"",c.hwTimestamp=b.hwTimestamp||0,c.isPrimary=b.isPrimary||!1,c}function b(){this.array=[],this.size=0}function c(a,b,c,d){this.addCallback=a.bind(d),this.removeCallback=b.bind(d),this.changedCallback=c.bind(d),A&&(this.observer=new A(this.mutationWatcher.bind(this)))}function d(a){return"body /shadow-deep/ "+e(a)}function e(a){return'[touch-action="'+a+'"]'}function f(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}function g(){if(F){D.forEach(function(a){String(a)===a?(E+=e(a)+f(a)+"\n",G&&(E+=d(a)+f(a)+"\n")):(E+=a.selectors.map(e)+f(a.rule)+"\n",G&&(E+=a.selectors.map(d)+f(a.rule)+"\n"))});var a=document.createElement("style");a.textContent=E,document.head.appendChild(a)}}function h(){if(!window.PointerEvent){if(window.PointerEvent=a,window.navigator.msPointerEnabled){var b=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:b,enumerable:!0}),u.registerSource("ms",_)}else Object.defineProperty(window.navigator,"maxTouchPoints",{value:0,enumerable:!0}),u.registerSource("mouse",N),void 0!==window.ontouchstart&&u.registerSource("touch",V);u.register(document)}}function i(a){if(!u.pointermap.has(a)){var b=new Error("InvalidPointerId");throw b.name="InvalidPointerId",b}}function j(a){for(var b=a.parentNode;b&&b!==a.ownerDocument;)b=b.parentNode;if(!b){var c=new Error("InvalidStateError");throw c.name="InvalidStateError",c}}function k(a){var b=u.pointermap.get(a);return 0!==b.buttons}function l(){window.Element&&!Element.prototype.setPointerCapture&&Object.defineProperties(Element.prototype,{setPointerCapture:{value:W},releasePointerCapture:{value:X},hasPointerCapture:{value:Y}})}
var m=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"],n=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0],o=window.Map&&window.Map.prototype.forEach,p=o?Map:b;b.prototype={set:function(a,b){return void 0===b?this["delete"](a):(this.has(a)||this.size++,void(this.array[a]=b))},has:function(a){return void 0!==this.array[a]},"delete":function(a){this.has(a)&&(delete this.array[a],this.size--)},get:function(a){return this.array[a]},clear:function(){this.array.length=0,this.size=0},forEach:function(a,b){return this.array.forEach(function(c,d){a.call(b,c,d,this)},this)}};var q=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY","timeStamp"],r=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],s={pointerover:1,pointerout:1,pointerenter:1,pointerleave:1},t="undefined"!=typeof SVGElementInstance,u={pointermap:new p,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(a,b){var c=b,d=c.events;d&&(d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c,this.eventSourceList.push(c))},register:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
b.register.call(b,a)},unregister:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
b.unregister.call(b,a)},contains:function(a,b){try{return a.contains(b)}catch(c){return!1}},down:function(a){a.bubbles=!0,this.fireEvent("pointerdown",a)},move:function(a){a.bubbles=!0,this.fireEvent("pointermove",a)},up:function(a){a.bubbles=!0,this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){a.bubbles=!0,this.fireEvent("pointercancel",a)},leaveOut:function(a){this.out(a),this.propagate(a,this.leave,!1)},enterOver:function(a){this.over(a),this.propagate(a,this.enter,!0)},eventHandler:function(a){if(!a._handledByPE){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),a._handledByPE=!0}},listen:function(a,b){b.forEach(function(b){this.addEvent(a,b)},this)},unlisten:function(a,b){b.forEach(function(b){this.removeEvent(a,b)},this)},addEvent:function(a,b){a.addEventListener(b,this.boundHandler)},removeEvent:function(a,b){a.removeEventListener(b,this.boundHandler)},makeEvent:function(b,c){this.captureInfo[c.pointerId]&&(c.relatedTarget=null);var d=new a(b,c);return c.preventDefault&&(d.preventDefault=c.preventDefault),d._target=d._target||c.target,d},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){for(var b,c=Object.create(null),d=0;d<q.length;d++)b=q[d],c[b]=a[b]||r[d],!t||"target"!==b&&"relatedTarget"!==b||c[b]instanceof SVGElementInstance&&(c[b]=c[b].correspondingUseElement);return a.preventDefault&&(c.preventDefault=function(){a.preventDefault()}),c},getTarget:function(a){var b=this.captureInfo[a.pointerId];return b?a._target!==b&&a.type in s?void 0:b:a._target},propagate:function(a,b,c){for(var d=a.target,e=[];d!==document&&!d.contains(a.relatedTarget);) if(e.push(d),d=d.parentNode,!d)return;c&&e.reverse(),e.forEach(function(c){a.target=c,b.call(this,a)},this)},setCapture:function(b,c,d){this.captureInfo[b]&&this.releaseCapture(b,d),this.captureInfo[b]=c,this.implicitRelease=this.releaseCapture.bind(this,b,d),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease);var e=new a("gotpointercapture");e.pointerId=b,e._target=c,d||this.asyncDispatchEvent(e)},releaseCapture:function(b,c){var d=this.captureInfo[b];if(d){this.captureInfo[b]=void 0,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease);var e=new a("lostpointercapture");e.pointerId=b,e._target=d,c||this.asyncDispatchEvent(e)}},dispatchEvent:/*scope.external.dispatchEvent || */function(a){var b=this.getTarget(a);if(b)return b.dispatchEvent(a)},asyncDispatchEvent:function(a){requestAnimationFrame(this.dispatchEvent.bind(this,a))}};u.boundHandler=u.eventHandler.bind(u);var v={shadow:function(a){if(a)return a.shadowRoot||a.webkitShadowRoot},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);if(this.canTarget(b))return b},olderShadow:function(a){var b=a.olderShadowRoot;if(!b){var c=a.querySelector("shadow");c&&(b=c.olderShadowRoot)}return b},allShadows:function(a){for(var b=[],c=this.shadow(a);c;)b.push(c),c=this.olderShadow(c);return b},searchRoot:function(a,b,c){if(a){var d,e,f=a.elementFromPoint(b,c);for(e=this.targetingShadow(f);e;){if(d=e.elementFromPoint(b,c)){var g=this.targetingShadow(d);return this.searchRoot(g,b,c)||d} e=this.olderShadow(e)} return f}},owner:function(a){
for(var b=a;b.parentNode;)b=b.parentNode;
return b.nodeType!==Node.DOCUMENT_NODE&&b.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(b=document),b},findTarget:function(a){var b=a.clientX,c=a.clientY,d=this.owner(a.target);
return d.elementFromPoint(b,c)||(d=document),this.searchRoot(d,b,c)}},w=Array.prototype.forEach.call.bind(Array.prototype.forEach),x=Array.prototype.map.call.bind(Array.prototype.map),y=Array.prototype.slice.call.bind(Array.prototype.slice),z=Array.prototype.filter.call.bind(Array.prototype.filter),A=window.MutationObserver||window.WebKitMutationObserver,B="[touch-action]",C={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};c.prototype={watchSubtree:function(a){
//
this.observer&&v.canTarget(a)&&this.observer.observe(a,C)},enableOnSubtree:function(a){this.watchSubtree(a),a===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(a)},installNewSubtree:function(a){w(this.findElements(a),this.addElement,this)},findElements:function(a){return a.querySelectorAll?a.querySelectorAll(B):[]},removeElement:function(a){this.removeCallback(a)},addElement:function(a){this.addCallback(a)},elementChanged:function(a,b){this.changedCallback(a,b)},concatLists:function(a,b){return a.concat(y(b))},
installOnLoad:function(){document.addEventListener("readystatechange",function(){"complete"===document.readyState&&this.installNewSubtree(document)}.bind(this))},isElement:function(a){return a.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(a){
var b=x(a,this.findElements,this);
return b.push(z(a,this.isElement)),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){if("childList"===a.type){var b=this.flattenMutationTree(a.addedNodes);b.forEach(this.addElement,this);var c=this.flattenMutationTree(a.removedNodes);c.forEach(this.removeElement,this)}else"attributes"===a.type&&this.elementChanged(a.target,a.oldValue)}};var D=["none","auto","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["pan-x pan-y","pan-y pan-x"]}],E="",F=window.PointerEvent||window.MSPointerEvent,G=!window.ShadowDOMPolyfill&&document.head.createShadowRoot,H=u.pointermap,I=25,J=[1,4,2,8,16],K=!1;try{K=1===new MouseEvent("test",{buttons:1}).buttons}catch(L){}
var M,N={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},lastTouches:[],
isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;f<g&&(b=c[f]);f++){
var h=Math.abs(d-b.x),i=Math.abs(e-b.y);if(h<=I&&i<=I)return!0}},prepareEvent:function(a){var b=u.cloneEvent(a),c=b.preventDefault;return b.preventDefault=function(){a.preventDefault(),c()},b.pointerId=this.POINTER_ID,b.isPrimary=!0,b.pointerType=this.POINTER_TYPE,b},prepareButtonsForMove:function(a,b){var c=H.get(this.POINTER_ID);
0!==b.which&&c?a.buttons=c.buttons:a.buttons=0,b.buttons=a.buttons},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);K||(c.buttons=J[c.button],b&&(c.buttons|=b.buttons),a.buttons=c.buttons),H.set(this.POINTER_ID,a),b&&0!==b.buttons?u.move(c):u.down(c)}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.move(b)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);if(!K){var d=J[c.button];
c.buttons=b?b.buttons&~d:0,a.buttons=c.buttons}H.set(this.POINTER_ID,a),
c.buttons&=~J[c.button],0===c.buttons?u.up(c):u.move(c)}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.enterOver(b)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,u.leaveOut(b)}},cancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.deactivateMouse()},deactivateMouse:function(){H["delete"](this.POINTER_ID)}},O=u.captureInfo,P=v.findTarget.bind(v),Q=v.allShadows.bind(v),R=u.pointermap,S=2500,T=200,U="touch-action",V={events:["touchstart","touchmove","touchend","touchcancel"],register:function(a){M.enableOnSubtree(a)},unregister:function(){},elementAdded:function(a){var b=a.getAttribute(U),c=this.touchActionToScrollType(b);c&&(a._scrollType=c,u.listen(a,this.events),
Q(a).forEach(function(a){a._scrollType=c,u.listen(a,this.events)},this))},elementRemoved:function(a){a._scrollType=void 0,u.unlisten(a,this.events),
Q(a).forEach(function(a){a._scrollType=void 0,u.unlisten(a,this.events)},this)},elementChanged:function(a,b){var c=a.getAttribute(U),d=this.touchActionToScrollType(c),e=this.touchActionToScrollType(b);
d&&e?(a._scrollType=d,Q(a).forEach(function(a){a._scrollType=d},this)):e?this.elementRemoved(a):d&&this.elementAdded(a)},scrollTypes:{EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/},touchActionToScrollType:function(a){var b=a,c=this.scrollTypes;return"none"===b?"none":b===c.XSCROLLER?"X":b===c.YSCROLLER?"Y":c.SCROLLER.exec(b)?"XY":void 0},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){
(0===R.size||1===R.size&&R.has(1))&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1,this.cancelResetClickCount())},removePrimaryPointer:function(a){a.isPrimary&&(this.firstTouch=null,this.firstXY=null,this.resetClickCount())},clickCount:0,resetId:null,resetClickCount:function(){var a=function(){this.clickCount=0,this.resetId=null}.bind(this);this.resetId=setTimeout(a,T)},cancelResetClickCount:function(){this.resetId&&clearTimeout(this.resetId)},typeToButtons:function(a){var b=0;return"touchstart"!==a&&"touchmove"!==a||(b=1),b},touchToPointer:function(a){var b=this.currentTouchEvent,c=u.cloneEvent(a),d=c.pointerId=a.identifier+2;c.target=O[d]||P(c),c.bubbles=!0,c.cancelable=!0,c.detail=this.clickCount,c.button=0,c.buttons=this.typeToButtons(b.type),c.width=2*(a.radiusX||a.webkitRadiusX||0),c.height=2*(a.radiusY||a.webkitRadiusY||0),c.pressure=a.force||a.webkitForce||.5,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,
c.altKey=b.altKey,c.ctrlKey=b.ctrlKey,c.metaKey=b.metaKey,c.shiftKey=b.shiftKey;
var e=this;return c.preventDefault=function(){e.scrolling=!1,e.firstXY=null,b.preventDefault()},c},processTouches:function(a,b){var c=a.changedTouches;this.currentTouchEvent=a;for(var d,e=0;e<c.length;e++)d=c[e],b.call(this,this.touchToPointer(d))},
shouldScroll:function(a){if(this.firstXY){var b,c=a.currentTarget._scrollType;if("none"===c)
b=!1;else if("XY"===c)
b=!0;else{var d=a.changedTouches[0],e=c,f="Y"===c?"X":"Y",g=Math.abs(d["client"+e]-this.firstXY[e]),h=Math.abs(d["client"+f]-this.firstXY[f]);
b=g>=h}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;d<e&&(c=a[d]);d++)if(c.identifier===b)return!0},
vacuumTouches:function(a){var b=a.touches;
if(R.size>=b.length){var c=[];R.forEach(function(a,d){
if(1!==d&&!this.findTouch(b,d-2)){var e=a.out;c.push(e)}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||(this.clickCount++,this.processTouches(a,this.overDown))},overDown:function(a){R.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),u.enterOver(a),u.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var b=a,c=R.get(b.pointerId);
if(c){var d=c.out,e=c.outTarget;u.move(b),d&&e!==b.target&&(d.relatedTarget=b.target,b.relatedTarget=e,
d.target=e,b.target?(u.leaveOut(d),u.enterOver(b)):(
b.target=e,b.relatedTarget=null,this.cancelOut(b))),c.out=b,c.outTarget=b.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(u.up(a),u.leaveOut(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){u.cancel(a),u.leaveOut(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){R["delete"](a.pointerId),this.removePrimaryPointer(a)},
dedupSynthMouse:function(a){var b=N.lastTouches,c=a.changedTouches[0];
if(this.isPrimaryTouch(c)){
var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,S)}}};M=new c(V.elementAdded,V.elementRemoved,V.elementChanged,V);var W,X,Y,Z=u.pointermap,$=window.MSPointerEvent&&"number"==typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,_={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var b=a;return $&&(b=u.cloneEvent(a),b.pointerType=this.POINTER_TYPES[a.pointerType]),b},cleanup:function(a){Z["delete"](a)},MSPointerDown:function(a){Z.set(a.pointerId,a);var b=this.prepareEvent(a);u.down(b)},MSPointerMove:function(a){var b=this.prepareEvent(a);u.move(b)},MSPointerUp:function(a){var b=this.prepareEvent(a);u.up(b),this.cleanup(a.pointerId)},MSPointerOut:function(a){var b=this.prepareEvent(a);u.leaveOut(b)},MSPointerOver:function(a){var b=this.prepareEvent(a);u.enterOver(b)},MSPointerCancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var b=u.makeEvent("lostpointercapture",a);u.dispatchEvent(b)},MSGotPointerCapture:function(a){var b=u.makeEvent("gotpointercapture",a);u.dispatchEvent(b)}},aa=window.navigator;aa.msPointerEnabled?(W=function(a){i(a),j(this),k(a)&&(u.setCapture(a,this,!0),this.msSetPointerCapture(a))},X=function(a){i(a),u.releaseCapture(a,!0),this.msReleasePointerCapture(a)}):(W=function(a){i(a),j(this),k(a)&&u.setCapture(a,this)},X=function(a){i(a),u.releaseCapture(a)}),Y=function(a){return!!u.captureInfo[a]},g(),h(),l();var ba={dispatcher:u,Installer:c,PointerEvent:a,PointerMap:p,targetFinding:v};return ba});

///////////////////////////////////////////////

///////////////////////////////////////////////
var config = {"dark_mode": false, "show_pads": true, "show_fabrication": false, "show_silkscreen": true, "highlight_pin1": false, "redraw_on_drag": true, "board_rotation": 0.0, "checkboxes": "Sourced,Placed", "bom_view": "left-right", "layer_view": "FB", "extra_fields": []}
///////////////////////////////////////////////

///////////////////////////////////////////////
var pcbdata = JSON.parse(LZString.decompressFromBase64("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"))
///////////////////////////////////////////////

///////////////////////////////////////////////
/* Utility functions */

var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' +
  pcbdata.metadata.revision + '__#';
var storage;

function initStorage(key) {
  try {
    window.localStorage.getItem("blank");
    storage = window.localStorage;
  } catch (e) {
    // localStorage not available
  }
  if (!storage) {
    try {
      window.sessionStorage.getItem("blank");
      storage = window.sessionStorage;
    } catch (e) {
      // sessionStorage also not available
    }
  }
}

function readStorage(key) {
  if (storage) {
    return storage.getItem(storagePrefix + key);
  } else {
    return null;
  }
}

function writeStorage(key, value) {
  if (storage) {
    storage.setItem(storagePrefix + key, value);
  }
}

function fancyDblClickHandler(el, onsingle, ondouble) {
  return function() {
    if (el.getAttribute("data-dblclick") == null) {
      el.setAttribute("data-dblclick", 1);
      setTimeout(function() {
        if (el.getAttribute("data-dblclick") == 1) {
          onsingle();
        }
        el.removeAttribute("data-dblclick");
      }, 200);
    } else {
      el.removeAttribute("data-dblclick");
      ondouble();
    }
  }
}

function smoothScrollToRow(rowid) {
  document.getElementById(rowid).scrollIntoView({
    behavior: "smooth",
    block: "center",
    inline: "nearest"
  });
}

function focusInputField(input) {
  input.scrollIntoView(false);
  input.focus();
  input.select();
}

function copyToClipboard() {
  var text = '';
  for (var node of bomhead.childNodes[0].childNodes) {
    if (node.firstChild) {
      text = text + node.firstChild.nodeValue;
    }
    if (node != bomhead.childNodes[0].lastChild) {
      text += '\t';
    }
  }
  text += '\n';
  for (var row of bombody.childNodes) {
    for (var cell of row.childNodes) {
      for (var node of cell.childNodes) {
        if (node.nodeName == "INPUT") {
          if (node.checked) {
            text = text + '✓';
          }
        } else if (node.nodeName == "MARK") {
          text = text + node.firstChild.nodeValue;
        } else {
          text = text + node.nodeValue;
        }
      }
      if (cell != row.lastChild) {
        text += '\t';
      }
    }
    text += '\n';
  }
  var textArea = document.createElement("textarea");
  textArea.classList.add('clipboard-temp');
  textArea.value = text;

  document.body.appendChild(textArea);
  textArea.focus();
  textArea.select();

  try {
    if (document.execCommand('copy')) {
      console.log('Bom copied to clipboard.');
    }
  } catch (err) {
    console.log('Can not copy to clipboard.');
  }

  document.body.removeChild(textArea);
}

function removeGutterNode(node) {
  for (var i = 0; i < node.childNodes.length; i++) {
    if (node.childNodes[i].classList &&
      node.childNodes[i].classList.contains("gutter")) {
      node.removeChild(node.childNodes[i]);
      break;
    }
  }
}

function cleanGutters() {
  removeGutterNode(document.getElementById("bot"));
  removeGutterNode(document.getElementById("canvasdiv"));
}

var units = {
  prefixes: {
    giga: ["G", "g", "giga", "Giga", "GIGA"],
    mega: ["M", "mega", "Mega", "MEGA"],
    kilo: ["K", "k", "kilo", "Kilo", "KILO"],
    milli: ["m", "milli", "Milli", "MILLI"],
    micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
    nano: ["N", "n", "nano", "Nano", "NANO"],
    pico: ["P", "p", "pico", "Pico", "PICO"],
  },
  unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
  unitsLong: [
    "OHM", "Ohm", "ohm", "ohms",
    "FARAD", "Farad", "farad",
    "HENRY", "Henry", "henry"
  ],
  getMultiplier: function(s) {
    if (this.prefixes.giga.includes(s)) return 1e9;
    if (this.prefixes.mega.includes(s)) return 1e6;
    if (this.prefixes.kilo.includes(s)) return 1e3;
    if (this.prefixes.milli.includes(s)) return 1e-3;
    if (this.prefixes.micro.includes(s)) return 1e-6;
    if (this.prefixes.nano.includes(s)) return 1e-9;
    if (this.prefixes.pico.includes(s)) return 1e-12;
    return 1;
  },
  valueRegex: null,
}

function initUtils() {
  var allPrefixes = units.prefixes.giga
                    .concat(units.prefixes.mega)
                    .concat(units.prefixes.kilo)
                    .concat(units.prefixes.milli)
                    .concat(units.prefixes.micro)
                    .concat(units.prefixes.nano)
                    .concat(units.prefixes.pico);
  var allUnits = units.unitsShort.concat(units.unitsLong);
  units.valueRegex = new RegExp("^([0-9\.]+)" +
                         "\\s*(" + allPrefixes.join("|") + ")?" +
                         "(" + allUnits.join("|") + ")?" +
                         "(\\b.*)?$", "");
  units.valueAltRegex = new RegExp("^([0-9]*)" +
                         "(" + units.unitsShort.join("|") + ")?" +
                         "([GgMmKkUuNnPp])?" +
                         "([0-9]*)" +
                         "(\\b.*)?$", "");
  for (var bom_type of ["both", "F", "B"]) {
    for (var row of pcbdata.bom[bom_type]) {
      row.push(parseValue(row[1], row[3][0][0]));
    }
  }
}

function parseValue(val, ref) {
  var inferUnit = (unit, ref) => {
    if (unit) {
      unit = unit.toLowerCase();
      if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
        unit = 'r';
      }
      unit = unit[0];
    } else {
      ref = /^([a-z]+)\d+$/i.exec(ref);
      if (ref) {
        ref = ref[1].toLowerCase();
        if (ref == "c") unit = 'f';
        else if (ref == "l") unit = 'h';
        else if (ref == "r" || ref == "rv") unit = 'r';
        else unit = null;
      }
    }
    return unit;
  };
  val = val.replace(/,/g, "");
  var match = units.valueRegex.exec(val);
  var unit;
  if (match) {
    val = parseFloat(match[1]);
    if (match[2]) {
      val = val * units.getMultiplier(match[2]);
    }
    unit = inferUnit(match[3], ref);
    if (!unit) return null;
    else return {
      val: val,
      unit: unit,
      extra: match[4],
    }
  }
  match = units.valueAltRegex.exec(val);
  if (match && (match[1] || match[4])) {
    val = parseFloat(match[1] + "." + match[4]);
    if (match[3]) {
      val = val * units.getMultiplier(match[3]);
    }
    unit = inferUnit(match[2], ref);
    if (!unit) return null;
    else return {
      val: val,
      unit: unit,
      extra: match[5],
    }
  }
  return null;
}

function valueCompare(a, b, stra, strb) {
  if (a === null && b === null) {
    // Failed to parse both values, compare them as strings.
    if (stra != strb) return stra > strb ? 1 : -1;
    else return 0;
  } else if (a === null) {
    return 1;
  } else if (b === null) {
    return -1;
  } else {
    if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
    else if (a.val != b.val) return a.val > b.val ? 1 : -1;
    else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
    else return 0;
  }
}

function validateSaveImgDimension(element) {
  var valid = false;
  var intValue = 0;
  if (/^[1-9]\d*$/.test(element.value)) {
    intValue = parseInt(element.value);
    if (intValue <= 16000) {
      valid = true;
    }
  }
  if (valid) {
    element.classList.remove("invalid");
  } else {
    element.classList.add("invalid");
  }
  return intValue;
}

function saveImage(layer) {
  var width = validateSaveImgDimension(document.getElementById("render-save-width"));
  var height = validateSaveImgDimension(document.getElementById("render-save-height"));
  var bgcolor = null;
  if (!document.getElementById("render-save-transparent").checked) {
    var style = getComputedStyle(topmostdiv);
    bgcolor = style.getPropertyValue("background-color");
  }
  if (!width || !height) return;

  // Prepare image
  var canvas = document.createElement("canvas");
  var layerdict = {
    transform: {
      x: 0,
      y: 0,
      s: 1,
      panx: 0,
      pany: 0,
      zoom: 1,
    },
    bg: canvas,
    fab: canvas,
    silk: canvas,
    highlight: canvas,
    layer: layer,
  }
  // Do the rendering
  recalcLayerScale(layerdict, width, height);
  prepareLayer(layerdict);
  clearCanvas(canvas, bgcolor);
  drawBackground(layerdict, false);
  drawHighlightsOnLayer(layerdict, false);

  // Save image
  var imgdata = canvas.toDataURL("image/png");

  var filename = pcbdata.metadata.title;
  if (pcbdata.metadata.revision) {
    filename += `.${pcbdata.metadata.revision}`;
  }
  filename += `.${layer}.png`;
  saveFile(filename, dataURLtoBlob(imgdata));
}

function saveSettings() {
  var data = {
    type: "InteractiveHtmlBom settings",
    version: 1,
    pcbmetadata: pcbdata.metadata,
    settings: settings,
  }
  var blob = new Blob([JSON.stringify(data, null, 4)], {type: "application/json"});
  saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
}

function loadSettings() {
  var input = document.createElement("input");
  input.type = "file";
  input.accept = ".settings.json";
  input.onchange = function(e) {
    var file = e.target.files[0];
    var reader = new FileReader();
    reader.onload = readerEvent => {
      var content = readerEvent.target.result;
      var newSettings;
      try {
        newSettings = JSON.parse(content);
      } catch(e) {
        alert("Selected file is not InteractiveHtmlBom settings file.");
        return;
      }
      if (newSettings.type != "InteractiveHtmlBom settings") {
        alert("Selected file is not InteractiveHtmlBom settings file.");
        return;
      }
      var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
      if (metadataMatches) {
        for (var k in pcbdata.metadata) {
          if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
            metadataMatches = false;
          }
        }
      }
      if (!metadataMatches) {
        var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
        var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
        if (!confirm(
          `Settins file metadata does not match current metadata.\n\n` +
          `Page metadata:\n${currentMetadata}\n\n` +
          `Settings file metadata:\n${fileMetadata}\n\n` +
          `Press OK if you would like to import settings anyway.`)) {
          return;
        }
      }
      overwriteSettings(newSettings.settings);
    }
    reader.readAsText(file, 'UTF-8');
  }
  input.click();
}

function overwriteSettings(newSettings) {
  initDone = false;
  Object.assign(settings, newSettings);
  writeStorage("bomlayout", settings.bomlayout);
  writeStorage("bommode", settings.bommode);
  writeStorage("canvaslayout", settings.canvaslayout);
  writeStorage("bomCheckboxes", settings.checkboxes.join(","));
  document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
  for (var checkbox of settings.checkboxes) {
    writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
  }
  writeStorage("darkenWhenChecked", settings.darkenWhenChecked);
  padsVisible(settings.renderPads);
  document.getElementById("padsCheckbox").checked = settings.renderPads;
  fabricationVisible(settings.renderFabrication);
  document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
  silkscreenVisible(settings.renderSilkscreen);
  document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
  referencesVisible(settings.renderReferences);
  document.getElementById("referencesCheckbox").checked = settings.renderReferences;
  valuesVisible(settings.renderValues);
  document.getElementById("valuesCheckbox").checked = settings.renderValues;
  tracksVisible(settings.renderTracks);
  document.getElementById("tracksCheckbox").checked = settings.renderTracks;
  zonesVisible(settings.renderZones);
  document.getElementById("zonesCheckbox").checked = settings.renderZones;
  dnpOutline(settings.renderDnpOutline);
  document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
  setRedrawOnDrag(settings.redrawOnDrag);
  document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
  setDarkMode(settings.darkMode);
  document.getElementById("darkmodeCheckbox").checked = settings.darkMode;
  setHighlightPin1(settings.highlightpin1);
  document.getElementById("highlightpin1Checkbox").checked = settings.highlightpin1;
  writeStorage("boardRotation", settings.boardRotation);
  document.getElementById("boardRotation").value = settings.boardRotation / 5;
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
  initDone = true;
  prepCheckboxes();
  changeBomLayout(settings.bomlayout);
}

function saveFile(filename, blob) {
  var link = document.createElement("a");
  var objurl = URL.createObjectURL(blob);
  link.download = filename;
  link.href = objurl;
  link.click();
}

function dataURLtoBlob(dataurl) {
  var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
      bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
  while(n--){
      u8arr[n] = bstr.charCodeAt(n);
  }
  return new Blob([u8arr], {type:mime});
}

var settings = {
  canvaslayout: "default",
  bomlayout: "default",
  bommode: "grouped",
  checkboxes: [],
  checkboxStoredRefs: {},
  darkMode: false,
  highlightpin1: false,
  redrawOnDrag: true,
  boardRotation: 0,
  renderPads: true,
  renderReferences: true,
  renderValues: true,
  renderSilkscreen: true,
  renderFabrication: true,
  renderDnpOutline: false,
  renderTracks: true,
  renderZones: true,
}

function initDefaults() {
  settings.bomlayout = readStorage("bomlayout");
  if (settings.bomlayout === null) {
    settings.bomlayout = config.bom_view;
  }
  if (!['bom-only', 'left-right', 'top-bottom'].includes(settings.bomlayout)) {
    settings.bomlayout = config.bom_view;
  }
  settings.bommode = readStorage("bommode");
  if (settings.bommode === null) {
    settings.bommode = "grouped";
  }
  if (!["grouped", "ungrouped", "netlist"].includes(settings.bommode)) {
    settings.bommode = "grouped";
  }
  settings.canvaslayout = readStorage("canvaslayout");
  if (settings.canvaslayout === null) {
    settings.canvaslayout = config.layer_view;
  }
  var bomCheckboxes = readStorage("bomCheckboxes");
  if (bomCheckboxes === null) {
    bomCheckboxes = config.checkboxes;
  }
  settings.checkboxes = bomCheckboxes.split(",").filter((e) => e);
  document.getElementById("bomCheckboxes").value = bomCheckboxes;

  settings.darkenWhenChecked = readStorage("darkenWhenChecked") || "";
  populateDarkenWhenCheckedOptions();

  function initBooleanSetting(storageString, def, elementId, func) {
    var b = readStorage(storageString);
    if (b === null) {
      b = def;
    } else {
      b = (b == "true");
    }
    document.getElementById(elementId).checked = b;
    func(b);
  }

  initBooleanSetting("padsVisible", config.show_pads, "padsCheckbox", padsVisible);
  initBooleanSetting("fabricationVisible", config.show_fabrication, "fabricationCheckbox", fabricationVisible);
  initBooleanSetting("silkscreenVisible", config.show_silkscreen, "silkscreenCheckbox", silkscreenVisible);
  initBooleanSetting("referencesVisible", true, "referencesCheckbox", referencesVisible);
  initBooleanSetting("valuesVisible", true, "valuesCheckbox", valuesVisible);
  if ("tracks" in pcbdata) {
    initBooleanSetting("tracksVisible", true, "tracksCheckbox", tracksVisible);
    initBooleanSetting("zonesVisible", true, "zonesCheckbox", zonesVisible);
  } else {
    document.getElementById("tracksAndZonesCheckboxes").style.display = "none";
    tracksVisible(false);
    zonesVisible(false);
  }
  initBooleanSetting("dnpOutline", false, "dnpOutlineCheckbox", dnpOutline);
  initBooleanSetting("redrawOnDrag", config.redraw_on_drag, "dragCheckbox", setRedrawOnDrag);
  initBooleanSetting("darkmode", config.dark_mode, "darkmodeCheckbox", setDarkMode);
  initBooleanSetting("highlightpin1", config.highlight_pin1, "highlightpin1Checkbox", setHighlightPin1);
  settings.boardRotation = readStorage("boardRotation");
  if (settings.boardRotation === null) {
    settings.boardRotation = config.board_rotation * 5;
  } else {
    settings.boardRotation = parseInt(settings.boardRotation);
  }
  document.getElementById("boardRotation").value = settings.boardRotation / 5;
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
}

// Helper classes for user js callbacks.

const IBOM_EVENT_TYPES = {
  ALL: "all",
  HIGHLIGHT_EVENT: "highlightEvent",
  CHECKBOX_CHANGE_EVENT: "checkboxChangeEvent",
  BOM_BODY_CHANGE_EVENT: "bomBodyChangeEvent",
}

const EventHandler = {
  callbacks: {},
  init: function() {
    for (eventType of Object.values(IBOM_EVENT_TYPES))
      this.callbacks[eventType] = [];
  },
  registerCallback: function(eventType, callback) {
    this.callbacks[eventType].push(callback);
  },
  emitEvent: function(eventType, eventArgs) {
    event = {
      eventType: eventType,
      args: eventArgs,
    }
    var callback;
    for(callback of this.callbacks[eventType])
      callback(event);
    for(callback of this.callbacks[IBOM_EVENT_TYPES.ALL])
      callback(event);
  }
}
EventHandler.init();

///////////////////////////////////////////////

///////////////////////////////////////////////
/* PCB rendering code */

var emptyContext2d = document.createElement("canvas").getContext("2d");

function deg2rad(deg) {
  return deg * Math.PI / 180;
}

function calcFontPoint(linepoint, text, offsetx, offsety, tilt) {
  var point = [
    linepoint[0] * text.width + offsetx,
    linepoint[1] * text.height + offsety
  ];
  // This approximates pcbnew behavior with how text tilts depending on horizontal justification
  point[0] -= (linepoint[1] + 0.5 * (1 + text.justify[0])) * text.height * tilt;
  return point;
}

function drawText(ctx, text, color) {
  if ("ref" in text && !settings.renderReferences) return;
  if ("val" in text && !settings.renderValues) return;
  ctx.save();
  ctx.fillStyle = color;
  ctx.strokeStyle = color;
  ctx.lineCap = "round";
  ctx.lineJoin = "round";
  ctx.lineWidth = text.thickness;
  if ("svgpath" in text) {
    ctx.stroke(new Path2D(text.svgpath));
    ctx.restore();
    return;
  }
  ctx.translate(...text.pos);
  ctx.translate(text.thickness * 0.5, 0);
  var angle = -text.angle;
  if (text.attr.includes("mirrored")) {
    ctx.scale(-1, 1);
    angle = -angle;
  }
  var tilt = 0;
  if (text.attr.includes("italic")) {
    tilt = 0.125;
  }
  var interline = text.height * 1.5 + text.thickness;
  var txt = text.text.split("\n");
  // KiCad ignores last empty line.
  if (txt[txt.length - 1] == '') txt.pop();
  ctx.rotate(deg2rad(angle));
  var offsety = (1 - text.justify[1]) / 2 * text.height; // One line offset
  offsety -= (txt.length - 1) * (text.justify[1] + 1) / 2 * interline; // Multiline offset
  for (var i in txt) {
    var lineWidth = text.thickness + interline / 2 * tilt;
    for (var j = 0; j < txt[i].length; j++) {
      if (txt[i][j] == '\t') {
        var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
        lineWidth += fourSpaces - lineWidth % fourSpaces;
      } else {
        if (txt[i][j] == '~') {
          j++;
          if (j == txt[i].length)
            break;
        }
        lineWidth += pcbdata.font_data[txt[i][j]].w * text.width;
      }
    }
    var offsetx = -lineWidth * (text.justify[0] + 1) / 2;
    var inOverbar = false;
    for (var j = 0; j < txt[i].length; j++) {
      if (txt[i][j] == '\t') {
        var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
        offsetx += fourSpaces - offsetx % fourSpaces;
        continue;
      } else if (txt[i][j] == '~') {
        j++;
        if (j == txt[i].length)
          break;
        if (txt[i][j] != '~') {
          inOverbar = !inOverbar;
        }
      }
      var glyph = pcbdata.font_data[txt[i][j]];
      if (inOverbar) {
        var overbarStart = [offsetx, -text.height * 1.4 + offsety];
        var overbarEnd = [offsetx + text.width * glyph.w, overbarStart[1]];

        if (!lastHadOverbar) {
          overbarStart[0] += text.height * 1.4 * tilt;
          lastHadOverbar = true;
        }
        ctx.beginPath();
        ctx.moveTo(...overbarStart);
        ctx.lineTo(...overbarEnd);
        ctx.stroke();
      } else {
        lastHadOverbar = false;
      }
      for (var line of glyph.l) {
        ctx.beginPath();
        ctx.moveTo(...calcFontPoint(line[0], text, offsetx, offsety, tilt));
        for (var k = 1; k < line.length; k++) {
          ctx.lineTo(...calcFontPoint(line[k], text, offsetx, offsety, tilt));
        }
        ctx.stroke();
      }
      offsetx += glyph.w * text.width;
    }
    offsety += interline;
  }
  ctx.restore();
}

function drawedge(ctx, scalefactor, edge, color) {
  ctx.strokeStyle = color;
  ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
  ctx.lineCap = "round";
  if ("svgpath" in edge) {
    ctx.stroke(new Path2D(edge.svgpath));
  } else {
    ctx.beginPath();
    if (edge.type == "segment") {
      ctx.moveTo(...edge.start);
      ctx.lineTo(...edge.end);
    }
    if (edge.type == "rect") {
      ctx.moveTo(...edge.start);
      ctx.lineTo(edge.start[0], edge.end[1]);
      ctx.lineTo(...edge.end);
      ctx.lineTo(edge.end[0], edge.start[1]);
      ctx.lineTo(...edge.start);
    }
    if (edge.type == "arc") {
      ctx.arc(
        ...edge.start,
        edge.radius,
        deg2rad(edge.startangle),
        deg2rad(edge.endangle));
    }
    if (edge.type == "circle") {
      ctx.arc(
        ...edge.start,
        edge.radius,
        0, 2 * Math.PI);
      ctx.closePath();
    }
    if (edge.type == "curve") {
      ctx.moveTo(...edge.start);
      ctx.bezierCurveTo(...edge.cpa, ...edge.cpb, ...edge.end);
    }
    ctx.stroke();
  }
}

function getChamferedRectPath(size, radius, chamfpos, chamfratio) {
  // chamfpos is a bitmask, left = 1, right = 2, bottom left = 4, bottom right = 8
  var path = new Path2D();
  var width = size[0];
  var height = size[1];
  var x = width * -0.5;
  var y = height * -0.5;
  var chamfOffset = Math.min(width, height) * chamfratio;
  path.moveTo(x, 0);
  if (chamfpos & 4) {
    path.lineTo(x, y + height - chamfOffset);
    path.lineTo(x + chamfOffset, y + height);
    path.lineTo(0, y + height);
  } else {
    path.arcTo(x, y + height, x + width, y + height, radius);
  }
  if (chamfpos & 8) {
    path.lineTo(x + width - chamfOffset, y + height);
    path.lineTo(x + width, y + height - chamfOffset);
    path.lineTo(x + width, 0);
  } else {
    path.arcTo(x + width, y + height, x + width, y, radius);
  }
  if (chamfpos & 2) {
    path.lineTo(x + width, y + chamfOffset);
    path.lineTo(x + width - chamfOffset, y);
    path.lineTo(0, y);
  } else {
    path.arcTo(x + width, y, x, y, radius);
  }
  if (chamfpos & 1) {
    path.lineTo(x + chamfOffset, y);
    path.lineTo(x, y + chamfOffset);
    path.lineTo(x, 0);
  } else {
    path.arcTo(x, y, x, y + height, radius);
  }
  path.closePath();
  return path;
}

function getOblongPath(size) {
  return getChamferedRectPath(size, Math.min(size[0], size[1]) / 2, 0, 0);
}

function getPolygonsPath(shape) {
  if (shape.path2d) {
    return shape.path2d;
  }
  if ("svgpath" in shape) {
    shape.path2d = new Path2D(shape.svgpath);
  } else {
    var path = new Path2D();
    for (var polygon of shape.polygons) {
      path.moveTo(...polygon[0]);
      for (var i = 1; i < polygon.length; i++) {
        path.lineTo(...polygon[i]);
      }
      path.closePath();
    }
    shape.path2d = path;
  }
  return shape.path2d;
}

function drawPolygonShape(ctx, shape, color) {
  ctx.save();
  ctx.fillStyle = color;
  if (!("svgpath" in shape)) {
    ctx.translate(...shape.pos);
    ctx.rotate(deg2rad(-shape.angle));
  }
  ctx.fill(getPolygonsPath(shape));
  ctx.restore();
}

function drawDrawing(ctx, scalefactor, drawing, color) {
  if (["segment", "arc", "circle", "curve"].includes(drawing.type)) {
    drawedge(ctx, scalefactor, drawing, color);
  } else if (drawing.type == "polygon") {
    drawPolygonShape(ctx, drawing, color);
  } else {
    drawText(ctx, drawing, color);
  }
}

function getCirclePath(radius) {
  var path = new Path2D();
  path.arc(0, 0, radius, 0, 2 * Math.PI);
  path.closePath();
  return path;
}

function getCachedPadPath(pad) {
  if (!pad.path2d) {
    // if path2d is not set, build one and cache it on pad object
    if (pad.shape == "rect") {
      pad.path2d = new Path2D();
      pad.path2d.rect(...pad.size.map(c => -c * 0.5), ...pad.size);
    } else if (pad.shape == "oval") {
      pad.path2d = getOblongPath(pad.size);
    } else if (pad.shape == "circle") {
      pad.path2d = getCirclePath(pad.size[0] / 2);
    } else if (pad.shape == "roundrect") {
      pad.path2d = getChamferedRectPath(pad.size, pad.radius, 0, 0);
    } else if (pad.shape == "chamfrect") {
      pad.path2d = getChamferedRectPath(pad.size, pad.radius, pad.chamfpos, pad.chamfratio)
    } else if (pad.shape == "custom") {
      pad.path2d = getPolygonsPath(pad);
    }
  }
  return pad.path2d;
}

function drawPad(ctx, pad, color, outline) {
  ctx.save();
  ctx.translate(...pad.pos);
  ctx.rotate(deg2rad(pad.angle));
  if (pad.offset) {
    ctx.translate(...pad.offset);
  }
  ctx.fillStyle = color;
  ctx.strokeStyle = color;
  var path = getCachedPadPath(pad);
  if (outline) {
    ctx.stroke(path);
  } else {
    ctx.fill(path);
  }
  ctx.restore();
}

function drawPadHole(ctx, pad, padHoleColor) {
  if (pad.type != "th") return;
  ctx.save();
  ctx.translate(...pad.pos);
  ctx.rotate(deg2rad(pad.angle));
  ctx.fillStyle = padHoleColor;
  if (pad.drillshape == "oblong") {
    ctx.fill(getOblongPath(pad.drillsize));
  } else {
    ctx.fill(getCirclePath(pad.drillsize[0] / 2));
  }
  ctx.restore();
}

function drawFootprint(ctx, layer, scalefactor, footprint, padColor, padHoleColor, outlineColor, highlight, outline) {
  if (highlight) {
    // draw bounding box
    if (footprint.layer == layer) {
      ctx.save();
      ctx.globalAlpha = 0.2;
      ctx.translate(...footprint.bbox.pos);
      ctx.rotate(deg2rad(-footprint.bbox.angle));
      ctx.translate(...footprint.bbox.relpos);
      ctx.fillStyle = padColor;
      ctx.fillRect(0, 0, ...footprint.bbox.size);
      ctx.globalAlpha = 1;
      ctx.strokeStyle = padColor;
      ctx.strokeRect(0, 0, ...footprint.bbox.size);
      ctx.restore();
    }
  }
  // draw drawings
  for (var drawing of footprint.drawings) {
    if (drawing.layer == layer) {
      drawDrawing(ctx, scalefactor, drawing.drawing, padColor);
    }
  }
  // draw pads
  if (settings.renderPads) {
    for (var pad of footprint.pads) {
      if (pad.layers.includes(layer)) {
        drawPad(ctx, pad, padColor, outline);
        if (pad.pin1 && settings.highlightpin1) {
          drawPad(ctx, pad, outlineColor, true);
        }
      }
    }
    for (var pad of footprint.pads) {
      drawPadHole(ctx, pad, padHoleColor);
    }
  }
}

function drawEdgeCuts(canvas, scalefactor) {
  var ctx = canvas.getContext("2d");
  var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
  for (var edge of pcbdata.edges) {
    drawedge(ctx, scalefactor, edge, edgecolor);
  }
}

function drawFootprints(canvas, layer, scalefactor, highlight) {
  var ctx = canvas.getContext("2d");
  ctx.lineWidth = 3 / scalefactor;
  var style = getComputedStyle(topmostdiv);
  var padColor = style.getPropertyValue('--pad-color');
  var padHoleColor = style.getPropertyValue('--pad-hole-color');
  var outlineColor = style.getPropertyValue('--pin1-outline-color');
  if (highlight) {
    padColor = style.getPropertyValue('--pad-color-highlight');
    outlineColor = style.getPropertyValue('--pin1-outline-color-highlight');
  }
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var mod = pcbdata.footprints[i];
    var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
    if (!highlight || highlightedFootprints.includes(i)) {
      drawFootprint(ctx, layer, scalefactor, mod, padColor, padHoleColor, outlineColor, highlight, outline);
    }
  }
}

function drawBgLayer(layername, canvas, layer, scalefactor, edgeColor, polygonColor, textColor) {
  var ctx = canvas.getContext("2d");
  for (var d of pcbdata.drawings[layername][layer]) {
    if (["segment", "arc", "circle", "curve", "rect"].includes(d.type)) {
      drawedge(ctx, scalefactor, d, edgeColor);
    } else if (d.type == "polygon") {
      drawPolygonShape(ctx, d, polygonColor);
    } else {
      drawText(ctx, d, textColor);
    }
  }
}

function drawTracks(canvas, layer, color, highlight) {
  ctx = canvas.getContext("2d");
  ctx.strokeStyle = color;
  ctx.lineCap = "round";
  for(var track of pcbdata.tracks[layer]) {
    if (highlight && highlightedNet != track.net) continue;
    ctx.lineWidth = track.width;
    ctx.beginPath();
    ctx.moveTo(...track.start);
    ctx.lineTo(...track.end);
    ctx.stroke();
  }
}

function drawZones(canvas, layer, color, highlight) {
  ctx = canvas.getContext("2d");
  ctx.strokeStyle = color;
  ctx.fillStyle = color;
  ctx.lineJoin = "round";
  for(var zone of pcbdata.zones[layer]) {
    if (!zone.path2d) {
      zone.path2d = getPolygonsPath(zone);
    }
    if (highlight && highlightedNet != zone.net) continue;
    ctx.fill(zone.path2d);
    if (zone.width > 0) {
      ctx.lineWidth = zone.width;
      ctx.stroke(zone.path2d);
    }
  }
}

function clearCanvas(canvas, color = null) {
  var ctx = canvas.getContext("2d");
  ctx.save();
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  if (color) {
    ctx.fillStyle = color;
    ctx.fillRect(0, 0, canvas.width, canvas.height);
  } else {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
  }
  ctx.restore();
}

function drawNets(canvas, layer, highlight) {
  var style = getComputedStyle(topmostdiv);
  if (settings.renderTracks) {
    var trackColor = style.getPropertyValue(highlight ? '--track-color-highlight' : '--track-color');
    drawTracks(canvas, layer, trackColor, highlight);
  }
  if (settings.renderZones) {
    var zoneColor = style.getPropertyValue(highlight ? '--zone-color-highlight' : '--zone-color');
    drawZones(canvas, layer, zoneColor, highlight);
  }
  if (highlight && settings.renderPads) {
    var padColor = style.getPropertyValue('--pad-color-highlight');
    var padHoleColor = style.getPropertyValue('--pad-hole-color');
    var ctx = canvas.getContext("2d");
    for (var footprint of pcbdata.footprints) {
      // draw pads
      var padDrawn = false;
      for (var pad of footprint.pads) {
        if (highlightedNet != pad.net) continue;
        if (pad.layers.includes(layer)) {
          drawPad(ctx, pad, padColor, false);
          padDrawn = true;
        }
      }
      if (padDrawn) {
        // redraw all pad holes because some pads may overlap
        for (var pad of footprint.pads) {
          drawPadHole(ctx, pad, padHoleColor);
        }
      }
    }
  }
}

function drawHighlightsOnLayer(canvasdict, clear = true) {
  if (clear) {
    clearCanvas(canvasdict.highlight);
  }
  if (highlightedFootprints.length > 0) {
    drawFootprints(canvasdict.highlight, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom, true);
  }
  if (highlightedNet !== null) {
    drawNets(canvasdict.highlight, canvasdict.layer, true);
  }
}

function drawHighlights() {
  drawHighlightsOnLayer(allcanvas.front);
  drawHighlightsOnLayer(allcanvas.back);
}

function drawBackground(canvasdict, clear = true) {
  if (clear) {
    clearCanvas(canvasdict.bg);
    clearCanvas(canvasdict.fab);
    clearCanvas(canvasdict.silk);
  }

  drawNets(canvasdict.bg, canvasdict.layer, false);
  drawFootprints(canvasdict.bg, canvasdict.layer,
    canvasdict.transform.s * canvasdict.transform.zoom, false);

  drawEdgeCuts(canvasdict.bg, canvasdict.transform.s);

  var style = getComputedStyle(topmostdiv);
  var edgeColor = style.getPropertyValue('--silkscreen-edge-color');
  var polygonColor = style.getPropertyValue('--silkscreen-polygon-color');
  var textColor = style.getPropertyValue('--silkscreen-text-color');
  if (settings.renderSilkscreen) {
    drawBgLayer(
      "silkscreen", canvasdict.silk, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom,
      edgeColor, polygonColor, textColor);
  }
  edgeColor = style.getPropertyValue('--fabrication-edge-color');
  polygonColor = style.getPropertyValue('--fabrication-polygon-color');
  textColor = style.getPropertyValue('--fabrication-text-color');
  if (settings.renderFabrication) {
    drawBgLayer(
      "fabrication", canvasdict.fab, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom,
      edgeColor, polygonColor, textColor);
  }
}

function prepareCanvas(canvas, flip, transform) {
  var ctx = canvas.getContext("2d");
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  var fontsize = 1.55;
  ctx.scale(transform.zoom, transform.zoom);
  ctx.translate(transform.panx, transform.pany);
  if (flip) {
    ctx.scale(-1, 1);
  }
  ctx.translate(transform.x, transform.y);
  ctx.rotate(deg2rad(settings.boardRotation));
  ctx.scale(transform.s, transform.s);
}

function prepareLayer(canvasdict) {
  var flip = (canvasdict.layer == "B");
  for (var c of ["bg", "fab", "silk", "highlight"]) {
    prepareCanvas(canvasdict[c], flip, canvasdict.transform);
  }
}

function rotateVector(v, angle) {
  angle = deg2rad(angle);
  return [
    v[0] * Math.cos(angle) - v[1] * Math.sin(angle),
    v[0] * Math.sin(angle) + v[1] * Math.cos(angle)
  ];
}

function applyRotation(bbox) {
  var corners = [
    [bbox.minx, bbox.miny],
    [bbox.minx, bbox.maxy],
    [bbox.maxx, bbox.miny],
    [bbox.maxx, bbox.maxy],
  ];
  corners = corners.map((v) => rotateVector(v, settings.boardRotation));
  return {
    minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity),
    miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity),
    maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity),
    maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity),
  }
}

function recalcLayerScale(layerdict, width, height) {
  var bbox = applyRotation(pcbdata.edges_bbox);
  var scalefactor = 0.98 * Math.min(
    width / (bbox.maxx - bbox.minx),
    height / (bbox.maxy - bbox.miny)
  );
  if (scalefactor < 0.1) {
    scalefactor = 1;
  }
  layerdict.transform.s = scalefactor;
  var flip = (layerdict.layer == "B");
  if (flip) {
    layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
  } else {
    layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
  }
  layerdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
  for (var c of ["bg", "fab", "silk", "highlight"]) {
    canvas = layerdict[c];
    canvas.width = width;
    canvas.height = height;
    canvas.style.width = (width / devicePixelRatio) + "px";
    canvas.style.height = (height / devicePixelRatio) + "px";
  }
}

function redrawCanvas(layerdict) {
  prepareLayer(layerdict);
  drawBackground(layerdict);
  drawHighlightsOnLayer(layerdict);
}

function resizeCanvas(layerdict) {
  var canvasdivid = {
    "F": "frontcanvas",
    "B": "backcanvas"
  } [layerdict.layer];
  var width = document.getElementById(canvasdivid).clientWidth * devicePixelRatio;
  var height = document.getElementById(canvasdivid).clientHeight * devicePixelRatio;
  recalcLayerScale(layerdict, width, height);
  redrawCanvas(layerdict);
}

function resizeAll() {
  resizeCanvas(allcanvas.front);
  resizeCanvas(allcanvas.back);
}

function pointWithinDistanceToSegment(x, y, x1, y1, x2, y2, d) {
  var A = x - x1;
  var B = y - y1;
  var C = x2 - x1;
  var D = y2 - y1;

  var dot = A * C + B * D;
  var len_sq = C * C + D * D;
  var dx, dy;
  if (len_sq == 0) {
    // start and end of the segment coincide
    dx = x - x1;
    dy = y - y1;
  } else {
    var param = dot / len_sq;
    var xx, yy;
    if (param < 0) {
      xx = x1;
      yy = y1;
    } else if (param > 1) {
      xx = x2;
      yy = y2;
    } else {
      xx = x1 + param * C;
      yy = y1 + param * D;
    }
    dx = x - xx;
    dy = y - yy;
  }
  return dx * dx + dy * dy <= d * d;
}

function pointWithinPad(x, y, pad) {
  var v = [x - pad.pos[0], y - pad.pos[1]];
  v = rotateVector(v, -pad.angle);
  if (pad.offset) {
    v[0] -= pad.offset[0];
    v[1] -= pad.offset[1];
  }
  return emptyContext2d.isPointInPath(getCachedPadPath(pad), ...v);
}

function netHitScan(layer, x, y) {
  // Check track segments
  if (settings.renderTracks && pcbdata.tracks) {
    for(var track of pcbdata.tracks[layer]) {
      if (pointWithinDistanceToSegment(x, y, ...track.start, ...track.end, track.width / 2)) {
        return track.net;
      }
    }
  }
  // Check pads
  if (settings.renderPads) {
    for (var footprint of pcbdata.footprints) {
      for(var pad of footprint.pads) {
        if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
          return pad.net;
        }
      }
    }
  }
  return null;
}

function pointWithinFootprintBbox(x, y, bbox) {
  var v = [x - bbox.pos[0], y - bbox.pos[1]];
  v = rotateVector(v, bbox.angle);
  return bbox.relpos[0] <= v[0] && v[0] <= bbox.relpos[0] + bbox.size[0] &&
         bbox.relpos[1] <= v[1] && v[1] <= bbox.relpos[1] + bbox.size[1];
}

function bboxHitScan(layer, x, y) {
  var result = [];
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var footprint = pcbdata.footprints[i];
    if (footprint.layer == layer) {
      if (pointWithinFootprintBbox(x, y, footprint.bbox)) {
        result.push(i);
      }
    }
  }
  return result;
}

function handlePointerDown(e, layerdict) {
  if (e.button != 0 && e.button != 1) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();

  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  layerdict.pointerStates[e.pointerId] = {
    distanceTravelled: 0,
    lastX: e.offsetX,
    lastY: e.offsetY,
    downTime: Date.now(),
  };
}

function handleMouseClick(e, layerdict) {
  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  var x = e.offsetX;
  var y = e.offsetY;
  var t = layerdict.transform;
  if (layerdict.layer == "B") {
    x = (devicePixelRatio * x / t.zoom - t.panx + t.x) / -t.s;
  } else {
    x = (devicePixelRatio * x / t.zoom - t.panx - t.x) / t.s;
  }
  y = (devicePixelRatio * y / t.zoom - t.y - t.pany) / t.s;
  var v = rotateVector([x, y], -settings.boardRotation);
  if ("nets" in pcbdata) {
    var net = netHitScan(layerdict.layer, ...v);
    if (net !== highlightedNet) {
      netClicked(net);
    }
  }
  if (highlightedNet === null) {
    var footprints = bboxHitScan(layerdict.layer, ...v);
    if (footprints.length > 0) {
      footprintsClicked(footprints);
    }
  }
}

function handlePointerLeave(e, layerdict) {
  e.preventDefault();
  e.stopPropagation();

  if (!settings.redrawOnDrag) {
    redrawCanvas(layerdict);
  }

  delete layerdict.pointerStates[e.pointerId];
}

function resetTransform(layerdict) {
  layerdict.transform.panx = 0;
  layerdict.transform.pany = 0;
  layerdict.transform.zoom = 1;
  redrawCanvas(layerdict);
}

function handlePointerUp(e, layerdict) {
  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  e.preventDefault();
  e.stopPropagation();

  if (e.button == 2) {
    // Reset pan and zoom on right click.
    resetTransform(layerdict);
    layerdict.anotherPointerTapped = false;
    return;
  }

  // We haven't necessarily had a pointermove event since the interaction started, so make sure we update this now
  var ptr = layerdict.pointerStates[e.pointerId];
  ptr.distanceTravelled += Math.abs(e.offsetX - ptr.lastX) + Math.abs(e.offsetY - ptr.lastY);

  if (e.button == 0 && ptr.distanceTravelled < 10 && Date.now() - ptr.downTime <= 500) {
    if (Object.keys(layerdict.pointerStates).length == 1) {
      if (layerdict.anotherPointerTapped) {
        // This is the second pointer coming off of a two-finger tap
        resetTransform(layerdict);
      } else {
        // This is just a regular tap
        handleMouseClick(e, layerdict);
      }
      layerdict.anotherPointerTapped = false;
    } else {
      // This is the first finger coming off of what could become a two-finger tap
      layerdict.anotherPointerTapped = true;
    }
  } else {
    if (!settings.redrawOnDrag) {
      redrawCanvas(layerdict);
    }
    layerdict.anotherPointerTapped = false;
  }

  delete layerdict.pointerStates[e.pointerId];
}

function handlePointerMove(e, layerdict) {
  if (!layerdict.pointerStates.hasOwnProperty(e.pointerId)) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();

  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  var thisPtr = layerdict.pointerStates[e.pointerId];

  var dx = e.offsetX - thisPtr.lastX;
  var dy = e.offsetY - thisPtr.lastY;

  // If this number is low on pointer up, we count the action as a click
  thisPtr.distanceTravelled += Math.abs(dx) + Math.abs(dy);

  if (Object.keys(layerdict.pointerStates).length == 1) {
    // This is a simple drag
    layerdict.transform.panx += devicePixelRatio * dx / layerdict.transform.zoom;
    layerdict.transform.pany += devicePixelRatio * dy / layerdict.transform.zoom;
  } else if (Object.keys(layerdict.pointerStates).length == 2) {
    var otherPtr = Object.values(layerdict.pointerStates).filter((ptr) => ptr != thisPtr)[0];

    var oldDist = Math.sqrt(Math.pow(thisPtr.lastX - otherPtr.lastX, 2) + Math.pow(thisPtr.lastY - otherPtr.lastY, 2));
    var newDist = Math.sqrt(Math.pow(e.offsetX - otherPtr.lastX, 2)     + Math.pow(e.offsetY - otherPtr.lastY, 2));

    var scaleFactor = newDist/oldDist;

    if (scaleFactor != NaN) {
      layerdict.transform.zoom *= scaleFactor;

      var zoomd = (1 - scaleFactor) / layerdict.transform.zoom;
      layerdict.transform.panx += devicePixelRatio * otherPtr.lastX * zoomd;
      layerdict.transform.pany += devicePixelRatio * otherPtr.lastY * zoomd;
    }
  }

  thisPtr.lastX = e.offsetX;
  thisPtr.lastY = e.offsetY;

  if (settings.redrawOnDrag) {
    redrawCanvas(layerdict);
  }
}

function handleMouseWheel(e, layerdict) {
  e.preventDefault();
  e.stopPropagation();
  var t = layerdict.transform;
  var wheeldelta = e.deltaY;
  if (e.deltaMode == 1) {
    // FF only, scroll by lines
    wheeldelta *= 30;
  } else if (e.deltaMode == 2) {
    wheeldelta *= 300;
  }
  var m = Math.pow(1.1, -wheeldelta / 40);
  // Limit amount of zoom per tick.
  if (m > 2) {
    m = 2;
  } else if (m < 0.5) {
    m = 0.5;
  }
  t.zoom *= m;
  var zoomd = (1 - m) / t.zoom;
  t.panx += devicePixelRatio * e.offsetX * zoomd;
  t.pany += devicePixelRatio * e.offsetY * zoomd;
  redrawCanvas(layerdict);
}

function addMouseHandlers(div, layerdict) {
  div.addEventListener("pointerdown", function(e) {
    handlePointerDown(e, layerdict);
  });
  div.addEventListener("pointermove", function(e) {
    handlePointerMove(e, layerdict);
  });
  div.addEventListener("pointerup", function(e) {
    handlePointerUp(e, layerdict);
  });
  var pointerleave = function(e) {
    handlePointerLeave(e, layerdict);
  }
  div.addEventListener("pointercancel", pointerleave);
  div.addEventListener("pointerleave", pointerleave);
  div.addEventListener("pointerout", pointerleave);

  div.onwheel = function(e) {
    handleMouseWheel(e, layerdict);
  }
  for (var element of [div, layerdict.bg, layerdict.fab, layerdict.silk, layerdict.highlight]) {
    element.addEventListener("contextmenu", function(e) {
      e.preventDefault();
    }, false);
  }
}

function setRedrawOnDrag(value) {
  settings.redrawOnDrag = value;
  writeStorage("redrawOnDrag", value);
}

function setBoardRotation(value) {
  settings.boardRotation = value * 5;
  writeStorage("boardRotation", settings.boardRotation);
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
  resizeAll();
}

function initRender() {
  allcanvas = {
    front: {
      transform: {
        x: 0,
        y: 0,
        s: 1,
        panx: 0,
        pany: 0,
        zoom: 1,
      },
      pointerStates: {},
      anotherPointerTapped: false,
      bg: document.getElementById("F_bg"),
      fab: document.getElementById("F_fab"),
      silk: document.getElementById("F_slk"),
      highlight: document.getElementById("F_hl"),
      layer: "F",
    },
    back: {
      transform: {
        x: 0,
        y: 0,
        s: 1,
        panx: 0,
        pany: 0,
        zoom: 1,
      },
      pointerStates: {},
      anotherPointerTapped: false,
      bg: document.getElementById("B_bg"),
      fab: document.getElementById("B_fab"),
      silk: document.getElementById("B_slk"),
      highlight: document.getElementById("B_hl"),
      layer: "B",
    }
  };
  addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
  addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
}

///////////////////////////////////////////////

///////////////////////////////////////////////
/* DOM manipulation and misc code */

var bomsplit;
var canvassplit;
var initDone = false;
var bomSortFunction = null;
var currentSortColumn = null;
var currentSortOrder = null;
var currentHighlightedRowId;
var highlightHandlers = [];
var footprintIndexToHandler = {};
var netsToHandler = {};
var highlightedFootprints = [];
var highlightedNet = null;
var lastClicked;

function dbg(html) {
  dbgdiv.innerHTML = html;
}

function redrawIfInitDone() {
  if (initDone) {
    redrawCanvas(allcanvas.front);
    redrawCanvas(allcanvas.back);
  }
}

function padsVisible(value) {
  writeStorage("padsVisible", value);
  settings.renderPads = value;
  redrawIfInitDone();
}

function referencesVisible(value) {
  writeStorage("referencesVisible", value);
  settings.renderReferences = value;
  redrawIfInitDone();
}

function valuesVisible(value) {
  writeStorage("valuesVisible", value);
  settings.renderValues = value;
  redrawIfInitDone();
}

function tracksVisible(value) {
  writeStorage("tracksVisible", value);
  settings.renderTracks = value;
  redrawIfInitDone();
}

function zonesVisible(value) {
  writeStorage("zonesVisible", value);
  settings.renderZones = value;
  redrawIfInitDone();
}

function dnpOutline(value) {
  writeStorage("dnpOutline", value);
  settings.renderDnpOutline = value;
  redrawIfInitDone();
}

function setDarkMode(value) {
  if (value) {
    topmostdiv.classList.add("dark");
  } else {
    topmostdiv.classList.remove("dark");
  }
  writeStorage("darkmode", value);
  settings.darkMode = value;
  redrawIfInitDone();
}

function setFullscreen(value) {
  if (value) {
    document.documentElement.requestFullscreen();
  } else {
    document.exitFullscreen();
  }
}

function fabricationVisible(value) {
  writeStorage("fabricationVisible", value);
  settings.renderFabrication = value;
  redrawIfInitDone();
}

function silkscreenVisible(value) {
  writeStorage("silkscreenVisible", value);
  settings.renderSilkscreen = value;
  redrawIfInitDone();
}

function setHighlightPin1(value) {
  writeStorage("highlightpin1", value);
  settings.highlightpin1 = value;
  redrawIfInitDone();
}

function getStoredCheckboxRefs(checkbox) {
  function convert(ref) {
    var intref = parseInt(ref);
    if (isNaN(intref)) {
      for (var i = 0; i < pcbdata.footprints.length; i++) {
        if (pcbdata.footprints[i].ref == ref) {
          return i;
        }
      }
      return -1;
    } else {
      return intref;
    }
  }
  if (!(checkbox in settings.checkboxStoredRefs)) {
    var val = readStorage("checkbox_" + checkbox);
    settings.checkboxStoredRefs[checkbox] = val ? val : "";
  }
  if (!settings.checkboxStoredRefs[checkbox]) {
    return new Set();
  } else {
    return new Set(settings.checkboxStoredRefs[checkbox].split(",").map(r => convert(r)).filter(a => a >= 0));
  }
}

function getCheckboxState(checkbox, references) {
  var storedRefsSet = getStoredCheckboxRefs(checkbox);
  var currentRefsSet = new Set(references.map(r => r[1]));
  // Get difference of current - stored
  var difference = new Set(currentRefsSet);
  for (ref of storedRefsSet) {
    difference.delete(ref);
  }
  if (difference.size == 0) {
    // All the current refs are stored
    return "checked";
  } else if (difference.size == currentRefsSet.size) {
    // None of the current refs are stored
    return "unchecked";
  } else {
    // Some of the refs are stored
    return "indeterminate";
  }
}

function setBomCheckboxState(checkbox, element, references) {
  var state = getCheckboxState(checkbox, references);
  element.checked = (state == "checked");
  element.indeterminate = (state == "indeterminate");
}

function createCheckboxChangeHandler(checkbox, references, row) {
  return function() {
    refsSet = getStoredCheckboxRefs(checkbox);
    var darkenWhenChecked = settings.darkenWhenChecked == checkbox;
    eventArgs = {
      checkbox: checkbox,
      refs: references,
    }
    if (this.checked) {
      // checkbox ticked
      for (var ref of references) {
        refsSet.add(ref[1]);
      }
      if (darkenWhenChecked) {
        row.classList.add("checked");
      }
      eventArgs.state = 'checked';
    } else {
      // checkbox unticked
      for (var ref of references) {
        refsSet.delete(ref[1]);
      }
      if (darkenWhenChecked) {
        row.classList.remove("checked");
      }
      eventArgs.state = 'unchecked';
    }
    settings.checkboxStoredRefs[checkbox] = [...refsSet].join(",");
    writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
    updateCheckboxStats(checkbox);
    EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs);
  }
}

function clearHighlightedFootprints() {
  if (currentHighlightedRowId) {
    document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
    currentHighlightedRowId = null;
    highlightedFootprints = [];
    highlightedNet = null;
  }
}

function createRowHighlightHandler(rowid, refs, net) {
  return function() {
    if (currentHighlightedRowId) {
      if (currentHighlightedRowId == rowid) {
        return;
      }
      document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
    }
    document.getElementById(rowid).classList.add("highlighted");
    currentHighlightedRowId = rowid;
    highlightedFootprints = refs ? refs.map(r => r[1]) : [];
    highlightedNet = net;
    drawHighlights();
    EventHandler.emitEvent(
      IBOM_EVENT_TYPES.HIGHLIGHT_EVENT,
      {
        rowid: rowid,
        refs: refs,
        net: net
      });
  }
}

function entryMatches(entry) {
  if (settings.bommode == "netlist") {
    // entry is just a net name
    return entry.toLowerCase().indexOf(filter) >= 0;
  }
  // check refs
  for (var ref of entry[3]) {
    if (ref[0].toLowerCase().indexOf(filter) >= 0) {
      return true;
    }
  }
  // check extra fields
  for (var i in config.extra_fields) {
    if (entry[4][i].toLowerCase().indexOf(filter) >= 0) {
      return true;
    }
  }
  // check value
  if (entry[1].toLowerCase().indexOf(filter) >= 0) {
    return true;
  }
  // check footprint
  if (entry[2].toLowerCase().indexOf(filter) >= 0) {
    return true;
  }
  return false;
}

function findRefInEntry(entry) {
  return entry[3].filter(r => r[0].toLowerCase() == reflookup);
}

function highlightFilter(s) {
  if (!filter) {
    return s;
  }
  var parts = s.toLowerCase().split(filter);
  if (parts.length == 1) {
    return s;
  }
  var r = "";
  var pos = 0;
  for (var i in parts) {
    if (i > 0) {
      r += '<mark class="highlight">' +
        s.substring(pos, pos + filter.length) +
        '</mark>';
      pos += filter.length;
    }
    r += s.substring(pos, pos + parts[i].length);
    pos += parts[i].length;
  }
  return r;
}

function checkboxSetUnsetAllHandler(checkboxname) {
  return function() {
    var checkboxnum = 0;
    while (checkboxnum < settings.checkboxes.length &&
      settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
      checkboxnum++;
    }
    if (checkboxnum >= settings.checkboxes.length) {
      return;
    }
    var allset = true;
    var checkbox;
    var row;
    for (row of bombody.childNodes) {
      checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
      if (!checkbox.checked || checkbox.indeterminate) {
        allset = false;
        break;
      }
    }
    for (row of bombody.childNodes) {
      checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
      checkbox.checked = !allset;
      checkbox.indeterminate = false;
      checkbox.onchange();
    }
  }
}

function createColumnHeader(name, cls, comparator) {
  var th = document.createElement("TH");
  th.innerHTML = name;
  th.classList.add(cls);
  th.style.cursor = "pointer";
  var span = document.createElement("SPAN");
  span.classList.add("sortmark");
  span.classList.add("none");
  th.appendChild(span);
  th.onclick = function() {
    if (currentSortColumn && this !== currentSortColumn) {
      // Currently sorted by another column
      currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
      currentSortColumn.childNodes[1].classList.add("none");
      currentSortColumn = null;
      currentSortOrder = null;
    }
    if (currentSortColumn && this === currentSortColumn) {
      // Already sorted by this column
      if (currentSortOrder == "asc") {
        // Sort by this column, descending order
        bomSortFunction = function(a, b) {
          return -comparator(a, b);
        }
        currentSortColumn.childNodes[1].classList.remove("asc");
        currentSortColumn.childNodes[1].classList.add("desc");
        currentSortOrder = "desc";
      } else {
        // Unsort
        bomSortFunction = null;
        currentSortColumn.childNodes[1].classList.remove("desc");
        currentSortColumn.childNodes[1].classList.add("none");
        currentSortColumn = null;
        currentSortOrder = null;
      }
    } else {
      // Sort by this column, ascending order
      bomSortFunction = comparator;
      currentSortColumn = this;
      currentSortColumn.childNodes[1].classList.remove("none");
      currentSortColumn.childNodes[1].classList.add("asc");
      currentSortOrder = "asc";
    }
    populateBomBody();
  }
  return th;
}

function populateBomHeader() {
  while (bomhead.firstChild) {
    bomhead.removeChild(bomhead.firstChild);
  }
  var tr = document.createElement("TR");
  var th = document.createElement("TH");
  th.classList.add("numCol");
  tr.appendChild(th);
  var checkboxCompareClosure = function(checkbox) {
    return (a, b) => {
      var stateA = getCheckboxState(checkbox, a[3]);
      var stateB = getCheckboxState(checkbox, b[3]);
      if (stateA > stateB) return -1;
      if (stateA < stateB) return 1;
      return 0;
    }
  }
  if (settings.bommode == "netlist") {
    th = createColumnHeader("Net name", "bom-netname", (a, b) => {
      if (a > b) return -1;
      if (a < b) return 1;
      return 0;
    });
    tr.appendChild(th);
  } else {
    for (var checkbox of settings.checkboxes) {
      th = createColumnHeader(
        checkbox, "bom-checkbox", checkboxCompareClosure(checkbox));
      th.onclick = fancyDblClickHandler(
        th, th.onclick.bind(th), checkboxSetUnsetAllHandler(checkbox));
      tr.appendChild(th);
    }
    tr.appendChild(createColumnHeader("References", "References", (a, b) => {
      var i = 0;
      while (i < a[3].length && i < b[3].length) {
        if (a[3][i] != b[3][i]) return a[3][i] > b[3][i] ? 1 : -1;
        i++;
      }
      return a[3].length - b[3].length;
    }));
    // Extra fields
    if (config.extra_fields.length > 0) {
      var extraFieldCompareClosure = function(fieldIndex) {
        return (a, b) => {
          var fa = a[4][fieldIndex];
          var fb = b[4][fieldIndex];
          if (fa != fb) return fa > fb ? 1 : -1;
          else return 0;
        }
      }
      for (var i in config.extra_fields) {
        tr.appendChild(createColumnHeader(
          config.extra_fields[i], "extra", extraFieldCompareClosure(i)));
      }
    }
    tr.appendChild(createColumnHeader("Value", "Value", (a, b) => {
      return valueCompare(a[5], b[5], a[1], b[1]);
    }));
    tr.appendChild(createColumnHeader("Footprint", "Footprint", (a, b) => {
      if (a[2] != b[2]) return a[2] > b[2] ? 1 : -1;
      else return 0;
    }));
    if (settings.bommode == "grouped") {
      tr.appendChild(createColumnHeader("Quantity", "Quantity", (a, b) => {
        return a[3].length - b[3].length;
      }));
    }
  }
  bomhead.appendChild(tr);
}

function populateBomBody() {
  while (bom.firstChild) {
    bom.removeChild(bom.firstChild);
  }
  highlightHandlers = [];
  footprintIndexToHandler = {};
  netsToHandler = {};
  currentHighlightedRowId = null;
  var first = true;
  if (settings.bommode == "netlist") {
    bomtable = pcbdata.nets.slice();
  } else {
    switch (settings.canvaslayout) {
      case 'F':
        bomtable = pcbdata.bom.F.slice();
        break;
      case 'FB':
        bomtable = pcbdata.bom.both.slice();
        break;
      case 'B':
        bomtable = pcbdata.bom.B.slice();
        break;
    }
    if (settings.bommode == "ungrouped") {
      // expand bom table
      expandedTable = []
      for (var bomentry of bomtable) {
        for (var ref of bomentry[3]) {
          expandedTable.push([1, bomentry[1], bomentry[2], [ref], bomentry[4], bomentry[5]]);
        }
      }
      bomtable = expandedTable;
    }
  }
  if (bomSortFunction) {
    bomtable = bomtable.sort(bomSortFunction);
  }
  for (var i in bomtable) {
    var bomentry = bomtable[i];
    if (filter && !entryMatches(bomentry)) {
      continue;
    }
    var references = null;
    var netname = null;
    var tr = document.createElement("TR");
    var td = document.createElement("TD");
    var rownum = +i + 1;
    tr.id = "bomrow" + rownum;
    td.textContent = rownum;
    tr.appendChild(td);
    if (settings.bommode == "netlist") {
      netname = bomentry;
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(netname ? netname : "&lt;no net&gt;");
      tr.appendChild(td);
    } else {
      if (reflookup) {
        references = findRefInEntry(bomentry);
        if (references.length == 0) {
          continue;
        }
      } else {
        references = bomentry[3];
      }
      // Checkboxes
      for (var checkbox of settings.checkboxes) {
        if (checkbox) {
          td = document.createElement("TD");
          var input = document.createElement("input");
          input.type = "checkbox";
          input.onchange = createCheckboxChangeHandler(checkbox, references, tr);
          setBomCheckboxState(checkbox, input, references);
          if (input.checked && settings.darkenWhenChecked == checkbox) {
            tr.classList.add("checked");
          }
          td.appendChild(input);
          tr.appendChild(td);
        }
      }
      // References
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
      tr.appendChild(td);
      // Extra fields
      for (var i in config.extra_fields) {
        td = document.createElement("TD");
        td.innerHTML = highlightFilter(bomentry[4][i]);
        tr.appendChild(td);
      }
      // Value
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(bomentry[1]);
      tr.appendChild(td);
      // Footprint
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(bomentry[2]);
      tr.appendChild(td);
      if (settings.bommode == "grouped") {
        // Quantity
        td = document.createElement("TD");
        td.textContent = bomentry[3].length;
        tr.appendChild(td);
      }
    }
    bom.appendChild(tr);
    var handler = createRowHighlightHandler(tr.id, references, netname);
    tr.onmousemove = handler;
    highlightHandlers.push({
      id: tr.id,
      handler: handler,
    });
    if (references !== null) {
      for (var refIndex of references.map(r => r[1])) {
        footprintIndexToHandler[refIndex] = handler;
      }
    }
    if (netname !== null) {
      netsToHandler[netname] = handler;
    }
    if ((filter || reflookup) && first) {
      handler();
      first = false;
    }
  }
  EventHandler.emitEvent(
    IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT,
    {
      filter: filter,
      reflookup: reflookup,
      checkboxes: settings.checkboxes,
      bommode: settings.bommode,
    });
}

function highlightPreviousRow() {
  if (!currentHighlightedRowId) {
    highlightHandlers[highlightHandlers.length - 1].handler();
  } else {
    if (highlightHandlers.length > 1 &&
      highlightHandlers[0].id == currentHighlightedRowId) {
      highlightHandlers[highlightHandlers.length - 1].handler();
    } else {
      for (var i = 0; i < highlightHandlers.length - 1; i++) {
        if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
          highlightHandlers[i].handler();
          break;
        }
      }
    }
  }
  smoothScrollToRow(currentHighlightedRowId);
}

function highlightNextRow() {
  if (!currentHighlightedRowId) {
    highlightHandlers[0].handler();
  } else {
    if (highlightHandlers.length > 1 &&
      highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
      highlightHandlers[0].handler();
    } else {
      for (var i = 1; i < highlightHandlers.length; i++) {
        if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
          highlightHandlers[i].handler();
          break;
        }
      }
    }
  }
  smoothScrollToRow(currentHighlightedRowId);
}

function populateBomTable() {
  populateBomHeader();
  populateBomBody();
}

function footprintsClicked(footprintIndexes) {
  var lastClickedIndex = footprintIndexes.indexOf(lastClicked);
  for (var i = 1; i <= footprintIndexes.length; i++) {
    var refIndex = footprintIndexes[(lastClickedIndex + i) % footprintIndexes.length];
    if (refIndex in footprintIndexToHandler) {
      lastClicked = refIndex;
      footprintIndexToHandler[refIndex]();
      smoothScrollToRow(currentHighlightedRowId);
      break;
    }
  }
}

function netClicked(net) {
  if (net in netsToHandler) {
    netsToHandler[net]();
    smoothScrollToRow(currentHighlightedRowId);
  } else {
    clearHighlightedFootprints();
    highlightedNet = net;
    drawHighlights();
  }
}

function updateFilter(input) {
  filter = input.toLowerCase();
  populateBomTable();
}

function updateRefLookup(input) {
  reflookup = input.toLowerCase();
  populateBomTable();
}

function changeCanvasLayout(layout) {
  document.getElementById("fl-btn").classList.remove("depressed");
  document.getElementById("fb-btn").classList.remove("depressed");
  document.getElementById("bl-btn").classList.remove("depressed");
  switch (layout) {
    case 'F':
      document.getElementById("fl-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.collapse(1);
      }
      break;
    case 'B':
      document.getElementById("bl-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.collapse(0);
      }
      break;
    default:
      document.getElementById("fb-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.setSizes([50, 50]);
      }
  }
  settings.canvaslayout = layout;
  writeStorage("canvaslayout", layout);
  resizeAll();
  changeBomMode(settings.bommode);
}

function populateMetadata() {
  document.getElementById("title").innerHTML = pcbdata.metadata.title;
  document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision;
  document.getElementById("company").innerHTML = pcbdata.metadata.company;
  document.getElementById("filedate").innerHTML = pcbdata.metadata.date;
  if (pcbdata.metadata.title != "") {
    document.title = pcbdata.metadata.title + " BOM";
  }
  // Calculate board stats
  var fp_f = 0, fp_b = 0, pads_f = 0, pads_b = 0, pads_th = 0;
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    if (pcbdata.bom.skipped.includes(i)) continue;
    var mod = pcbdata.footprints[i];
    if (mod.layer == "F") {
      fp_f++;
    } else {
      fp_b++;
    }
    for (var pad of mod.pads) {
      if (pad.type == "th") {
        pads_th++;
      } else {
        if (pad.layers.includes("F")) {
          pads_f++;
        }
        if (pad.layers.includes("B")) {
          pads_b++;
        }
      }
    }
  }
  document.getElementById("stats-components-front").innerHTML = fp_f;
  document.getElementById("stats-components-back").innerHTML = fp_b;
  document.getElementById("stats-components-total").innerHTML = fp_f + fp_b;
  document.getElementById("stats-groups-front").innerHTML = pcbdata.bom.F.length;
  document.getElementById("stats-groups-back").innerHTML = pcbdata.bom.B.length;
  document.getElementById("stats-groups-total").innerHTML = pcbdata.bom.both.length;
  document.getElementById("stats-smd-pads-front").innerHTML = pads_f;
  document.getElementById("stats-smd-pads-back").innerHTML = pads_b;
  document.getElementById("stats-smd-pads-total").innerHTML = pads_f + pads_b;
  document.getElementById("stats-th-pads").innerHTML = pads_th;
  // Update version string
  document.getElementById("github-link").innerHTML = "InteractiveHtmlBom&nbsp;" +
    /^v\d+\.\d+/.exec(pcbdata.ibom_version)[0];
}

function changeBomLayout(layout) {
  document.getElementById("bom-btn").classList.remove("depressed");
  document.getElementById("lr-btn").classList.remove("depressed");
  document.getElementById("tb-btn").classList.remove("depressed");
  switch (layout) {
    case 'bom-only':
      document.getElementById("bom-btn").classList.add("depressed");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      document.getElementById("frontcanvas").style.display = "none";
      document.getElementById("backcanvas").style.display = "none";
      document.getElementById("bot").style.height = "";
      break;
    case 'top-bottom':
      document.getElementById("tb-btn").classList.add("depressed");
      document.getElementById("frontcanvas").style.display = "";
      document.getElementById("backcanvas").style.display = "";
      document.getElementById("bot").style.height = "calc(100% - 80px)";
      document.getElementById("bomdiv").classList.remove("split-horizontal");
      document.getElementById("canvasdiv").classList.remove("split-horizontal");
      document.getElementById("frontcanvas").classList.add("split-horizontal");
      document.getElementById("backcanvas").classList.add("split-horizontal");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      bomsplit = Split(['#bomdiv', '#canvasdiv'], {
        sizes: [50, 50],
        onDragEnd: resizeAll,
        direction: "vertical",
        gutterSize: 5
      });
      canvassplit = Split(['#frontcanvas', '#backcanvas'], {
        sizes: [50, 50],
        gutterSize: 5,
        onDragEnd: resizeAll
      });
      break;
    case 'left-right':
      document.getElementById("lr-btn").classList.add("depressed");
      document.getElementById("frontcanvas").style.display = "";
      document.getElementById("backcanvas").style.display = "";
      document.getElementById("bot").style.height = "calc(100% - 80px)";
      document.getElementById("bomdiv").classList.add("split-horizontal");
      document.getElementById("canvasdiv").classList.add("split-horizontal");
      document.getElementById("frontcanvas").classList.remove("split-horizontal");
      document.getElementById("backcanvas").classList.remove("split-horizontal");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      bomsplit = Split(['#bomdiv', '#canvasdiv'], {
        sizes: [50, 50],
        onDragEnd: resizeAll,
        gutterSize: 5
      });
      canvassplit = Split(['#frontcanvas', '#backcanvas'], {
        sizes: [50, 50],
        gutterSize: 5,
        direction: "vertical",
        onDragEnd: resizeAll
      });
  }
  settings.bomlayout = layout;
  writeStorage("bomlayout", layout);
  changeCanvasLayout(settings.canvaslayout);
}

function changeBomMode(mode) {
  document.getElementById("bom-grouped-btn").classList.remove("depressed");
  document.getElementById("bom-ungrouped-btn").classList.remove("depressed");
  document.getElementById("bom-netlist-btn").classList.remove("depressed");
  switch (mode) {
    case 'grouped':
      document.getElementById("bom-grouped-btn").classList.add("depressed");
      break;
    case 'ungrouped':
      document.getElementById("bom-ungrouped-btn").classList.add("depressed");
      break;
    case 'netlist':
      document.getElementById("bom-netlist-btn").classList.add("depressed");
  }
  writeStorage("bommode", mode);
  if (mode != settings.bommode) {
    settings.bommode = mode;
    bomSortFunction = null;
    currentSortColumn = null;
    currentSortOrder = null;
    clearHighlightedFootprints();
  }
  populateBomTable();
}

function focusFilterField() {
  focusInputField(document.getElementById("filter"));
}

function focusRefLookupField() {
  focusInputField(document.getElementById("reflookup"));
}

function toggleBomCheckbox(bomrowid, checkboxnum) {
  if (!bomrowid || checkboxnum > settings.checkboxes.length) {
    return;
  }
  var bomrow = document.getElementById(bomrowid);
  var checkbox = bomrow.childNodes[checkboxnum].childNodes[0];
  checkbox.checked = !checkbox.checked;
  checkbox.indeterminate = false;
  checkbox.onchange();
}

function checkBomCheckbox(bomrowid, checkboxname) {
  var checkboxnum = 0;
  while (checkboxnum < settings.checkboxes.length &&
    settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
    checkboxnum++;
  }
  if (!bomrowid || checkboxnum >= settings.checkboxes.length) {
    return;
  }
  var bomrow = document.getElementById(bomrowid);
  var checkbox = bomrow.childNodes[checkboxnum + 1].childNodes[0];
  checkbox.checked = true;
  checkbox.indeterminate = false;
  checkbox.onchange();
}

function setBomCheckboxes(value) {
  writeStorage("bomCheckboxes", value);
  settings.checkboxes = value.split(",").filter((e) => e);
  prepCheckboxes();
  populateBomTable();
  populateDarkenWhenCheckedOptions();
}

function setDarkenWhenChecked(value) {
  writeStorage("darkenWhenChecked", value);
  settings.darkenWhenChecked = value;
  populateBomTable();
}

function prepCheckboxes() {
  var table = document.getElementById("checkbox-stats");
  while (table.childElementCount > 1) {
    table.removeChild(table.lastChild);
  }
  if (settings.checkboxes.length) {
    table.style.display = "";
  } else {
    table.style.display = "none";
  }
  for (var checkbox of settings.checkboxes) {
    var tr = document.createElement("TR");
    var td = document.createElement("TD");
    td.innerHTML = checkbox;
    tr.appendChild(td);
    td = document.createElement("TD");
    td.id = "checkbox-stats-" + checkbox;
    var progressbar = document.createElement("div");
    progressbar.classList.add("bar");
    td.appendChild(progressbar);
    var text = document.createElement("div");
    text.classList.add("text");
    td.appendChild(text);
    tr.appendChild(td);
    table.appendChild(tr);
    updateCheckboxStats(checkbox);
  }
}

function populateDarkenWhenCheckedOptions() {
  var container = document.getElementById("darkenWhenCheckedContainer");

  if (settings.checkboxes.length == 0) {
    container.parentElement.style.display = "none";
    return;
  }

  container.innerHTML = '';
  container.parentElement.style.display = "inline-block";

  function createOption(name, displayName) {
    var id = "darkenWhenChecked-" + name;

    var div = document.createElement("div");
    div.classList.add("radio-container");

    var input = document.createElement("input");
    input.type = "radio";
    input.name = "darkenWhenChecked";
    input.value = name;
    input.id = id;
    input.onchange = () => setDarkenWhenChecked(name);
    div.appendChild(input);

    // Preserve the selected element when the checkboxes change
    if (name == settings.darkenWhenChecked) {
      input.checked = true;
    }

    var label = document.createElement("label");
    label.innerHTML = displayName;
    label.htmlFor = id;
    div.appendChild(label);

    container.appendChild(div);
  }
  createOption("", "None");
  for (var checkbox of settings.checkboxes) {
    createOption(checkbox, checkbox);
  }
}

function updateCheckboxStats(checkbox) {
  var checked = getStoredCheckboxRefs(checkbox).size;
  var total = pcbdata.footprints.length - pcbdata.bom.skipped.length;
  var percent = checked * 100.0 / total;
  var td = document.getElementById("checkbox-stats-" + checkbox);
  td.firstChild.style.width = percent + "%";
  td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
}

document.onkeydown = function(e) {
  switch (e.key) {
    case "n":
      if (document.activeElement.type == "text") {
        return;
      }
      if (currentHighlightedRowId !== null) {
        checkBomCheckbox(currentHighlightedRowId, "placed");
        highlightNextRow();
        e.preventDefault();
      }
      break;
    case "ArrowUp":
      highlightPreviousRow();
      e.preventDefault();
      break;
    case "ArrowDown":
      highlightNextRow();
      e.preventDefault();
      break;
    default:
      break;
  }
  if (e.altKey) {
    switch (e.key) {
      case "f":
        focusFilterField();
        e.preventDefault();
        break;
      case "r":
        focusRefLookupField();
        e.preventDefault();
        break;
      case "z":
        changeBomLayout("bom-only");
        e.preventDefault();
        break;
      case "x":
        changeBomLayout("left-right");
        e.preventDefault();
        break;
      case "c":
        changeBomLayout("top-bottom");
        e.preventDefault();
        break;
      case "v":
        changeCanvasLayout("F");
        e.preventDefault();
        break;
      case "b":
        changeCanvasLayout("FB");
        e.preventDefault();
        break;
      case "n":
        changeCanvasLayout("B");
        e.preventDefault();
        break;
      default:
        break;
    }
    if (e.key >= '1' && e.key <= '9') {
      toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
    }
  }
}

function hideNetlistButton() {
  document.getElementById("bom-ungrouped-btn").classList.remove("middle-button");
  document.getElementById("bom-ungrouped-btn").classList.add("right-most-button");
  document.getElementById("bom-netlist-btn").style.display = "none";
}

window.onload = function(e) {
  initUtils();
  initRender();
  initStorage();
  initDefaults();
  cleanGutters();
  populateMetadata();
  dbgdiv = document.getElementById("dbg");
  bom = document.getElementById("bombody");
  bomhead = document.getElementById("bomhead");
  filter = "";
  reflookup = "";
  if (!("nets" in pcbdata)) {
    hideNetlistButton();
  }
  initDone = true;
  prepCheckboxes();
  // Triggers render
  changeBomLayout(settings.bomlayout);

  // Users may leave fullscreen without touching the checkbox. Uncheck.
  document.addEventListener('fullscreenchange', () => {
    if (!document.fullscreenElement)
      document.getElementById('fullscreenCheckbox').checked = false;
  });
}

window.onresize = resizeAll;
window.matchMedia("print").addListener(resizeAll);

///////////////////////////////////////////////

///////////////////////////////////////////////

///////////////////////////////////////////////
  </script>
</head>

<body>

<div id="topmostdiv" class="topmostdiv">
  <div id="top">
    <div style="float: right; height: 100%;">
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="menubtn"></button>
        <div class="menu-content">
          <label class="menu-label menu-label-top" style="width: calc(50% - 18px)">
            <input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)">
            Dark mode
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label menu-label-top" style="width: calc(50% - 17px); border-left: 0;">
            <input id="fullscreenCheckbox" type="checkbox" onchange="setFullscreen(this.checked)">
            Full Screen
          </label>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="fabricationCheckbox" type="checkbox" checked onchange="fabricationVisible(this.checked)">
            Fab layer
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)">
            Silkscreen
          </label>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="referencesCheckbox" type="checkbox" checked onchange="referencesVisible(this.checked)">
            References
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="valuesCheckbox" type="checkbox" checked onchange="valuesVisible(this.checked)">
            Values
          </label>
          <div id="tracksAndZonesCheckboxes">
            <label class="menu-label" style="width: calc(50% - 18px)">
              <input id="tracksCheckbox" type="checkbox" checked onchange="tracksVisible(this.checked)">
              Tracks
            </label><!-- This comment eats space! All of it!
            --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
              <input id="zonesCheckbox" type="checkbox" checked onchange="zonesVisible(this.checked)">
              Zones
            </label>
          </div>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="padsCheckbox" type="checkbox" checked onchange="padsVisible(this.checked)">
            Pads
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="dnpOutlineCheckbox" type="checkbox" checked onchange="dnpOutline(this.checked)">
            DNP outlined
          </label>
          <label class="menu-label">
            <input id="highlightpin1Checkbox" type="checkbox" onchange="setHighlightPin1(this.checked)">
            Highlight first pin
          </label>
          <label class="menu-label">
            <input id="dragCheckbox" type="checkbox" checked onchange="setRedrawOnDrag(this.checked)">
            Continuous redraw on drag
          </label>
          <label class="menu-label">
            <span>Board rotation</span>
            <span style="float: right"><span id="rotationDegree">0</span>&#176;</span>
            <input id="boardRotation" type="range" min="-36" max="36" value="0" class="slider" oninput="setBoardRotation(this.value)">
          </label>
          <label class="menu-label">
            <div style="margin-left: 5px">Bom checkboxes</div>
            <input id="bomCheckboxes" class="menu-textbox" type=text
                   oninput="setBomCheckboxes(this.value)">
          </label>
          <label class="menu-label">
            <div style="margin-left: 5px">Darken when checked</div>
            <div id="darkenWhenCheckedContainer"></div>
          </label>
          <label class="menu-label">
            <span class="shameless-plug">
              <span>Created using</span>
              <a id="github-link" target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
            </span>
          </label>
        </div>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="fl-btn" class="left-most-button" onclick="changeCanvasLayout('F')"
                title="Front only">F
        </button>
        <button id="fb-btn" class="middle-button" onclick="changeCanvasLayout('FB')"
                title="Front and Back">FB
        </button>
        <button id="bl-btn" class="right-most-button" onclick="changeCanvasLayout('B')"
                title="Back only">B
        </button>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="bom-btn" class="left-most-button" onclick="changeBomLayout('bom-only')"
                title="BOM only"></button>
        <button id="lr-btn" class="middle-button" onclick="changeBomLayout('left-right')"
                title="BOM left, drawings right"></button>
        <button id="tb-btn" class="right-most-button" onclick="changeBomLayout('top-bottom')"
                title="BOM top, drawings bot"></button>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="bom-grouped-btn" class="left-most-button" onclick="changeBomMode('grouped')"
                title="Grouped BOM"></button>
        <button id="bom-ungrouped-btn" class="middle-button" onclick="changeBomMode('ungrouped')"
                title="Ungrouped BOM"></button>
        <button id="bom-netlist-btn" class="right-most-button" onclick="changeBomMode('netlist')"
                title="Netlist"></button>
      </div>
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="statsbtn"></button>
        <div class="menu-content">
          <table class="stats">
            <tbody>
              <tr>
                <td width="40%">Board stats</td>
                <td>Front</td>
                <td>Back</td>
                <td>Total</td>
              </tr>
              <tr>
                <td>Components</td>
                <td id="stats-components-front">~</td>
                <td id="stats-components-back">~</td>
                <td id="stats-components-total">~</td>
              </tr>
              <tr>
                <td>Groups</td>
                <td id="stats-groups-front">~</td>
                <td id="stats-groups-back">~</td>
                <td id="stats-groups-total">~</td>
              </tr>
              <tr>
                <td>SMD pads</td>
                <td id="stats-smd-pads-front">~</td>
                <td id="stats-smd-pads-back">~</td>
                <td id="stats-smd-pads-total">~</td>
              </tr>
              <tr>
                <td>TH pads</td>
                <td colspan=3 id="stats-th-pads">~</td>
              </tr>
            </tbody>
          </table>
          <table class="stats">
            <col width="40%"/><col />
            <tbody id="checkbox-stats">
              <tr>
                <td colspan=2 style="border-top: 0">Checkboxes</td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="iobtn"></button>
        <div class="menu-content">
          <div class="menu-label menu-label-top">
            <div style="margin-left: 5px;">Save board image</div>
            <div class="flexbox">
              <input id="render-save-width" class="menu-textbox" type="text" value="1000" placeholder="Width"
                  style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
              <span>X</span>
              <input id="render-save-height" class="menu-textbox" type="text" value="1000" placeholder="Height"
                  style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
            </div>
            <label>
              <input id="render-save-transparent" type="checkbox">
              Transparent background
            </label>
            <div class="flexbox">
              <button class="savebtn" onclick="saveImage('F')">Front</button>
              <button class="savebtn" onclick="saveImage('B')">Back</button>
            </div>
          </div>
          <div class="menu-label">
            <span style="margin-left: 5px;">Config and checkbox state</span>
            <div class="flexbox">
              <button class="savebtn" onclick="saveSettings()">Export</button>
              <button class="savebtn" onclick="loadSettings()">Import</button>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div id="fileinfodiv" style="overflow: auto;">
      <table class="fileinfo">
        <tbody>
          <tr>
            <td id="title" class="title" style="width: 70%">
              Title
            </td>
            <td id="revision" class="title" style="width: 30%">
              Revision
            </td>
          </tr>
          <tr>
            <td id="company">
              Company
            </td>
            <td id="filedate">
              Date
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <div id="bot" class="split" style="height: calc(100% - 80px)">
    <div id="bomdiv" class="split split-horizontal">
      <div style="width: 100%">
        <input id="reflookup" class="textbox searchbox reflookup hideonprint" type="text" placeholder="Ref lookup"
               oninput="updateRefLookup(this.value)">
        <input id="filter" class="textbox searchbox filter hideonprint" type="text" placeholder="Filter"
               oninput="updateFilter(this.value)">
        <div class="button-container hideonprint" style="float: left; margin: 0;">
          <button id="copy" title="Copy bom table to clipboard"
               onclick="copyToClipboard()"></button>
        </div>
      </div>
      <div id="dbg"></div>
      <table class="bom">
        <thead id="bomhead">
        </thead>
        <tbody id="bombody">
        </tbody>
      </table>
    </div>
    <div id="canvasdiv" class="split split-horizontal">
      <div id="frontcanvas" class="split" touch-action="none" style="overflow: hidden">
        <div style="position: relative; width: 100%; height: 100%;">
          <canvas id="F_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
          <canvas id="F_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
          <canvas id="F_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
          <canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
        </div>
      </div>
      <div id="backcanvas" class="split" touch-action="none" style="overflow: hidden">
        <div style="position: relative; width: 100%; height: 100%;">
          <canvas id="B_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
          <canvas id="B_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
          <canvas id="B_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
          <canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
        </div>
      </div>
    </div>
  </div>
</div>

</body>

</html>