<!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;
  --pad-color-highlight-both: #D0D040;
  --pad-color-highlight-marked: #44a344;
  --pin1-outline-color: #ffb629;
  --pin1-outline-color-highlight: #ffb629;
  --pin1-outline-color-highlight-both: #fcbb39;
  --pin1-outline-color-highlight-marked: #fdbe41;
  --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;
  position: relative;
}

.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: #1cb53d;
}

.dark .bom tr.checked {
  color: #2cce54;
}

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

.bom .numCol {
  width: 30px;
}

.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;
}

.visbtn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='none' stroke='%23333' d='M2.5 4.5h5v15h-5zM9.5 4.5h5v15h-5zM16.5 4.5h5v15h-5z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  padding: 15px;
}

#vismenu-content {
  left: 0px;
  font-family: Verdana, sans-serif;
}

.dark .statsbtn,
.dark .savebtn,
.dark .menubtn,
.dark .iobtn,
.dark .visbtn {
  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 {
  font-size: 12pt !important;
  text-align: left !important;
  font-weight: normal !important;
  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;
}

.placeholder {
  border: 1px dashed #9f9fda !important;
  background-color: #edf2f7 !important;
}

.dragging {
  z-index: 999;
}

.dark .dragging>table>tbody>tr {
  background-color: #252c30;
}

.dark .placeholder {
  filter: invert(1);
}

.column-spacer {
  top: 0;
  left: 0;
  width: calc(100% - 4px);
  position: absolute;
  cursor: pointer;
  user-select: none;
  height: 100%;
}

.column-width-handle {
  top: 0;
  right: 0;
  width: 4px;
  position: absolute;
  cursor: col-resize;
  user-select: none;
  height: 100%;
}

.column-width-handle:hover {
  background-color: #4f99bd;
}


  </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": true, "show_pads": true, "show_fabrication": false, "show_silkscreen": true, "highlight_pin1": false, "redraw_on_drag": true, "board_rotation": 0, "checkboxes": "Sourced,Placed", "bom_view": "left-right", "layer_view": "FB", "fields": ["Value", "Footprint"]}
///////////////////////////////////////////////

///////////////////////////////////////////////
var pcbdata = JSON.parse(LZString.decompressFromBase64("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8B75/Vwh4AVFwtnm+Yy4BTF8qUZkr+BD2eR0WJlLZmAQETnX0CKwd1AGuf1Ia8hbRcL53ZhOhlNpQCB4sEPZoOYI6QG0VzndmE2KQWhSrHOEyjndmChOQTEy/DIQJARD2ZDFrWlYBGTwD0WwKhoocVkg6A9FqFFIaRIEp0XloEqYT6lJ4EPZ/TwpGCzAO0XVuF6wfMX0xe30jLAsxZY58BTJGTqoyIBQuYCpTMXHRdz575gUxdKsC0Xsxe+YeMXLqWNFtFBQOazYJok1UCQoKLnxoEw4Uqwq+uB59sXDyCPMBkWAOebFx8w20FfZl0XJGSp4r9mZmFzF0ukenIc5rakixa1E/bmZmEXdDukYxdkQV9nQdBcYEcXQHW850Ag+xa9gXihX2b3FuqkuxYfZ+OY7CSZFd0WVxegIS6lxZUbFusXU6BbFxU5Quex+NPBx6EWFqLn/xebwS6hOBfM5uFZm8FnFncWbzAnF9cXlxYnpPshAJbJRcznVxf8pbcXOOYcYUuaCsUnFqtA3OetFy6lRxY05wsWKyH7F68WsJfdYTsXK+BNFrCW3xfypVsXiJaT6TXEGxeIlv0Xx6VNgBrmQJYoZVsXQub38OchteaAlkdm+JdT5sCWlRXi5/LwDGQwlh3nImGYIdmlBJfi5lKJIaSXFqLnzqCQlqSWhJd5yOehaKGUEQ8W52Dol08WCiHi5tCXLqW+s6zmzOBcF1FnqJe7F25sT0HfF4UWNJcUln8WGudpAWSX6JbIF8SW/UX8wZ8WheZq5xyXvJctFgiI2JYdpD8XCuYK6kSWOJadFs4UsURbF+yX4udpHYfEJ6WCFuKXCGEIl1aJmcEy5uRg+qH6cNHmwpckl5SXQpYiB/0XkJex5hPQspb0F3yXu8x/pVYj0pYIiBcXraWnQZKX0WFoZfJByuRq5ysX3xfcluuJDRYEl8CWupe/Frm5DJYIiO70RGR0l7sWhpZSlyGlspc45tPm/2HQl/KWNRfWlNellJc65qHluWCclwvmAsEgl7iXfxZG5piWvRZCl3aXbJZqZTqXsYmepXkwNpZUQoqWMBCTFzaXXJe15m+AQuap5xaWisGLF3PnP6BnFiKW3pctRTMX0qGzFlchAGDOl0jAqeeMlpSX5JcrIfSWbzFiFqnnlKi0lxKXXOZZ5yqW7JfdF96XFuHWlr6XO9BzwNGXC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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.*)?$", "");
  if (config.fields.includes("Value")) {
    var index = config.fields.indexOf("Value");
    pcbdata.bom["parsedValues"] = {};
    for (var id in pcbdata.bom.fields) {
      pcbdata.bom.parsedValues[id] = parseValue(pcbdata.bom.fields[id][index])
    }
  }
}

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("markWhenChecked", settings.markWhenChecked);
  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;
  showFootprints(settings.show_footprints);
  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,
  columnOrder: [],
  hiddenColumns: [],
}

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.markWhenChecked = readStorage("markWhenChecked") || "";
  populateMarkWhenCheckedOptions();

  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);

  var fields = ["checkboxes", "References"].concat(config.fields).concat(["Quantity"]);
  var hcols = JSON.parse(readStorage("hiddenColumns"));
  if (hcols === null) {
    hcols = [];
  }
  settings.hiddenColumns = hcols.filter(e => fields.includes(e));

  var cord = JSON.parse(readStorage("columnOrder"));
  if (cord === null) {
    cord = fields;
  } else {
    cord = cord.filter(e => fields.includes(e));
    if (cord.length != fields.length)
      cord = fields;
  }
  settings.columnOrder = cord;

  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.fillStyle = color;
  ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
  ctx.lineCap = "round";
  ctx.lineJoin = "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);
    }
    if("filled" in edge && edge.filled)
      ctx.fill();
    else
      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, scalefactor, shape, color) {
  ctx.save();
  if (!("svgpath" in shape)) {
    ctx.translate(...shape.pos);
    ctx.rotate(deg2rad(-shape.angle));
  }
  if("filled" in shape && !shape.filled) {
    ctx.strokeStyle = color;
    ctx.lineWidth = Math.max(1 / scalefactor, shape.width);
    ctx.lineCap = "round";
    ctx.lineJoin = "round";
    ctx.stroke(getPolygonsPath(shape));
  } else {
    ctx.fillStyle = color;
    ctx.fill(getPolygonsPath(shape));
  }
  ctx.restore();
}

function drawDrawing(ctx, scalefactor, drawing, color) {
  if (["segment", "arc", "circle", "curve", "rect"].includes(drawing.type)) {
    drawedge(ctx, scalefactor, drawing, color);
  } else if (drawing.type == "polygon") {
    drawPolygonShape(ctx, scalefactor, 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, colors, 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 = colors.pad;
      ctx.fillRect(0, 0, ...footprint.bbox.size);
      ctx.globalAlpha = 1;
      ctx.strokeStyle = colors.pad;
      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, colors.pad);
    }
  }
  // draw pads
  if (settings.renderPads) {
    for (var pad of footprint.pads) {
      if (pad.layers.includes(layer)) {
        drawPad(ctx, pad, colors.pad, outline);
        if (pad.pin1 && settings.highlightpin1) {
          drawPad(ctx, pad, colors.outline, true);
        }
      }
    }
    for (var pad of footprint.pads) {
      drawPadHole(ctx, pad, colors.padHole);
    }
  }
}

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

function drawFootprints(canvas, layer, scalefactor, highlight) {
  var ctx = canvas.getContext("2d");
  ctx.lineWidth = 3 / scalefactor;
  var style = getComputedStyle(topmostdiv);

  var colors = {
    pad: style.getPropertyValue('--pad-color'),
    padHole: style.getPropertyValue('--pad-hole-color'),
    outline: style.getPropertyValue('--pin1-outline-color'),
  }

  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var mod = pcbdata.footprints[i];
    var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
    var h = highlightedFootprints.includes(i);
    var d = markedFootprints.has(i);
    if (highlight) {
      if(h && d) {
        colors.pad = style.getPropertyValue('--pad-color-highlight-both');
        colors.outline = style.getPropertyValue('--pin1-outline-color-highlight-both');
      } else if (h) {
        colors.pad = style.getPropertyValue('--pad-color-highlight');
        colors.outline = style.getPropertyValue('--pin1-outline-color-highlight');
      } else if (d) {
        colors.pad = style.getPropertyValue('--pad-color-highlight-marked');
        colors.outline = style.getPropertyValue('--pin1-outline-color-highlight-marked');
      }
    }
    if( h || d || !highlight) {
      drawFootprint(ctx, layer, scalefactor, mod, colors, 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, scalefactor, 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();
    if ('radius' in track) {
      ctx.arc(
        ...track.center,
        track.radius,
        deg2rad(track.startangle),
        deg2rad(track.endangle));
    } else {
      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 {
    if (!window.matchMedia("print").matches)
      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 (markedFootprints.size > 0 || 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 * canvasdict.transform.zoom);

  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 modulo(n, mod) {
  return ((n % mod) + mod) % mod;
}

function pointWithinDistanceToArc(x, y, xc, yc, radius, startangle, endangle, d) {
  var dx = x - xc;
  var dy = y - yc;
  var r_sq = dx * dx + dy * dy;
  var rmin = Math.max(0, radius - d);
  var rmax = radius + d;

  if (r_sq < rmin * rmin || r_sq > rmax * rmax)
    return false;

  var angle1 = modulo(deg2rad(startangle), 2 * Math.PI);
  var dx1 = xc + radius * Math.cos(angle1) - x;
  var dy1 = yc + radius * Math.sin(angle1) - y;
  if (dx1 * dx1 + dy1 * dy1 <= d * d)
    return true;

  var angle2 = modulo(deg2rad(endangle), 2 * Math.PI);
  var dx2 = xc + radius * Math.cos(angle2) - x;
  var dy2 = yc + radius * Math.sin(angle2) - y;
  if (dx2 * dx2 + dy2 * dy2 <= d * d)
    return true;

  var angle = modulo(Math.atan2(dy, dx), 2 * Math.PI);
  if (angle1 > angle2)
    return (angle >= angle2 || angle <= angle1);
  else
    return (angle >= angle1 && angle <= angle2);
}

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 ('radius' in track) {
        if (pointWithinDistanceToArc(x, y, ...track.center, track.radius, track.startangle, track.endangle, track.width / 2)) {
          return track.net;
        }
      } else {
        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);
}

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

///////////////////////////////////////////////
/*
 * Table reordering via Drag'n'Drop
 * Inspired by: https://htmldom.dev/drag-and-drop-table-column
 */

function setBomHandlers() {

  const bom = document.getElementById('bomtable');

  let dragName;
  let placeHolderElements;
  let draggingElement;
  let forcePopulation;
  let xOffset;
  let yOffset;
  let wasDragged;

  const mouseUpHandler = function(e) {
    // Delete dragging element
    draggingElement.remove();

    // Make BOM selectable again
    bom.style.removeProperty("userSelect");

    // Remove listeners
    document.removeEventListener('mousemove', mouseMoveHandler);
    document.removeEventListener('mouseup', mouseUpHandler);

    if (wasDragged) {
      // Redraw whole BOM
      populateBomTable();
    }
  }

  const mouseMoveHandler = function(e) {
    // Notice the dragging
    wasDragged = true;

    // Make the dragged element visible
    draggingElement.style.removeProperty("display");

    // Set elements position to mouse position
    draggingElement.style.left = `${e.screenX - xOffset}px`;
    draggingElement.style.top = `${e.screenY - yOffset}px`;

    // Forced redrawing of BOM table
    if (forcePopulation) {
      forcePopulation = false;
      // Copy array
      phe = Array.from(placeHolderElements);
      // populate BOM table again
      populateBomHeader(dragName, phe);
      populateBomBody(dragName, phe);
    }

    // Set up array of hidden columns
    var hiddenColumns = Array.from(settings.hiddenColumns);
    // In the ungrouped mode, quantity don't exist
    if (settings.bommode === "ungrouped")
      hiddenColumns.push("Quantity");
    // If no checkbox fields can be found, we consider them hidden
    if (settings.checkboxes.length == 0)
      hiddenColumns.push("checkboxes");

    // Get table headers and group them into checkboxes, extrafields and normal headers
    const bh = document.getElementById("bomhead");
    headers = Array.from(bh.querySelectorAll("th"))
    headers.shift() // numCol is not part of the columnOrder
    headerGroups = []
    lastCompoundClass = null;
    for (i = 0; i < settings.columnOrder.length; i++) {
      cElem = settings.columnOrder[i];
      if (hiddenColumns.includes(cElem)) {
        // Hidden columns appear as a dummy element
        headerGroups.push([]);
        continue;
      }
      elem = headers.filter(e => getColumnOrderName(e) === cElem)[0];
      if (elem.classList.contains("bom-checkbox")) {
        if (lastCompoundClass === "bom-checkbox") {
          cbGroup = headerGroups.pop();
          cbGroup.push(elem);
          headerGroups.push(cbGroup);
        } else {
          lastCompoundClass = "bom-checkbox";
          headerGroups.push([elem])
        }
      } else {
        headerGroups.push([elem])
      }
    }

    // Copy settings.columnOrder
    var columns = Array.from(settings.columnOrder)

    // Set up array with indices of hidden columns
    var hiddenIndices = hiddenColumns.map(e => settings.columnOrder.indexOf(e));
    var dragIndex = columns.indexOf(dragName);
    var swapIndex = dragIndex;
    var swapDone = false;

    // Check if the current dragged element is swapable with the left or right element
    if (dragIndex > 0) {
      // Get left headers boundingbox
      swapIndex = dragIndex - 1;
      while (hiddenIndices.includes(swapIndex) && swapIndex > 0)
        swapIndex--;
      if (!hiddenIndices.includes(swapIndex)) {
        box = getBoundingClientRectFromMultiple(headerGroups[swapIndex]);
        if (e.clientX < box.left + window.scrollX + (box.width / 2)) {
          swapElement = columns[dragIndex];
          columns.splice(dragIndex, 1);
          columns.splice(swapIndex, 0, swapElement);
          forcePopulation = true;
          swapDone = true;
        }
      }
    }
    if ((!swapDone) && dragIndex < headerGroups.length - 1) {
      // Get right headers boundingbox
      swapIndex = dragIndex + 1;
      while (hiddenIndices.includes(swapIndex))
        swapIndex++;
      if (swapIndex < headerGroups.length) {
        box = getBoundingClientRectFromMultiple(headerGroups[swapIndex]);
        if (e.clientX > box.left + window.scrollX + (box.width / 2)) {
          swapElement = columns[dragIndex];
          columns.splice(dragIndex, 1);
          columns.splice(swapIndex, 0, swapElement);
          forcePopulation = true;
          swapDone = true;
        }
      }
    }

    // Write back change to storage
    if (swapDone) {
      settings.columnOrder = columns
      writeStorage("columnOrder", JSON.stringify(columns));
    }

  }

  const mouseDownHandler = function(e) {
    var target = e.target;
    if (target.tagName.toLowerCase() != "td")
      target = target.parentElement;

    // Used to check if a dragging has ever happened
    wasDragged = false;

    // Create new element which will be displayed as the dragged column
    draggingElement = document.createElement("div")
    draggingElement.classList.add("dragging");
    draggingElement.style.display = "none";
    draggingElement.style.position = "absolute";
    draggingElement.style.overflow = "hidden";

    // Get bomhead and bombody elements
    const bh = document.getElementById("bomhead");
    const bb = document.getElementById("bombody");

    // Get all compound headers for the current column
    var compoundHeaders;
    if (target.classList.contains("bom-checkbox")) {
      compoundHeaders = Array.from(bh.querySelectorAll("th.bom-checkbox"));
    } else {
      compoundHeaders = [target];
    }

    // Create new table which will display the column
    var newTable = document.createElement("table");
    newTable.classList.add("bom");
    newTable.style.background = "white";
    draggingElement.append(newTable);

    // Create new header element
    var newHeader = document.createElement("thead");
    newTable.append(newHeader);

    // Set up array for storing all placeholder elements
    placeHolderElements = [];

    // Add all compound headers to the new thead element and placeholders
    compoundHeaders.forEach(function(h) {
      clone = cloneElementWithDimensions(h);
      newHeader.append(clone);
      placeHolderElements.push(clone);
    });

    // Create new body element
    var newBody = document.createElement("tbody");
    newTable.append(newBody);

    // Get indices for compound headers
    var idxs = compoundHeaders.map(e => getBomTableHeaderIndex(e));

    // For each row in the BOM body...
    var rows = bb.querySelectorAll("tr");
    rows.forEach(function(row) {
      // ..get the cells for the compound column
      const tds = row.querySelectorAll("td");
      var copytds = idxs.map(i => tds[i]);
      // Add them to the new element and the placeholders
      var newRow = document.createElement("tr");
      copytds.forEach(function(td) {
        clone = cloneElementWithDimensions(td);
        newRow.append(clone);
        placeHolderElements.push(clone);
      });
      newBody.append(newRow);
    });

    // Compute width for compound header
    var width = compoundHeaders.reduce((acc, x) => acc + x.clientWidth, 0);
    draggingElement.style.width = `${width}px`;

    // Insert the new dragging element and disable selection on BOM
    bom.insertBefore(draggingElement, null);
    bom.style.userSelect = "none";

    // Determine the mouse position offset
    xOffset = e.screenX - compoundHeaders.reduce((acc, x) => Math.min(acc, x.offsetLeft), compoundHeaders[0].offsetLeft);
    yOffset = e.screenY - compoundHeaders[0].offsetTop;

    // Get name for the column in settings.columnOrder
    dragName = getColumnOrderName(target);

    // Change text and class for placeholder elements
    placeHolderElements = placeHolderElements.map(function(e) {
      newElem = cloneElementWithDimensions(e);
      newElem.textContent = "";
      newElem.classList.add("placeholder");
      return newElem;
    });

    // On next mouse move, the whole BOM needs to be redrawn to show the placeholders
    forcePopulation = true;

    // Add listeners for move and up on mouse
    document.addEventListener('mousemove', mouseMoveHandler);
    document.addEventListener('mouseup', mouseUpHandler);
  }

  // In netlist mode, there is nothing to reorder
  if (settings.bommode === "netlist")
    return;

  // Add mouseDownHandler to every column except the numCol
  bom.querySelectorAll("th")
    .forEach(function(head) {
      if (!head.classList.contains("numCol")) {
        head.onmousedown = mouseDownHandler;
      }
    });

}

function getBoundingClientRectFromMultiple(elements) {
  var elems = Array.from(elements);

  if (elems.length == 0)
    return null;

  var box = elems.shift()
    .getBoundingClientRect();

  elems.forEach(function(elem) {
    var elembox = elem.getBoundingClientRect();
    box.left = Math.min(elembox.left, box.left);
    box.top = Math.min(elembox.top, box.top);
    box.width += elembox.width;
    box.height = Math.max(elembox.height, box.height);
  });

  return box;
}

function cloneElementWithDimensions(elem) {
  var newElem = elem.cloneNode(true);
  newElem.style.height = window.getComputedStyle(elem).height;
  newElem.style.width = window.getComputedStyle(elem).width;
  return newElem;
}

function getBomTableHeaderIndex(elem) {
  const bh = document.getElementById('bomhead');
  const ths = Array.from(bh.querySelectorAll("th"));
  return ths.indexOf(elem);
}

function getColumnOrderName(elem) {
  var cname = elem.getAttribute("col_name");
  if (cname === "bom-checkbox")
    return "checkboxes";
  else
    return cname;
}

function resizableGrid(tablehead) {
  var cols = tablehead.firstElementChild.children;
  var rowWidth = tablehead.offsetWidth;

  for (var i = 1; i < cols.length; i++) {
    if (cols[i].classList.contains("bom-checkbox"))
      continue;
    cols[i].style.width = ((cols[i].clientWidth - paddingDiff(cols[i])) * 100 / rowWidth) + '%';
  }

  for (var i = 1; i < cols.length - 1; i++) {
    var div = document.createElement('div');
    div.className = "column-width-handle";
    cols[i].appendChild(div);
    setListeners(div);
  }

  function setListeners(div) {
    var startX, curCol, nxtCol, curColWidth, nxtColWidth, rowWidth;

    div.addEventListener('mousedown', function(e) {
      e.preventDefault();
      e.stopPropagation();

      curCol = e.target.parentElement;
      nxtCol = curCol.nextElementSibling;
      startX = e.pageX;

      var padding = paddingDiff(curCol);

      rowWidth = curCol.parentElement.offsetWidth;
      curColWidth = curCol.clientWidth - padding;
      nxtColWidth = nxtCol.clientWidth - padding;
    });

    document.addEventListener('mousemove', function(e) {
      if (startX) {
        var diffX = e.pageX - startX;
        diffX = -Math.min(-diffX, curColWidth - 20);
        diffX = Math.min(diffX, nxtColWidth - 20);

        curCol.style.width = ((curColWidth + diffX) * 100 / rowWidth) + '%';
        nxtCol.style.width = ((nxtColWidth - diffX) * 100 / rowWidth) + '%';
        console.log(`${curColWidth + nxtColWidth} ${(curColWidth + diffX) * 100 / rowWidth + (nxtColWidth - diffX) * 100 / rowWidth}`);
      }
    });

    document.addEventListener('mouseup', function(e) {
      curCol = undefined;
      nxtCol = undefined;
      startX = undefined;
      nxtColWidth = undefined;
      curColWidth = undefined
    });
  }

  function paddingDiff(col) {

    if (getStyleVal(col, 'box-sizing') == 'border-box') {
      return 0;
    }

    var padLeft = getStyleVal(col, 'padding-left');
    var padRight = getStyleVal(col, 'padding-right');
    return (parseInt(padLeft) + parseInt(padRight));

  }

  function getStyleVal(elm, css) {
    return (window.getComputedStyle(elm, null).getPropertyValue(css))
  }
}

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

///////////////////////////////////////////////
/* 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 markedFootprints = new Set();
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 setShowBOMColumn(field, value) {
  if (field === "references") {
    var rl = document.getElementById("reflookup");
    rl.disabled = !value;
    if (!value) {
      rl.value = "";
      updateRefLookup("");
    }
  }

  var n = settings.hiddenColumns.indexOf(field);
  if (value) {
    if (n != -1) {
      settings.hiddenColumns.splice(n, 1);
    }
  } else {
    if (n == -1) {
      settings.hiddenColumns.push(field);
    }
  }

  writeStorage("hiddenColumns", JSON.stringify(settings.hiddenColumns));

  if (initDone) {
    populateBomTable();
  }

  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 markWhenChecked = settings.markWhenChecked == checkbox;
    eventArgs = {
      checkbox: checkbox,
      refs: references,
    }
    if (this.checked) {
      // checkbox ticked
      for (var ref of references) {
        refsSet.add(ref[1]);
      }
      if (markWhenChecked) {
        row.classList.add("checked");
        for (var ref of references) {
          markedFootprints.add(ref[1]);
        }
        drawHighlights();
      }
      eventArgs.state = 'checked';
    } else {
      // checkbox unticked
      for (var ref of references) {
        refsSet.delete(ref[1]);
      }
      if (markWhenChecked) {
        row.classList.remove("checked");
        for (var ref of references) {
          markedFootprints.delete(ref[1]);
        }
        drawHighlights();
      }
      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
  if (!settings.hiddenColumns.includes("references")) {
    for (var ref of entry) {
      if (ref[0].toLowerCase().indexOf(filter) >= 0) {
        return true;
      }
    }
  }
  // check fields
  for (var i in config.fields) {
    var f = config.fields[i];
    if (!settings.hiddenColumns.includes(f)) {
      for (var ref of entry) {
        if (pcbdata.bom.fields[ref[1]][i].toLowerCase().indexOf(filter) >= 0) {
          return true;
        }
      }
    }
  }
  return false;
}

function findRefInEntry(entry) {
  return entry.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, is_checkbox = false) {
  var th = document.createElement("TH");
  th.innerHTML = name;
  th.classList.add(cls);
  if (is_checkbox)
    th.setAttribute("col_name", "bom-checkbox");
  else
    th.setAttribute("col_name", name);
  var span = document.createElement("SPAN");
  span.classList.add("sortmark");
  span.classList.add("none");
  th.appendChild(span);
  var spacer = document.createElement("div");
  spacer.className = "column-spacer";
  th.appendChild(spacer);
  spacer.onclick = function () {
    if (currentSortColumn && th !== currentSortColumn) {
      // Currently sorted by another column
      currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
      currentSortColumn.childNodes[1].classList.add("none");
      currentSortColumn = null;
      currentSortOrder = null;
    }
    if (currentSortColumn && th === 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 = th;
      currentSortColumn.childNodes[1].classList.remove("none");
      currentSortColumn.childNodes[1].classList.add("asc");
      currentSortOrder = "asc";
    }
    populateBomBody();
  }
  if (is_checkbox) {
    spacer.onclick = fancyDblClickHandler(
      spacer, spacer.onclick, checkboxSetUnsetAllHandler(name));
  }
  return th;
}

function populateBomHeader(placeHolderColumn = null, placeHolderElements = null) {
  while (bomhead.firstChild) {
    bomhead.removeChild(bomhead.firstChild);
  }
  var tr = document.createElement("TR");
  var th = document.createElement("TH");
  th.classList.add("numCol");

  var vismenu = document.createElement("div");
  vismenu.id = "vismenu";
  vismenu.classList.add("menu");

  var visbutton = document.createElement("div");
  visbutton.classList.add("visbtn");
  visbutton.classList.add("hideonprint");

  var viscontent = document.createElement("div");
  viscontent.classList.add("menu-content");
  viscontent.id = "vismenu-content";

  settings.columnOrder.forEach(column => {
    if (typeof column !== "string")
      return;

    // Skip empty columns
    if (column === "checkboxes" && settings.checkboxes.length == 0)
      return;
    else if (column === "Quantity" && settings.bommode == "ungrouped")
      return;

    var label = document.createElement("label");
    label.classList.add("menu-label");

    var input = document.createElement("input");
    input.classList.add("visibility_checkbox");
    input.type = "checkbox";
    input.onchange = function (e) {
      setShowBOMColumn(column, e.target.checked)
    };
    input.checked = !(settings.hiddenColumns.includes(column));

    label.appendChild(input);
    if (column.length > 0)
      label.append(column[0].toUpperCase() + column.slice(1));

    viscontent.appendChild(label);
  });

  viscontent.childNodes[0].classList.add("menu-label-top");

  vismenu.appendChild(visbutton);
  if (settings.bommode != "netlist") {
    vismenu.appendChild(viscontent);
    th.appendChild(vismenu);
  }
  tr.appendChild(th);

  var checkboxCompareClosure = function (checkbox) {
    return (a, b) => {
      var stateA = getCheckboxState(checkbox, a);
      var stateB = getCheckboxState(checkbox, b);
      if (stateA > stateB) return -1;
      if (stateA < stateB) return 1;
      return 0;
    }
  }
  var stringFieldCompareClosure = function (fieldIndex) {
    return (a, b) => {
      var fa = pcbdata.bom.fields[a[0][1]][fieldIndex];
      var fb = pcbdata.bom.fields[b[0][1]][fieldIndex];
      if (fa != fb) return fa > fb ? 1 : -1;
      else return 0;
    }
  }
  var referenceRegex = /(?<prefix>[^0-9]+)(?<number>[0-9]+)/;
  var compareRefs = (a, b) => {
    var ra = referenceRegex.exec(a);
    var rb = referenceRegex.exec(b);
    if (ra === null || rb === null) {
      if (a != b) return a > b ? 1 : -1;
      return 0;
    } else {
      if (ra.groups.prefix != rb.groups.prefix) {
        return ra.groups.prefix > rb.groups.prefix ? 1 : -1;
      }
      if (ra.groups.number != rb.groups.number) {
        return parseInt(ra.groups.number) > parseInt(rb.groups.number) ? 1 : -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 {
    // Filter hidden columns
    var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
    var valueIndex = config.fields.indexOf("Value");
    var footprintIndex = config.fields.indexOf("Footprint");
    columns.forEach((column) => {
      if (column === placeHolderColumn) {
        var n = 1;
        if (column === "checkboxes")
          n = settings.checkboxes.length;
        for (i = 0; i < n; i++) {
          td = placeHolderElements.shift();
          tr.appendChild(td);
        }
        return;
      } else if (column === "checkboxes") {
        for (var checkbox of settings.checkboxes) {
          th = createColumnHeader(
            checkbox, "bom-checkbox", checkboxCompareClosure(checkbox), true);
          tr.appendChild(th);
        }
      } else if (column === "References") {
        tr.appendChild(createColumnHeader("References", "references", (a, b) => {
          var i = 0;
          while (i < a.length && i < b.length) {
            if (a[i] != b[i]) return compareRefs(a[i][0], b[i][0]);
            i++;
          }
          return a.length - b.length;
        }));
      } else if (column === "Value") {
        tr.appendChild(createColumnHeader("Value", "value", (a, b) => {
          var ra = a[0][1], rb = b[0][1];
          return valueCompare(
            pcbdata.bom.parsedValues[ra], pcbdata.bom.parsedValues[rb],
            pcbdata.bom.fields[ra][valueIndex], pcbdata.bom.fields[rb][valueIndex]);
        }));
        return;
      } else if (column === "Footprint") {
        tr.appendChild(createColumnHeader(
          "Footprint", "footprint", stringFieldCompareClosure(footprintIndex)));
      } else if (column === "Quantity" && settings.bommode == "grouped") {
        tr.appendChild(createColumnHeader("Quantity", "quantity", (a, b) => {
          return a.length - b.length;
        }));
      } else {
        // Other fields
        var i = config.fields.indexOf(column);
        if (i < 0)
          return;
        tr.appendChild(createColumnHeader(
          column, `field${i + 1}`, stringFieldCompareClosure(i)));
      }
    });
  }
  bomhead.appendChild(tr);
}

function populateBomBody(placeholderColumn = null, placeHolderElements = null) {
  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) {
          expandedTable.push([ref]);
        }
      }
      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;
      }
      // Filter hidden columns
      var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
      columns.forEach((column) => {
        if (column === placeholderColumn) {
          var n = 1;
          if (column === "checkboxes")
            n = settings.checkboxes.length;
          for (i = 0; i < n; i++) {
            td = placeHolderElements.shift();
            tr.appendChild(td);
          }
          return;
        } else if (column === "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.markWhenChecked == checkbox) {
                tr.classList.add("checked");
              }
              td.appendChild(input);
              tr.appendChild(td);
            }
          }
        } else if (column === "References") {
          td = document.createElement("TD");
          td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
          tr.appendChild(td);
        } else if (column === "Quantity" && settings.bommode == "grouped") {
          // Quantity
          td = document.createElement("TD");
          td.textContent = references.length;
          tr.appendChild(td);
        } else {
          // All the other fields
          var field_index = config.fields.indexOf(column)
          if (field_index < 0)
            return;
          var valueSet = new Set();
          references.map(r => r[1]).forEach((id) => valueSet.add(pcbdata.bom.fields[id][field_index]));
          td = document.createElement("TD");
          td.innerHTML = highlightFilter(Array.from(valueSet).join(", "));
          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();
  setBomHandlers();
  resizableGrid(bomhead);
}

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");
  var chkbxs = document.getElementsByClassName("visibility_checkbox");

  switch (mode) {
    case 'grouped':
      document.getElementById("bom-grouped-btn").classList.add("depressed");
      for (var i = 0; i < chkbxs.length; i++) {
        chkbxs[i].disabled = false;
      }
      break;
    case 'ungrouped':
      document.getElementById("bom-ungrouped-btn").classList.add("depressed");
      for (var i = 0; i < chkbxs.length; i++) {
        chkbxs[i].disabled = false;
      }
      break;
    case 'netlist':
      document.getElementById("bom-netlist-btn").classList.add("depressed");
      for (var i = 0; i < chkbxs.length; i++) {
        chkbxs[i].disabled = true;
      }
  }

  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(",").map((e) => e.trim()).filter((e) => e);
  prepCheckboxes();
  populateMarkWhenCheckedOptions();
  setMarkWhenChecked(settings.markWhenChecked);
}

function setMarkWhenChecked(value) {
  writeStorage("markWhenChecked", value);
  settings.markWhenChecked = value;
  markedFootprints.clear();
  for (var ref of (value ? getStoredCheckboxRefs(value) : [])) {
    markedFootprints.add(ref);
  }
  populateBomTable();
  drawHighlights();
}

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 populateMarkWhenCheckedOptions() {
  var container = document.getElementById("markWhenCheckedContainer");

  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 = "markWhenChecked-" + name;

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

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

    // Preserve the selected element when the checkboxes change
    if (name == settings.markWhenChecked) {
      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));
      e.preventDefault();
    }
  }
}

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;
  setBomCheckboxes(document.getElementById("bomCheckboxes").value);
  // 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">Mark when checked</div>
            <div id="markWhenCheckedContainer"></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" id="bomtable">
        <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>
