summaryrefslogtreecommitdiff
path: root/Resources/OpenPLCv1/OpenPLCv1.2/bom
diff options
context:
space:
mode:
Diffstat (limited to 'Resources/OpenPLCv1/OpenPLCv1.2/bom')
-rwxr-xr-xResources/OpenPLCv1/OpenPLCv1.2/bom/components.odsbin16741 -> 0 bytes
-rwxr-xr-xResources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html2246
2 files changed, 0 insertions, 2246 deletions
diff --git a/Resources/OpenPLCv1/OpenPLCv1.2/bom/components.ods b/Resources/OpenPLCv1/OpenPLCv1.2/bom/components.ods
deleted file mode 100755
index 48327c4..0000000
--- a/Resources/OpenPLCv1/OpenPLCv1.2/bom/components.ods
+++ /dev/null
Binary files differ
diff --git a/Resources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html b/Resources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html
deleted file mode 100755
index fa9f5ab..0000000
--- a/Resources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html
+++ /dev/null
@@ -1,2246 +0,0 @@
-<!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-color-highlight: #D04040;
- --pin1-outline-color: #ffb629;
- --pin1-outline-color-highlight: #b4ff03;
-}
-
-html, body {
- margin: 0px;
- height: 100%;
- font-family: Verdana, sans-serif;
-}
-
-.dark {
- --pcb-edge-color: #eee;
- --pad-color: #808080;
- --pin1-outline-color: #ffa800;
- --pin1-outline-color-highlight: #ccff00;
- 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");
- background-size: 32px 32px;
- background-position: 5px 5px;
- background-repeat: no-repeat;
-}
-
-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");
- background-size: 32px 32px;
- background-position: 5px 5px;
- background-repeat: no-repeat;
-}
-
-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");
- background-size: 32px 32px;
- background-position: 5px 5px;
- background-repeat: no-repeat;
-}
-
-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;
-}
-
-.dark .button-container {
- filter: invert(1);
-}
-
-@media print {
- .hideonprint {
- display: none;
- }
-}
-
-canvas {
- cursor: crosshair;
-}
-
-canvas:active {
- cursor: grabbing;
-}
-
-.fileinfo {
- width: 100%;
- max-width: 1000px;
- border: none;
- padding: 5px;
-}
-
-.fileinfo .title {
- font-size: 20pt;
- font-weight: bold;
-}
-
-.fileinfo td {
- overflow: hidden;
- white-space: nowrap;
- max-width: 1px;
- width: 50%;
- text-overflow: ellipsis;
-}
-
-.bom {
- border-collapse: collapse;
- font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
- font-size: 10pt;
- table-layout: fixed;
- width: 100%;
- margin-top: 1px;
-}
-
-.bom th, .bom td {
- border: 1px solid black;
- padding: 5px;
- word-wrap: break-word;
- text-align: center;
- position: relative;
-}
-
-.dark .bom th, .dark .bom td {
- border: 1px solid #777;
-}
-
-.bom th {
- background-color: #CCCCCC;
- background-clip: padding-box;
-}
-
-.dark .bom th {
- background-color: #3b4749;
-}
-
-.bom tr.highlighted:nth-child(n) {
- background-color: #cfc;
-}
-
-.dark .bom tr.highlighted:nth-child(n) {
- background-color: #226022;
-}
-
-.bom tr:nth-child(even) {
- background-color: #f2f2f2;
-}
-
-.dark .bom tr:nth-child(even) {
- background-color: #313b40;
-}
-
-.bom tr {
- transition: background-color 0.2s;
-}
-
-.bom .numCol {
- width: 25px;
-}
-
-.bom .Description {
- width: 10%;
-}
-
-.bom .Part {
- width: 10%;
-}
-
-.bom .Value {
- width: 15%;
-}
-
-.bom .Quantity {
- width: 65px;
-}
-
-.bom th .sortmark {
- position: absolute;
- right: 1px;
- top: 1px;
- margin-top: -5px;
- border-width: 5px;
- border-style: solid;
- border-color: transparent transparent #221 transparent;
- transform-origin: 50% 85%;
- transition: opacity 0.2s, transform 0.4s;
-}
-
-.dark .bom th .sortmark {
- filter: invert(1);
-}
-
-.bom th .sortmark.none {
- opacity: 0;
-}
-
-.bom th .sortmark.desc {
- transform: rotate(180deg);
-}
-
-.bom th:hover .sortmark.none {
- opacity: 0.5;
-}
-
-.bom .bom-checkbox {
- width: 30px;
- position: relative;
- user-select: none;
- -moz-user-select: none;
-}
-
-.bom .bom-checkbox:before {
- content: "";
- position: absolute;
- border-width: 15px;
- border-style: solid;
- border-color: #51829f transparent transparent transparent;
- visibility: hidden;
- top: -15px;
-}
-
-.bom .bom-checkbox:after {
- content: "Double click to set/unset all";
- position: absolute;
- color: white;
- top: -35px;
- left: -26px;
- background: #51829f;
- padding: 5px 15px;
- border-radius: 8px;
- white-space: nowrap;
- visibility: hidden;
-}
-
-.bom .bom-checkbox:hover:before, .bom .bom-checkbox:hover:after {
- visibility: visible;
- transition: visibility 0.2s linear 1s;
-}
-
-.split {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- overflow-y: auto;
- overflow-x: hidden;
- background-color: inherit;
-}
-
-.split.split-horizontal, .gutter.gutter-horizontal {
- height: 100%;
- float: left;
-}
-
-.gutter {
- background-color: #ddd;
- background-repeat: no-repeat;
- background-position: 50%;
- transition: background-color 0.3s;
-}
-
-.dark .gutter {
- background-color: #777;
-}
-
-.gutter.gutter-horizontal {
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
- cursor: ew-resize;
- width: 5px;
-}
-
-.gutter.gutter-vertical {
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
- cursor: ns-resize;
- height: 5px;
-}
-
-.searchbox {
- float: left;
- height: 40px;
- margin: 10px 5px;
- padding: 12px 32px;
- font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
- font-size: 18px;
- box-sizing: border-box;
- border: 1px solid #888;
- border-radius: 6px;
- outline: none;
- background-color: #eee;
- transition: background-color 0.2s, border 0.2s;
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4T8XSMUvDQBQH8P/LElFa/AIZHcTBQSz0I/gFstTBRR2KUC4ldDxw7h0Bl3RRUATxi4iiODgoiLNrbQYp5J6cpJJqomkX33Z37/14d/dIa33MzDuYI4johOI4XhyNRteO46zNYjDzAxE1yBZprVeZ+QbAUhXEGJMA2Ox2u4+fQIa0mPmsCgCgJYQ4t7lfgF0opQYAdv9ABkKI/UnOFCClXKjX61cA1osQY8x9kiRNKeV7IWA3oyhaSdP0FkAtjxhj3hzH2RBCPOf3pzqYHCilfAAX+URm9oMguPzeWSGQvUcMYC8rOBJCHBRdqxTo9/vbRHRqi8bj8XKv1xvODbiuW2u32/bvf0SlDv4XYOY7z/Mavu+nM1+BmQ+NMc0wDF/LprP0DbTWW0T00ul0nn4b7Q87+X4Qmfiq2wAAAABJRU5ErkJggg==');
- background-position: 10px 10px;
- background-repeat: no-repeat;
-}
-
-.dark .searchbox {
- background-color: #111;
- color: #eee;
-}
-
-.searchbox::placeholder {
- color: #ccc;
-}
-
-.dark .searchbox::placeholder {
- color: #666;
-}
-
-.filter {
- width: calc(60% - 64px);
-}
-
-.reflookup {
- width: calc(40% - 10px);
-}
-
-input[type=text]:focus {
- background-color: white;
- border: 1px solid #333;
-}
-
-.dark input[type=text]:focus {
- background-color: #333;
- border: 1px solid #ccc;
-}
-
-mark.highlight {
- background-color: #5050ff;
- color: #fff;
- padding: 2px;
- border-radius: 6px;
-}
-
-.dark mark.highlight {
- background-color: #76a6da;
- color: #111;
-}
-
-.menubtn {
- background-color: white;
- font-size: 16px;
- 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;
-}
-
-.dark .menubtn {
- filter: invert(1);
-}
-
-.menu {
- position: relative;
- display: inline-block;
-}
-
-.menu-content {
- display: none;
- position: absolute;
- background-color: white;
- right: 0;
- min-width: 300px;
- box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
- z-index: 100;
- padding: 8px;
-}
-
-.dark .menu-content {
- background-color: #111;
-}
-
-.menu:hover .menu-content {
- display: block;
-}
-
-.menu:hover .menubtn {
- background-color: #eee;
-}
-
-.dark .menu:hover .menubtn {}
-
-.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);
-}
-
-.dark .menu-textbox {
- background-color: #222;
- color: #eee;
-}
-
-#topmostdiv {
- 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;
-}
-
-.shameless-plug a {
- color: #0278a4;
-}
-
-.dark .shameless-plug a {
- color: #00b9fd;
-}
-
- </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}}});
-
-///////////////////////////////////////////////
-
-///////////////////////////////////////////////
-var config = {"redraw_on_drag": true, "highlight_pin1": false, "extra_fields": [], "dark_mode": false, "bom_view": "left-right", "board_rotation": 0.0, "checkboxes": "Sourced,Placed", "show_silkscreen": true, "layer_view": "FB"}
-///////////////////////////////////////////////
-
-///////////////////////////////////////////////
-var pcbdata = {"font_data": {" ": {"l": [], "w": 0.7619047619047619}, "1": {"l": [[[0.7619047619047619, -0.047619047619047616], [0.19047619047619047, -0.047619047619047616]], [[0.47619047619047616, -0.047619047619047616], [0.47619047619047616, -1.0476190476190474], [0.38095238095238093, -0.9047619047619047], [0.2857142857142857, -0.8095238095238095], [0.19047619047619047, -0.7619047619047619]]], "w": 0.9523809523809523}, "0": {"l": [[[0.42857142857142855, -1.0476190476190474], [0.5238095238095237, -1.0476190476190474], [0.6190476190476191, -1.0], [0.6666666666666666, -0.9523809523809523], [0.7142857142857142, -0.8571428571428571], [0.7619047619047619, -0.6666666666666666], [0.7619047619047619, -0.42857142857142855], [0.7142857142857142, -0.23809523809523808], [0.6666666666666666, -0.14285714285714285], [0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.42857142857142855, -0.047619047619047616], [0.3333333333333333, -0.09523809523809523], [0.2857142857142857, -0.14285714285714285], [0.23809523809523808, -0.23809523809523808], [0.19047619047619047, -0.42857142857142855], [0.19047619047619047, -0.6666666666666666], [0.23809523809523808, -0.8571428571428571], [0.2857142857142857, -0.9523809523809523], [0.3333333333333333, -1.0], [0.42857142857142855, -1.0476190476190474]]], "w": 0.9523809523809523}, "3": {"l": [[[0.14285714285714285, -1.0476190476190474], [0.7619047619047619, -1.0476190476190474], [0.42857142857142855, -0.6666666666666666], [0.5714285714285714, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5714285714285714], [0.7619047619047619, -0.47619047619047616], [0.7619047619047619, -0.23809523809523808], [0.7142857142857142, -0.14285714285714285], [0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.2857142857142857, -0.047619047619047616], [0.19047619047619047, -0.09523809523809523], [0.14285714285714285, -0.14285714285714285]]], "w": 0.9523809523809523}, "2": {"l": [[[0.19047619047619047, -0.9523809523809523], [0.23809523809523808, -1.0], [0.3333333333333333, -1.0476190476190474], [0.5714285714285714, -1.0476190476190474], [0.6666666666666666, -1.0], [0.7142857142857142, -0.9523809523809523], [0.7619047619047619, -0.8571428571428571], [0.7619047619047619, -0.7619047619047619], [0.7142857142857142, -0.6190476190476191], [0.14285714285714285, -0.047619047619047616], [0.7619047619047619, -0.047619047619047616]]], "w": 0.9523809523809523}, "5": {"l": [[[0.7142857142857142, -1.0476190476190474], [0.23809523809523808, -1.0476190476190474], [0.19047619047619047, -0.5714285714285714], [0.23809523809523808, -0.6190476190476191], [0.3333333333333333, -0.6666666666666666], [0.5714285714285714, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5714285714285714], [0.7619047619047619, -0.47619047619047616], [0.7619047619047619, -0.23809523809523808], [0.7142857142857142, -0.14285714285714285], [0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523], [0.19047619047619047, -0.14285714285714285]]], "w": 0.9523809523809523}, "4": {"l": [[[0.6666666666666666, -0.7142857142857142], [0.6666666666666666, -0.047619047619047616]], [[0.42857142857142855, -1.0952380952380951], [0.19047619047619047, -0.38095238095238093], [0.8095238095238095, -0.38095238095238093]]], "w": 0.9523809523809523}, "7": {"l": [[[0.14285714285714285, -1.0476190476190474], [0.8095238095238095, -1.0476190476190474], [0.38095238095238093, -0.047619047619047616]]], "w": 0.9523809523809523}, "6": {"l": [[[0.6666666666666666, -1.0476190476190474], [0.47619047619047616, -1.0476190476190474], [0.38095238095238093, -1.0], [0.3333333333333333, -0.9523809523809523], [0.23809523809523808, -0.8095238095238095], [0.19047619047619047, -0.6190476190476191], [0.19047619047619047, -0.23809523809523808], [0.23809523809523808, -0.14285714285714285], [0.2857142857142857, -0.09523809523809523], [0.38095238095238093, -0.047619047619047616], [0.5714285714285714, -0.047619047619047616], [0.6666666666666666, -0.09523809523809523], [0.7142857142857142, -0.14285714285714285], [0.7619047619047619, -0.23809523809523808], [0.7619047619047619, -0.47619047619047616], [0.7142857142857142, -0.5714285714285714], [0.6666666666666666, -0.6190476190476191], [0.5714285714285714, -0.6666666666666666], [0.38095238095238093, -0.6666666666666666], [0.2857142857142857, -0.6190476190476191], [0.23809523809523808, -0.5714285714285714], [0.19047619047619047, -0.47619047619047616]]], "w": 0.9523809523809523}, "9": {"l": [[[0.2857142857142857, -0.047619047619047616], [0.47619047619047616, -0.047619047619047616], [0.5714285714285714, -0.09523809523809523], [0.6190476190476191, -0.14285714285714285], [0.7142857142857142, -0.2857142857142857], [0.7619047619047619, -0.47619047619047616], [0.7619047619047619, -0.8571428571428571], [0.7142857142857142, -0.9523809523809523], [0.6666666666666666, -1.0], [0.5714285714285714, -1.0476190476190474], [0.38095238095238093, -1.0476190476190474], [0.2857142857142857, -1.0], [0.23809523809523808, -0.9523809523809523], [0.19047619047619047, -0.8571428571428571], [0.19047619047619047, -0.6190476190476191], [0.23809523809523808, -0.5238095238095237], [0.2857142857142857, -0.47619047619047616], [0.38095238095238093, -0.42857142857142855], [0.5714285714285714, -0.42857142857142855], [0.6666666666666666, -0.47619047619047616], [0.7142857142857142, -0.5238095238095237], [0.7619047619047619, -0.6190476190476191]]], "w": 0.9523809523809523}, "8": {"l": [[[0.38095238095238093, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.23809523809523808, -0.7142857142857142], [0.19047619047619047, -0.8095238095238095], [0.19047619047619047, -0.8571428571428571], [0.23809523809523808, -0.9523809523809523], [0.2857142857142857, -1.0], [0.38095238095238093, -1.0476190476190474], [0.5714285714285714, -1.0476190476190474], [0.6666666666666666, -1.0], [0.7142857142857142, -0.9523809523809523], [0.7619047619047619, -0.8571428571428571], [0.7619047619047619, -0.8095238095238095], [0.7142857142857142, -0.7142857142857142], [0.6666666666666666, -0.6666666666666666], [0.5714285714285714, -0.6190476190476191], [0.38095238095238093, -0.6190476190476191], [0.2857142857142857, -0.5714285714285714], [0.23809523809523808, -0.5238095238095237], [0.19047619047619047, -0.42857142857142855], [0.19047619047619047, -0.23809523809523808], [0.23809523809523808, -0.14285714285714285], [0.2857142857142857, -0.09523809523809523], [0.38095238095238093, -0.047619047619047616], [0.5714285714285714, -0.047619047619047616], [0.6666666666666666, -0.09523809523809523], [0.7142857142857142, -0.14285714285714285], [0.7619047619047619, -0.23809523809523808], [0.7619047619047619, -0.42857142857142855], [0.7142857142857142, -0.5238095238095237], [0.6666666666666666, -0.5714285714285714], [0.5714285714285714, -0.6190476190476191]]], "w": 0.9523809523809523}, "C": {"l": [[[0.8095238095238095, -0.14285714285714285], [0.7619047619047619, -0.09523809523809523], [0.6190476190476191, -0.047619047619047616], [0.5238095238095237, -0.047619047619047616], [0.38095238095238093, -0.09523809523809523], [0.2857142857142857, -0.19047619047619047], [0.23809523809523808, -0.2857142857142857], [0.19047619047619047, -0.47619047619047616], [0.19047619047619047, -0.6190476190476191], [0.23809523809523808, -0.8095238095238095], [0.2857142857142857, -0.9047619047619047], [0.38095238095238093, -1.0], [0.5238095238095237, -1.0476190476190474], [0.6190476190476191, -1.0476190476190474], [0.7619047619047619, -1.0], [0.8095238095238095, -0.9523809523809523]]], "w": 1.0}, "B": {"l": [[[0.5714285714285714, -0.5714285714285714], [0.7142857142857142, -0.5238095238095237], [0.7619047619047619, -0.47619047619047616], [0.8095238095238094, -0.38095238095238093], [0.8095238095238094, -0.23809523809523808], [0.7619047619047619, -0.14285714285714285], [0.7142857142857142, -0.09523809523809523], [0.619047619047619, -0.047619047619047616], [0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.5714285714285714, -1.0476190476190474], [0.6666666666666665, -1.0], [0.7142857142857142, -0.9523809523809523], [0.7619047619047619, -0.8571428571428571], [0.7619047619047619, -0.7619047619047619], [0.7142857142857142, -0.6666666666666666], [0.6666666666666665, -0.6190476190476191], [0.5714285714285714, -0.5714285714285714], [0.23809523809523803, -0.5714285714285714]]], "w": 1.0}, "E": {"l": [[[0.23809523809523808, -0.5714285714285714], [0.5714285714285714, -0.5714285714285714]], [[0.7142857142857142, -0.047619047619047616], [0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -1.0476190476190474], [0.7142857142857142, -1.0476190476190474]]], "w": 0.9047619047619047}, "D": {"l": [[[0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.4761904761904761, -1.0476190476190474], [0.619047619047619, -1.0], [0.7142857142857142, -0.9047619047619047], [0.7619047619047619, -0.8095238095238095], [0.8095238095238094, -0.6190476190476191], [0.8095238095238094, -0.47619047619047616], [0.7619047619047619, -0.2857142857142857], [0.7142857142857142, -0.19047619047619047], [0.619047619047619, -0.09523809523809523], [0.4761904761904761, -0.047619047619047616], [0.23809523809523803, -0.047619047619047616]]], "w": 1.0}, "G": {"l": [[[0.7619047619047619, -1.0], [0.6666666666666666, -1.0476190476190474], [0.5238095238095237, -1.0476190476190474], [0.38095238095238093, -1.0], [0.2857142857142857, -0.9047619047619047], [0.23809523809523808, -0.8095238095238095], [0.19047619047619047, -0.6190476190476191], [0.19047619047619047, -0.47619047619047616], [0.23809523809523808, -0.2857142857142857], [0.2857142857142857, -0.19047619047619047], [0.38095238095238093, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.6190476190476191, -0.047619047619047616], [0.7619047619047619, -0.09523809523809523], [0.8095238095238095, -0.14285714285714285], [0.8095238095238095, -0.47619047619047616], [0.6190476190476191, -0.47619047619047616]]], "w": 1.0}, "I": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -1.0476190476190474]]], "w": 0.47619047619047616}, "J": {"l": [[[0.5238095238095237, -1.0476190476190474], [0.5238095238095237, -0.3333333333333333], [0.47619047619047616, -0.19047619047619047], [0.38095238095238093, -0.09523809523809523], [0.23809523809523808, -0.047619047619047616], [0.14285714285714285, -0.047619047619047616]]], "w": 0.7619047619047619}, "L": {"l": [[[0.7142857142857142, -0.047619047619047616], [0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -1.0476190476190474]]], "w": 0.8095238095238095}, "O": {"l": [[[0.4285714285714285, -1.0476190476190474], [0.619047619047619, -1.0476190476190474], [0.7142857142857142, -1.0], [0.8095238095238094, -0.9047619047619047], [0.857142857142857, -0.7142857142857142], [0.857142857142857, -0.38095238095238093], [0.8095238095238094, -0.19047619047619047], [0.7142857142857142, -0.09523809523809523], [0.619047619047619, -0.047619047619047616], [0.4285714285714285, -0.047619047619047616], [0.33333333333333326, -0.09523809523809523], [0.23809523809523803, -0.19047619047619047], [0.1904761904761904, -0.38095238095238093], [0.1904761904761904, -0.7142857142857142], [0.23809523809523803, -0.9047619047619047], [0.33333333333333326, -1.0], [0.4285714285714285, -1.0476190476190474]]], "w": 1.0476190476190474}, "N": {"l": [[[0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.8095238095238094, -0.047619047619047616], [0.8095238095238094, -1.0476190476190474]]], "w": 1.0476190476190474}, "P": {"l": [[[0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.619047619047619, -1.0476190476190474], [0.7142857142857142, -1.0], [0.7619047619047619, -0.9523809523809523], [0.8095238095238094, -0.8571428571428571], [0.8095238095238094, -0.7142857142857142], [0.7619047619047619, -0.6190476190476191], [0.7142857142857142, -0.5714285714285714], [0.619047619047619, -0.5238095238095237], [0.23809523809523803, -0.5238095238095237]]], "w": 1.0}, "S": {"l": [[[0.19047619047619047, -0.09523809523809523], [0.3333333333333333, -0.047619047619047616], [0.5714285714285714, -0.047619047619047616], [0.6666666666666666, -0.09523809523809523], [0.7142857142857142, -0.14285714285714285], [0.7619047619047619, -0.23809523809523808], [0.7619047619047619, -0.3333333333333333], [0.7142857142857142, -0.42857142857142855], [0.6666666666666666, -0.47619047619047616], [0.5714285714285714, -0.5238095238095237], [0.38095238095238093, -0.5714285714285714], [0.2857142857142857, -0.6190476190476191], [0.23809523809523808, -0.6666666666666666], [0.19047619047619047, -0.7619047619047619], [0.19047619047619047, -0.8571428571428571], [0.23809523809523808, -0.9523809523809523], [0.2857142857142857, -1.0], [0.38095238095238093, -1.0476190476190474], [0.6190476190476191, -1.0476190476190474], [0.7619047619047619, -1.0]]], "w": 0.9523809523809523}, "R": {"l": [[[0.8095238095238094, -0.047619047619047616], [0.4761904761904761, -0.5238095238095237]], [[0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.619047619047619, -1.0476190476190474], [0.7142857142857142, -1.0], [0.7619047619047619, -0.9523809523809523], [0.8095238095238094, -0.8571428571428571], [0.8095238095238094, -0.7142857142857142], [0.7619047619047619, -0.6190476190476191], [0.7142857142857142, -0.5714285714285714], [0.619047619047619, -0.5238095238095237], [0.23809523809523803, -0.5238095238095237]]], "w": 1.0}, "U": {"l": [[[0.23809523809523803, -1.0476190476190474], [0.23809523809523803, -0.23809523809523808], [0.28571428571428564, -0.14285714285714285], [0.33333333333333326, -0.09523809523809523], [0.4285714285714285, -0.047619047619047616], [0.619047619047619, -0.047619047619047616], [0.7142857142857142, -0.09523809523809523], [0.7619047619047619, -0.14285714285714285], [0.8095238095238094, -0.23809523809523808], [0.8095238095238094, -1.0476190476190474]]], "w": 1.0476190476190474}, "T": {"l": [[[0.09523809523809523, -1.0476190476190474], [0.6666666666666666, -1.0476190476190474]], [[0.38095238095238093, -0.047619047619047616], [0.38095238095238093, -1.0476190476190474]]], "w": 0.7619047619047619}, "W": {"l": [[[0.14285714285714285, -1.0476190476190474], [0.38095238095238093, -0.047619047619047616], [0.5714285714285714, -0.7619047619047619], [0.7619047619047619, -0.047619047619047616], [1.0, -1.0476190476190474]]], "w": 1.1428571428571428}, "V": {"l": [[[0.09523809523809523, -1.0476190476190474], [0.42857142857142855, -0.047619047619047616], [0.7619047619047619, -1.0476190476190474]]], "w": 0.8571428571428571}, "Y": {"l": [[[0.42857142857142855, -0.5238095238095237], [0.42857142857142855, -0.047619047619047616]], [[0.09523809523809523, -1.0476190476190474], [0.42857142857142855, -0.5238095238095237], [0.7619047619047619, -1.0476190476190474]]], "w": 0.8571428571428571}, "X": {"l": [[[0.14285714285714285, -1.0476190476190474], [0.8095238095238095, -0.047619047619047616]], [[0.8095238095238095, -1.0476190476190474], [0.14285714285714285, -0.047619047619047616]]], "w": 0.9523809523809523}, "a": {"l": [[[0.6666666666666666, -0.047619047619047616], [0.6666666666666666, -0.5714285714285714], [0.6190476190476191, -0.6666666666666666], [0.5238095238095237, -0.7142857142857142], [0.3333333333333333, -0.7142857142857142], [0.23809523809523808, -0.6666666666666666]], [[0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523], [0.19047619047619047, -0.19047619047619047], [0.19047619047619047, -0.2857142857142857], [0.23809523809523808, -0.38095238095238093], [0.3333333333333333, -0.42857142857142855], [0.5714285714285714, -0.42857142857142855], [0.6666666666666666, -0.47619047619047616]]], "w": 0.9047619047619047}, "c": {"l": [[[0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.38095238095238093, -0.047619047619047616], [0.2857142857142857, -0.09523809523809523], [0.23809523809523808, -0.14285714285714285], [0.19047619047619047, -0.23809523809523808], [0.19047619047619047, -0.5238095238095237], [0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5714285714285714, -0.7142857142857142], [0.6666666666666666, -0.6666666666666666]]], "w": 0.8571428571428571}, "b": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -1.0476190476190474]], [[0.23809523809523808, -0.6666666666666666], [0.3333333333333333, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5238095238095237], [0.7142857142857142, -0.23809523809523808], [0.6666666666666666, -0.14285714285714285], [0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523]]], "w": 0.9047619047619047}, "e": {"l": [[[0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523], [0.19047619047619047, -0.19047619047619047], [0.19047619047619047, -0.5714285714285714], [0.23809523809523808, -0.6666666666666666], [0.3333333333333333, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.5714285714285714], [0.6666666666666666, -0.47619047619047616], [0.19047619047619047, -0.38095238095238093]]], "w": 0.8571428571428571}, "g": {"l": [[[0.6666666666666666, -0.7142857142857142], [0.6666666666666666, 0.09523809523809523], [0.6190476190476191, 0.19047619047619047], [0.5714285714285714, 0.23809523809523808], [0.47619047619047616, 0.2857142857142857], [0.3333333333333333, 0.2857142857142857], [0.23809523809523808, 0.23809523809523808]], [[0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.38095238095238093, -0.047619047619047616], [0.2857142857142857, -0.09523809523809523], [0.23809523809523808, -0.14285714285714285], [0.19047619047619047, -0.23809523809523808], [0.19047619047619047, -0.5238095238095237], [0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5714285714285714, -0.7142857142857142], [0.6666666666666666, -0.6666666666666666]]], "w": 0.9047619047619047}, "i": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -0.7142857142857142]], [[0.23809523809523808, -1.0476190476190474], [0.19047619047619047, -1.0], [0.23809523809523808, -0.9523809523809523], [0.2857142857142857, -1.0], [0.23809523809523808, -1.0476190476190474], [0.23809523809523808, -0.9523809523809523]]], "w": 0.47619047619047616}, "j": {"l": [[[0.23809523809523808, -0.7142857142857142], [0.23809523809523808, 0.14285714285714285], [0.19047619047619047, 0.23809523809523808], [0.09523809523809523, 0.2857142857142857], [0.047619047619047616, 0.2857142857142857]], [[0.23809523809523808, -1.0476190476190474], [0.19047619047619047, -1.0], [0.23809523809523808, -0.9523809523809523], [0.2857142857142857, -1.0], [0.23809523809523808, -1.0476190476190474], [0.23809523809523808, -0.9523809523809523]]], "w": 0.47619047619047616}, "m": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -0.7142857142857142]], [[0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.5714285714285714], [0.6666666666666666, -0.047619047619047616]], [[0.6666666666666666, -0.5714285714285714], [0.7142857142857142, -0.6666666666666666], [0.8095238095238095, -0.7142857142857142], [0.9523809523809523, -0.7142857142857142], [1.0476190476190474, -0.6666666666666666], [1.0952380952380951, -0.5714285714285714], [1.0952380952380951, -0.047619047619047616]]], "w": 1.3333333333333333}, "l": {"l": [[[0.38095238095238093, -0.047619047619047616], [0.2857142857142857, -0.09523809523809523], [0.23809523809523808, -0.19047619047619047], [0.23809523809523808, -1.0476190476190474]]], "w": 0.5238095238095237}, "o": {"l": [[[0.38095238095238093, -0.047619047619047616], [0.2857142857142857, -0.09523809523809523], [0.23809523809523808, -0.14285714285714285], [0.19047619047619047, -0.23809523809523808], [0.19047619047619047, -0.5238095238095237], [0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5238095238095237], [0.7142857142857142, -0.23809523809523808], [0.6666666666666666, -0.14285714285714285], [0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.38095238095238093, -0.047619047619047616]]], "w": 0.9047619047619047}, "n": {"l": [[[0.23809523809523808, -0.7142857142857142], [0.23809523809523808, -0.047619047619047616]], [[0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.5714285714285714], [0.6666666666666666, -0.047619047619047616]]], "w": 0.9047619047619047}, "p": {"l": [[[0.23809523809523808, -0.7142857142857142], [0.23809523809523808, 0.2857142857142857]], [[0.23809523809523808, -0.6666666666666666], [0.3333333333333333, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5238095238095237], [0.7142857142857142, -0.23809523809523808], [0.6666666666666666, -0.14285714285714285], [0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523]]], "w": 0.9047619047619047}, "r": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -0.7142857142857142]], [[0.23809523809523808, -0.5238095238095237], [0.2857142857142857, -0.6190476190476191], [0.3333333333333333, -0.6666666666666666], [0.42857142857142855, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142]]], "w": 0.6190476190476191}, "u": {"l": [[[0.6666666666666666, -0.7142857142857142], [0.6666666666666666, -0.047619047619047616]], [[0.23809523809523808, -0.7142857142857142], [0.23809523809523808, -0.19047619047619047], [0.2857142857142857, -0.09523809523809523], [0.38095238095238093, -0.047619047619047616], [0.5238095238095237, -0.047619047619047616], [0.6190476190476191, -0.09523809523809523], [0.6666666666666666, -0.14285714285714285]]], "w": 0.9047619047619047}, "t": {"l": [[[0.09523809523809523, -0.7142857142857142], [0.47619047619047616, -0.7142857142857142]], [[0.23809523809523808, -1.0476190476190474], [0.23809523809523808, -0.19047619047619047], [0.2857142857142857, -0.09523809523809523], [0.38095238095238093, -0.047619047619047616], [0.47619047619047616, -0.047619047619047616]]], "w": 0.5714285714285714}, "w": {"l": [[[0.1428571428571428, -0.7142857142857142], [0.33333333333333326, -0.047619047619047616], [0.5238095238095237, -0.5238095238095237], [0.7142857142857142, -0.047619047619047616], [0.9047619047619047, -0.7142857142857142]]], "w": 1.0476190476190474}, "y": {"l": [[[0.14285714285714285, -0.7142857142857142], [0.38095238095238093, -0.047619047619047616]], [[0.6190476190476191, -0.7142857142857142], [0.38095238095238093, -0.047619047619047616], [0.2857142857142857, 0.19047619047619047], [0.23809523809523808, 0.23809523809523808], [0.14285714285714285, 0.2857142857142857]]], "w": 0.7619047619047619}}, "modules": {"R5": {"layer": "B", "center": [199.517, 58.547], "pads": [{"layers": ["B"], "angle": -180.0, "pos": [200.46699999999998, 58.547], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [0.7, 1.3]}, {"layers": ["B"], "angle": -180.0, "pos": [198.56699999999998, 58.547], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [0.7, 1.3]}], "drawings": [], "ref": "R5", "bbox": {"pos": [197.94199899999998, 57.606998999999995], "size": [3.1500019999999997, 1.880002]}}, "D36": {"layer": "F", "center": [197.10399999999998, 54.864], "pads": [{"layers": ["F"], "angle": -0.0, "pos": [198.15302, 54.864], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.19888, 1.19888]}, {"layers": ["F"], "angle": -0.0, "pos": [196.05498, 54.864], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.19888, 1.19888]}], "drawings": [], "ref": "D36", "bbox": {"pos": [195.178999, 53.888999], "size": [3.850002, 1.950002]}}, "D37": {"layer": "F", "center": [201.422, 54.864], "pads": [{"layers": ["F"], "angle": -0.0, "pos": [200.37297999999998, 54.864], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.19888, 1.19888]}, {"layers": ["F"], "angle": -0.0, "pos": [202.47101999999998, 54.864], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.19888, 1.19888]}], "drawings": [], "ref": "D37", "bbox": {"pos": [199.496999, 53.888999], "size": [3.850002, 1.950002]}}, "Cout1": {"layer": "F", "center": [99.568, 91.44], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [99.568, 96.44], "drillsize": [1.0, 1.0], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.0, 2.0]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [99.568, 91.44], "drillsize": [1.0, 1.0], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.0, 2.0]}], "drawings": [], "ref": "Cout1", "bbox": {"pos": [94.192999, 88.564999], "size": [10.750002, 10.750002]}}, "U1": {"layer": "F", "center": [105.6005, 80.899], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [105.6005, 80.899], "drillsize": [1.0007599999999999, 1.0007599999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.49936, 1.50114]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [105.6005, 78.359], "drillsize": [1.0007599999999999, 1.0007599999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.49936, 1.50114]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [105.6005, 83.439], "drillsize": [1.0007599999999999, 1.0007599999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.49936, 1.50114]}], "drawings": [], "ref": "U1", "bbox": {"pos": [103.74749899999999, 75.489999], "size": [4.976001999999999, 10.818002]}}, "P7": {"layer": "F", "center": [196.215, 66.294], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [196.215, 66.294], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [196.215, 63.754], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [196.215, 61.214], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [196.215, 58.674], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P7", "bbox": {"pos": [194.689999, 56.868998999999995], "size": [12.150001999999999, 11.200002]}}, "powerIn1": {"layer": "F", "center": [96.012, 118.872], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [101.012, 118.872], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [96.012, 118.872], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "powerIn1", "bbox": {"pos": [93.286999, 113.44699899999999], "size": [10.450002, 10.250002]}}, "R3": {"layer": "F", "center": [102.428, 71.88199999999999], "pads": [{"layers": ["F"], "angle": -180.0, "pos": [103.378, 71.88199999999999], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [0.7, 1.3]}, {"layers": ["F"], "angle": -180.0, "pos": [101.478, 71.88199999999999], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [0.7, 1.3]}], "drawings": [], "ref": "R3", "bbox": {"pos": [100.852999, 70.941999], "size": [3.1500019999999997, 1.880002]}}, "P12": {"layer": "F", "center": [134.112, 58.419999999999995], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [134.112, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [136.652, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [139.192, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [141.732, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [144.272, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [146.81199999999998, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [149.352, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [151.892, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [154.432, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [156.97199999999998, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [159.512, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [162.052, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}], "drawings": [], "ref": "P12", "bbox": {"pos": [132.336999, 56.644999], "size": [31.500002, 3.5500019999999997]}}, "P10": {"layer": "F", "center": [170.688, 67.056], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [188.468, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [185.928, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [183.388, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [180.84799999999998, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [178.308, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [175.768, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [173.22799999999998, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [170.688, 67.056], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P10", "bbox": {"pos": [168.91299899999999, 65.280999], "size": [21.350002, 3.5500019999999997]}}, "P11": {"layer": "F", "center": [196.088, 101.092], "pads": [{"layers": ["F", "B"], "angle": -180.0, "pos": [196.088, 101.092], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [193.548, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [191.00799999999998, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [188.468, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [185.928, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [183.388, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [180.84799999999998, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [178.308, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P11", "bbox": {"pos": [176.51299899999998, 99.316999], "size": [21.350002, 3.5500019999999997]}}, "C9": {"layer": "F", "center": [164.846, 96.012], "pads": [{"layers": ["F"], "angle": -270.0, "pos": [164.846, 95.012], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.0, 1.25]}, {"layers": ["F"], "angle": -270.0, "pos": [164.846, 97.012], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.0, 1.25]}], "drawings": [], "ref": "C9", "bbox": {"pos": [163.820999, 94.186999], "size": [2.050002, 3.6500019999999997]}}, "C8": {"layer": "F", "center": [169.418, 101.6], "pads": [{"layers": ["F"], "angle": -0.0, "pos": [168.418, 101.6], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.0, 1.25]}, {"layers": ["F"], "angle": -0.0, "pos": [170.418, 101.6], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.0, 1.25]}], "drawings": [], "ref": "C8", "bbox": {"pos": [167.592999, 100.57499899999999], "size": [3.6500019999999997, 2.050002]}}, "P14": {"layer": "F", "center": [170.688, 58.928], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [188.468, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [185.928, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [183.388, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [180.84799999999998, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [178.308, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [175.768, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [173.22799999999998, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [170.688, 58.928], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.032, 1.7271999999999998]}], "drawings": [], "ref": "P14", "bbox": {"pos": [168.91299899999999, 57.152998999999994], "size": [21.350002, 3.5500019999999997]}}, "P15": {"layer": "F", "center": [196.088, 109.728], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [196.088, 109.728], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [193.548, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [191.00799999999998, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [188.468, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [185.928, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [183.388, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [180.84799999999998, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [178.308, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}], "drawings": [], "ref": "P15", "bbox": {"pos": [176.51299899999998, 107.95299899999999], "size": [21.350002, 3.5500019999999997]}}, "C3": {"layer": "F", "center": [114.99849999999999, 74.962], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [114.99849999999999, 74.962], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [114.99849999999999, 76.962], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}], "drawings": [], "ref": "C3", "bbox": {"pos": [112.123499, 72.701999], "size": [5.750001999999999, 6.135002]}}, "C2": {"layer": "F", "center": [114.93499999999999, 85.08999999999999], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [114.93499999999999, 85.08999999999999], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [114.93499999999999, 83.08999999999999], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}], "drawings": [], "ref": "C2", "bbox": {"pos": [112.05999899999999, 81.21499899999999], "size": [5.750001999999999, 6.135002]}}, "IC1": {"layer": "F", "center": [142.113, 92.075], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [142.113, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [144.653, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [147.19299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [149.733, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [152.273, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [154.813, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [157.35299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [159.893, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [162.433, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [164.97299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [167.513, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [170.053, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [172.593, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [175.13299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [177.673, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [180.213, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [182.753, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [185.29299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [187.833, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [190.373, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [190.373, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [187.833, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [185.29299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [182.753, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [180.213, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [177.673, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [175.13299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [172.593, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [170.053, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [167.513, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [164.97299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [162.433, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [159.893, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [157.35299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [154.813, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [152.273, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [149.733, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [147.19299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [144.653, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [142.113, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}], "drawings": [], "ref": "IC1", "bbox": {"pos": [139.637999, 75.399999], "size": [53.250001999999995, 18.100002]}}, "C7": {"layer": "F", "center": [164.97299999999998, 100.457], "pads": [{"layers": ["F"], "angle": -90.0, "pos": [164.97299999999998, 101.457], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.0, 1.25]}, {"layers": ["F"], "angle": -90.0, "pos": [164.97299999999998, 99.457], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.0, 1.25]}], "drawings": [], "ref": "C7", "bbox": {"pos": [163.94799899999998, 98.631999], "size": [2.050002, 3.6500019999999997]}}, "R4": {"layer": "B", "center": [192.84949999999998, 55.8165], "pads": [{"layers": ["B"], "angle": -180.0, "pos": [193.7995, 55.8165], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [0.7, 1.3]}, {"layers": ["B"], "angle": -180.0, "pos": [191.8995, 55.8165], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [0.7, 1.3]}], "drawings": [], "ref": "R4", "bbox": {"pos": [191.274499, 54.876498999999995], "size": [3.1500019999999997, 1.880002]}}, "P3": {"layer": "F", "center": [158.242, 44.830999999999996], "pads": [{"layers": ["F", "B"], "angle": -180.0, "pos": [103.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [108.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [113.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [118.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [123.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [128.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [133.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [138.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [143.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [148.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [158.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [153.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "P3", "bbox": {"pos": [100.516999, 40.005998999999996], "size": [60.450002, 10.250002]}}, "P6": {"layer": "F", "center": [165.989, 120.26899999999999], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [200.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [195.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [190.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [185.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [180.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [175.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [165.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [170.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "P6", "bbox": {"pos": [163.26399899999998, 114.843999], "size": [40.450002, 10.250002]}}, "P13": {"layer": "F", "center": [159.1564, 109.728], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [159.1564, 109.728], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [156.6164, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [154.0764, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [151.5364, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [148.9964, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [146.4564, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [143.91639999999998, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [141.3764, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}], "drawings": [], "ref": "P13", "bbox": {"pos": [139.581399, 107.95299899999999], "size": [21.350002, 3.5500019999999997]}}, "P4": {"layer": "F", "center": [124.841, 120.396], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [159.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [154.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [149.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [144.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [139.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [134.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [124.841, 120.396], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [129.841, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "P4", "bbox": {"pos": [122.11599899999999, 114.97099899999999], "size": [40.450002, 10.250002]}}, "P5": {"layer": "F", "center": [201.041, 44.830999999999996], "pads": [{"layers": ["F", "B"], "angle": -180.0, "pos": [196.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [201.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [191.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [186.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [181.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [176.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [171.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [166.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "P5", "bbox": {"pos": [163.315999, 40.005998999999996], "size": [40.450002, 10.250002]}}, "P8": {"layer": "F", "center": [159.1564, 101.092], "pads": [{"layers": ["F", "B"], "angle": -180.0, "pos": [159.1564, 101.092], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [156.6164, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [154.0764, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [151.5364, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [148.9964, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [146.4564, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [143.91639999999998, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [141.3764, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P8", "bbox": {"pos": [139.581399, 99.316999], "size": [21.350002, 3.5500019999999997]}}, "P9": {"layer": "F", "center": [134.112, 67.056], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [134.112, 67.056], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [136.652, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [139.192, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [141.732, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [144.272, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [146.81199999999998, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [149.352, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [151.892, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [154.432, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [156.97199999999998, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [159.512, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [162.052, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P9", "bbox": {"pos": [132.336999, 65.280999], "size": [31.500002, 3.5500019999999997]}}, "SW1": {"layer": "F", "center": [169.164, 107.18799999999999], "pads": [{"layers": ["F"], "angle": -0.0, "pos": [166.289, 105.18799999999999], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [2.75, 1.0]}, {"layers": ["F"], "angle": -0.0, "pos": [172.039, 105.18799999999999], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [2.75, 1.0]}, {"layers": ["F"], "angle": -0.0, "pos": [172.039, 109.18799999999999], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [2.75, 1.0]}, {"layers": ["F"], "angle": -0.0, "pos": [166.289, 109.18799999999999], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [2.75, 1.0]}], "drawings": [], "ref": "SW1", "bbox": {"pos": [164.63899899999998, 103.512999], "size": [9.050002, 7.350002]}}, "L1": {"layer": "F", "center": [128.524, 92.964], "pads": [{"layers": ["F"], "angle": -270.0, "pos": [128.524, 101.294], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [4.0, 3.0]}, {"layers": ["F"], "angle": -270.0, "pos": [128.524, 84.634], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [4.0, 3.0]}], "drawings": [], "ref": "L1", "bbox": {"pos": [120.698999, 82.338999], "size": [15.650001999999999, 21.250002]}}, "Cin1": {"layer": "F", "center": [112.776, 95.50399999999999], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [112.776, 95.50399999999999], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [112.776, 92.00399999999999], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}], "drawings": [], "ref": "Cin1", "bbox": {"pos": [108.400999, 89.378999], "size": [8.750002, 8.750002]}}, "CON2": {"layer": "F", "center": [197.993, 77.47], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 77.47], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 77.47], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 80.00999999999999], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 80.00999999999999], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 82.55], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 82.55], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 85.08999999999999], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 85.08999999999999], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 87.63], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 87.63], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}], "drawings": [], "ref": "CON2", "bbox": {"pos": [194.41799899999998, 72.094999], "size": [9.650001999999999, 20.900002]}}, "J4": {"layer": "F", "center": [117.3988, 65.2526], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [117.3988, 65.2526], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [119.8988, 65.2526], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [122.3988, 65.2526], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [124.8988, 65.2526], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}], "drawings": [], "ref": "J4", "bbox": {"pos": [114.223799, 62.977599], "size": [13.850002, 5.150002]}}, "J1": {"layer": "F", "center": [102.86999999999999, 57.327799999999996], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [102.86999999999999, 57.327799999999996], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [105.36999999999999, 57.327799999999996], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [107.86999999999999, 57.327799999999996], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [110.36999999999999, 57.327799999999996], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}], "drawings": [], "ref": "J1", "bbox": {"pos": [99.694999, 55.052799], "size": [13.850002, 5.150002]}}, "J2": {"layer": "F", "center": [117.5004, 57.581799999999994], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [125.0004, 57.581799999999994], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [122.5004, 57.581799999999994], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [120.0004, 57.581799999999994], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [117.5004, 57.581799999999994], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}], "drawings": [], "ref": "J2", "bbox": {"pos": [114.32539899999999, 55.306799], "size": [13.850002, 5.150002]}}, "J3": {"layer": "F", "center": [102.86999999999999, 65.3034], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [102.86999999999999, 65.3034], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [105.36999999999999, 65.3034], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [107.86999999999999, 65.3034], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [110.36999999999999, 65.3034], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}], "drawings": [], "ref": "J3", "bbox": {"pos": [99.694999, 63.028399], "size": [13.850002, 5.150002]}}, "Regulator1": {"layer": "F", "center": [115.31599999999999, 109.22], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 102.42], "drillsize": [1.0, 1.0], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 104.11999999999999], "drillsize": [1.0, 1.0], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 105.82], "drillsize": [1.0, 1.0], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 107.52], "drillsize": [1.0, 1.0], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 109.22], "drillsize": [1.0, 1.0], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [98.65599999999999, 105.82], "drillsize": [3.5, 3.5], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [3.5, 3.5]}], "drawings": [], "ref": "Regulator1", "bbox": {"pos": [95.58099899999999, 100.54499899999999], "size": [20.910002, 10.550002]}}, "Y1": {"layer": "F", "center": [171.577, 97.663], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [169.13606, 97.663], "drillsize": [0.8000999999999999, 0.8000999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.50114, 1.50114]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [174.01793999999998, 97.663], "drillsize": [0.8000999999999999, 0.8000999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.50114, 1.50114]}], "drawings": [], "ref": "Y1", "bbox": {"pos": [165.982579, 95.258819], "size": [11.209162, 4.818522]}}, "D4": {"layer": "F", "center": [106.67999999999999, 119.38], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [119.38, 119.38], "drillsize": [1.5999999999999999, 1.5999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [3.1999999999999997, 3.1999999999999997]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [106.67999999999999, 119.38], "drillsize": [1.5999999999999999, 1.5999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [3.1999999999999997, 3.1999999999999997]}], "drawings": [], "ref": "D4", "bbox": {"pos": [104.804999, 116.40499899999999], "size": [16.450001999999998, 5.950002]}}, "D2": {"layer": "F", "center": [108.90249999999999, 71.88199999999999], "pads": [{"layers": ["F"], "angle": -180.0, "pos": [109.95151999999999, 71.88199999999999], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.19888, 1.19888]}, {"layers": ["F"], "angle": -180.0, "pos": [107.85347999999999, 71.88199999999999], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.19888, 1.19888]}], "drawings": [], "ref": "D2", "bbox": {"pos": [106.977499, 70.906999], "size": [3.850002, 1.950002]}}, "D3": {"layer": "F", "center": [121.41199999999999, 107.696], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [136.652, 107.696], "drillsize": [1.5999999999999999, 1.5999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [3.1999999999999997, 3.1999999999999997]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [121.41199999999999, 107.696], "drillsize": [1.5999999999999999, 1.5999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [3.1999999999999997, 3.1999999999999997]}], "drawings": [], "ref": "D3", "bbox": {"pos": [119.536999, 104.72099899999999], "size": [19.000002, 5.950002]}}, "D1": {"layer": "F", "center": [98.23196, 76.5175], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [98.2345, 86.6775], "drillsize": [1.27, 1.27], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.99898, 1.99898]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [98.2345, 76.5175], "drillsize": [1.0007599999999999, 1.0007599999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.99898, 1.99898]}], "drawings": [], "ref": "D1", "bbox": {"pos": [96.889499, 75.51800999999999], "size": [2.690002, 12.15898]}}}, "edges": [{"start": [91.948, 39.878], "end": [92.075, 39.878], "type": "segment", "width": 0.15}, {"start": [91.948, 125.095], "end": [91.948, 39.878], "type": "segment", "width": 0.15}, {"start": [206.756, 125.095], "end": [91.948, 125.095], "type": "segment", "width": 0.15}, {"start": [206.756, 39.878], "end": [206.756, 125.095], "type": "segment", "width": 0.15}, {"start": [92.075, 39.878], "end": [206.756, 39.878], "type": "segment", "width": 0.15}, {"start": [124.079, 121.03099999999999], "end": [123.82499999999999, 121.03099999999999], "type": "segment", "width": 0.15}], "bom": {"both": [[1, "1000uf", "CP_Radial_D10.0mm_P5.00mm", ["Cout1"], []], [1, "100uF", "CP_Radial_D5.0mm_P2.00mm", ["C2"], []], [1, "10uF", "CP_Radial_D5.0mm_P2.00mm", ["C3"], []], [1, "100uf", "CP_Radial_D8.0mm_P3.50mm", ["Cin1"], []], [2, "22pF", "C_0805", ["C7", "C8"], []], [1, "100nF", "C_0805", ["C9"], []], [2, "1K", "R_0805", ["R4", "R5"], []], [1, "470E", "R_0805", ["R3"], []], [1, "24 to 12", "TO-220-5_Horizontal", ["Regulator1"], []], [1, "INDUCTOR", "L_Fastron_PISR_Handsoldering", ["L1"], []], [1, "D_Schottky", "D_DO-201AD_P12.70mm_Horizontal", ["D4"], []], [1, "MBR340", "D_DO-201AD_P15.24mm_Horizontal", ["D3"], []], [1, "D", "Diode_DO-41_SOD81_Horizontal_RM10", ["D1"], []], [1, "LED", "LED_0805", ["D2"], []], [1, "RX", "LED_0805", ["D36"], []], [1, "TX", "LED_0805", ["D37"], []], [1, "7805", "TO-220_Neutral123_Vertical", ["U1"], []], [1, "16Mhz", "Crystal_HC49-U_Vertical", ["Y1"], []], [1, "SW_PUSH", "SW_SPST_B3SL-1002P", ["SW1"], []], [1, "ATMEGA16-P", "DIP-40_W15.24mm_LongPads", ["IC1"], []], [1, "AVR-ISP-10", "IDC_Header_Straight_10pins", ["CON2"], []], [1, "24V", "TerminalBlock_Phoenix_MKDS1.5-2pol", ["powerIn1"], []], [4, "Conn_01x04", "JST_EH_B04B-EH-A_04x2.50mm_Straight", ["J1", "J2", "J3", "J4"], []], [1, "PortB_M", "Pin_Header_Straight_1x08", ["P13"], []], [1, "PortC_M", "Pin_Header_Straight_1x08", ["P14"], []], [1, "PortD_M", "Pin_Header_Straight_1x08", ["P15"], []], [1, "PortA_M", "Pin_Header_Straight_1x12", ["P12"], []], [1, "Max232", "Socket_Strip_Angled_1x04", ["P7"], []], [1, "PortB_B", "Socket_Strip_Straight_1x08", ["P8"], []], [1, "PortC_B", "Socket_Strip_Straight_1x08", ["P10"], []], [1, "PortD_B", "Socket_Strip_Straight_1x08", ["P11"], []], [1, "PortA_B", "Socket_Strip_Straight_1x12", ["P9"], []], [1, "PortA", "TerminalBlock_Pheonix_MKDS1.5-12pol", ["P3"], []], [1, "PortB", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P4"], []], [1, "PortC", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P5"], []], [1, "PortD", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P6"], []]], "B": [[2, "1K", "R_0805", ["R4", "R5"], []]], "F": [[1, "1000uf", "CP_Radial_D10.0mm_P5.00mm", ["Cout1"], []], [1, "100uF", "CP_Radial_D5.0mm_P2.00mm", ["C2"], []], [1, "10uF", "CP_Radial_D5.0mm_P2.00mm", ["C3"], []], [1, "100uf", "CP_Radial_D8.0mm_P3.50mm", ["Cin1"], []], [2, "22pF", "C_0805", ["C7", "C8"], []], [1, "100nF", "C_0805", ["C9"], []], [1, "470E", "R_0805", ["R3"], []], [1, "24 to 12", "TO-220-5_Horizontal", ["Regulator1"], []], [1, "INDUCTOR", "L_Fastron_PISR_Handsoldering", ["L1"], []], [1, "D_Schottky", "D_DO-201AD_P12.70mm_Horizontal", ["D4"], []], [1, "MBR340", "D_DO-201AD_P15.24mm_Horizontal", ["D3"], []], [1, "D", "Diode_DO-41_SOD81_Horizontal_RM10", ["D1"], []], [1, "LED", "LED_0805", ["D2"], []], [1, "RX", "LED_0805", ["D36"], []], [1, "TX", "LED_0805", ["D37"], []], [1, "7805", "TO-220_Neutral123_Vertical", ["U1"], []], [1, "16Mhz", "Crystal_HC49-U_Vertical", ["Y1"], []], [1, "SW_PUSH", "SW_SPST_B3SL-1002P", ["SW1"], []], [1, "ATMEGA16-P", "DIP-40_W15.24mm_LongPads", ["IC1"], []], [1, "AVR-ISP-10", "IDC_Header_Straight_10pins", ["CON2"], []], [1, "24V", "TerminalBlock_Phoenix_MKDS1.5-2pol", ["powerIn1"], []], [4, "Conn_01x04", "JST_EH_B04B-EH-A_04x2.50mm_Straight", ["J1", "J2", "J3", "J4"], []], [1, "PortB_M", "Pin_Header_Straight_1x08", ["P13"], []], [1, "PortC_M", "Pin_Header_Straight_1x08", ["P14"], []], [1, "PortD_M", "Pin_Header_Straight_1x08", ["P15"], []], [1, "PortA_M", "Pin_Header_Straight_1x12", ["P12"], []], [1, "Max232", "Socket_Strip_Angled_1x04", ["P7"], []], [1, "PortB_B", "Socket_Strip_Straight_1x08", ["P8"], []], [1, "PortC_B", "Socket_Strip_Straight_1x08", ["P10"], []], [1, "PortD_B", "Socket_Strip_Straight_1x08", ["P11"], []], [1, "PortA_B", "Socket_Strip_Straight_1x12", ["P9"], []], [1, "PortA", "TerminalBlock_Pheonix_MKDS1.5-12pol", ["P3"], []], [1, "PortB", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P4"], []], [1, "PortC", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P5"], []], [1, "PortD", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P6"], []]]}, "silkscreen": {"B": [{"width": 1.0, "angle": 0.0, "attr": ["mirrored"], "horiz_justify": 0, "text": "R4", "thickness": 0.15, "pos": [192.84949999999998, 54.1665], "height": 1.0}, {"start": [192.24949999999998, 56.6965], "end": [193.4495, 56.6965], "type": "segment", "width": 0.12}, {"start": [193.4495, 54.936499999999995], "end": [192.24949999999998, 54.936499999999995], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": ["mirrored"], "horiz_justify": 0, "text": "R5", "thickness": 0.15, "pos": [199.517, 56.897], "height": 1.0}, {"start": [198.917, 59.427], "end": [200.117, 59.427], "type": "segment", "width": 0.12}, {"start": [200.117, 57.666999999999994], "end": [198.917, 57.666999999999994], "type": "segment", "width": 0.12}], "F": [{"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "RESET", "thickness": 0.25, "pos": [170.94199999999998, 111.75999999999999], "height": 1.0}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "ISP", "thickness": 0.19999999999999998, "pos": [204.724, 82.804], "height": 1.0}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "24V DC", "thickness": 0.19999999999999998, "pos": [94.2975, 120.904], "height": 1.0}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "PORT D", "thickness": 0.15, "pos": [201.295, 113.919], "height": 1.0}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "PORT B", "thickness": 0.15, "pos": [124.58699999999999, 113.919], "height": 1.0}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "PORT C", "thickness": 0.15, "pos": [202.31099999999998, 51.434999999999995], "height": 1.0}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "TX", "thickness": 0.125, "pos": [193.548, 66.167], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "RX", "thickness": 0.125, "pos": [193.548, 63.881], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "GND", "thickness": 0.125, "pos": [193.421, 61.214], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "5V", "thickness": 0.125, "pos": [193.67499999999998, 58.674], "height": 0.7}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "Open PLC Project\nIIT Bombay", "thickness": 0.25, "pos": [126.49199999999999, 78.74], "height": 1.0}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "IC1", "thickness": 0.15, "pos": [137.795, 85.85199999999999], "height": 1.0}, {"start": [139.81799999999998, 91.94], "end": [141.088, 91.94], "type": "segment", "width": 0.15}, {"start": [139.81799999999998, 76.97], "end": [141.088, 76.97], "type": "segment", "width": 0.15}, {"start": [192.66799999999998, 76.97], "end": [191.398, 76.97], "type": "segment", "width": 0.15}, {"start": [192.66799999999998, 91.94], "end": [191.398, 91.94], "type": "segment", "width": 0.15}, {"start": [139.81799999999998, 91.94], "end": [139.81799999999998, 76.97], "type": "segment", "width": 0.15}, {"start": [192.66799999999998, 91.94], "end": [192.66799999999998, 76.97], "type": "segment", "width": 0.15}, {"start": [141.088, 91.94], "end": [141.088, 93.225], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "SW1", "thickness": 0.125, "pos": [173.101, 111.633], "height": 0.5}, {"start": [169.164, 107.18799999999999], "radius": 1.25, "type": "circle", "width": 0.15}, {"start": [172.414, 109.93799999999999], "end": [172.414, 110.588], "type": "segment", "width": 0.15}, {"start": [172.414, 110.588], "end": [165.914, 110.588], "type": "segment", "width": 0.15}, {"start": [165.914, 110.588], "end": [165.914, 109.93799999999999], "type": "segment", "width": 0.15}, {"start": [172.414, 104.43799999999999], "end": [172.414, 103.788], "type": "segment", "width": 0.15}, {"start": [172.414, 103.788], "end": [165.914, 103.788], "type": "segment", "width": 0.15}, {"start": [165.914, 103.788], "end": [165.914, 104.43799999999999], "type": "segment", "width": 0.15}, {"start": [172.414, 105.93799999999999], "end": [172.414, 108.43799999999999], "type": "segment", "width": 0.15}, {"start": [165.914, 105.93799999999999], "end": [165.914, 108.43799999999999], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P8", "thickness": 0.15, "pos": [159.1564, 106.192], "height": 1.0}, {"start": [157.88639999999998, 99.82199999999999], "end": [140.1064, 99.82199999999999], "type": "segment", "width": 0.15}, {"start": [140.1064, 99.82199999999999], "end": [140.1064, 102.362], "type": "segment", "width": 0.15}, {"start": [140.1064, 102.362], "end": [157.88639999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [160.7064, 99.542], "end": [159.1564, 99.542], "type": "segment", "width": 0.15}, {"start": [157.88639999999998, 99.82199999999999], "end": [157.88639999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [159.1564, 102.642], "end": [160.7064, 102.642], "type": "segment", "width": 0.15}, {"start": [160.7064, 102.642], "end": [160.7064, 99.542], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "L1", "thickness": 0.15, "pos": [137.414, 92.964], "height": 1.0}, {"width": 0.12, "endangle": 401.3322198538697, "start": [128.524, 92.964], "radius": 7.603453, "startangle": 316.3322198538697, "type": "arc"}, {"width": 0.12, "endangle": 221.33221985386965, "start": [128.524, 92.964], "radius": 7.603453, "startangle": 136.33221985386965, "type": "arc"}, {"start": [125.92399999999999, 83.664], "end": [126.42399999999999, 83.664], "type": "segment", "width": 0.12}, {"start": [122.824, 87.964], "end": [125.92399999999999, 83.664], "type": "segment", "width": 0.12}, {"start": [131.124, 83.664], "end": [130.624, 83.664], "type": "segment", "width": 0.12}, {"start": [131.124, 83.664], "end": [134.724, 88.564], "type": "segment", "width": 0.12}, {"start": [131.124, 102.264], "end": [130.624, 102.264], "type": "segment", "width": 0.12}, {"start": [134.624, 97.564], "end": [131.124, 102.264], "type": "segment", "width": 0.12}, {"start": [125.92399999999999, 102.264], "end": [126.42399999999999, 102.264], "type": "segment", "width": 0.12}, {"start": [122.124, 97.064], "end": [125.92399999999999, 102.264], "type": "segment", "width": 0.12}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P13", "thickness": 0.125, "pos": [162.5854, 110.23599999999999], "height": 0.7}, {"start": [157.88639999999998, 110.99799999999999], "end": [140.1064, 110.99799999999999], "type": "segment", "width": 0.15}, {"start": [140.1064, 110.99799999999999], "end": [140.1064, 108.458], "type": "segment", "width": 0.15}, {"start": [140.1064, 108.458], "end": [157.88639999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [160.7064, 111.27799999999999], "end": [159.1564, 111.27799999999999], "type": "segment", "width": 0.15}, {"start": [157.88639999999998, 110.99799999999999], "end": [157.88639999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [159.1564, 108.178], "end": [160.7064, 108.178], "type": "segment", "width": 0.15}, {"start": [160.7064, 108.178], "end": [160.7064, 111.27799999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P10", "thickness": 0.125, "pos": [167.386, 67.056], "height": 0.7}, {"start": [169.138, 65.506], "end": [169.138, 68.606], "type": "segment", "width": 0.15}, {"start": [170.688, 65.506], "end": [169.138, 65.506], "type": "segment", "width": 0.15}, {"start": [171.958, 68.326], "end": [171.958, 65.786], "type": "segment", "width": 0.15}, {"start": [169.138, 68.606], "end": [170.688, 68.606], "type": "segment", "width": 0.15}, {"start": [189.738, 65.786], "end": [171.958, 65.786], "type": "segment", "width": 0.15}, {"start": [189.738, 68.326], "end": [189.738, 65.786], "type": "segment", "width": 0.15}, {"start": [171.958, 68.326], "end": [189.738, 68.326], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D37", "thickness": 0.125, "pos": [204.47, 54.864], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "TX", "thickness": 0.125, "pos": [201.422, 53.114], "height": 0.7}, {"start": [203.022, 54.114], "end": [200.322, 54.114], "type": "segment", "width": 0.15}, {"start": [203.022, 55.614], "end": [200.322, 55.614], "type": "segment", "width": 0.15}, {"start": [201.522, 54.714], "end": [201.522, 54.964], "type": "segment", "width": 0.15}, {"start": [201.522, 54.964], "end": [201.672, 54.814], "type": "segment", "width": 0.15}, {"start": [201.772, 55.214], "end": [201.772, 54.513999999999996], "type": "segment", "width": 0.15}, {"start": [201.422, 54.864], "end": [201.072, 54.864], "type": "segment", "width": 0.15}, {"start": [201.772, 54.864], "end": [201.422, 55.214], "type": "segment", "width": 0.15}, {"start": [201.422, 55.214], "end": [201.422, 54.513999999999996], "type": "segment", "width": 0.15}, {"start": [201.422, 54.513999999999996], "end": [201.772, 54.864], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D36", "thickness": 0.125, "pos": [193.929, 54.991], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "RX", "thickness": 0.125, "pos": [197.10399999999998, 53.114], "height": 0.7}, {"start": [197.10399999999998, 54.513999999999996], "end": [197.45399999999998, 54.864], "type": "segment", "width": 0.15}, {"start": [197.10399999999998, 55.214], "end": [197.10399999999998, 54.513999999999996], "type": "segment", "width": 0.15}, {"start": [197.45399999999998, 54.864], "end": [197.10399999999998, 55.214], "type": "segment", "width": 0.15}, {"start": [197.10399999999998, 54.864], "end": [196.754, 54.864], "type": "segment", "width": 0.15}, {"start": [197.45399999999998, 55.214], "end": [197.45399999999998, 54.513999999999996], "type": "segment", "width": 0.15}, {"start": [197.20399999999998, 54.964], "end": [197.35399999999998, 54.814], "type": "segment", "width": 0.15}, {"start": [197.20399999999998, 54.714], "end": [197.20399999999998, 54.964], "type": "segment", "width": 0.15}, {"start": [198.70399999999998, 55.614], "end": [196.004, 55.614], "type": "segment", "width": 0.15}, {"start": [198.70399999999998, 54.114], "end": [196.004, 54.114], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "U1", "thickness": 0.15, "pos": [103.124, 80.77199999999999], "height": 0.7}, {"start": [108.6485, 79.375], "end": [107.5055, 79.375], "type": "segment", "width": 0.15}, {"start": [108.6485, 82.423], "end": [107.5055, 82.423], "type": "segment", "width": 0.15}, {"start": [107.5055, 86.23299999999999], "end": [103.82249999999999, 86.23299999999999], "type": "segment", "width": 0.15}, {"start": [103.82249999999999, 86.23299999999999], "end": [103.82249999999999, 75.565], "type": "segment", "width": 0.15}, {"start": [103.82249999999999, 75.565], "end": [107.5055, 75.565], "type": "segment", "width": 0.15}, {"start": [108.6485, 86.23299999999999], "end": [107.5055, 86.23299999999999], "type": "segment", "width": 0.15}, {"start": [107.5055, 86.23299999999999], "end": [107.5055, 75.565], "type": "segment", "width": 0.15}, {"start": [107.5055, 75.565], "end": [108.6485, 75.565], "type": "segment", "width": 0.15}, {"start": [108.6485, 80.899], "end": [108.6485, 75.565], "type": "segment", "width": 0.15}, {"start": [108.6485, 80.899], "end": [108.6485, 86.23299999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P9", "thickness": 0.125, "pos": [131.31799999999998, 67.18299999999999], "height": 0.7}, {"start": [135.382, 68.326], "end": [163.322, 68.326], "type": "segment", "width": 0.15}, {"start": [163.322, 68.326], "end": [163.322, 65.786], "type": "segment", "width": 0.15}, {"start": [163.322, 65.786], "end": [135.382, 65.786], "type": "segment", "width": 0.15}, {"start": [132.56199999999998, 68.606], "end": [134.112, 68.606], "type": "segment", "width": 0.15}, {"start": [135.382, 68.326], "end": [135.382, 65.786], "type": "segment", "width": 0.15}, {"start": [134.112, 65.506], "end": [132.56199999999998, 65.506], "type": "segment", "width": 0.15}, {"start": [132.56199999999998, 65.506], "end": [132.56199999999998, 68.606], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "CON2", "thickness": 0.15, "pos": [201.92999999999998, 95.50399999999999], "height": 1.0}, {"start": [203.813, 72.39], "end": [203.813, 92.71], "type": "segment", "width": 0.15}, {"start": [203.26299999999998, 72.92999999999999], "end": [203.26299999999998, 92.14999999999999], "type": "segment", "width": 0.15}, {"start": [194.713, 72.39], "end": [194.713, 92.71], "type": "segment", "width": 0.15}, {"start": [195.263, 72.92999999999999], "end": [195.263, 80.3], "type": "segment", "width": 0.15}, {"start": [195.263, 84.8], "end": [195.263, 92.14999999999999], "type": "segment", "width": 0.15}, {"start": [195.263, 80.3], "end": [194.713, 80.3], "type": "segment", "width": 0.15}, {"start": [195.263, 84.8], "end": [194.713, 84.8], "type": "segment", "width": 0.15}, {"start": [203.813, 72.39], "end": [194.713, 72.39], "type": "segment", "width": 0.15}, {"start": [203.26299999999998, 72.92999999999999], "end": [195.263, 72.92999999999999], "type": "segment", "width": 0.15}, {"start": [203.813, 92.71], "end": [194.713, 92.71], "type": "segment", "width": 0.15}, {"start": [203.26299999999998, 92.14999999999999], "end": [195.263, 92.14999999999999], "type": "segment", "width": 0.15}, {"start": [203.813, 72.39], "end": [203.26299999999998, 72.92999999999999], "type": "segment", "width": 0.15}, {"start": [203.813, 92.71], "end": [203.26299999999998, 92.14999999999999], "type": "segment", "width": 0.15}, {"start": [194.713, 72.39], "end": [195.263, 72.92999999999999], "type": "segment", "width": 0.15}, {"start": [194.713, 92.71], "end": [195.263, 92.14999999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D1", "thickness": 0.15, "pos": [95.50399999999999, 81.28], "height": 0.7}, {"start": [98.2345, 84.1375], "end": [98.2345, 85.1535], "type": "segment", "width": 0.15}, {"start": [98.2345, 79.3115], "end": [98.2345, 78.0415], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.5655], "end": [96.9645, 79.5655], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.81949999999999], "end": [96.9645, 79.81949999999999], "type": "segment", "width": 0.15}, {"start": [99.5045, 80.0735], "end": [96.9645, 80.0735], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.3115], "end": [96.9645, 79.3115], "type": "segment", "width": 0.15}, {"start": [99.5045, 80.3275], "end": [96.9645, 79.05749999999999], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.05749999999999], "end": [96.9645, 80.3275], "type": "segment", "width": 0.15}, {"start": [99.5045, 80.3275], "end": [96.9645, 80.3275], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.6925], "end": [96.9645, 79.6925], "type": "segment", "width": 0.15}, {"start": [96.9645, 79.05749999999999], "end": [99.5045, 79.05749999999999], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.05749999999999], "end": [99.5045, 84.1375], "type": "segment", "width": 0.15}, {"start": [99.5045, 84.1375], "end": [96.9645, 84.1375], "type": "segment", "width": 0.15}, {"start": [96.9645, 84.1375], "end": [96.9645, 79.05749999999999], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "Y1", "thickness": 0.125, "pos": [171.45, 94.615], "height": 0.5}, {"start": [176.27599999999998, 96.66224], "end": [176.47665999999998, 97.06356], "type": "segment", "width": 0.15}, {"start": [176.47665999999998, 97.06356], "end": [176.57826, 97.663], "type": "segment", "width": 0.15}, {"start": [176.57826, 97.663], "end": [176.47665999999998, 98.16337999999999], "type": "segment", "width": 0.15}, {"start": [176.47665999999998, 98.16337999999999], "end": [176.07788, 98.86188], "type": "segment", "width": 0.15}, {"start": [176.07788, 98.86188], "end": [175.4759, 99.2632], "type": "segment", "width": 0.15}, {"start": [175.4759, 99.2632], "end": [174.87645999999998, 99.46386], "type": "segment", "width": 0.15}, {"start": [174.87645999999998, 99.46386], "end": [168.27754, 99.46386], "type": "segment", "width": 0.15}, {"start": [168.27754, 99.46386], "end": [167.57649999999998, 99.2632], "type": "segment", "width": 0.15}, {"start": [167.57649999999998, 99.2632], "end": [167.17772, 98.96347999999999], "type": "segment", "width": 0.15}, {"start": [167.17772, 98.96347999999999], "end": [166.7764, 98.4631], "type": "segment", "width": 0.15}, {"start": [166.7764, 98.4631], "end": [166.57574, 97.86366], "type": "segment", "width": 0.15}, {"start": [166.57574, 97.86366], "end": [166.57574, 97.36327999999999], "type": "segment", "width": 0.15}, {"start": [166.57574, 97.36327999999999], "end": [166.7764, 96.8629], "type": "segment", "width": 0.15}, {"start": [166.7764, 96.8629], "end": [167.27678, 96.26346], "type": "segment", "width": 0.15}, {"start": [167.27678, 96.26346], "end": [167.77715999999998, 95.96374], "type": "segment", "width": 0.15}, {"start": [167.77715999999998, 95.96374], "end": [168.27754, 95.86214], "type": "segment", "width": 0.15}, {"start": [168.3766, 95.86214], "end": [174.97806, 95.86214], "type": "segment", "width": 0.15}, {"start": [174.97806, 95.86214], "end": [175.37684, 95.96374], "type": "segment", "width": 0.15}, {"start": [175.37684, 95.96374], "end": [175.87722, 96.26346], "type": "segment", "width": 0.15}, {"start": [175.87722, 96.26346], "end": [176.3776, 96.76384], "type": "segment", "width": 0.15}, {"start": [168.38675999999998, 95.33381999999999], "end": [167.92702, 95.38208], "type": "segment", "width": 0.15}, {"start": [167.92702, 95.38208], "end": [167.52823999999998, 95.49383999999999], "type": "segment", "width": 0.15}, {"start": [167.52823999999998, 95.49383999999999], "end": [167.09644, 95.71227999999999], "type": "segment", "width": 0.15}, {"start": [167.09644, 95.71227999999999], "end": [166.80687999999998, 95.94341999999999], "type": "segment", "width": 0.15}, {"start": [166.80687999999998, 95.94341999999999], "end": [166.47668, 96.29393999999999], "type": "segment", "width": 0.15}, {"start": [166.47668, 96.29393999999999], "end": [166.18712, 96.83242], "type": "segment", "width": 0.15}, {"start": [166.18712, 96.83242], "end": [166.05758, 97.43186], "type": "segment", "width": 0.15}, {"start": [166.05758, 97.43186], "end": [166.05758, 97.94239999999999], "type": "segment", "width": 0.15}, {"start": [166.05758, 97.94239999999999], "end": [166.22776, 98.64344], "type": "segment", "width": 0.15}, {"start": [166.22776, 98.64344], "end": [166.62654, 99.23272], "type": "segment", "width": 0.15}, {"start": [166.62654, 99.23272], "end": [167.08628, 99.60356], "type": "segment", "width": 0.15}, {"start": [167.08628, 99.60356], "end": [167.50791999999998, 99.81183999999999], "type": "segment", "width": 0.15}, {"start": [167.50791999999998, 99.81183999999999], "end": [167.95749999999998, 99.97185999999999], "type": "segment", "width": 0.15}, {"start": [167.95749999999998, 99.97185999999999], "end": [168.39692, 100.00233999999999], "type": "segment", "width": 0.15}, {"start": [175.73752, 99.78389999999999], "end": [176.11597999999998, 99.56291999999999], "type": "segment", "width": 0.15}, {"start": [176.11597999999998, 99.56291999999999], "end": [176.43601999999998, 99.28352], "type": "segment", "width": 0.15}, {"start": [176.43601999999998, 99.28352], "end": [176.68748, 98.95331999999999], "type": "segment", "width": 0.15}, {"start": [176.68748, 98.95331999999999], "end": [176.9872, 98.40213999999999], "type": "segment", "width": 0.15}, {"start": [176.9872, 98.40213999999999], "end": [177.09642, 97.93224], "type": "segment", "width": 0.15}, {"start": [177.09642, 97.93224], "end": [177.11674, 97.4725], "type": "segment", "width": 0.15}, {"start": [177.11674, 97.4725], "end": [177.02784, 97.01276], "type": "segment", "width": 0.15}, {"start": [177.02784, 97.01276], "end": [176.83733999999998, 96.56318], "type": "segment", "width": 0.15}, {"start": [176.83733999999998, 96.56318], "end": [176.47665999999998, 96.09328], "type": "segment", "width": 0.15}, {"start": [176.47665999999998, 96.09328], "end": [176.12614, 95.77324], "type": "segment", "width": 0.15}, {"start": [176.12614, 95.77324], "end": [175.73752, 95.54209999999999], "type": "segment", "width": 0.15}, {"start": [175.73752, 95.54209999999999], "end": [175.30826, 95.4024], "type": "segment", "width": 0.15}, {"start": [175.30826, 95.4024], "end": [174.8663, 95.33381999999999], "type": "segment", "width": 0.15}, {"start": [168.3766, 99.99217999999999], "end": [174.82819999999998, 99.99217999999999], "type": "segment", "width": 0.15}, {"start": [174.82819999999998, 99.99217999999999], "end": [175.2473, 99.95407999999999], "type": "segment", "width": 0.15}, {"start": [175.2473, 99.95407999999999], "end": [175.73752, 99.78389999999999], "type": "segment", "width": 0.15}, {"start": [168.3766, 95.33381999999999], "end": [174.82819999999998, 95.33381999999999], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "C7", "thickness": 0.125, "pos": [163.576, 102.743], "height": 0.5}, {"start": [164.123, 99.957], "end": [164.123, 100.957], "type": "segment", "width": 0.15}, {"start": [165.82299999999998, 100.957], "end": [165.82299999999998, 99.957], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "C8", "thickness": 0.125, "pos": [171.831, 102.616], "height": 0.5}, {"start": [169.918, 100.75], "end": [168.918, 100.75], "type": "segment", "width": 0.15}, {"start": [168.918, 102.44999999999999], "end": [169.918, 102.44999999999999], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "C9", "thickness": 0.125, "pos": [163.322, 97.536], "height": 0.5}, {"start": [165.696, 96.512], "end": [165.696, 95.512], "type": "segment", "width": 0.15}, {"start": [163.99599999999998, 95.512], "end": [163.99599999999998, 96.512], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D2", "thickness": 0.15, "pos": [110.2995, 73.914], "height": 0.7}, {"start": [107.3025, 72.63199999999999], "end": [110.0025, 72.63199999999999], "type": "segment", "width": 0.15}, {"start": [107.3025, 71.13199999999999], "end": [110.0025, 71.13199999999999], "type": "segment", "width": 0.15}, {"start": [108.8025, 72.032], "end": [108.8025, 71.782], "type": "segment", "width": 0.15}, {"start": [108.8025, 71.782], "end": [108.65249999999999, 71.932], "type": "segment", "width": 0.15}, {"start": [108.5525, 71.532], "end": [108.5525, 72.232], "type": "segment", "width": 0.15}, {"start": [108.90249999999999, 71.88199999999999], "end": [109.2525, 71.88199999999999], "type": "segment", "width": 0.15}, {"start": [108.5525, 71.88199999999999], "end": [108.90249999999999, 71.532], "type": "segment", "width": 0.15}, {"start": [108.90249999999999, 71.532], "end": [108.90249999999999, 72.232], "type": "segment", "width": 0.15}, {"start": [108.90249999999999, 72.232], "end": [108.5525, 71.88199999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P5", "thickness": 0.15, "pos": [162.433, 41.402], "height": 0.7}, {"start": [203.541, 50.031], "end": [203.541, 40.231], "type": "segment", "width": 0.15}, {"start": [163.541, 50.031], "end": [203.541, 50.031], "type": "segment", "width": 0.15}, {"start": [163.541, 40.231], "end": [163.541, 50.031], "type": "segment", "width": 0.15}, {"start": [203.541, 40.231], "end": [163.541, 40.231], "type": "segment", "width": 0.15}, {"start": [203.541, 40.731], "end": [163.541, 40.731], "type": "segment", "width": 0.15}, {"start": [203.541, 47.131], "end": [163.541, 47.131], "type": "segment", "width": 0.15}, {"start": [203.541, 42.230999999999995], "end": [163.541, 42.230999999999995], "type": "segment", "width": 0.15}, {"start": [201.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [196.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [198.541, 40.731], "end": [198.541, 40.231], "type": "segment", "width": 0.15}, {"start": [193.541, 40.731], "end": [193.541, 40.231], "type": "segment", "width": 0.15}, {"start": [191.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [186.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [188.541, 40.731], "end": [188.541, 40.231], "type": "segment", "width": 0.15}, {"start": [181.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [183.541, 40.731], "end": [183.541, 40.231], "type": "segment", "width": 0.15}, {"start": [178.541, 40.731], "end": [178.541, 40.231], "type": "segment", "width": 0.15}, {"start": [176.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [171.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [173.541, 40.731], "end": [173.541, 40.231], "type": "segment", "width": 0.15}, {"start": [168.541, 40.731], "end": [168.541, 40.231], "type": "segment", "width": 0.15}, {"start": [166.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P6", "thickness": 0.125, "pos": [204.47, 122.30099999999999], "height": 0.7}, {"start": [200.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [198.489, 124.369], "end": [198.489, 124.869], "type": "segment", "width": 0.15}, {"start": [193.489, 124.369], "end": [193.489, 124.869], "type": "segment", "width": 0.15}, {"start": [195.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [190.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [188.489, 124.369], "end": [188.489, 124.869], "type": "segment", "width": 0.15}, {"start": [183.489, 124.369], "end": [183.489, 124.869], "type": "segment", "width": 0.15}, {"start": [185.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [178.489, 124.369], "end": [178.489, 124.869], "type": "segment", "width": 0.15}, {"start": [180.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [175.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [173.489, 124.369], "end": [173.489, 124.869], "type": "segment", "width": 0.15}, {"start": [168.489, 124.369], "end": [168.489, 124.869], "type": "segment", "width": 0.15}, {"start": [170.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [165.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [163.489, 122.869], "end": [203.489, 122.869], "type": "segment", "width": 0.15}, {"start": [163.489, 117.969], "end": [203.489, 117.969], "type": "segment", "width": 0.15}, {"start": [163.489, 124.369], "end": [203.489, 124.369], "type": "segment", "width": 0.15}, {"start": [163.489, 124.869], "end": [203.489, 124.869], "type": "segment", "width": 0.15}, {"start": [203.489, 124.869], "end": [203.489, 115.06899999999999], "type": "segment", "width": 0.15}, {"start": [203.489, 115.06899999999999], "end": [163.489, 115.06899999999999], "type": "segment", "width": 0.15}, {"start": [163.489, 115.06899999999999], "end": [163.489, 124.869], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P3", "thickness": 0.15, "pos": [99.06, 41.528999999999996], "height": 0.7}, {"start": [103.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [105.74199999999999, 40.731], "end": [105.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [110.74199999999999, 40.731], "end": [110.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [108.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [113.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [115.74199999999999, 40.731], "end": [115.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [120.74199999999999, 40.731], "end": [120.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [118.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [123.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [125.74199999999999, 40.731], "end": [125.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [130.742, 40.731], "end": [130.742, 40.231], "type": "segment", "width": 0.15}, {"start": [128.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [133.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [135.742, 40.731], "end": [135.742, 40.231], "type": "segment", "width": 0.15}, {"start": [140.742, 40.731], "end": [140.742, 40.231], "type": "segment", "width": 0.15}, {"start": [138.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [145.742, 40.731], "end": [145.742, 40.231], "type": "segment", "width": 0.15}, {"start": [143.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [148.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [150.742, 40.731], "end": [150.742, 40.231], "type": "segment", "width": 0.15}, {"start": [155.742, 40.731], "end": [155.742, 40.231], "type": "segment", "width": 0.15}, {"start": [153.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [158.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [160.742, 42.230999999999995], "end": [100.74199999999999, 42.230999999999995], "type": "segment", "width": 0.15}, {"start": [160.742, 47.131], "end": [100.74199999999999, 47.131], "type": "segment", "width": 0.15}, {"start": [160.742, 40.731], "end": [100.74199999999999, 40.731], "type": "segment", "width": 0.15}, {"start": [160.742, 40.231], "end": [100.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [100.74199999999999, 40.231], "end": [100.74199999999999, 50.031], "type": "segment", "width": 0.15}, {"start": [100.74199999999999, 50.031], "end": [160.742, 50.031], "type": "segment", "width": 0.15}, {"start": [160.742, 50.031], "end": [160.742, 40.231], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P4", "thickness": 0.125, "pos": [120.523, 122.809], "height": 0.7}, {"start": [159.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [157.34099999999998, 124.496], "end": [157.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [152.34099999999998, 124.496], "end": [152.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [154.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [149.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [147.34099999999998, 124.496], "end": [147.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [142.34099999999998, 124.496], "end": [142.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [144.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [137.34099999999998, 124.496], "end": [137.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [139.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [134.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [132.341, 124.496], "end": [132.341, 124.996], "type": "segment", "width": 0.15}, {"start": [127.341, 124.496], "end": [127.341, 124.996], "type": "segment", "width": 0.15}, {"start": [129.841, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [124.841, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [122.341, 122.996], "end": [162.34099999999998, 122.996], "type": "segment", "width": 0.15}, {"start": [122.341, 118.09599999999999], "end": [162.34099999999998, 118.09599999999999], "type": "segment", "width": 0.15}, {"start": [122.341, 124.496], "end": [162.34099999999998, 124.496], "type": "segment", "width": 0.15}, {"start": [122.341, 124.996], "end": [162.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [162.34099999999998, 124.996], "end": [162.34099999999998, 115.196], "type": "segment", "width": 0.15}, {"start": [162.34099999999998, 115.196], "end": [122.341, 115.196], "type": "segment", "width": 0.15}, {"start": [122.341, 115.196], "end": [122.341, 124.996], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P11", "thickness": 0.125, "pos": [199.39, 101.219], "height": 0.7}, {"start": [194.81799999999998, 99.82199999999999], "end": [177.03799999999998, 99.82199999999999], "type": "segment", "width": 0.15}, {"start": [177.03799999999998, 99.82199999999999], "end": [177.03799999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [177.03799999999998, 102.362], "end": [194.81799999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [197.638, 99.542], "end": [196.088, 99.542], "type": "segment", "width": 0.15}, {"start": [194.81799999999998, 99.82199999999999], "end": [194.81799999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [196.088, 102.642], "end": [197.638, 102.642], "type": "segment", "width": 0.15}, {"start": [197.638, 102.642], "end": [197.638, 99.542], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P12", "thickness": 0.125, "pos": [130.55599999999998, 58.547], "height": 0.7}, {"start": [135.382, 57.15], "end": [163.322, 57.15], "type": "segment", "width": 0.15}, {"start": [163.322, 57.15], "end": [163.322, 59.69], "type": "segment", "width": 0.15}, {"start": [163.322, 59.69], "end": [135.382, 59.69], "type": "segment", "width": 0.15}, {"start": [132.56199999999998, 56.87], "end": [134.112, 56.87], "type": "segment", "width": 0.15}, {"start": [135.382, 57.15], "end": [135.382, 59.69], "type": "segment", "width": 0.15}, {"start": [134.112, 59.97], "end": [132.56199999999998, 59.97], "type": "segment", "width": 0.15}, {"start": [132.56199999999998, 59.97], "end": [132.56199999999998, 56.87], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P14", "thickness": 0.125, "pos": [167.386, 58.928], "height": 0.7}, {"start": [169.138, 60.477999999999994], "end": [169.138, 57.378], "type": "segment", "width": 0.15}, {"start": [170.688, 60.477999999999994], "end": [169.138, 60.477999999999994], "type": "segment", "width": 0.15}, {"start": [171.958, 57.657999999999994], "end": [171.958, 60.198], "type": "segment", "width": 0.15}, {"start": [169.138, 57.378], "end": [170.688, 57.378], "type": "segment", "width": 0.15}, {"start": [189.738, 60.198], "end": [171.958, 60.198], "type": "segment", "width": 0.15}, {"start": [189.738, 57.657999999999994], "end": [189.738, 60.198], "type": "segment", "width": 0.15}, {"start": [171.958, 57.657999999999994], "end": [189.738, 57.657999999999994], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P15", "thickness": 0.125, "pos": [199.39, 109.601], "height": 0.7}, {"start": [194.81799999999998, 110.99799999999999], "end": [177.03799999999998, 110.99799999999999], "type": "segment", "width": 0.15}, {"start": [177.03799999999998, 110.99799999999999], "end": [177.03799999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [177.03799999999998, 108.458], "end": [194.81799999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [197.638, 111.27799999999999], "end": [196.088, 111.27799999999999], "type": "segment", "width": 0.15}, {"start": [194.81799999999998, 110.99799999999999], "end": [194.81799999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [196.088, 108.178], "end": [197.638, 108.178], "type": "segment", "width": 0.15}, {"start": [197.638, 108.178], "end": [197.638, 111.27799999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P7", "thickness": 0.125, "pos": [193.67499999999998, 56.896], "height": 0.7}, {"start": [206.315, 57.403999999999996], "end": [197.48499999999999, 57.403999999999996], "type": "segment", "width": 0.15}, {"start": [206.315, 59.943999999999996], "end": [206.315, 57.403999999999996], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 59.943999999999996], "end": [197.48499999999999, 57.403999999999996], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 62.483999999999995], "end": [197.48499999999999, 59.943999999999996], "type": "segment", "width": 0.15}, {"start": [206.315, 62.483999999999995], "end": [206.315, 59.943999999999996], "type": "segment", "width": 0.15}, {"start": [206.315, 59.943999999999996], "end": [197.48499999999999, 59.943999999999996], "type": "segment", "width": 0.15}, {"start": [206.315, 62.483999999999995], "end": [197.48499999999999, 62.483999999999995], "type": "segment", "width": 0.15}, {"start": [206.315, 65.024], "end": [206.315, 62.483999999999995], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 65.024], "end": [206.315, 65.024], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 65.024], "end": [197.48499999999999, 62.483999999999995], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 67.564], "end": [197.48499999999999, 65.024], "type": "segment", "width": 0.15}, {"start": [194.815, 66.294], "end": [194.815, 67.844], "type": "segment", "width": 0.15}, {"start": [194.815, 67.844], "end": [196.215, 67.844], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 67.564], "end": [206.315, 67.564], "type": "segment", "width": 0.15}, {"start": [206.315, 67.564], "end": [206.315, 65.024], "type": "segment", "width": 0.15}, {"start": [206.315, 65.024], "end": [197.48499999999999, 65.024], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "Cin1", "thickness": 0.15, "pos": [107.466, 93.75399999999999], "height": 1.0}, {"start": [112.776, 93.75399999999999], "radius": 4.09, "type": "circle", "width": 0.12}, {"start": [108.726, 93.75399999999999], "end": [116.826, 93.75399999999999], "type": "segment", "width": 0.12}, {"start": [108.726, 93.714], "end": [116.826, 93.714], "type": "segment", "width": 0.12}, {"start": [108.726, 93.67399999999999], "end": [116.826, 93.67399999999999], "type": "segment", "width": 0.12}, {"start": [108.72699999999999, 93.634], "end": [116.82499999999999, 93.634], "type": "segment", "width": 0.12}, {"start": [108.729, 93.594], "end": [116.823, 93.594], "type": "segment", "width": 0.12}, {"start": [108.72999999999999, 93.554], "end": [116.82199999999999, 93.554], "type": "segment", "width": 0.12}, {"start": [108.73299999999999, 93.514], "end": [116.81899999999999, 93.514], "type": "segment", "width": 0.12}, {"start": [108.735, 93.47399999999999], "end": [116.817, 93.47399999999999], "type": "segment", "width": 0.12}, {"start": [108.738, 93.434], "end": [116.814, 93.434], "type": "segment", "width": 0.12}, {"start": [108.741, 93.39399999999999], "end": [116.81099999999999, 93.39399999999999], "type": "segment", "width": 0.12}, {"start": [108.74499999999999, 93.354], "end": [116.80699999999999, 93.354], "type": "segment", "width": 0.12}, {"start": [108.749, 93.314], "end": [116.803, 93.314], "type": "segment", "width": 0.12}, {"start": [108.75399999999999, 93.274], "end": [116.798, 93.274], "type": "segment", "width": 0.12}, {"start": [108.759, 93.234], "end": [116.79299999999999, 93.234], "type": "segment", "width": 0.12}, {"start": [108.764, 93.194], "end": [116.788, 93.194], "type": "segment", "width": 0.12}, {"start": [108.77, 93.154], "end": [116.782, 93.154], "type": "segment", "width": 0.12}, {"start": [108.776, 93.11399999999999], "end": [116.776, 93.11399999999999], "type": "segment", "width": 0.12}, {"start": [108.782, 93.074], "end": [116.77, 93.074], "type": "segment", "width": 0.12}, {"start": [108.789, 93.033], "end": [116.76299999999999, 93.033], "type": "segment", "width": 0.12}, {"start": [108.797, 92.993], "end": [116.755, 92.993], "type": "segment", "width": 0.12}, {"start": [108.80499999999999, 92.95299999999999], "end": [111.79599999999999, 92.95299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.95299999999999], "end": [116.747, 92.95299999999999], "type": "segment", "width": 0.12}, {"start": [108.81299999999999, 92.913], "end": [111.79599999999999, 92.913], "type": "segment", "width": 0.12}, {"start": [113.756, 92.913], "end": [116.73899999999999, 92.913], "type": "segment", "width": 0.12}, {"start": [108.821, 92.87299999999999], "end": [111.79599999999999, 92.87299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.87299999999999], "end": [116.731, 92.87299999999999], "type": "segment", "width": 0.12}, {"start": [108.83, 92.833], "end": [111.79599999999999, 92.833], "type": "segment", "width": 0.12}, {"start": [113.756, 92.833], "end": [116.722, 92.833], "type": "segment", "width": 0.12}, {"start": [108.83999999999999, 92.79299999999999], "end": [111.79599999999999, 92.79299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.79299999999999], "end": [116.71199999999999, 92.79299999999999], "type": "segment", "width": 0.12}, {"start": [108.85, 92.753], "end": [111.79599999999999, 92.753], "type": "segment", "width": 0.12}, {"start": [113.756, 92.753], "end": [116.702, 92.753], "type": "segment", "width": 0.12}, {"start": [108.86, 92.713], "end": [111.79599999999999, 92.713], "type": "segment", "width": 0.12}, {"start": [113.756, 92.713], "end": [116.692, 92.713], "type": "segment", "width": 0.12}, {"start": [108.871, 92.673], "end": [111.79599999999999, 92.673], "type": "segment", "width": 0.12}, {"start": [113.756, 92.673], "end": [116.681, 92.673], "type": "segment", "width": 0.12}, {"start": [108.88199999999999, 92.633], "end": [111.79599999999999, 92.633], "type": "segment", "width": 0.12}, {"start": [113.756, 92.633], "end": [116.67, 92.633], "type": "segment", "width": 0.12}, {"start": [108.893, 92.59299999999999], "end": [111.79599999999999, 92.59299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.59299999999999], "end": [116.65899999999999, 92.59299999999999], "type": "segment", "width": 0.12}, {"start": [108.90599999999999, 92.553], "end": [111.79599999999999, 92.553], "type": "segment", "width": 0.12}, {"start": [113.756, 92.553], "end": [116.646, 92.553], "type": "segment", "width": 0.12}, {"start": [108.91799999999999, 92.51299999999999], "end": [111.79599999999999, 92.51299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.51299999999999], "end": [116.634, 92.51299999999999], "type": "segment", "width": 0.12}, {"start": [108.931, 92.473], "end": [111.79599999999999, 92.473], "type": "segment", "width": 0.12}, {"start": [113.756, 92.473], "end": [116.621, 92.473], "type": "segment", "width": 0.12}, {"start": [108.94399999999999, 92.43299999999999], "end": [111.79599999999999, 92.43299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.43299999999999], "end": [116.60799999999999, 92.43299999999999], "type": "segment", "width": 0.12}, {"start": [108.958, 92.393], "end": [111.79599999999999, 92.393], "type": "segment", "width": 0.12}, {"start": [113.756, 92.393], "end": [116.594, 92.393], "type": "segment", "width": 0.12}, {"start": [108.973, 92.353], "end": [111.79599999999999, 92.353], "type": "segment", "width": 0.12}, {"start": [113.756, 92.353], "end": [116.579, 92.353], "type": "segment", "width": 0.12}, {"start": [108.987, 92.313], "end": [111.79599999999999, 92.313], "type": "segment", "width": 0.12}, {"start": [113.756, 92.313], "end": [116.565, 92.313], "type": "segment", "width": 0.12}, {"start": [109.003, 92.273], "end": [111.79599999999999, 92.273], "type": "segment", "width": 0.12}, {"start": [113.756, 92.273], "end": [116.54899999999999, 92.273], "type": "segment", "width": 0.12}, {"start": [109.018, 92.23299999999999], "end": [111.79599999999999, 92.23299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.23299999999999], "end": [116.53399999999999, 92.23299999999999], "type": "segment", "width": 0.12}, {"start": [109.035, 92.193], "end": [111.79599999999999, 92.193], "type": "segment", "width": 0.12}, {"start": [113.756, 92.193], "end": [116.517, 92.193], "type": "segment", "width": 0.12}, {"start": [109.051, 92.15299999999999], "end": [111.79599999999999, 92.15299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.15299999999999], "end": [116.50099999999999, 92.15299999999999], "type": "segment", "width": 0.12}, {"start": [109.06899999999999, 92.113], "end": [111.79599999999999, 92.113], "type": "segment", "width": 0.12}, {"start": [113.756, 92.113], "end": [116.48299999999999, 92.113], "type": "segment", "width": 0.12}, {"start": [109.086, 92.073], "end": [111.79599999999999, 92.073], "type": "segment", "width": 0.12}, {"start": [113.756, 92.073], "end": [116.466, 92.073], "type": "segment", "width": 0.12}, {"start": [109.10499999999999, 92.033], "end": [111.79599999999999, 92.033], "type": "segment", "width": 0.12}, {"start": [113.756, 92.033], "end": [116.44699999999999, 92.033], "type": "segment", "width": 0.12}, {"start": [109.124, 91.993], "end": [111.79599999999999, 91.993], "type": "segment", "width": 0.12}, {"start": [113.756, 91.993], "end": [116.428, 91.993], "type": "segment", "width": 0.12}, {"start": [109.143, 91.95299999999999], "end": [111.79599999999999, 91.95299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.95299999999999], "end": [116.40899999999999, 91.95299999999999], "type": "segment", "width": 0.12}, {"start": [109.163, 91.913], "end": [111.79599999999999, 91.913], "type": "segment", "width": 0.12}, {"start": [113.756, 91.913], "end": [116.389, 91.913], "type": "segment", "width": 0.12}, {"start": [109.18299999999999, 91.87299999999999], "end": [111.79599999999999, 91.87299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.87299999999999], "end": [116.369, 91.87299999999999], "type": "segment", "width": 0.12}, {"start": [109.204, 91.833], "end": [111.79599999999999, 91.833], "type": "segment", "width": 0.12}, {"start": [113.756, 91.833], "end": [116.348, 91.833], "type": "segment", "width": 0.12}, {"start": [109.226, 91.79299999999999], "end": [111.79599999999999, 91.79299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.79299999999999], "end": [116.326, 91.79299999999999], "type": "segment", "width": 0.12}, {"start": [109.24799999999999, 91.753], "end": [111.79599999999999, 91.753], "type": "segment", "width": 0.12}, {"start": [113.756, 91.753], "end": [116.30399999999999, 91.753], "type": "segment", "width": 0.12}, {"start": [109.271, 91.713], "end": [111.79599999999999, 91.713], "type": "segment", "width": 0.12}, {"start": [113.756, 91.713], "end": [116.28099999999999, 91.713], "type": "segment", "width": 0.12}, {"start": [109.294, 91.673], "end": [111.79599999999999, 91.673], "type": "segment", "width": 0.12}, {"start": [113.756, 91.673], "end": [116.258, 91.673], "type": "segment", "width": 0.12}, {"start": [109.318, 91.633], "end": [111.79599999999999, 91.633], "type": "segment", "width": 0.12}, {"start": [113.756, 91.633], "end": [116.234, 91.633], "type": "segment", "width": 0.12}, {"start": [109.342, 91.59299999999999], "end": [111.79599999999999, 91.59299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.59299999999999], "end": [116.21, 91.59299999999999], "type": "segment", "width": 0.12}, {"start": [109.368, 91.553], "end": [111.79599999999999, 91.553], "type": "segment", "width": 0.12}, {"start": [113.756, 91.553], "end": [116.184, 91.553], "type": "segment", "width": 0.12}, {"start": [109.393, 91.51299999999999], "end": [111.79599999999999, 91.51299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.51299999999999], "end": [116.15899999999999, 91.51299999999999], "type": "segment", "width": 0.12}, {"start": [109.42, 91.473], "end": [111.79599999999999, 91.473], "type": "segment", "width": 0.12}, {"start": [113.756, 91.473], "end": [116.13199999999999, 91.473], "type": "segment", "width": 0.12}, {"start": [109.44699999999999, 91.43299999999999], "end": [111.79599999999999, 91.43299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.43299999999999], "end": [116.10499999999999, 91.43299999999999], "type": "segment", "width": 0.12}, {"start": [109.475, 91.393], "end": [111.79599999999999, 91.393], "type": "segment", "width": 0.12}, {"start": [113.756, 91.393], "end": [116.077, 91.393], "type": "segment", "width": 0.12}, {"start": [109.50399999999999, 91.353], "end": [111.79599999999999, 91.353], "type": "segment", "width": 0.12}, {"start": [113.756, 91.353], "end": [116.048, 91.353], "type": "segment", "width": 0.12}, {"start": [109.533, 91.313], "end": [111.79599999999999, 91.313], "type": "segment", "width": 0.12}, {"start": [113.756, 91.313], "end": [116.01899999999999, 91.313], "type": "segment", "width": 0.12}, {"start": [109.56299999999999, 91.273], "end": [111.79599999999999, 91.273], "type": "segment", "width": 0.12}, {"start": [113.756, 91.273], "end": [115.98899999999999, 91.273], "type": "segment", "width": 0.12}, {"start": [109.594, 91.23299999999999], "end": [111.79599999999999, 91.23299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.23299999999999], "end": [115.958, 91.23299999999999], "type": "segment", "width": 0.12}, {"start": [109.62599999999999, 91.193], "end": [111.79599999999999, 91.193], "type": "segment", "width": 0.12}, {"start": [113.756, 91.193], "end": [115.92599999999999, 91.193], "type": "segment", "width": 0.12}, {"start": [109.658, 91.15299999999999], "end": [111.79599999999999, 91.15299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.15299999999999], "end": [115.89399999999999, 91.15299999999999], "type": "segment", "width": 0.12}, {"start": [109.692, 91.113], "end": [111.79599999999999, 91.113], "type": "segment", "width": 0.12}, {"start": [113.756, 91.113], "end": [115.86, 91.113], "type": "segment", "width": 0.12}, {"start": [109.726, 91.073], "end": [111.79599999999999, 91.073], "type": "segment", "width": 0.12}, {"start": [113.756, 91.073], "end": [115.826, 91.073], "type": "segment", "width": 0.12}, {"start": [109.761, 91.033], "end": [111.79599999999999, 91.033], "type": "segment", "width": 0.12}, {"start": [113.756, 91.033], "end": [115.791, 91.033], "type": "segment", "width": 0.12}, {"start": [109.797, 90.993], "end": [115.755, 90.993], "type": "segment", "width": 0.12}, {"start": [109.83399999999999, 90.953], "end": [115.71799999999999, 90.953], "type": "segment", "width": 0.12}, {"start": [109.872, 90.913], "end": [115.67999999999999, 90.913], "type": "segment", "width": 0.12}, {"start": [109.911, 90.87299999999999], "end": [115.64099999999999, 90.87299999999999], "type": "segment", "width": 0.12}, {"start": [109.952, 90.833], "end": [115.6, 90.833], "type": "segment", "width": 0.12}, {"start": [109.993, 90.79299999999999], "end": [115.559, 90.79299999999999], "type": "segment", "width": 0.12}, {"start": [110.036, 90.753], "end": [115.51599999999999, 90.753], "type": "segment", "width": 0.12}, {"start": [110.079, 90.713], "end": [115.473, 90.713], "type": "segment", "width": 0.12}, {"start": [110.124, 90.673], "end": [115.428, 90.673], "type": "segment", "width": 0.12}, {"start": [110.17099999999999, 90.633], "end": [115.381, 90.633], "type": "segment", "width": 0.12}, {"start": [110.219, 90.59299999999999], "end": [115.333, 90.59299999999999], "type": "segment", "width": 0.12}, {"start": [110.268, 90.553], "end": [115.28399999999999, 90.553], "type": "segment", "width": 0.12}, {"start": [110.31899999999999, 90.51299999999999], "end": [115.23299999999999, 90.51299999999999], "type": "segment", "width": 0.12}, {"start": [110.372, 90.473], "end": [115.17999999999999, 90.473], "type": "segment", "width": 0.12}, {"start": [110.42699999999999, 90.43299999999999], "end": [115.125, 90.43299999999999], "type": "segment", "width": 0.12}, {"start": [110.48299999999999, 90.393], "end": [115.06899999999999, 90.393], "type": "segment", "width": 0.12}, {"start": [110.542, 90.353], "end": [115.00999999999999, 90.353], "type": "segment", "width": 0.12}, {"start": [110.603, 90.313], "end": [114.949, 90.313], "type": "segment", "width": 0.12}, {"start": [110.667, 90.273], "end": [114.88499999999999, 90.273], "type": "segment", "width": 0.12}, {"start": [110.73299999999999, 90.23299999999999], "end": [114.81899999999999, 90.23299999999999], "type": "segment", "width": 0.12}, {"start": [110.80199999999999, 90.193], "end": [114.75, 90.193], "type": "segment", "width": 0.12}, {"start": [110.874, 90.15299999999999], "end": [114.678, 90.15299999999999], "type": "segment", "width": 0.12}, {"start": [110.94999999999999, 90.113], "end": [114.60199999999999, 90.113], "type": "segment", "width": 0.12}, {"start": [111.03099999999999, 90.073], "end": [114.521, 90.073], "type": "segment", "width": 0.12}, {"start": [111.116, 90.033], "end": [114.43599999999999, 90.033], "type": "segment", "width": 0.12}, {"start": [111.20599999999999, 89.993], "end": [114.34599999999999, 89.993], "type": "segment", "width": 0.12}, {"start": [111.303, 89.953], "end": [114.249, 89.953], "type": "segment", "width": 0.12}, {"start": [111.407, 89.913], "end": [114.145, 89.913], "type": "segment", "width": 0.12}, {"start": [111.52199999999999, 89.87299999999999], "end": [114.03, 89.87299999999999], "type": "segment", "width": 0.12}, {"start": [111.649, 89.833], "end": [113.90299999999999, 89.833], "type": "segment", "width": 0.12}, {"start": [111.79299999999999, 89.79299999999999], "end": [113.759, 89.79299999999999], "type": "segment", "width": 0.12}, {"start": [111.96199999999999, 89.753], "end": [113.58999999999999, 89.753], "type": "segment", "width": 0.12}, {"start": [112.178, 89.713], "end": [113.374, 89.713], "type": "segment", "width": 0.12}, {"start": [112.53, 89.673], "end": [113.02199999999999, 89.673], "type": "segment", "width": 0.12}, {"start": [112.776, 97.704], "end": [112.776, 96.50399999999999], "type": "segment", "width": 0.12}, {"start": [112.12599999999999, 97.104], "end": [113.426, 97.104], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "R3", "thickness": 0.15, "pos": [102.428, 73.532], "height": 1.0}, {"start": [101.82799999999999, 71.002], "end": [103.02799999999999, 71.002], "type": "segment", "width": 0.12}, {"start": [103.02799999999999, 72.762], "end": [101.82799999999999, 72.762], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "C2", "thickness": 0.15, "pos": [111.125, 84.08999999999999], "height": 1.0}, {"width": 0.12, "endangle": 242.9034484146656, "start": [114.93499999999999, 84.08999999999999], "radius": 2.59, "startangle": 117.10344841466556, "type": "arc"}, {"width": 0.12, "endangle": 62.896551585334464, "start": [114.93499999999999, 84.08999999999999], "radius": 2.59, "startangle": -62.90344841466554, "type": "arc"}, {"width": 0.12, "endangle": 297.09655158533445, "start": [114.93499999999999, 84.08999999999999], "radius": 2.59, "startangle": 242.89655158533444, "type": "arc"}, {"start": [112.38499999999999, 84.08999999999999], "end": [117.485, 84.08999999999999], "type": "segment", "width": 0.12}, {"start": [112.38499999999999, 84.05], "end": [113.955, 84.05], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 84.05], "end": [117.485, 84.05], "type": "segment", "width": 0.12}, {"start": [112.386, 84.00999999999999], "end": [113.955, 84.00999999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 84.00999999999999], "end": [117.484, 84.00999999999999], "type": "segment", "width": 0.12}, {"start": [112.387, 83.97], "end": [113.955, 83.97], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.97], "end": [117.48299999999999, 83.97], "type": "segment", "width": 0.12}, {"start": [112.389, 83.92999999999999], "end": [113.955, 83.92999999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.92999999999999], "end": [117.481, 83.92999999999999], "type": "segment", "width": 0.12}, {"start": [112.392, 83.89], "end": [113.955, 83.89], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.89], "end": [117.478, 83.89], "type": "segment", "width": 0.12}, {"start": [112.396, 83.85], "end": [113.955, 83.85], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.85], "end": [117.47399999999999, 83.85], "type": "segment", "width": 0.12}, {"start": [112.39999999999999, 83.81], "end": [113.955, 83.81], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.81], "end": [117.47, 83.81], "type": "segment", "width": 0.12}, {"start": [112.404, 83.77], "end": [113.955, 83.77], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.77], "end": [117.466, 83.77], "type": "segment", "width": 0.12}, {"start": [112.41, 83.72999999999999], "end": [113.955, 83.72999999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.72999999999999], "end": [117.46, 83.72999999999999], "type": "segment", "width": 0.12}, {"start": [112.416, 83.69], "end": [113.955, 83.69], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.69], "end": [117.454, 83.69], "type": "segment", "width": 0.12}, {"start": [112.422, 83.64999999999999], "end": [113.955, 83.64999999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.64999999999999], "end": [117.448, 83.64999999999999], "type": "segment", "width": 0.12}, {"start": [112.42899999999999, 83.61], "end": [113.955, 83.61], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.61], "end": [117.44099999999999, 83.61], "type": "segment", "width": 0.12}, {"start": [112.437, 83.57], "end": [113.955, 83.57], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.57], "end": [117.43299999999999, 83.57], "type": "segment", "width": 0.12}, {"start": [112.446, 83.53], "end": [113.955, 83.53], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.53], "end": [117.42399999999999, 83.53], "type": "segment", "width": 0.12}, {"start": [112.455, 83.49], "end": [113.955, 83.49], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.49], "end": [117.41499999999999, 83.49], "type": "segment", "width": 0.12}, {"start": [112.46499999999999, 83.45], "end": [113.955, 83.45], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.45], "end": [117.405, 83.45], "type": "segment", "width": 0.12}, {"start": [112.475, 83.41], "end": [113.955, 83.41], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.41], "end": [117.395, 83.41], "type": "segment", "width": 0.12}, {"start": [112.487, 83.369], "end": [113.955, 83.369], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.369], "end": [117.383, 83.369], "type": "segment", "width": 0.12}, {"start": [112.499, 83.329], "end": [113.955, 83.329], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.329], "end": [117.371, 83.329], "type": "segment", "width": 0.12}, {"start": [112.511, 83.289], "end": [113.955, 83.289], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.289], "end": [117.359, 83.289], "type": "segment", "width": 0.12}, {"start": [112.52499999999999, 83.249], "end": [113.955, 83.249], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.249], "end": [117.345, 83.249], "type": "segment", "width": 0.12}, {"start": [112.539, 83.209], "end": [113.955, 83.209], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.209], "end": [117.33099999999999, 83.209], "type": "segment", "width": 0.12}, {"start": [112.553, 83.169], "end": [113.955, 83.169], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.169], "end": [117.317, 83.169], "type": "segment", "width": 0.12}, {"start": [112.56899999999999, 83.12899999999999], "end": [113.955, 83.12899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.12899999999999], "end": [117.30099999999999, 83.12899999999999], "type": "segment", "width": 0.12}, {"start": [112.585, 83.089], "end": [113.955, 83.089], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.089], "end": [117.285, 83.089], "type": "segment", "width": 0.12}, {"start": [112.60199999999999, 83.04899999999999], "end": [113.955, 83.04899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.04899999999999], "end": [117.268, 83.04899999999999], "type": "segment", "width": 0.12}, {"start": [112.61999999999999, 83.009], "end": [113.955, 83.009], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.009], "end": [117.25, 83.009], "type": "segment", "width": 0.12}, {"start": [112.639, 82.969], "end": [113.955, 82.969], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.969], "end": [117.231, 82.969], "type": "segment", "width": 0.12}, {"start": [112.65899999999999, 82.929], "end": [113.955, 82.929], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.929], "end": [117.211, 82.929], "type": "segment", "width": 0.12}, {"start": [112.67899999999999, 82.889], "end": [113.955, 82.889], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.889], "end": [117.19099999999999, 82.889], "type": "segment", "width": 0.12}, {"start": [112.701, 82.84899999999999], "end": [113.955, 82.84899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.84899999999999], "end": [117.169, 82.84899999999999], "type": "segment", "width": 0.12}, {"start": [112.723, 82.809], "end": [113.955, 82.809], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.809], "end": [117.14699999999999, 82.809], "type": "segment", "width": 0.12}, {"start": [112.746, 82.76899999999999], "end": [113.955, 82.76899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.76899999999999], "end": [117.124, 82.76899999999999], "type": "segment", "width": 0.12}, {"start": [112.77, 82.729], "end": [113.955, 82.729], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.729], "end": [117.1, 82.729], "type": "segment", "width": 0.12}, {"start": [112.795, 82.689], "end": [113.955, 82.689], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.689], "end": [117.07499999999999, 82.689], "type": "segment", "width": 0.12}, {"start": [112.82199999999999, 82.649], "end": [113.955, 82.649], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.649], "end": [117.04799999999999, 82.649], "type": "segment", "width": 0.12}, {"start": [112.84899999999999, 82.609], "end": [113.955, 82.609], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.609], "end": [117.021, 82.609], "type": "segment", "width": 0.12}, {"start": [112.877, 82.569], "end": [113.955, 82.569], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.569], "end": [116.993, 82.569], "type": "segment", "width": 0.12}, {"start": [112.907, 82.529], "end": [113.955, 82.529], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.529], "end": [116.963, 82.529], "type": "segment", "width": 0.12}, {"start": [112.93799999999999, 82.48899999999999], "end": [113.955, 82.48899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.48899999999999], "end": [116.93199999999999, 82.48899999999999], "type": "segment", "width": 0.12}, {"start": [112.97, 82.449], "end": [113.955, 82.449], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.449], "end": [116.89999999999999, 82.449], "type": "segment", "width": 0.12}, {"start": [113.003, 82.40899999999999], "end": [113.955, 82.40899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.40899999999999], "end": [116.86699999999999, 82.40899999999999], "type": "segment", "width": 0.12}, {"start": [113.038, 82.369], "end": [113.955, 82.369], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.369], "end": [116.832, 82.369], "type": "segment", "width": 0.12}, {"start": [113.074, 82.329], "end": [113.955, 82.329], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.329], "end": [116.79599999999999, 82.329], "type": "segment", "width": 0.12}, {"start": [113.112, 82.289], "end": [113.955, 82.289], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.289], "end": [116.758, 82.289], "type": "segment", "width": 0.12}, {"start": [113.152, 82.249], "end": [113.955, 82.249], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.249], "end": [116.71799999999999, 82.249], "type": "segment", "width": 0.12}, {"start": [113.193, 82.209], "end": [113.955, 82.209], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.209], "end": [116.67699999999999, 82.209], "type": "segment", "width": 0.12}, {"start": [113.23599999999999, 82.169], "end": [113.955, 82.169], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.169], "end": [116.634, 82.169], "type": "segment", "width": 0.12}, {"start": [113.28099999999999, 82.12899999999999], "end": [113.955, 82.12899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.12899999999999], "end": [116.589, 82.12899999999999], "type": "segment", "width": 0.12}, {"start": [113.329, 82.089], "end": [116.541, 82.089], "type": "segment", "width": 0.12}, {"start": [113.37899999999999, 82.04899999999999], "end": [116.491, 82.04899999999999], "type": "segment", "width": 0.12}, {"start": [113.431, 82.009], "end": [116.439, 82.009], "type": "segment", "width": 0.12}, {"start": [113.487, 81.969], "end": [116.383, 81.969], "type": "segment", "width": 0.12}, {"start": [113.545, 81.929], "end": [116.32499999999999, 81.929], "type": "segment", "width": 0.12}, {"start": [113.60799999999999, 81.889], "end": [116.262, 81.889], "type": "segment", "width": 0.12}, {"start": [113.67399999999999, 81.84899999999999], "end": [116.196, 81.84899999999999], "type": "segment", "width": 0.12}, {"start": [113.746, 81.809], "end": [116.124, 81.809], "type": "segment", "width": 0.12}, {"start": [113.823, 81.76899999999999], "end": [116.047, 81.76899999999999], "type": "segment", "width": 0.12}, {"start": [113.907, 81.729], "end": [115.963, 81.729], "type": "segment", "width": 0.12}, {"start": [114.00099999999999, 81.689], "end": [115.869, 81.689], "type": "segment", "width": 0.12}, {"start": [114.106, 81.649], "end": [115.764, 81.649], "type": "segment", "width": 0.12}, {"start": [114.228, 81.609], "end": [115.642, 81.609], "type": "segment", "width": 0.12}, {"start": [114.37599999999999, 81.569], "end": [115.494, 81.569], "type": "segment", "width": 0.12}, {"start": [114.58099999999999, 81.529], "end": [115.289, 81.529], "type": "segment", "width": 0.12}, {"start": [114.93499999999999, 87.28999999999999], "end": [114.93499999999999, 86.08999999999999], "type": "segment", "width": 0.12}, {"start": [114.285, 86.69], "end": [115.585, 86.69], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "C3", "thickness": 0.15, "pos": [118.8085, 75.962], "height": 1.0}, {"width": 0.12, "endangle": 422.9034484146656, "start": [114.99849999999999, 75.962], "radius": 2.59, "startangle": 297.10344841466554, "type": "arc"}, {"width": 0.12, "endangle": 242.89655158533444, "start": [114.99849999999999, 75.962], "radius": 2.59, "startangle": 117.09655158533442, "type": "arc"}, {"width": 0.12, "endangle": 117.09655158533447, "start": [114.99849999999999, 75.962], "radius": 2.59, "startangle": 62.896551585334464, "type": "arc"}, {"start": [117.54849999999999, 75.962], "end": [112.4485, 75.962], "type": "segment", "width": 0.12}, {"start": [117.54849999999999, 76.002], "end": [115.9785, 76.002], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.002], "end": [112.4485, 76.002], "type": "segment", "width": 0.12}, {"start": [117.5475, 76.042], "end": [115.9785, 76.042], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.042], "end": [112.4495, 76.042], "type": "segment", "width": 0.12}, {"start": [117.5465, 76.082], "end": [115.9785, 76.082], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.082], "end": [112.45049999999999, 76.082], "type": "segment", "width": 0.12}, {"start": [117.5445, 76.122], "end": [115.9785, 76.122], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.122], "end": [112.4525, 76.122], "type": "segment", "width": 0.12}, {"start": [117.5415, 76.16199999999999], "end": [115.9785, 76.16199999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.16199999999999], "end": [112.4555, 76.16199999999999], "type": "segment", "width": 0.12}, {"start": [117.5375, 76.202], "end": [115.9785, 76.202], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.202], "end": [112.45949999999999, 76.202], "type": "segment", "width": 0.12}, {"start": [117.53349999999999, 76.24199999999999], "end": [115.9785, 76.24199999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.24199999999999], "end": [112.4635, 76.24199999999999], "type": "segment", "width": 0.12}, {"start": [117.5295, 76.282], "end": [115.9785, 76.282], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.282], "end": [112.4675, 76.282], "type": "segment", "width": 0.12}, {"start": [117.5235, 76.322], "end": [115.9785, 76.322], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.322], "end": [112.4735, 76.322], "type": "segment", "width": 0.12}, {"start": [117.5175, 76.362], "end": [115.9785, 76.362], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.362], "end": [112.4795, 76.362], "type": "segment", "width": 0.12}, {"start": [117.5115, 76.402], "end": [115.9785, 76.402], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.402], "end": [112.4855, 76.402], "type": "segment", "width": 0.12}, {"start": [117.5045, 76.442], "end": [115.9785, 76.442], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.442], "end": [112.49249999999999, 76.442], "type": "segment", "width": 0.12}, {"start": [117.4965, 76.482], "end": [115.9785, 76.482], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.482], "end": [112.50049999999999, 76.482], "type": "segment", "width": 0.12}, {"start": [117.4875, 76.52199999999999], "end": [115.9785, 76.52199999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.52199999999999], "end": [112.50949999999999, 76.52199999999999], "type": "segment", "width": 0.12}, {"start": [117.4785, 76.562], "end": [115.9785, 76.562], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.562], "end": [112.51849999999999, 76.562], "type": "segment", "width": 0.12}, {"start": [117.46849999999999, 76.60199999999999], "end": [115.9785, 76.60199999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.60199999999999], "end": [112.5285, 76.60199999999999], "type": "segment", "width": 0.12}, {"start": [117.4585, 76.642], "end": [115.9785, 76.642], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.642], "end": [112.5385, 76.642], "type": "segment", "width": 0.12}, {"start": [117.4465, 76.68299999999999], "end": [115.9785, 76.68299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.68299999999999], "end": [112.5505, 76.68299999999999], "type": "segment", "width": 0.12}, {"start": [117.4345, 76.723], "end": [115.9785, 76.723], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.723], "end": [112.5625, 76.723], "type": "segment", "width": 0.12}, {"start": [117.4225, 76.76299999999999], "end": [115.9785, 76.76299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.76299999999999], "end": [112.5745, 76.76299999999999], "type": "segment", "width": 0.12}, {"start": [117.40849999999999, 76.803], "end": [115.9785, 76.803], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.803], "end": [112.5885, 76.803], "type": "segment", "width": 0.12}, {"start": [117.3945, 76.843], "end": [115.9785, 76.843], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.843], "end": [112.60249999999999, 76.843], "type": "segment", "width": 0.12}, {"start": [117.3805, 76.883], "end": [115.9785, 76.883], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.883], "end": [112.61649999999999, 76.883], "type": "segment", "width": 0.12}, {"start": [117.36449999999999, 76.923], "end": [115.9785, 76.923], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.923], "end": [112.6325, 76.923], "type": "segment", "width": 0.12}, {"start": [117.3485, 76.963], "end": [115.9785, 76.963], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.963], "end": [112.6485, 76.963], "type": "segment", "width": 0.12}, {"start": [117.33149999999999, 77.003], "end": [115.9785, 77.003], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.003], "end": [112.6655, 77.003], "type": "segment", "width": 0.12}, {"start": [117.31349999999999, 77.04299999999999], "end": [115.9785, 77.04299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.04299999999999], "end": [112.6835, 77.04299999999999], "type": "segment", "width": 0.12}, {"start": [117.2945, 77.083], "end": [115.9785, 77.083], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.083], "end": [112.7025, 77.083], "type": "segment", "width": 0.12}, {"start": [117.27449999999999, 77.12299999999999], "end": [115.9785, 77.12299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.12299999999999], "end": [112.7225, 77.12299999999999], "type": "segment", "width": 0.12}, {"start": [117.2545, 77.163], "end": [115.9785, 77.163], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.163], "end": [112.74249999999999, 77.163], "type": "segment", "width": 0.12}, {"start": [117.2325, 77.203], "end": [115.9785, 77.203], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.203], "end": [112.7645, 77.203], "type": "segment", "width": 0.12}, {"start": [117.2105, 77.243], "end": [115.9785, 77.243], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.243], "end": [112.78649999999999, 77.243], "type": "segment", "width": 0.12}, {"start": [117.1875, 77.283], "end": [115.9785, 77.283], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.283], "end": [112.8095, 77.283], "type": "segment", "width": 0.12}, {"start": [117.1635, 77.323], "end": [115.9785, 77.323], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.323], "end": [112.8335, 77.323], "type": "segment", "width": 0.12}, {"start": [117.1385, 77.363], "end": [115.9785, 77.363], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.363], "end": [112.85849999999999, 77.363], "type": "segment", "width": 0.12}, {"start": [117.11149999999999, 77.40299999999999], "end": [115.9785, 77.40299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.40299999999999], "end": [112.8855, 77.40299999999999], "type": "segment", "width": 0.12}, {"start": [117.08449999999999, 77.443], "end": [115.9785, 77.443], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.443], "end": [112.9125, 77.443], "type": "segment", "width": 0.12}, {"start": [117.0565, 77.48299999999999], "end": [115.9785, 77.48299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.48299999999999], "end": [112.9405, 77.48299999999999], "type": "segment", "width": 0.12}, {"start": [117.0265, 77.523], "end": [115.9785, 77.523], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.523], "end": [112.9705, 77.523], "type": "segment", "width": 0.12}, {"start": [116.99549999999999, 77.563], "end": [115.9785, 77.563], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.563], "end": [113.0015, 77.563], "type": "segment", "width": 0.12}, {"start": [116.9635, 77.603], "end": [115.9785, 77.603], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.603], "end": [113.03349999999999, 77.603], "type": "segment", "width": 0.12}, {"start": [116.9305, 77.643], "end": [115.9785, 77.643], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.643], "end": [113.06649999999999, 77.643], "type": "segment", "width": 0.12}, {"start": [116.8955, 77.68299999999999], "end": [115.9785, 77.68299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.68299999999999], "end": [113.1015, 77.68299999999999], "type": "segment", "width": 0.12}, {"start": [116.8595, 77.723], "end": [115.9785, 77.723], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.723], "end": [113.13749999999999, 77.723], "type": "segment", "width": 0.12}, {"start": [116.8215, 77.76299999999999], "end": [115.9785, 77.76299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.76299999999999], "end": [113.1755, 77.76299999999999], "type": "segment", "width": 0.12}, {"start": [116.7815, 77.803], "end": [115.9785, 77.803], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.803], "end": [113.21549999999999, 77.803], "type": "segment", "width": 0.12}, {"start": [116.7405, 77.843], "end": [115.9785, 77.843], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.843], "end": [113.25649999999999, 77.843], "type": "segment", "width": 0.12}, {"start": [116.69749999999999, 77.883], "end": [115.9785, 77.883], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.883], "end": [113.2995, 77.883], "type": "segment", "width": 0.12}, {"start": [116.65249999999999, 77.923], "end": [115.9785, 77.923], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.923], "end": [113.3445, 77.923], "type": "segment", "width": 0.12}, {"start": [116.6045, 77.963], "end": [113.3925, 77.963], "type": "segment", "width": 0.12}, {"start": [116.55449999999999, 78.003], "end": [113.4425, 78.003], "type": "segment", "width": 0.12}, {"start": [116.5025, 78.04299999999999], "end": [113.49449999999999, 78.04299999999999], "type": "segment", "width": 0.12}, {"start": [116.4465, 78.083], "end": [113.5505, 78.083], "type": "segment", "width": 0.12}, {"start": [116.3885, 78.12299999999999], "end": [113.60849999999999, 78.12299999999999], "type": "segment", "width": 0.12}, {"start": [116.32549999999999, 78.163], "end": [113.6715, 78.163], "type": "segment", "width": 0.12}, {"start": [116.25949999999999, 78.203], "end": [113.7375, 78.203], "type": "segment", "width": 0.12}, {"start": [116.1875, 78.243], "end": [113.8095, 78.243], "type": "segment", "width": 0.12}, {"start": [116.1105, 78.283], "end": [113.8865, 78.283], "type": "segment", "width": 0.12}, {"start": [116.0265, 78.323], "end": [113.9705, 78.323], "type": "segment", "width": 0.12}, {"start": [115.93249999999999, 78.363], "end": [114.0645, 78.363], "type": "segment", "width": 0.12}, {"start": [115.8275, 78.40299999999999], "end": [114.1695, 78.40299999999999], "type": "segment", "width": 0.12}, {"start": [115.7055, 78.443], "end": [114.2915, 78.443], "type": "segment", "width": 0.12}, {"start": [115.55749999999999, 78.48299999999999], "end": [114.4395, 78.48299999999999], "type": "segment", "width": 0.12}, {"start": [115.35249999999999, 78.523], "end": [114.6445, 78.523], "type": "segment", "width": 0.12}, {"start": [114.99849999999999, 72.762], "end": [114.99849999999999, 73.962], "type": "segment", "width": 0.12}, {"start": [115.6485, 73.362], "end": [114.3485, 73.362], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "J1", "thickness": 0.15, "pos": [106.61999999999999, 54.327799999999996], "height": 1.0}, {"start": [100.22, 55.577799999999996], "end": [100.22, 59.6778], "type": "segment", "width": 0.12}, {"start": [100.22, 59.6778], "end": [113.02, 59.6778], "type": "segment", "width": 0.12}, {"start": [113.02, 59.6778], "end": [113.02, 55.577799999999996], "type": "segment", "width": 0.12}, {"start": [113.02, 55.577799999999996], "end": [100.22, 55.577799999999996], "type": "segment", "width": 0.12}, {"start": [100.22, 57.327799999999996], "end": [100.72, 57.327799999999996], "type": "segment", "width": 0.12}, {"start": [100.72, 57.327799999999996], "end": [100.72, 56.077799999999996], "type": "segment", "width": 0.12}, {"start": [100.72, 56.077799999999996], "end": [112.52, 56.077799999999996], "type": "segment", "width": 0.12}, {"start": [112.52, 56.077799999999996], "end": [112.52, 57.327799999999996], "type": "segment", "width": 0.12}, {"start": [112.52, 57.327799999999996], "end": [113.02, 57.327799999999996], "type": "segment", "width": 0.12}, {"start": [100.22, 58.1778], "end": [101.22, 58.1778], "type": "segment", "width": 0.12}, {"start": [101.22, 58.1778], "end": [101.22, 59.6778], "type": "segment", "width": 0.12}, {"start": [113.02, 58.1778], "end": [112.02, 58.1778], "type": "segment", "width": 0.12}, {"start": [112.02, 58.1778], "end": [112.02, 59.6778], "type": "segment", "width": 0.12}, {"start": [99.92, 57.477799999999995], "end": [99.92, 59.977799999999995], "type": "segment", "width": 0.12}, {"start": [99.92, 59.977799999999995], "end": [102.42, 59.977799999999995], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "J2", "thickness": 0.15, "pos": [121.2504, 54.581799999999994], "height": 1.0}, {"start": [114.5504, 60.2318], "end": [117.0504, 60.2318], "type": "segment", "width": 0.12}, {"start": [114.5504, 57.7318], "end": [114.5504, 60.2318], "type": "segment", "width": 0.12}, {"start": [126.65039999999999, 58.431799999999996], "end": [126.65039999999999, 59.931799999999996], "type": "segment", "width": 0.12}, {"start": [127.65039999999999, 58.431799999999996], "end": [126.65039999999999, 58.431799999999996], "type": "segment", "width": 0.12}, {"start": [115.8504, 58.431799999999996], "end": [115.8504, 59.931799999999996], "type": "segment", "width": 0.12}, {"start": [114.8504, 58.431799999999996], "end": [115.8504, 58.431799999999996], "type": "segment", "width": 0.12}, {"start": [127.15039999999999, 57.581799999999994], "end": [127.65039999999999, 57.581799999999994], "type": "segment", "width": 0.12}, {"start": [127.15039999999999, 56.331799999999994], "end": [127.15039999999999, 57.581799999999994], "type": "segment", "width": 0.12}, {"start": [115.3504, 56.331799999999994], "end": [127.15039999999999, 56.331799999999994], "type": "segment", "width": 0.12}, {"start": [115.3504, 57.581799999999994], "end": [115.3504, 56.331799999999994], "type": "segment", "width": 0.12}, {"start": [114.8504, 57.581799999999994], "end": [115.3504, 57.581799999999994], "type": "segment", "width": 0.12}, {"start": [127.65039999999999, 55.831799999999994], "end": [114.8504, 55.831799999999994], "type": "segment", "width": 0.12}, {"start": [127.65039999999999, 59.931799999999996], "end": [127.65039999999999, 55.831799999999994], "type": "segment", "width": 0.12}, {"start": [114.8504, 59.931799999999996], "end": [127.65039999999999, 59.931799999999996], "type": "segment", "width": 0.12}, {"start": [114.8504, 55.831799999999994], "end": [114.8504, 59.931799999999996], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "J3", "thickness": 0.15, "pos": [106.61999999999999, 62.303399999999996], "height": 1.0}, {"start": [100.22, 63.553399999999996], "end": [100.22, 67.65339999999999], "type": "segment", "width": 0.12}, {"start": [100.22, 67.65339999999999], "end": [113.02, 67.65339999999999], "type": "segment", "width": 0.12}, {"start": [113.02, 67.65339999999999], "end": [113.02, 63.553399999999996], "type": "segment", "width": 0.12}, {"start": [113.02, 63.553399999999996], "end": [100.22, 63.553399999999996], "type": "segment", "width": 0.12}, {"start": [100.22, 65.3034], "end": [100.72, 65.3034], "type": "segment", "width": 0.12}, {"start": [100.72, 65.3034], "end": [100.72, 64.0534], "type": "segment", "width": 0.12}, {"start": [100.72, 64.0534], "end": [112.52, 64.0534], "type": "segment", "width": 0.12}, {"start": [112.52, 64.0534], "end": [112.52, 65.3034], "type": "segment", "width": 0.12}, {"start": [112.52, 65.3034], "end": [113.02, 65.3034], "type": "segment", "width": 0.12}, {"start": [100.22, 66.15339999999999], "end": [101.22, 66.15339999999999], "type": "segment", "width": 0.12}, {"start": [101.22, 66.15339999999999], "end": [101.22, 67.65339999999999], "type": "segment", "width": 0.12}, {"start": [113.02, 66.15339999999999], "end": [112.02, 66.15339999999999], "type": "segment", "width": 0.12}, {"start": [112.02, 66.15339999999999], "end": [112.02, 67.65339999999999], "type": "segment", "width": 0.12}, {"start": [99.92, 65.4534], "end": [99.92, 67.9534], "type": "segment", "width": 0.12}, {"start": [99.92, 67.9534], "end": [102.42, 67.9534], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "J4", "thickness": 0.15, "pos": [121.1488, 62.252599999999994], "height": 1.0}, {"start": [114.74879999999999, 63.502599999999994], "end": [114.74879999999999, 67.6026], "type": "segment", "width": 0.12}, {"start": [114.74879999999999, 67.6026], "end": [127.5488, 67.6026], "type": "segment", "width": 0.12}, {"start": [127.5488, 67.6026], "end": [127.5488, 63.502599999999994], "type": "segment", "width": 0.12}, {"start": [127.5488, 63.502599999999994], "end": [114.74879999999999, 63.502599999999994], "type": "segment", "width": 0.12}, {"start": [114.74879999999999, 65.2526], "end": [115.24879999999999, 65.2526], "type": "segment", "width": 0.12}, {"start": [115.24879999999999, 65.2526], "end": [115.24879999999999, 64.0026], "type": "segment", "width": 0.12}, {"start": [115.24879999999999, 64.0026], "end": [127.0488, 64.0026], "type": "segment", "width": 0.12}, {"start": [127.0488, 64.0026], "end": [127.0488, 65.2526], "type": "segment", "width": 0.12}, {"start": [127.0488, 65.2526], "end": [127.5488, 65.2526], "type": "segment", "width": 0.12}, {"start": [114.74879999999999, 66.1026], "end": [115.74879999999999, 66.1026], "type": "segment", "width": 0.12}, {"start": [115.74879999999999, 66.1026], "end": [115.74879999999999, 67.6026], "type": "segment", "width": 0.12}, {"start": [127.5488, 66.1026], "end": [126.5488, 66.1026], "type": "segment", "width": 0.12}, {"start": [126.5488, 66.1026], "end": [126.5488, 67.6026], "type": "segment", "width": 0.12}, {"start": [114.44879999999999, 65.40259999999999], "end": [114.44879999999999, 67.90259999999999], "type": "segment", "width": 0.12}, {"start": [114.44879999999999, 67.90259999999999], "end": [116.94879999999999, 67.90259999999999], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "Cout1", "thickness": 0.15, "pos": [105.878, 93.94], "height": 1.0}, {"start": [100.318, 89.49], "end": [98.818, 89.49], "type": "segment", "width": 0.12}, {"start": [99.568, 88.74], "end": [99.568, 90.24], "type": "segment", "width": 0.12}, {"start": [99.847, 99.021], "end": [99.289, 99.021], "type": "segment", "width": 0.12}, {"start": [100.24, 98.981], "end": [98.896, 98.981], "type": "segment", "width": 0.12}, {"start": [100.481, 98.941], "end": [98.655, 98.941], "type": "segment", "width": 0.12}, {"start": [100.672, 98.901], "end": [98.464, 98.901], "type": "segment", "width": 0.12}, {"start": [100.833, 98.86099999999999], "end": [98.303, 98.86099999999999], "type": "segment", "width": 0.12}, {"start": [100.975, 98.821], "end": [98.161, 98.821], "type": "segment", "width": 0.12}, {"start": [101.104, 98.78099999999999], "end": [98.032, 98.78099999999999], "type": "segment", "width": 0.12}, {"start": [101.222, 98.741], "end": [97.914, 98.741], "type": "segment", "width": 0.12}, {"start": [101.33099999999999, 98.701], "end": [97.80499999999999, 98.701], "type": "segment", "width": 0.12}, {"start": [101.434, 98.661], "end": [97.702, 98.661], "type": "segment", "width": 0.12}, {"start": [101.53, 98.621], "end": [97.606, 98.621], "type": "segment", "width": 0.12}, {"start": [101.621, 98.58099999999999], "end": [97.515, 98.58099999999999], "type": "segment", "width": 0.12}, {"start": [101.708, 98.541], "end": [97.428, 98.541], "type": "segment", "width": 0.12}, {"start": [101.78999999999999, 98.50099999999999], "end": [97.34599999999999, 98.50099999999999], "type": "segment", "width": 0.12}, {"start": [101.869, 98.461], "end": [97.267, 98.461], "type": "segment", "width": 0.12}, {"start": [101.945, 98.42099999999999], "end": [97.191, 98.42099999999999], "type": "segment", "width": 0.12}, {"start": [102.017, 98.381], "end": [97.119, 98.381], "type": "segment", "width": 0.12}, {"start": [102.08699999999999, 98.341], "end": [97.04899999999999, 98.341], "type": "segment", "width": 0.12}, {"start": [102.155, 98.301], "end": [96.981, 98.301], "type": "segment", "width": 0.12}, {"start": [102.22, 98.261], "end": [96.916, 98.261], "type": "segment", "width": 0.12}, {"start": [102.283, 98.22099999999999], "end": [96.853, 98.22099999999999], "type": "segment", "width": 0.12}, {"start": [102.345, 98.181], "end": [96.791, 98.181], "type": "segment", "width": 0.12}, {"start": [102.404, 98.14099999999999], "end": [96.732, 98.14099999999999], "type": "segment", "width": 0.12}, {"start": [102.46199999999999, 98.101], "end": [96.67399999999999, 98.101], "type": "segment", "width": 0.12}, {"start": [102.517, 98.06099999999999], "end": [96.619, 98.06099999999999], "type": "segment", "width": 0.12}, {"start": [102.57199999999999, 98.021], "end": [96.564, 98.021], "type": "segment", "width": 0.12}, {"start": [102.625, 97.981], "end": [96.511, 97.981], "type": "segment", "width": 0.12}, {"start": [102.676, 97.941], "end": [96.46, 97.941], "type": "segment", "width": 0.12}, {"start": [102.726, 97.901], "end": [96.41, 97.901], "type": "segment", "width": 0.12}, {"start": [102.77499999999999, 97.86099999999999], "end": [96.36099999999999, 97.86099999999999], "type": "segment", "width": 0.12}, {"start": [102.823, 97.821], "end": [96.313, 97.821], "type": "segment", "width": 0.12}, {"start": [102.86999999999999, 97.78099999999999], "end": [96.26599999999999, 97.78099999999999], "type": "segment", "width": 0.12}, {"start": [102.91499999999999, 97.741], "end": [96.22099999999999, 97.741], "type": "segment", "width": 0.12}, {"start": [102.95899999999999, 97.701], "end": [96.17699999999999, 97.701], "type": "segment", "width": 0.12}, {"start": [103.003, 97.661], "end": [96.133, 97.661], "type": "segment", "width": 0.12}, {"start": [103.045, 97.621], "end": [96.091, 97.621], "type": "segment", "width": 0.12}, {"start": [98.387, 97.58099999999999], "end": [96.05, 97.58099999999999], "type": "segment", "width": 0.12}, {"start": [103.086, 97.58099999999999], "end": [100.749, 97.58099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.541], "end": [96.009, 97.541], "type": "segment", "width": 0.12}, {"start": [103.127, 97.541], "end": [100.749, 97.541], "type": "segment", "width": 0.12}, {"start": [98.387, 97.50099999999999], "end": [95.97, 97.50099999999999], "type": "segment", "width": 0.12}, {"start": [103.166, 97.50099999999999], "end": [100.749, 97.50099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.461], "end": [95.931, 97.461], "type": "segment", "width": 0.12}, {"start": [103.205, 97.461], "end": [100.749, 97.461], "type": "segment", "width": 0.12}, {"start": [98.387, 97.42099999999999], "end": [95.893, 97.42099999999999], "type": "segment", "width": 0.12}, {"start": [103.243, 97.42099999999999], "end": [100.749, 97.42099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.381], "end": [95.856, 97.381], "type": "segment", "width": 0.12}, {"start": [103.28, 97.381], "end": [100.749, 97.381], "type": "segment", "width": 0.12}, {"start": [98.387, 97.341], "end": [95.82, 97.341], "type": "segment", "width": 0.12}, {"start": [103.31599999999999, 97.341], "end": [100.749, 97.341], "type": "segment", "width": 0.12}, {"start": [98.387, 97.301], "end": [95.78399999999999, 97.301], "type": "segment", "width": 0.12}, {"start": [103.35199999999999, 97.301], "end": [100.749, 97.301], "type": "segment", "width": 0.12}, {"start": [98.387, 97.261], "end": [95.749, 97.261], "type": "segment", "width": 0.12}, {"start": [103.387, 97.261], "end": [100.749, 97.261], "type": "segment", "width": 0.12}, {"start": [98.387, 97.22099999999999], "end": [95.71499999999999, 97.22099999999999], "type": "segment", "width": 0.12}, {"start": [103.42099999999999, 97.22099999999999], "end": [100.749, 97.22099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.181], "end": [95.682, 97.181], "type": "segment", "width": 0.12}, {"start": [103.454, 97.181], "end": [100.749, 97.181], "type": "segment", "width": 0.12}, {"start": [98.387, 97.14099999999999], "end": [95.649, 97.14099999999999], "type": "segment", "width": 0.12}, {"start": [103.487, 97.14099999999999], "end": [100.749, 97.14099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.101], "end": [95.61699999999999, 97.101], "type": "segment", "width": 0.12}, {"start": [103.51899999999999, 97.101], "end": [100.749, 97.101], "type": "segment", "width": 0.12}, {"start": [98.387, 97.06099999999999], "end": [95.586, 97.06099999999999], "type": "segment", "width": 0.12}, {"start": [103.55, 97.06099999999999], "end": [100.749, 97.06099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.021], "end": [95.55499999999999, 97.021], "type": "segment", "width": 0.12}, {"start": [103.58099999999999, 97.021], "end": [100.749, 97.021], "type": "segment", "width": 0.12}, {"start": [98.387, 96.981], "end": [95.52499999999999, 96.981], "type": "segment", "width": 0.12}, {"start": [103.61099999999999, 96.981], "end": [100.749, 96.981], "type": "segment", "width": 0.12}, {"start": [98.387, 96.941], "end": [95.496, 96.941], "type": "segment", "width": 0.12}, {"start": [103.64, 96.941], "end": [100.749, 96.941], "type": "segment", "width": 0.12}, {"start": [98.387, 96.901], "end": [95.467, 96.901], "type": "segment", "width": 0.12}, {"start": [103.669, 96.901], "end": [100.749, 96.901], "type": "segment", "width": 0.12}, {"start": [98.387, 96.86099999999999], "end": [95.438, 96.86099999999999], "type": "segment", "width": 0.12}, {"start": [103.698, 96.86099999999999], "end": [100.749, 96.86099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.821], "end": [95.411, 96.821], "type": "segment", "width": 0.12}, {"start": [103.725, 96.821], "end": [100.749, 96.821], "type": "segment", "width": 0.12}, {"start": [98.387, 96.78099999999999], "end": [95.383, 96.78099999999999], "type": "segment", "width": 0.12}, {"start": [103.753, 96.78099999999999], "end": [100.749, 96.78099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.741], "end": [95.357, 96.741], "type": "segment", "width": 0.12}, {"start": [103.779, 96.741], "end": [100.749, 96.741], "type": "segment", "width": 0.12}, {"start": [98.387, 96.701], "end": [95.33099999999999, 96.701], "type": "segment", "width": 0.12}, {"start": [103.80499999999999, 96.701], "end": [100.749, 96.701], "type": "segment", "width": 0.12}, {"start": [98.387, 96.661], "end": [95.30499999999999, 96.661], "type": "segment", "width": 0.12}, {"start": [103.83099999999999, 96.661], "end": [100.749, 96.661], "type": "segment", "width": 0.12}, {"start": [98.387, 96.621], "end": [95.28, 96.621], "type": "segment", "width": 0.12}, {"start": [103.856, 96.621], "end": [100.749, 96.621], "type": "segment", "width": 0.12}, {"start": [98.387, 96.58099999999999], "end": [95.256, 96.58099999999999], "type": "segment", "width": 0.12}, {"start": [103.88, 96.58099999999999], "end": [100.749, 96.58099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.541], "end": [95.232, 96.541], "type": "segment", "width": 0.12}, {"start": [103.904, 96.541], "end": [100.749, 96.541], "type": "segment", "width": 0.12}, {"start": [98.387, 96.50099999999999], "end": [95.208, 96.50099999999999], "type": "segment", "width": 0.12}, {"start": [103.928, 96.50099999999999], "end": [100.749, 96.50099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.461], "end": [95.185, 96.461], "type": "segment", "width": 0.12}, {"start": [103.951, 96.461], "end": [100.749, 96.461], "type": "segment", "width": 0.12}, {"start": [98.387, 96.42099999999999], "end": [95.163, 96.42099999999999], "type": "segment", "width": 0.12}, {"start": [103.973, 96.42099999999999], "end": [100.749, 96.42099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.381], "end": [95.14, 96.381], "type": "segment", "width": 0.12}, {"start": [103.996, 96.381], "end": [100.749, 96.381], "type": "segment", "width": 0.12}, {"start": [98.387, 96.341], "end": [95.119, 96.341], "type": "segment", "width": 0.12}, {"start": [104.017, 96.341], "end": [100.749, 96.341], "type": "segment", "width": 0.12}, {"start": [98.387, 96.301], "end": [95.098, 96.301], "type": "segment", "width": 0.12}, {"start": [104.038, 96.301], "end": [100.749, 96.301], "type": "segment", "width": 0.12}, {"start": [98.387, 96.261], "end": [95.077, 96.261], "type": "segment", "width": 0.12}, {"start": [104.059, 96.261], "end": [100.749, 96.261], "type": "segment", "width": 0.12}, {"start": [98.387, 96.22099999999999], "end": [95.057, 96.22099999999999], "type": "segment", "width": 0.12}, {"start": [104.079, 96.22099999999999], "end": [100.749, 96.22099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.181], "end": [95.03699999999999, 96.181], "type": "segment", "width": 0.12}, {"start": [104.09899999999999, 96.181], "end": [100.749, 96.181], "type": "segment", "width": 0.12}, {"start": [98.387, 96.14099999999999], "end": [95.018, 96.14099999999999], "type": "segment", "width": 0.12}, {"start": [104.118, 96.14099999999999], "end": [100.749, 96.14099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.101], "end": [94.999, 96.101], "type": "segment", "width": 0.12}, {"start": [104.137, 96.101], "end": [100.749, 96.101], "type": "segment", "width": 0.12}, {"start": [98.387, 96.06099999999999], "end": [94.97999999999999, 96.06099999999999], "type": "segment", "width": 0.12}, {"start": [104.15599999999999, 96.06099999999999], "end": [100.749, 96.06099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.021], "end": [94.96199999999999, 96.021], "type": "segment", "width": 0.12}, {"start": [104.17399999999999, 96.021], "end": [100.749, 96.021], "type": "segment", "width": 0.12}, {"start": [98.387, 95.981], "end": [94.944, 95.981], "type": "segment", "width": 0.12}, {"start": [104.192, 95.981], "end": [100.749, 95.981], "type": "segment", "width": 0.12}, {"start": [98.387, 95.941], "end": [94.92699999999999, 95.941], "type": "segment", "width": 0.12}, {"start": [104.20899999999999, 95.941], "end": [100.749, 95.941], "type": "segment", "width": 0.12}, {"start": [98.387, 95.901], "end": [94.91, 95.901], "type": "segment", "width": 0.12}, {"start": [104.226, 95.901], "end": [100.749, 95.901], "type": "segment", "width": 0.12}, {"start": [98.387, 95.86099999999999], "end": [94.89399999999999, 95.86099999999999], "type": "segment", "width": 0.12}, {"start": [104.24199999999999, 95.86099999999999], "end": [100.749, 95.86099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.821], "end": [94.877, 95.821], "type": "segment", "width": 0.12}, {"start": [104.259, 95.821], "end": [100.749, 95.821], "type": "segment", "width": 0.12}, {"start": [98.387, 95.78099999999999], "end": [94.862, 95.78099999999999], "type": "segment", "width": 0.12}, {"start": [104.274, 95.78099999999999], "end": [100.749, 95.78099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.741], "end": [94.84599999999999, 95.741], "type": "segment", "width": 0.12}, {"start": [104.28999999999999, 95.741], "end": [100.749, 95.741], "type": "segment", "width": 0.12}, {"start": [98.387, 95.701], "end": [94.83099999999999, 95.701], "type": "segment", "width": 0.12}, {"start": [104.30499999999999, 95.701], "end": [100.749, 95.701], "type": "segment", "width": 0.12}, {"start": [98.387, 95.661], "end": [94.817, 95.661], "type": "segment", "width": 0.12}, {"start": [104.31899999999999, 95.661], "end": [100.749, 95.661], "type": "segment", "width": 0.12}, {"start": [98.387, 95.621], "end": [94.803, 95.621], "type": "segment", "width": 0.12}, {"start": [104.333, 95.621], "end": [100.749, 95.621], "type": "segment", "width": 0.12}, {"start": [98.387, 95.58099999999999], "end": [94.789, 95.58099999999999], "type": "segment", "width": 0.12}, {"start": [104.347, 95.58099999999999], "end": [100.749, 95.58099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.541], "end": [94.776, 95.541], "type": "segment", "width": 0.12}, {"start": [104.36, 95.541], "end": [100.749, 95.541], "type": "segment", "width": 0.12}, {"start": [98.387, 95.50099999999999], "end": [94.762, 95.50099999999999], "type": "segment", "width": 0.12}, {"start": [104.374, 95.50099999999999], "end": [100.749, 95.50099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.461], "end": [94.75, 95.461], "type": "segment", "width": 0.12}, {"start": [104.386, 95.461], "end": [100.749, 95.461], "type": "segment", "width": 0.12}, {"start": [98.387, 95.42099999999999], "end": [94.737, 95.42099999999999], "type": "segment", "width": 0.12}, {"start": [104.399, 95.42099999999999], "end": [100.749, 95.42099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.381], "end": [94.725, 95.381], "type": "segment", "width": 0.12}, {"start": [104.411, 95.381], "end": [100.749, 95.381], "type": "segment", "width": 0.12}, {"start": [98.387, 95.341], "end": [94.714, 95.341], "type": "segment", "width": 0.12}, {"start": [104.422, 95.341], "end": [100.749, 95.341], "type": "segment", "width": 0.12}, {"start": [98.387, 95.301], "end": [94.70299999999999, 95.301], "type": "segment", "width": 0.12}, {"start": [104.43299999999999, 95.301], "end": [100.749, 95.301], "type": "segment", "width": 0.12}, {"start": [98.387, 95.261], "end": [94.692, 95.261], "type": "segment", "width": 0.12}, {"start": [104.44399999999999, 95.261], "end": [100.749, 95.261], "type": "segment", "width": 0.12}, {"start": [104.455, 95.22099999999999], "end": [94.681, 95.22099999999999], "type": "segment", "width": 0.12}, {"start": [104.46499999999999, 95.181], "end": [94.67099999999999, 95.181], "type": "segment", "width": 0.12}, {"start": [104.475, 95.14099999999999], "end": [94.661, 95.14099999999999], "type": "segment", "width": 0.12}, {"start": [104.485, 95.101], "end": [94.651, 95.101], "type": "segment", "width": 0.12}, {"start": [104.494, 95.06099999999999], "end": [94.642, 95.06099999999999], "type": "segment", "width": 0.12}, {"start": [104.503, 95.021], "end": [94.633, 95.021], "type": "segment", "width": 0.12}, {"start": [104.511, 94.981], "end": [94.625, 94.981], "type": "segment", "width": 0.12}, {"start": [104.51899999999999, 94.941], "end": [94.61699999999999, 94.941], "type": "segment", "width": 0.12}, {"start": [104.527, 94.901], "end": [94.609, 94.901], "type": "segment", "width": 0.12}, {"start": [104.535, 94.86099999999999], "end": [94.601, 94.86099999999999], "type": "segment", "width": 0.12}, {"start": [104.542, 94.821], "end": [94.594, 94.821], "type": "segment", "width": 0.12}, {"start": [104.54899999999999, 94.78099999999999], "end": [94.58699999999999, 94.78099999999999], "type": "segment", "width": 0.12}, {"start": [104.55499999999999, 94.741], "end": [94.58099999999999, 94.741], "type": "segment", "width": 0.12}, {"start": [104.56099999999999, 94.701], "end": [94.57499999999999, 94.701], "type": "segment", "width": 0.12}, {"start": [104.567, 94.661], "end": [94.569, 94.661], "type": "segment", "width": 0.12}, {"start": [104.573, 94.61999999999999], "end": [94.563, 94.61999999999999], "type": "segment", "width": 0.12}, {"start": [104.57799999999999, 94.58], "end": [94.55799999999999, 94.58], "type": "segment", "width": 0.12}, {"start": [104.583, 94.53999999999999], "end": [94.553, 94.53999999999999], "type": "segment", "width": 0.12}, {"start": [104.588, 94.5], "end": [94.548, 94.5], "type": "segment", "width": 0.12}, {"start": [104.592, 94.46], "end": [94.544, 94.46], "type": "segment", "width": 0.12}, {"start": [104.59599999999999, 94.42], "end": [94.53999999999999, 94.42], "type": "segment", "width": 0.12}, {"start": [104.59899999999999, 94.38], "end": [94.53699999999999, 94.38], "type": "segment", "width": 0.12}, {"start": [104.603, 94.33999999999999], "end": [94.533, 94.33999999999999], "type": "segment", "width": 0.12}, {"start": [104.606, 94.3], "end": [94.53, 94.3], "type": "segment", "width": 0.12}, {"start": [104.60799999999999, 94.25999999999999], "end": [94.52799999999999, 94.25999999999999], "type": "segment", "width": 0.12}, {"start": [104.61099999999999, 94.22], "end": [94.52499999999999, 94.22], "type": "segment", "width": 0.12}, {"start": [104.613, 94.17999999999999], "end": [94.523, 94.17999999999999], "type": "segment", "width": 0.12}, {"start": [104.615, 94.14], "end": [94.521, 94.14], "type": "segment", "width": 0.12}, {"start": [104.616, 94.1], "end": [94.52, 94.1], "type": "segment", "width": 0.12}, {"start": [104.61699999999999, 94.06], "end": [94.51899999999999, 94.06], "type": "segment", "width": 0.12}, {"start": [104.618, 94.02], "end": [94.518, 94.02], "type": "segment", "width": 0.12}, {"start": [104.618, 93.97999999999999], "end": [94.518, 93.97999999999999], "type": "segment", "width": 0.12}, {"start": [104.618, 93.94], "end": [94.518, 93.94], "type": "segment", "width": 0.12}, {"width": 0.12, "endangle": 105.76908480639413, "start": [99.568, 93.94], "radius": 5.09, "startangle": 74.26908480639415, "type": "arc"}, {"width": 0.12, "endangle": 254.26908480639415, "start": [99.568, 93.94], "radius": 5.09, "startangle": 105.76908480639413, "type": "arc"}, {"width": 0.12, "endangle": 434.2309151936059, "start": [99.568, 93.94], "radius": 5.09, "startangle": 285.7309151936059, "type": "arc"}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "powerIn1", "thickness": 0.15, "pos": [98.512, 124.77199999999999], "height": 1.0}, {"start": [96.012, 118.972], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [101.012, 118.972], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [93.512, 113.672], "end": [93.512, 123.472], "type": "segment", "width": 0.15}, {"start": [103.512, 113.672], "end": [93.512, 113.672], "type": "segment", "width": 0.15}, {"start": [103.512, 123.472], "end": [103.512, 113.672], "type": "segment", "width": 0.15}, {"start": [93.512, 123.472], "end": [103.512, 123.472], "type": "segment", "width": 0.15}, {"start": [93.512, 122.972], "end": [103.512, 122.972], "type": "segment", "width": 0.15}, {"start": [93.512, 116.57199999999999], "end": [103.512, 116.57199999999999], "type": "segment", "width": 0.15}, {"start": [93.512, 121.472], "end": [103.512, 121.472], "type": "segment", "width": 0.15}, {"start": [98.512, 122.972], "end": [98.512, 123.472], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "Regulator1", "thickness": 0.15, "pos": [94.73599999999999, 105.82], "height": 1.0}, {"start": [111.62599999999999, 102.42], "end": [114.26599999999999, 102.42], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 104.11999999999999], "end": [114.26599999999999, 104.11999999999999], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 105.82], "end": [114.26599999999999, 105.82], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 107.52], "end": [114.26599999999999, 107.52], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 109.22], "end": [114.26599999999999, 109.22], "type": "segment", "width": 0.12}, {"start": [95.73599999999999, 100.69999999999999], "end": [111.62599999999999, 100.69999999999999], "type": "segment", "width": 0.12}, {"start": [95.73599999999999, 110.94099999999999], "end": [111.62599999999999, 110.94099999999999], "type": "segment", "width": 0.12}, {"start": [95.73599999999999, 110.94099999999999], "end": [95.73599999999999, 100.69999999999999], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 110.94099999999999], "end": [111.62599999999999, 100.69999999999999], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D3", "thickness": 0.15, "pos": [129.03199999999998, 104.036], "height": 1.0}, {"start": [125.707, 105.036], "end": [125.707, 110.356], "type": "segment", "width": 0.12}, {"start": [134.87199999999999, 107.696], "end": [133.84199999999998, 107.696], "type": "segment", "width": 0.12}, {"start": [123.192, 107.696], "end": [124.222, 107.696], "type": "segment", "width": 0.12}, {"start": [133.84199999999998, 105.036], "end": [124.222, 105.036], "type": "segment", "width": 0.12}, {"start": [133.84199999999998, 110.356], "end": [133.84199999999998, 105.036], "type": "segment", "width": 0.12}, {"start": [124.222, 110.356], "end": [133.84199999999998, 110.356], "type": "segment", "width": 0.12}, {"start": [124.222, 105.036], "end": [124.222, 110.356], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D4", "thickness": 0.15, "pos": [113.03, 115.72], "height": 1.0}, {"start": [109.705, 116.72], "end": [109.705, 122.03999999999999], "type": "segment", "width": 0.12}, {"start": [117.83999999999999, 122.03999999999999], "end": [117.83999999999999, 121.16], "type": "segment", "width": 0.12}, {"start": [108.22, 122.03999999999999], "end": [117.83999999999999, 122.03999999999999], "type": "segment", "width": 0.12}, {"start": [108.22, 121.16], "end": [108.22, 122.03999999999999], "type": "segment", "width": 0.12}, {"start": [117.83999999999999, 116.72], "end": [117.83999999999999, 117.6], "type": "segment", "width": 0.12}, {"start": [108.22, 116.72], "end": [117.83999999999999, 116.72], "type": "segment", "width": 0.12}, {"start": [108.22, 117.6], "end": [108.22, 116.72], "type": "segment", "width": 0.12}]}, "edges_bbox": {"minx": 91.872999, "miny": 39.802999, "maxx": 206.831001, "maxy": 125.170001}, "metadata": {"date": "2018-11-05 21:18:13", "company": "", "revision": "", "title": "OpenPLC_V2"}}
-///////////////////////////////////////////////
-
-///////////////////////////////////////////////
-/* PCB rendering code */
-
-var redrawOnDrag = true;
-var boardRotation = 0;
-
-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
- ];
- // Adding half a line height here is technically a bug
- // but pcbnew currently does the same, text is slightly shifted.
- point[0] -= (point[1] + text.height * 0.5) * tilt;
- return point;
-}
-
-function drawtext(ctx, text, color, flip) {
- ctx.save();
- ctx.translate(...text.pos);
- 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) / 2;
- var txt = text.text.split("\n");
- ctx.rotate(deg2rad(angle));
- ctx.fillStyle = color;
- ctx.strokeStyle = color;
- ctx.lineCap = "round";
- ctx.lineWidth = text.thickness;
- for (var i in txt) {
- var offsety = (-(txt.length - 1) + i * 2) * interline + text.height / 2;
- var lineWidth = 0;
- for (var c of txt[i]) {
- lineWidth += pcbdata.font_data[c].w * text.width;
- }
- var offsetx = 0;
- switch (text.horiz_justify) {
- case -1:
- // Justify left, do nothing
- break;
- case 0:
- // Justify center
- offsetx -= lineWidth / 2;
- break;
- case 1:
- // Justify right
- offsetx -= lineWidth;
- break;
- }
- for (var c of txt[i]) {
- for (var line of pcbdata.font_data[c].l) {
- // Drawing each segment separately instead of
- // polyline because round line caps don't work in joints
- for (var i = 0; i < line.length - 1; i++) {
- ctx.beginPath();
- ctx.moveTo(...calcFontPoint(line[i], text, offsetx, offsety, tilt));
- ctx.lineTo(...calcFontPoint(line[i + 1], text, offsetx, offsety, tilt));
- ctx.stroke();
- }
- }
- offsetx += pcbdata.font_data[c].w * text.width;
- }
- }
- ctx.restore();
-}
-
-function drawedge(ctx, scalefactor, edge, color) {
- ctx.strokeStyle = color;
- ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
- ctx.lineCap = "round";
- if (edge.type == "segment") {
- ctx.beginPath();
- ctx.moveTo(...edge.start);
- ctx.lineTo(...edge.end);
- ctx.stroke();
- }
- if (edge.type == "arc") {
- ctx.beginPath();
- ctx.arc(
- ...edge.start,
- edge.radius,
- deg2rad(edge.startangle),
- deg2rad(edge.endangle));
- ctx.stroke();
- }
- if (edge.type == "circle") {
- ctx.beginPath();
- ctx.arc(
- ...edge.start,
- edge.radius,
- 0, 2 * Math.PI);
- ctx.closePath();
- ctx.stroke();
- }
-}
-
-function drawRoundRect(ctx, color, size, radius, ctxmethod) {
- ctx.beginPath();
- ctx.strokeStyle = color;
- var x = size[0] * -0.5;
- var y = size[1] * -0.5;
- var width = size[0];
- var height = size[1];
- ctx.moveTo(x, 0);
- ctx.arcTo(x, y + height, x + width, y + height, radius);
- ctx.arcTo(x + width, y + height, x + width, y, radius);
- ctx.arcTo(x + width, y, x, y, radius);
- ctx.arcTo(x, y, x, y + height, radius);
- ctx.closePath();
- ctxmethod();
-}
-
-function drawOblong(ctx, color, size, ctxmethod) {
- drawRoundRect(ctx, color, size, Math.min(size[0], size[1]) / 2, ctxmethod);
-}
-
-function drawPolygons(ctx, color, polygons, ctxmethod) {
- ctx.fillStyle = color;
- for (var polygon of polygons) {
- ctx.beginPath();
- for (var vertex of polygon) {
- ctx.lineTo(...vertex)
- }
- ctx.closePath();
- ctxmethod();
- }
-}
-
-function drawPolygonShape(ctx, shape, color) {
- ctx.save();
- ctx.translate(...shape.pos);
- ctx.rotate(deg2rad(-shape.angle));
- drawPolygons(ctx, color, shape.polygons, ctx.fill.bind(ctx));
- ctx.restore();
-}
-
-function drawDrawing(ctx, layer, scalefactor, drawing, color) {
- if (["segment", "arc", "circle"].includes(drawing.type)) {
- drawedge(ctx, scalefactor, drawing, color);
- } else if (drawing.type == "polygon") {
- drawPolygonShape(ctx, drawing, color);
- } else {
- drawtext(ctx, drawing, color, layer == "B");
- }
-}
-
-function drawCircle(ctx, radius, ctxmethod) {
- ctx.beginPath();
- ctx.arc(0, 0, radius, 0, 2 * Math.PI);
- ctx.closePath();
- ctxmethod();
-}
-
-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 ctxmethod = outline ? ctx.stroke.bind(ctx) : ctx.fill.bind(ctx);
- if (pad.shape == "rect") {
- var rect = [...pad.size.map(c => -c * 0.5), ...pad.size];
- if (outline) {
- ctx.strokeRect(...rect);
- } else {
- ctx.fillRect(...rect);
- }
- } else if (pad.shape == "oval") {
- drawOblong(ctx, color, pad.size, ctxmethod);
- } else if (pad.shape == "circle") {
- drawCircle(ctx, pad.size[0] / 2, ctxmethod);
- } else if (pad.shape == "roundrect") {
- drawRoundRect(ctx, color, pad.size, pad.radius, ctxmethod);
- } else if (pad.shape == "custom") {
- drawPolygons(ctx, color, pad.polygons, ctxmethod);
- }
- if (pad.type == "th" && !outline) {
- ctx.fillStyle = "#CCCCCC";
- if (pad.drillshape == "oblong") {
- drawOblong(ctx, "#CCCCCC", pad.drillsize, ctxmethod);
- } else {
- drawCircle(ctx, pad.drillsize[0] / 2, ctxmethod);
- }
- }
- ctx.restore();
-}
-
-function drawModule(ctx, layer, scalefactor, module, padcolor, outlinecolor, highlight) {
- if (highlight) {
- // draw bounding box
- if (module.layer == layer) {
- ctx.save();
- ctx.globalAlpha = 0.2;
- ctx.translate(...module.bbox.pos);
- ctx.fillStyle = padcolor;
- ctx.fillRect(
- 0, 0,
- ...module.bbox.size);
- ctx.globalAlpha = 1;
- ctx.strokeStyle = padcolor;
- ctx.strokeRect(
- 0, 0,
- ...module.bbox.size);
- ctx.restore();
- }
- }
- // draw drawings
- for (var drawing of module.drawings) {
- if (drawing.layer == layer) {
- drawDrawing(ctx, layer, scalefactor, drawing.drawing, padcolor);
- }
- }
- // draw pads
- for (var pad of module.pads) {
- if (pad.layers.includes(layer)) {
- drawPad(ctx, pad, padcolor, false);
- if (pad.pin1 && highlightpin1) {
- drawPad(ctx, pad, outlinecolor, true);
- }
- }
- }
-}
-
-function drawEdges(canvas, scalefactor) {
- var ctx = canvas.getContext("2d");
- var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
- for (var edge of pcbdata.edges) {
- drawedge(ctx, scalefactor, edge, edgecolor);
- }
-}
-
-function drawModules(canvas, layer, scalefactor, highlightedRefs) {
- var ctx = canvas.getContext("2d");
- ctx.lineWidth = 3 / scalefactor;
- var style = getComputedStyle(topmostdiv);
- var padcolor = style.getPropertyValue('--pad-color');
- var outlinecolor = style.getPropertyValue('--pin1-outline-color');
- if (highlightedRefs.length > 0) {
- padcolor = style.getPropertyValue('--pad-color-highlight');
- outlinecolor = style.getPropertyValue('--pin1-outline-color-highlight');
- }
- for (var i in pcbdata.modules) {
- var mod = pcbdata.modules[i];
- var highlight = highlightedRefs.includes(mod.ref);
- if (highlightedRefs.length == 0 || highlight) {
- drawModule(ctx, layer, scalefactor, mod, padcolor, outlinecolor, highlight);
- }
- }
-}
-
-function drawSilkscreen(canvas, layer, scalefactor) {
- var ctx = canvas.getContext("2d");
- for (var d of pcbdata.silkscreen[layer]) {
- if (["segment", "arc", "circle"].includes(d.type)) {
- drawedge(ctx, scalefactor, d, "#aa4");
- } else if (d.type == "polygon") {
- drawPolygonShape(ctx, d, "#4aa");
- } else {
- drawtext(ctx, d, "#4aa", layer == "B");
- }
- }
-}
-
-function clearCanvas(canvas) {
- var ctx = canvas.getContext("2d");
- ctx.save();
- ctx.setTransform(1, 0, 0, 1, 0, 0);
- ctx.clearRect(0, 0, canvas.width, canvas.height);
- ctx.restore();
-}
-
-function drawHighlightsOnLayer(canvasdict) {
- clearCanvas(canvasdict.highlight);
- drawModules(canvasdict.highlight, canvasdict.layer,
- canvasdict.transform.s, highlightedRefs);
-}
-
-function drawHighlights() {
- drawHighlightsOnLayer(allcanvas.front);
- drawHighlightsOnLayer(allcanvas.back);
-}
-
-function drawBackground(canvasdict) {
- clearCanvas(canvasdict.bg);
- clearCanvas(canvasdict.silk);
- drawEdges(canvasdict.bg, canvasdict.transform.s);
- drawModules(canvasdict.bg, canvasdict.layer, canvasdict.transform.s, []);
- drawSilkscreen(canvasdict.silk, canvasdict.layer, canvasdict.transform.s);
-}
-
-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(boardRotation));
- ctx.scale(transform.s, transform.s);
-}
-
-function prepareLayer(canvasdict) {
- var flip = (canvasdict.layer == "B");
- for (var c of ["bg", "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, 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(canvasdict) {
- var canvasdivid = {
- "F": "frontcanvas",
- "B": "backcanvas"
- } [canvasdict.layer];
- var width = document.getElementById(canvasdivid).clientWidth * 2;
- var height = document.getElementById(canvasdivid).clientHeight * 2;
- 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;
- }
- canvasdict.transform.s = scalefactor;
- var flip = (canvasdict.layer == "B");
- if (flip) {
- canvasdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
- } else {
- canvasdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
- }
- canvasdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
- for (var c of ["bg", "silk", "highlight"]) {
- canvas = canvasdict[c];
- canvas.width = width;
- canvas.height = height;
- canvas.style.width = (width / 2) + "px";
- canvas.style.height = (height / 2) + "px";
- }
- console.log("Scale factor " + canvasdivid + ": ", canvasdict.transform);
-}
-
-function redrawCanvas(layerdict) {
- prepareLayer(layerdict);
- drawBackground(layerdict);
- drawHighlightsOnLayer(layerdict);
-}
-
-function resizeCanvas(layerdict) {
- recalcLayerScale(layerdict);
- redrawCanvas(layerdict);
-}
-
-function resizeAll() {
- resizeCanvas(allcanvas.front);
- resizeCanvas(allcanvas.back);
-}
-
-function bboxScan(layer, x, y) {
- var result = [];
- for (var i in pcbdata.modules) {
- var module = pcbdata.modules[i];
- if (module.layer == layer) {
- var b = module.bbox;
- if (b.pos[0] <= x && b.pos[0] + b.size[0] >= x &&
- b.pos[1] <= y && b.pos[1] + b.size[1] >= y) {
- result.push(module.ref);
- }
- }
- }
- return result;
-}
-
-function handleMouseDown(e, layerdict) {
- if (e.which != 1) {
- return;
- }
- e.preventDefault();
- e.stopPropagation();
- layerdict.transform.mousestartx = e.offsetX;
- layerdict.transform.mousestarty = e.offsetY;
- layerdict.transform.mousedownx = e.offsetX;
- layerdict.transform.mousedowny = e.offsetY;
- layerdict.transform.mousedown = true;
-}
-
-function handleMouseClick(e, layerdict) {
- var x = e.offsetX;
- var y = e.offsetY;
- var t = layerdict.transform;
- if (layerdict.layer == "B") {
- x = (2 * x / t.zoom - t.panx + t.x) / -t.s;
- } else {
- x = (2 * x / t.zoom - t.panx - t.x) / t.s;
- }
- y = (2 * y / t.zoom - t.y - t.pany) / t.s;
- var v = rotateVector([x, y], -boardRotation);
- var reflist = bboxScan(layerdict.layer, v[0], v[1]);
- if (reflist.length > 0) {
- modulesClicked(reflist);
- drawHighlights();
- }
-}
-
-function handleMouseUp(e, layerdict) {
- e.preventDefault();
- e.stopPropagation();
- if (e.which == 1 &&
- layerdict.transform.mousedown &&
- layerdict.transform.mousedownx == e.offsetX &&
- layerdict.transform.mousedowny == e.offsetY) {
- // This is just a click
- handleMouseClick(e, layerdict);
- layerdict.transform.mousedown = false;
- return;
- }
- if (e.which == 3) {
- // Reset pan and zoom on right click.
- layerdict.transform.panx = 0;
- layerdict.transform.pany = 0;
- layerdict.transform.zoom = 1;
- redrawCanvas(layerdict);
- } else if (!redrawOnDrag) {
- redrawCanvas(layerdict);
- }
- layerdict.transform.mousedown = false;
-}
-
-function handleMouseMove(e, layerdict) {
- if (!layerdict.transform.mousedown) {
- return;
- }
- e.preventDefault();
- e.stopPropagation();
- var dx = e.offsetX - layerdict.transform.mousestartx;
- var dy = e.offsetY - layerdict.transform.mousestarty;
- layerdict.transform.panx += 2 * dx / layerdict.transform.zoom;
- layerdict.transform.pany += 2 * dy / layerdict.transform.zoom;
- layerdict.transform.mousestartx = e.offsetX;
- layerdict.transform.mousestarty = e.offsetY;
- if (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 += 2 * e.offsetX * zoomd;
- t.pany += 2 * e.offsetY * zoomd;
- redrawCanvas(layerdict);
- console.log(layerdict.transform.zoom);
-}
-
-function addMouseHandlers(div, layerdict) {
- div.onmousedown = function(e) {
- handleMouseDown(e, layerdict);
- };
- div.onmousemove = function(e) {
- handleMouseMove(e, layerdict);
- };
- div.onmouseup = function(e) {
- handleMouseUp(e, layerdict);
- };
- div.onmouseout = function(e) {
- handleMouseUp(e, layerdict);
- }
- div.onwheel = function(e) {
- handleMouseWheel(e, layerdict);
- }
- for (var element of [div, layerdict.bg, layerdict.silk, layerdict.highlight]) {
- element.addEventListener("contextmenu", function(e) {
- e.preventDefault();
- }, false);
- }
-}
-
-function setRedrawOnDrag(value) {
- redrawOnDrag = value;
- writeStorage("redrawOnDrag", value);
-}
-
-function setBoardRotation(value) {
- boardRotation = value * 5;
- writeStorage("boardRotation", boardRotation);
- document.getElementById("rotationDegree").textContent = boardRotation;
- resizeAll();
-}
-
-function initRender() {
- allcanvas = {
- front: {
- transform: {
- x: 0,
- y: 0,
- s: 1,
- panx: 0,
- pany: 0,
- zoom: 1,
- mousestartx: 0,
- mousestarty: 0,
- mousedown: false,
- },
- bg: document.getElementById("F_bg"),
- 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,
- mousestartx: 0,
- mousestarty: 0,
- mousedown: false,
- },
- bg: document.getElementById("B_bg"),
- silk: document.getElementById("B_slk"),
- highlight: document.getElementById("B_hl"),
- layer: "B",
- }
- };
- addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
- addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
-}
-
-///////////////////////////////////////////////
-
-///////////////////////////////////////////////
-/* DOM manipulation and misc code */
-
-var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' +
- pcbdata.metadata.revision + '__';
-var bomsplit;
-var canvassplit;
-var canvaslayout = "default";
-var bomlayout = "default";
-var bomSortFunction = null;
-var currentSortColumn = null;
-var currentSortOrder = null;
-var currentHighlightedRowId;
-var highlightHandlers = [];
-var highlightedRefs = [];
-var checkboxes = [];
-var bomCheckboxes = "";
-var highlightpin1 = false;
-var storage;
-var lastClickedRef;
-
-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 dbg(html) {
- dbgdiv.innerHTML = html;
-}
-
-function setDarkMode(value) {
- if (value) {
- topmostdiv.classList.add("dark");
- } else {
- topmostdiv.classList.remove("dark");
- }
- writeStorage("darkmode", value);
- redrawCanvas(allcanvas.front);
- redrawCanvas(allcanvas.back);
-}
-
-function setHighlightPin1(value) {
- writeStorage("highlightpin1", value);
- highlightpin1 = value;
- redrawCanvas(allcanvas.front);
- redrawCanvas(allcanvas.back);
-}
-
-function getStoredCheckboxRefs(checkbox) {
- var existingRefs = readStorage("checkbox_" + checkbox);
- if (!existingRefs) {
- return new Set();
- } else {
- return new Set(existingRefs.split(","));
- }
-}
-
-function getCheckboxState(checkbox, references) {
- var storedRefsSet = getStoredCheckboxRefs(checkbox);
- var currentRefsSet = new Set(references);
- // 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) {
- return function() {
- refsSet = getStoredCheckboxRefs(checkbox);
- if (this.checked) {
- // checkbox ticked
- for (var ref of references) {
- refsSet.add(ref);
- }
- } else {
- // checkbox unticked
- for (var ref of references) {
- refsSet.delete(ref);
- }
- }
- writeStorage("checkbox_" + checkbox, [...refsSet].join(","));
- }
-}
-
-function createRowHighlightHandler(rowid, refs) {
- return function() {
- if (currentHighlightedRowId) {
- if (currentHighlightedRowId == rowid) {
- return;
- }
- document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
- }
- document.getElementById(rowid).classList.add("highlighted");
- currentHighlightedRowId = rowid;
- highlightedRefs = refs;
- drawHighlights();
- }
-}
-
-function entryMatches(entry) {
- // check refs
- for (var ref of entry[3]) {
- if (ref.toLowerCase().indexOf(filter) >= 0) {
- return true;
- }
- }
- // check value
- if (entry[1].toLowerCase().indexOf(filter) >= 0) {
- return true;
- }
- // check footprint
- if (entry[2].toLowerCase().indexOf(filter) >= 0) {
- return true;
- }
- return false;
-}
-
-function findRefInEntry(entry) {
- for (var ref of entry[3]) {
- if (ref.toLowerCase() == reflookup) {
- return [ref];
- }
- }
- return false;
-}
-
-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 < checkboxes.length &&
- checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
- checkboxnum++;
- }
- if (checkboxnum >= checkboxes.length) {
- return;
- }
- var allset = true;
- var checkbox;
- var row;
- for (row of bombody.childNodes) {
- checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
- if (!checkbox.checked || checkbox.indeterminate) {
- allset = false;
- break;
- }
- }
- for (row of bombody.childNodes) {
- checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
- checkbox.checked = !allset;
- checkbox.indeterminate = false;
- checkbox.onchange();
- }
- }
-}
-
-function createColumnHeader(name, cls, comparator) {
- var th = document.createElement("TH");
- th.innerHTML = name;
- th.classList.add(cls);
- th.style.cursor = "pointer";
- var span = document.createElement("SPAN");
- span.classList.add("sortmark");
- span.classList.add("none");
- th.appendChild(span);
- th.onclick = function() {
- if (currentSortColumn && this !== currentSortColumn) {
- // Currently sorted by another column
- currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
- currentSortColumn.childNodes[1].classList.add("none");
- currentSortColumn = null;
- currentSortOrder = null;
- }
- if (currentSortColumn && this === currentSortColumn) {
- // Already sorted by this column
- if (currentSortOrder == "asc") {
- // Sort by this column, descending order
- bomSortFunction = function(a, b) {
- return -comparator(a, b);
- }
- currentSortColumn.childNodes[1].classList.remove("asc");
- currentSortColumn.childNodes[1].classList.add("desc");
- currentSortOrder = "desc";
- } else {
- // Unsort
- bomSortFunction = null;
- currentSortColumn.childNodes[1].classList.remove("desc");
- currentSortColumn.childNodes[1].classList.add("none");
- currentSortColumn = null;
- currentSortOrder = null;
- }
- } else {
- // Sort by this column, ascending order
- bomSortFunction = comparator;
- currentSortColumn = this;
- currentSortColumn.childNodes[1].classList.remove("none");
- currentSortColumn.childNodes[1].classList.add("asc");
- currentSortOrder = "asc";
- }
- populateBomBody();
- }
- return th;
-}
-
-function 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 populateBomHeader() {
- while (bomhead.firstChild) {
- bomhead.removeChild(bomhead.firstChild);
- }
- var tr = document.createElement("TR");
- var th = document.createElement("TH");
- th.classList.add("numCol");
- tr.appendChild(th);
- checkboxes = bomCheckboxes.split(",").filter((e) => e);
- var checkboxCompareClosure = function(checkbox) {
- return (a, b) => {
- var stateA = getCheckboxState(checkbox, a[3]);
- var stateB = getCheckboxState(checkbox, b[3]);
- if (stateA > stateB) return -1;
- if (stateA < stateB) return 1;
- return 0;
- }
- }
- for (var checkbox of checkboxes) {
- th = createColumnHeader(
- checkbox, "bom-checkbox", checkboxCompareClosure(checkbox));
- th.onclick = fancyDblClickHandler(
- th, th.onclick.bind(th), checkboxSetUnsetAllHandler(checkbox));
- tr.appendChild(th);
- }
- tr.appendChild(createColumnHeader("References", "References", (a, b) => {
- var i = 0;
- while (i < a[3].length && i < b[3].length) {
- if (a[3][i] != b[3][i]) return a[3][i] > b[3][i] ? 1 : -1;
- i++;
- }
- return a[3].length - b[3].length;
- }));
- // Extra fields
- if (config.extra_fields.length > 0) {
- var extraFieldCompareClosure = function(fieldIndex) {
- return (a, b) => {
- var fa = a[4][fieldIndex];
- var fb = b[4][fieldIndex];
- if (fa != fb) return fa > fb ? 1 : -1;
- else return 0;
- }
- }
- for (var i in config.extra_fields) {
- tr.appendChild(createColumnHeader(
- config.extra_fields[i], "extra", extraFieldCompareClosure(i)));
- }
- }
- tr.appendChild(createColumnHeader("Value", "Value", (a, b) => {
- if (a[1] != b[1]) return a[1] > b[1] ? 1 : -1;
- else return 0;
- }));
- tr.appendChild(createColumnHeader("Footprint", "Footprint", (a, b) => {
- if (a[2] != b[2]) return a[2] > b[2] ? 1 : -1;
- else return 0;
- }));
- tr.appendChild(createColumnHeader("Quantity", "Quantity", (a, b) => {
- return a[3].length - b[3].length;
- }));
- bomhead.appendChild(tr);
-}
-
-function populateBomBody() {
- while (bom.firstChild) {
- bom.removeChild(bom.firstChild);
- }
- highlightHandlers = [];
- currentHighlightedRowId = null;
- var first = true;
- switch (canvaslayout) {
- case 'F':
- bomtable = pcbdata.bom.F;
- break;
- case 'FB':
- bomtable = pcbdata.bom.both;
- break;
- case 'B':
- bomtable = pcbdata.bom.B;
- break;
- }
- if (bomSortFunction) {
- bomtable = bomtable.slice().sort(bomSortFunction);
- }
- for (var i in bomtable) {
- var bomentry = bomtable[i];
- if (filter && !entryMatches(bomentry)) {
- continue;
- }
- var references = bomentry[3];
- if (reflookup) {
- references = findRefInEntry(bomentry);
- if (!references) {
- continue;
- }
- }
- var tr = document.createElement("TR");
- var td = document.createElement("TD");
- var rownum = +i + 1;
- tr.id = "bomrow" + rownum;
- td.textContent = rownum;
- tr.appendChild(td);
- // Checkboxes
- for (var checkbox of checkboxes) {
- if (checkbox) {
- td = document.createElement("TD");
- var input = document.createElement("input");
- input.type = "checkbox";
- input.onchange = createCheckboxChangeHandler(checkbox, references);
- setBomCheckboxState(checkbox, input, references);
- td.appendChild(input);
- tr.appendChild(td);
- }
- }
- // References
- td = document.createElement("TD");
- td.innerHTML = highlightFilter(references.join(", "));
- tr.appendChild(td);
- // Extra fields
- for (var i in config.extra_fields) {
- td = document.createElement("TD");
- td.innerHTML = highlightFilter(bomentry[4][i]);
- tr.appendChild(td);
- }
- // Value
- td = document.createElement("TD");
- td.innerHTML = highlightFilter(bomentry[1]);
- tr.appendChild(td);
- // Footprint
- td = document.createElement("TD");
- td.innerHTML = highlightFilter(bomentry[2]);
- tr.appendChild(td);
- // Quantity
- td = document.createElement("TD");
- td.textContent = bomentry[3].length;
- tr.appendChild(td);
- bom.appendChild(tr);
- var handler = createRowHighlightHandler(tr.id, references);
- tr.onmousemove = handler;
- highlightHandlers.push({
- id: tr.id,
- handler: handler,
- refs: references
- });
- if ((filter || reflookup) && first) {
- handler();
- first = false;
- }
- }
-}
-
-function smoothScrollToRow(rowid) {
- document.getElementById(rowid).scrollIntoView({
- behavior: "smooth",
- block: "center",
- inline: "nearest"
- });
-}
-
-function highlightPreviousRow() {
- if (!currentHighlightedRowId) {
- highlightHandlers[highlightHandlers.length - 1].handler();
- } else {
- if (highlightHandlers.length > 1 &&
- highlightHandlers[0].id == currentHighlightedRowId) {
- highlightHandlers[highlightHandlers.length - 1].handler();
- } else {
- for (var i = 0; i < highlightHandlers.length - 1; i++) {
- if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
- highlightHandlers[i].handler();
- break;
- }
- }
- }
- }
- smoothScrollToRow(currentHighlightedRowId);
-}
-
-function highlightNextRow() {
- if (!currentHighlightedRowId) {
- highlightHandlers[0].handler();
- } else {
- if (highlightHandlers.length > 1 &&
- highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
- highlightHandlers[0].handler();
- } else {
- for (var i = 1; i < highlightHandlers.length; i++) {
- if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
- highlightHandlers[i].handler();
- break;
- }
- }
- }
- }
- smoothScrollToRow(currentHighlightedRowId);
-}
-
-function populateBomTable() {
- populateBomHeader();
- populateBomBody();
-}
-
-function modulesClicked(references) {
- var lastClickedIndex = references.indexOf(lastClickedRef);
- var ref = references[(lastClickedIndex + 1) % references.length];
- for (var handler of highlightHandlers) {
- if (handler.refs.indexOf(ref) >= 0) {
- lastClickedRef = ref;
- handler.handler();
- smoothScrollToRow(currentHighlightedRowId);
- break;
- }
- }
-}
-
-function updateFilter(input) {
- filter = input.toLowerCase();
- populateBomTable();
-}
-
-function updateRefLookup(input) {
- reflookup = input.toLowerCase();
- populateBomTable();
-}
-
-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 silkscreenVisible(visible) {
- if (visible) {
- allcanvas.front.silk.style.display = "";
- allcanvas.back.silk.style.display = "";
- writeStorage("silkscreenVisible", true);
- } else {
- allcanvas.front.silk.style.display = "none";
- allcanvas.back.silk.style.display = "none";
- writeStorage("silkscreenVisible", false);
- }
-}
-
-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 (bomlayout != "bom-only") {
- canvassplit.collapse(1);
- }
- break;
- case 'B':
- document.getElementById("bl-btn").classList.add("depressed");
- if (bomlayout != "bom-only") {
- canvassplit.collapse(0);
- }
- break;
- default:
- document.getElementById("fb-btn").classList.add("depressed");
- if (bomlayout != "bom-only") {
- canvassplit.setSizes([50, 50]);
- }
- }
- canvaslayout = layout;
- writeStorage("canvaslayout", layout);
- resizeAll();
- populateBomTable();
-}
-
-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";
- }
-}
-
-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
- });
- }
- bomlayout = layout;
- writeStorage("bomlayout", layout);
- changeCanvasLayout(canvaslayout);
-}
-
-function focusInputField(input) {
- input.scrollIntoView(false);
- input.focus();
- input.select();
-}
-
-function focusFilterField() {
- focusInputField(document.getElementById("filter"));
-}
-
-function focusRefLookupField() {
- focusInputField(document.getElementById("reflookup"));
-}
-
-function toggleBomCheckbox(bomrowid, checkboxnum) {
- if (!bomrowid || checkboxnum > 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 < checkboxes.length &&
- checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
- checkboxnum++;
- }
- if (!bomrowid || checkboxnum >= 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 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"));
-}
-
-function setBomCheckboxes(value) {
- bomCheckboxes = value;
- writeStorage("bomCheckboxes", value);
- populateBomTable();
-}
-
-document.onkeydown = function(e) {
- switch (e.key) {
- case "n":
- if (document.activeElement.type == "text") {
- return;
- }
- if (currentHighlightedRowId !== null) {
- checkBomCheckbox(currentHighlightedRowId, "placed");
- highlightNextRow();
- e.preventDefault();
- }
- break;
- case "ArrowUp":
- highlightPreviousRow();
- e.preventDefault();
- break;
- case "ArrowDown":
- highlightNextRow();
- e.preventDefault();
- break;
- default:
- break;
- }
- if (e.altKey) {
- switch (e.key) {
- case "f":
- focusFilterField();
- e.preventDefault();
- break;
- case "r":
- focusRefLookupField();
- e.preventDefault();
- break;
- case "z":
- changeBomLayout("bom-only");
- e.preventDefault();
- break;
- case "x":
- changeBomLayout("left-right");
- e.preventDefault();
- break;
- case "c":
- changeBomLayout("top-bottom");
- e.preventDefault();
- break;
- case "v":
- changeCanvasLayout("F");
- e.preventDefault();
- break;
- case "b":
- changeCanvasLayout("FB");
- e.preventDefault();
- break;
- case "n":
- changeCanvasLayout("B");
- e.preventDefault();
- break;
- default:
- break;
- }
- if (e.key >= '1' && e.key <= '9') {
- toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
- }
- }
-}
-
-function initDefaults() {
- bomlayout = readStorage("bomlayout");
- if (bomlayout === null) {
- bomlayout = config.bom_view;
- }
- if (!['bom-only', 'left-right', 'top-bottom'].includes(bomlayout)) {
- bomlayout = config.bom_view;
- }
- canvaslayout = readStorage("canvaslayout");
- if (canvaslayout === null) {
- canvaslayout = config.layer_view;
- }
- bomCheckboxes = readStorage("bomCheckboxes");
- if (bomCheckboxes === null) {
- bomCheckboxes = config.checkboxes;
- }
- document.getElementById("bomCheckboxes").value = bomCheckboxes;
-
- var b = readStorage("silkscreenVisible");
- if (b === null) {
- b = config.show_silkscreen;
- }
- document.getElementById("silkscreenCheckbox").checked = b;
- silkscreenVisible(b);
-
- b = readStorage("redrawOnDrag");
- if (b === null) {
- b = config.redraw_on_drag;
- }
- document.getElementById("dragCheckbox").checked = b;
- setRedrawOnDrag(b);
-
- b = readStorage("darkmode");
- if (b === null) {
- b = config.dark_mode;
- }
- document.getElementById("darkmodeCheckbox").checked = b;
- setDarkMode(b);
-
- b = readStorage("highlightpin1");
- if (b === null) {
- b = config.highlight_pin1;
- }
- document.getElementById("highlightpin1Checkbox").checked = b;
- setHighlightPin1(b);
-
- boardRotation = readStorage("boardRotation");
- if (boardRotation === null) {
- boardRotation = config.board_rotation * 5;
- } else {
- boardRotation = parseInt(boardRotation);
- }
- document.getElementById("boardRotation").value = boardRotation / 5;
- document.getElementById("rotationDegree").textContent = boardRotation;
-}
-
-window.onload = function(e) {
- initRender();
- initStorage();
- initDefaults();
- cleanGutters();
- populateMetadata();
- dbgdiv = document.getElementById("dbg");
- bom = document.getElementById("bombody");
- bomhead = document.getElementById("bomhead");
- filter = "";
- reflookup = "";
- // Triggers render
- changeBomLayout(bomlayout);
-}
-
-window.onresize = resizeAll;
-window.matchMedia("print").addListener(resizeAll);
-
-///////////////////////////////////////////////
-
- </script>
-</head>
-
-<body>
-<div id="topmostdiv" style="width: 100%; height: 100%">
- <div id="top">
- <div style="float: right;">
- <div class="hideonprint menu" style="float: right; margin: 10px; top: 8px;">
- <button class="menubtn"></button>
- <div class="menu-content">
- <label class="menu-label menu-label-top">
- <input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)">
- Dark mode
- </label>
- <label class="menu-label">
- <input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)">
- Show silkscreen
- </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">
- <span class="shameless-plug">
- <span>Created using</span>
- <a target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
- </span>
- </label>
- </div>
- </div>
- <div class="button-container hideonprint"
- style="float: right; margin: 10px; 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; margin: 10px; 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>
- <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">
- Kicad version
- </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="searchbox reflookup hideonprint" type="text" placeholder="Ref lookup"
- oninput="updateRefLookup(this.value)">
- <input id="filter" class="searchbox filter hideonprint" type="text" placeholder="Filter"
- oninput="updateFilter(this.value)">
- <div class="button-container hideonprint" style="float: left">
- <button id="copy" title="Copy bom table to clipboard"
- onclick="copyToClipboard()"></button>
- </div>
- </div>
- <div id="dbg"></div>
- <table class="bom">
- <thead id="bomhead">
- </thead>
- <tbody id="bombody">
- </tbody>
- </table>
- </div>
- <div id="canvasdiv" class="split split-horizontal">
- <div id="frontcanvas" class="split" 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_slk" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
- <canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
- </div>
- </div>
- <div id="backcanvas" class="split" 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_slk" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
- <canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
- </div>
- </div>
- </div>
- </div>
-</div>
-</body>
-
-</html>