summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Belt <andrewpbelt@gmail.com>2017-08-27 12:55:43 -0400
committerAndrew Belt <andrewpbelt@gmail.com>2017-08-27 12:55:43 -0400
commit4945e963aef610edb471a803313669c6f3ed5638 (patch)
tree97121bba7a0d2e75f8bbd997429511612ce60169
parent8bba88d44847d19e12fba8006dc5e29ab2c2b6ac (diff)
Added ComponentLibrary and fonts to /res
-rw-r--r--Makefile2
-rw-r--r--res/ComponentLibrary/BefacoBigKnob.svg110
-rw-r--r--res/ComponentLibrary/BefacoPush_0.svg81
-rw-r--r--res/ComponentLibrary/BefacoPush_1.svg81
-rw-r--r--res/ComponentLibrary/BefacoSlidePot.svg75
-rw-r--r--res/ComponentLibrary/BefacoSlidePotHandle.svg10
-rw-r--r--res/ComponentLibrary/BefacoSwitch.svg125
-rw-r--r--res/ComponentLibrary/BefacoSwitch_0.svg101
-rw-r--r--res/ComponentLibrary/BefacoSwitch_1.svg86
-rw-r--r--res/ComponentLibrary/BefacoSwitch_2.svg100
-rw-r--r--res/ComponentLibrary/BefacoTinyKnob.svg125
-rw-r--r--res/ComponentLibrary/CKD6_0.svg90
-rw-r--r--res/ComponentLibrary/CKD6_1.svg90
-rw-r--r--res/ComponentLibrary/CKSS_0.svg114
-rw-r--r--res/ComponentLibrary/CKSS_1.svg120
-rw-r--r--res/ComponentLibrary/CL1362.svg87
-rw-r--r--res/ComponentLibrary/Davies1900hBlack.svg105
-rw-r--r--res/ComponentLibrary/Davies1900hLargeBlack.svg105
-rw-r--r--res/ComponentLibrary/Davies1900hLargeRed.svg105
-rw-r--r--res/ComponentLibrary/Davies1900hLargeWhite.svg105
-rw-r--r--res/ComponentLibrary/Davies1900hRed.svg105
-rw-r--r--res/ComponentLibrary/Davies1900hSmallBlack.svg108
-rw-r--r--res/ComponentLibrary/Davies1900hWhite.svg105
-rw-r--r--res/ComponentLibrary/LEDButton.svg80
-rw-r--r--res/ComponentLibrary/LICENSE.txt2
-rw-r--r--res/ComponentLibrary/NKK.svg102
-rw-r--r--res/ComponentLibrary/NKK_0.svg91
-rw-r--r--res/ComponentLibrary/NKK_1.svg92
-rw-r--r--res/ComponentLibrary/NKK_2.svg91
-rw-r--r--res/ComponentLibrary/PJ301M.svg80
-rw-r--r--res/ComponentLibrary/PJ3410.svg85
-rw-r--r--res/ComponentLibrary/Rogan1PBlue.svg96
-rw-r--r--res/ComponentLibrary/Rogan1PGreen.svg96
-rw-r--r--res/ComponentLibrary/Rogan1PRed.svg96
-rw-r--r--res/ComponentLibrary/Rogan1PSBlue.svg106
-rw-r--r--res/ComponentLibrary/Rogan1PSGreen.svg106
-rw-r--r--res/ComponentLibrary/Rogan1PSRed.svg106
-rw-r--r--res/ComponentLibrary/Rogan1PSWhite.svg106
-rw-r--r--res/ComponentLibrary/Rogan1PWhite.svg96
-rw-r--r--res/ComponentLibrary/Rogan2PBlue.svg96
-rw-r--r--res/ComponentLibrary/Rogan2PGreen.svg96
-rw-r--r--res/ComponentLibrary/Rogan2PRed.svg96
-rw-r--r--res/ComponentLibrary/Rogan2PSBlue.svg106
-rw-r--r--res/ComponentLibrary/Rogan2PSGreen.svg106
-rw-r--r--res/ComponentLibrary/Rogan2PSRed.svg106
-rw-r--r--res/ComponentLibrary/Rogan2PSWhite.svg106
-rw-r--r--res/ComponentLibrary/Rogan2PWhite.svg11
-rw-r--r--res/ComponentLibrary/Rogan2SGray.svg96
-rw-r--r--res/ComponentLibrary/Rogan3PBlue.svg96
-rw-r--r--res/ComponentLibrary/Rogan3PGreen.svg96
-rw-r--r--res/ComponentLibrary/Rogan3PRed.svg96
-rw-r--r--res/ComponentLibrary/Rogan3PSBlue.svg106
-rw-r--r--res/ComponentLibrary/Rogan3PSGreen.svg106
-rw-r--r--res/ComponentLibrary/Rogan3PSRed.svg106
-rw-r--r--res/ComponentLibrary/Rogan3PSWhite.svg106
-rw-r--r--res/ComponentLibrary/Rogan3PWhite.svg96
-rw-r--r--res/ComponentLibrary/Rogan5PSGray.svg106
-rw-r--r--res/ComponentLibrary/Rogan6PSWhite.svg106
-rw-r--r--res/ComponentLibrary/ScrewBlack.svg81
-rw-r--r--res/ComponentLibrary/ScrewSilver.svg81
-rw-r--r--res/ComponentLibrary/SynthTechAlco.svg94
-rw-r--r--res/ComponentLibrary/TL1105.svg20
-rw-r--r--res/ComponentLibrary/TL1105_0.svg90
-rw-r--r--res/ComponentLibrary/TL1105_1.svg90
-rw-r--r--res/ComponentLibrary/Trimpot.svg95
-rw-r--r--res/DejaVuSans.ttfbin0 -> 741536 bytes
-rw-r--r--res/LICENSE-DejaVuSans.txt99
-rw-r--r--res/rails.pngbin0 -> 711 bytes
68 files changed, 6054 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index eaabc814..55155836 100644
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,7 @@ endif
all: $(TARGET)
run: $(TARGET)
- ./$(TARGET)
+ LD_LIBRARY_PATH=dep/lib ./$(TARGET)
clean:
rm -rf $(TARGET) build
diff --git a/res/ComponentLibrary/BefacoBigKnob.svg b/res/ComponentLibrary/BefacoBigKnob.svg
new file mode 100644
index 00000000..ca9fa5f9
--- /dev/null
+++ b/res/ComponentLibrary/BefacoBigKnob.svg
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="19.84375mm"
+ height="19.84375mm"
+ viewBox="0 0 19.84375 19.84375"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="BefacoBigKnob.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="14.604745"
+ inkscape:cy="32.673311"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-225.50527,-119.04201)">
+ <g
+ id="g1843"
+ transform="matrix(0.219739,0,0,-0.219739,-108.71081,674.39836)"
+ style="stroke-width:1.6054399">
+ <g
+ transform="translate(1611.2744,2482.1924)"
+ id="g6749"
+ style="stroke-width:1.6054399">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6751"
+ style="fill:#d6d6d6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.6054399"
+ d="m 0,0 c 0,-24.937 -20.216,-45.153 -45.152,-45.153 -24.938,0 -45.154,20.216 -45.154,45.153 0,24.937 20.216,45.153 45.154,45.153 C -20.216,45.153 0,24.937 0,0" />
+ </g>
+ <g
+ transform="translate(1599.2393,2500.0664)"
+ id="g6753"
+ style="stroke-width:1.6054399">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6755"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.6054399"
+ d="m 0,0 c -2.217,4.131 -5.187,7.795 -8.724,10.818 -6.817,-0.954 -13.876,2.437 -17.397,8.35 -2.268,0.428 -4.605,0.66 -6.996,0.66 -2.393,0 -4.729,-0.232 -6.997,-0.66 -3.522,-5.913 -10.58,-9.304 -17.398,-8.35 C -61.048,7.795 -64.019,4.131 -66.235,0 c 2.522,-6.526 0.723,-14.313 -4.413,-19.069 0.165,-4.732 1.196,-9.243 2.955,-13.372 6.838,-2.052 11.928,-8.462 12.371,-15.59 3.622,-2.66 7.739,-4.681 12.186,-5.909 5.886,4.146 14.152,4.146 20.036,0 4.448,1.228 8.565,3.249 12.187,5.909 0.442,7.128 5.533,13.538 12.371,15.59 1.759,4.129 2.79,8.64 2.956,13.372 C -0.724,-14.313 -2.521,-6.526 0,0" />
+ </g>
+ <g
+ transform="translate(1567.709,2523.6201)"
+ id="g6757"
+ style="stroke-width:1.6054399">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6759"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.6054399"
+ d="m 0,0 c 0,-0.877 -0.711,-1.587 -1.587,-1.587 -0.877,0 -1.588,0.71 -1.588,1.587 0,0.877 0.711,1.587 1.588,1.587 C -0.711,1.587 0,0.877 0,0" />
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="path6761"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.6054399"
+ d="m 1567.709,2482.192 h -3.175 v 34.25 h 3.175 z" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoPush_0.svg b/res/ComponentLibrary/BefacoPush_0.svg
new file mode 100644
index 00000000..d44c4d37
--- /dev/null
+++ b/res/ComponentLibrary/BefacoPush_0.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.4083333mm"
+ height="7.4083333mm"
+ viewBox="0 0 7.4083333 7.4083333"
+ version="1.1"
+ id="svg11543"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="BefacoPush_0.svg">
+ <defs
+ id="defs11537" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="73.801046"
+ inkscape:cy="-9.0802029"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata11540">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-33.337496,-58.194645)">
+ <g
+ id="g6703"
+ transform="matrix(0.22180737,0,0,-0.22180737,-187.44188,317.8558)"
+ style="stroke-width:1.59046912">
+ <path
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.19285178;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 1012.0498,1137.8572 c -8.871,0 -16.088,7.232 -16.088,16.119 0,8.871 7.217,16.088 16.088,16.088 8.888,0 16.119,-7.217 16.119,-16.088 0,-8.887 -7.231,-16.119 -16.119,-16.119"
+ id="path4505"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1012.1123,1140.4229 c -7.465,0 -13.538,6.073 -13.538,13.538 0,7.465 6.073,13.539 13.538,13.539 7.465,0 13.538,-6.074 13.538,-13.539 0,-7.465 -6.073,-13.538 -13.538,-13.538"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.19285178;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6735"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1012.0654,1163.9658 c 5.525,0 10.005,-4.479 10.005,-10.005 0,-5.525 -4.48,-10.005 -10.005,-10.005 -5.526,0 -10.006,4.48 -10.006,10.005 0,5.526 4.48,10.005 10.006,10.005"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#940a1d;stroke-width:1.59046912;stroke-opacity:1"
+ id="path6743"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoPush_1.svg b/res/ComponentLibrary/BefacoPush_1.svg
new file mode 100644
index 00000000..fdfe45a9
--- /dev/null
+++ b/res/ComponentLibrary/BefacoPush_1.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.4083333mm"
+ height="7.4083333mm"
+ viewBox="0 0 7.4083333 7.4083333"
+ version="1.1"
+ id="svg11543"
+ sodipodi:docname="BefacoPush_1.svg"
+ inkscape:version="0.92.1 r">
+ <defs
+ id="defs11537" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="23.790469"
+ inkscape:cy="4.1420904"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g6703"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata11540">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-33.337496,-58.194645)">
+ <g
+ id="g6703"
+ transform="matrix(0.22180737,0,0,-0.22180737,-187.44188,317.8558)"
+ style="stroke-width:1.59046912">
+ <path
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.19285178;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 1012.0498,1137.8572 c -8.871,0 -16.088,7.232 -16.088,16.119 0,8.871 7.217,16.088 16.088,16.088 8.888,0 16.119,-7.217 16.119,-16.088 0,-8.887 -7.231,-16.119 -16.119,-16.119"
+ id="path4505"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1012.1123,1140.4229 c -7.465,0 -13.538,6.073 -13.538,13.538 0,7.465 6.073,13.539 13.538,13.539 7.465,0 13.538,-6.074 13.538,-13.539 0,-7.465 -6.073,-13.538 -13.538,-13.538"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.19285178;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6735"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1012.0654,1163.9658 c 5.525,0 10.005,-4.479 10.005,-10.005 0,-5.525 -4.48,-10.005 -10.005,-10.005 -5.526,0 -10.006,4.48 -10.006,10.005 0,5.526 4.48,10.005 10.006,10.005"
+ style="fill:#d10000;fill-opacity:1;fill-rule:nonzero;stroke:#940a1d;stroke-width:1.59046912;stroke-opacity:1"
+ id="path6743"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoSlidePot.svg b/res/ComponentLibrary/BefacoSlidePot.svg
new file mode 100644
index 00000000..6f226e76
--- /dev/null
+++ b/res/ComponentLibrary/BefacoSlidePot.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.5913172"
+ height="104"
+ viewBox="0 0 2.2731193 27.516666"
+ version="1.1"
+ id="svg1579"
+ sodipodi:docname="BefacoSlidePot.svg"
+ inkscape:version="0.92.1 r">
+ <defs
+ id="defs1573" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.979899"
+ inkscape:cx="-45.207049"
+ inkscape:cy="13.722615"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g1558"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata1576">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-157.03322,-91.343367)">
+ <g
+ transform="matrix(0.25661767,0,0,-0.25661767,-287.89299,711.01086)"
+ id="g1558">
+ <g
+ transform="matrix(1,0,0,0.85245901,1737.2207,2414.7499)"
+ id="g6763">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6765"
+ style="fill:#444444;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="M 0,0 H 2.036 C 3.92,0 5.447,-2.028 5.447,-4.529 v -116.729 c 0,-2.502 -1.527,-4.529 -3.411,-4.529 H 0 c -1.884,0 -3.411,2.027 -3.411,4.529 V -4.529 C -3.411,-2.028 -1.884,0 0,0" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoSlidePotHandle.svg b/res/ComponentLibrary/BefacoSlidePotHandle.svg
new file mode 100644
index 00000000..9d56b7ea
--- /dev/null
+++ b/res/ComponentLibrary/BefacoSlidePotHandle.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="11.7" height="19.27" version="1.1" viewBox="0 0 3.0961798 5.0990109" xmlns="http://www.w3.org/2000/svg">
+ <g transform="translate(-156.6 -100.2)">
+ <g transform="matrix(.2566 0 0 -.2566 -287.9 711)">
+ <g transform="translate(1744 2370)">
+ <path d="m0 0c-.072-5.55-1.296-9.915-5.786-9.935-4.598-.02-6.277 4.247-6.277 9.843 0 5.502 1.494 10.03 6.178 10.03 4.422 0 5.956-4.44 5.885-9.935" fill="#ff0000"/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoSwitch.svg b/res/ComponentLibrary/BefacoSwitch.svg
new file mode 100644
index 00000000..58749ecc
--- /dev/null
+++ b/res/ComponentLibrary/BefacoSwitch.svg
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.4066014mm"
+ height="8.3513613mm"
+ viewBox="0 0 7.4066014 8.3513613"
+ version="1.1"
+ id="svg10799"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="BefacoSwitch.svg">
+ <defs
+ id="defs10793" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="-148.58352"
+ inkscape:cy="-55.721345"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata10796">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-78.695511,-76.621942)">
+ <g
+ id="g3201"
+ transform="matrix(0.22389288,0,0,-0.22685285,-171.54356,342.70568)"
+ style="stroke-width:1.565341">
+ <path
+ d="m 1134.1982,1138.7744 c -8.807,0 -15.938,7.132 -15.938,15.938 0,8.806 7.131,15.968 15.938,15.968 8.806,0 15.969,-7.162 15.969,-15.968 0,-8.806 -7.163,-15.938 -15.969,-15.938"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6575"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1134.2607,1142.4248 c -6.783,0 -12.303,5.52 -12.303,12.304 0,6.783 5.52,12.302 12.303,12.302 6.784,0 12.304,-5.519 12.304,-12.302 0,-6.784 -5.52,-12.304 -12.304,-12.304"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6583"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="m 1134.3145,1145.7148 c -5.0639,0 -9.2344,4.1731 -9.2344,9.2364 0,5.0632 4.1705,9.2343 9.2344,9.2343 5.0643,0 9.2363,-4.1711 9.2363,-9.2343 0,-5.0633 -4.172,-9.2364 -9.2363,-9.2364 z"
+ id="path5904"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g5870"
+ style="stroke-width:1.565341">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6631"
+ style="fill:#656565;fill-opacity:1;stroke:#656565;stroke-width:1.565341;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1130.6064,1154.4414 v -3.023 c 2.259,-2.464 6.448,-2.248 7.659,0.144 l -0.038,2.966 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6635"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#e40000;stroke-width:0.97833812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1129.6875,1153.2109 c 2.403,-2.906 7.479,-2.26 9.573,0.089 0.736,0.826 2.032,3.75 2.032,8.37 0,4.62 -0.91,8.369 -2.032,8.369 h -9.483 c -1.122,0 -2.032,-3.749 -2.032,-8.369 0,-4.62 0.82,-7.745 1.972,-8.459" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6643"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.565341"
+ d="m 1134.5156,1159.2344 c 3.783,0 6.851,3.067 6.851,6.851 0,3.784 -3.068,6.85 -6.851,6.85 -3.784,0 -6.851,-3.066 -6.851,-6.85 0,-3.784 3.067,-6.851 6.851,-6.851" />
+ </g>
+ <g
+ id="g5918"
+ transform="matrix(1,0,0,-1,0,2309.0568)"
+ style="stroke-width:1.565341">
+ <path
+ d="m 1130.6064,1154.4414 v -3.023 c 2.259,-2.464 6.448,-2.248 7.659,0.144 l -0.038,2.966 z"
+ style="fill:#656565;fill-opacity:1;stroke:#656565;stroke-width:1.565341;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path5912"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1129.6875,1153.2109 c 2.403,-2.906 7.479,-2.26 9.573,0.089 0.736,0.826 2.032,3.75 2.032,8.37 0,4.62 -0.91,8.369 -2.032,8.369 h -9.483 c -1.122,0 -2.032,-3.749 -2.032,-8.369 0,-4.62 0.82,-7.745 1.972,-8.459"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#e40000;stroke-width:0.97833812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path5914"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1134.5156,1159.2344 c 3.783,0 6.851,3.067 6.851,6.851 0,3.784 -3.068,6.85 -6.851,6.85 -3.784,0 -6.851,-3.066 -6.851,-6.85 0,-3.784 3.067,-6.851 6.851,-6.851"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.565341"
+ id="path5916"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ d="m 1134.2137,1161.5779 c 3.783,0 6.851,-3.067 6.851,-6.851 0,-3.784 -3.068,-6.85 -6.851,-6.85 -3.784,0 -6.851,3.066 -6.851,6.85 0,3.784 3.067,6.851 6.851,6.851"
+ style="opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#e40000;stroke-width:0.97833812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path5916-1"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoSwitch_0.svg b/res/ComponentLibrary/BefacoSwitch_0.svg
new file mode 100644
index 00000000..4ac7615b
--- /dev/null
+++ b/res/ComponentLibrary/BefacoSwitch_0.svg
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.4066014mm"
+ height="8.3513613mm"
+ viewBox="0 0 7.4066014 8.3513613"
+ version="1.1"
+ id="svg10799"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="BefacoSwitch_0.svg">
+ <defs
+ id="defs10793" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="-14.236561"
+ inkscape:cy="5.6835659"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g3201"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata10796">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-78.695511,-76.621942)">
+ <g
+ id="g3201"
+ transform="matrix(0.22389288,0,0,-0.22685285,-171.54356,342.70568)"
+ style="stroke-width:1.565341">
+ <path
+ d="m 1134.1982,1138.7744 c -8.807,0 -15.938,7.132 -15.938,15.938 0,8.806 7.131,15.968 15.938,15.968 8.806,0 15.969,-7.162 15.969,-15.968 0,-8.806 -7.163,-15.938 -15.969,-15.938"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6575"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1134.2607,1142.4248 c -6.783,0 -12.303,5.52 -12.303,12.304 0,6.783 5.52,12.302 12.303,12.302 6.784,0 12.304,-5.519 12.304,-12.302 0,-6.784 -5.52,-12.304 -12.304,-12.304"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6583"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="m 1134.3145,1145.7148 c -5.0639,0 -9.2344,4.1731 -9.2344,9.2364 0,5.0632 4.1705,9.2343 9.2344,9.2343 5.0643,0 9.2363,-4.1711 9.2363,-9.2343 0,-5.0633 -4.172,-9.2364 -9.2363,-9.2364 z"
+ id="path5904"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g5918"
+ transform="matrix(1,0,0,-1,0,2309.0568)"
+ style="stroke-width:1.565341">
+ <path
+ d="m 1130.6064,1154.4414 v -3.023 c 2.259,-2.464 6.448,-2.248 7.659,0.144 l -0.038,2.966 z"
+ style="fill:#656565;fill-opacity:1;stroke:#656565;stroke-width:1.565341;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path5912"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1129.6875,1153.2109 c 2.403,-2.906 7.479,-2.26 9.573,0.089 0.736,0.826 2.032,3.75 2.032,8.37 0,4.62 -0.91,8.369 -2.032,8.369 h -9.483 c -1.122,0 -2.032,-3.749 -2.032,-8.369 0,-4.62 0.82,-7.745 1.972,-8.459"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#e40000;stroke-width:0.97833812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path5914"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1134.5156,1159.2344 c 3.783,0 6.851,3.067 6.851,6.851 0,3.784 -3.068,6.85 -6.851,6.85 -3.784,0 -6.851,-3.066 -6.851,-6.85 0,-3.784 3.067,-6.851 6.851,-6.851"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.565341"
+ id="path5916"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoSwitch_1.svg b/res/ComponentLibrary/BefacoSwitch_1.svg
new file mode 100644
index 00000000..90abb4f8
--- /dev/null
+++ b/res/ComponentLibrary/BefacoSwitch_1.svg
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.4066014mm"
+ height="8.3513613mm"
+ viewBox="0 0 7.4066014 8.3513613"
+ version="1.1"
+ id="svg10799"
+ sodipodi:docname="BefacoSwitch_1.svg"
+ inkscape:version="0.92.1 r">
+ <defs
+ id="defs10793" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="-14.236561"
+ inkscape:cy="5.6835659"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g3201"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata10796">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-78.695511,-76.621942)">
+ <g
+ id="g3201"
+ transform="matrix(0.22389288,0,0,-0.22685285,-171.54356,342.70568)"
+ style="stroke-width:1.565341">
+ <path
+ d="m 1134.1982,1138.7744 c -8.807,0 -15.938,7.132 -15.938,15.938 0,8.806 7.131,15.968 15.938,15.968 8.806,0 15.969,-7.162 15.969,-15.968 0,-8.806 -7.163,-15.938 -15.969,-15.938"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6575"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1134.2607,1142.4248 c -6.783,0 -12.303,5.52 -12.303,12.304 0,6.783 5.52,12.302 12.303,12.302 6.784,0 12.304,-5.519 12.304,-12.302 0,-6.784 -5.52,-12.304 -12.304,-12.304"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6583"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="m 1134.3145,1145.7148 c -5.0639,0 -9.2344,4.1731 -9.2344,9.2364 0,5.0632 4.1705,9.2343 9.2344,9.2343 5.0643,0 9.2363,-4.1711 9.2363,-9.2343 0,-5.0633 -4.172,-9.2364 -9.2363,-9.2364 z"
+ id="path5904"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1134.2137,1161.5779 c 3.783,0 6.851,-3.067 6.851,-6.851 0,-3.784 -3.068,-6.85 -6.851,-6.85 -3.784,0 -6.851,3.066 -6.851,6.85 0,3.784 3.067,6.851 6.851,6.851"
+ style="opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#e40000;stroke-width:0.97833812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path5916-1"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoSwitch_2.svg b/res/ComponentLibrary/BefacoSwitch_2.svg
new file mode 100644
index 00000000..7ad19a7a
--- /dev/null
+++ b/res/ComponentLibrary/BefacoSwitch_2.svg
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.4066014mm"
+ height="8.3513613mm"
+ viewBox="0 0 7.4066014 8.3513613"
+ version="1.1"
+ id="svg10799"
+ sodipodi:docname="BefacoSwitch_2.svg"
+ inkscape:version="0.92.1 r">
+ <defs
+ id="defs10793" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="-14.236561"
+ inkscape:cy="5.6835659"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g3201"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata10796">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-78.695511,-76.621942)">
+ <g
+ id="g3201"
+ transform="matrix(0.22389288,0,0,-0.22685285,-171.54356,342.70568)"
+ style="stroke-width:1.565341">
+ <path
+ d="m 1134.1982,1138.7744 c -8.807,0 -15.938,7.132 -15.938,15.938 0,8.806 7.131,15.968 15.938,15.968 8.806,0 15.969,-7.162 15.969,-15.968 0,-8.806 -7.163,-15.938 -15.969,-15.938"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6575"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1134.2607,1142.4248 c -6.783,0 -12.303,5.52 -12.303,12.304 0,6.783 5.52,12.302 12.303,12.302 6.784,0 12.304,-5.519 12.304,-12.302 0,-6.784 -5.52,-12.304 -12.304,-12.304"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6583"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:1.17400575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="m 1134.3145,1145.7148 c -5.0639,0 -9.2344,4.1731 -9.2344,9.2364 0,5.0632 4.1705,9.2343 9.2344,9.2343 5.0643,0 9.2363,-4.1711 9.2363,-9.2343 0,-5.0633 -4.172,-9.2364 -9.2363,-9.2364 z"
+ id="path5904"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g5870"
+ style="stroke-width:1.565341">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6631"
+ style="fill:#656565;fill-opacity:1;stroke:#656565;stroke-width:1.565341;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1130.6064,1154.4414 v -3.023 c 2.259,-2.464 6.448,-2.248 7.659,0.144 l -0.038,2.966 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6635"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#e40000;stroke-width:0.97833812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1129.6875,1153.2109 c 2.403,-2.906 7.479,-2.26 9.573,0.089 0.736,0.826 2.032,3.75 2.032,8.37 0,4.62 -0.91,8.369 -2.032,8.369 h -9.483 c -1.122,0 -2.032,-3.749 -2.032,-8.369 0,-4.62 0.82,-7.745 1.972,-8.459" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6643"
+ style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.565341"
+ d="m 1134.5156,1159.2344 c 3.783,0 6.851,3.067 6.851,6.851 0,3.784 -3.068,6.85 -6.851,6.85 -3.784,0 -6.851,-3.066 -6.851,-6.85 0,-3.784 3.067,-6.851 6.851,-6.851" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/BefacoTinyKnob.svg b/res/ComponentLibrary/BefacoTinyKnob.svg
new file mode 100644
index 00000000..7cd6deb9
--- /dev/null
+++ b/res/ComponentLibrary/BefacoTinyKnob.svg
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="6.8791666mm"
+ height="6.8792815mm"
+ viewBox="0 0 6.8791666 6.8792815"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="BefacoTinyKnob.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="-8.2556708"
+ inkscape:cy="2.4894949"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-231.55376,-124.02034)">
+ <g
+ id="g1855"
+ transform="matrix(0.21561496,0,0,-0.21561496,-103.31724,625.91769)"
+ style="stroke-width:1.63614702">
+ <g
+ transform="translate(1582.2939,2302.9199)"
+ id="g6771"
+ style="stroke-width:1.63614702">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6773"
+ style="fill:#d6d6d6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.63614702"
+ d="m 0,0 c 4.908,7.312 2.961,17.207 -4.351,22.115 -7.311,4.907 -17.233,2.979 -22.14,-4.334 -4.908,-7.311 -2.953,-17.25 4.359,-22.158 C -14.82,-9.285 -4.907,-7.312 0,0" />
+ </g>
+ <g
+ transform="translate(1581.9912,2308.7881)"
+ id="g6775"
+ style="stroke-width:1.63614702">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6777"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.63614702"
+ d="m 0,0 c -1.641,-7.167 -8.78,-11.647 -15.948,-10.007 -7.167,1.64 -11.648,8.78 -10.007,15.947 1.64,7.167 8.779,11.648 15.947,10.008 C -2.841,14.308 1.64,7.168 0,0" />
+ </g>
+ <g
+ transform="translate(1581.9912,2308.7881)"
+ id="g6779"
+ style="stroke-width:1.63614702">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6781"
+ style="fill:none;stroke:#807a7a;stroke-width:0.66591185;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c -1.641,-7.167 -8.78,-11.647 -15.948,-10.007 -7.167,1.64 -11.648,8.78 -10.007,15.947 1.64,7.167 8.779,11.648 15.947,10.008 C -2.841,14.308 1.64,7.168 0,0 Z" />
+ </g>
+ <g
+ transform="translate(1568.4746,2319.8965)"
+ id="g6783"
+ style="stroke-width:1.63614702">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6785"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.63614702"
+ d="M 0,0 C -0.401,0.27 -0.509,0.813 -0.239,1.216 0.031,1.617 0.575,1.725 0.977,1.454 1.379,1.185 1.485,0.641 1.216,0.239 0.946,-0.163 0.402,-0.27 0,0" />
+ </g>
+ <g
+ transform="translate(1568.4746,2319.8965)"
+ id="g6787"
+ style="stroke-width:1.63614702">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6789"
+ style="fill:none;stroke:#000000;stroke-width:2.72091246;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 0,0 C -0.401,0.27 -0.509,0.813 -0.239,1.216 0.031,1.617 0.575,1.725 0.977,1.454 1.379,1.185 1.485,0.641 1.216,0.239 0.946,-0.163 0.402,-0.27 0,0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/CKD6_0.svg b/res/ComponentLibrary/CKD6_0.svg
new file mode 100644
index 00000000..afb7bb7a
--- /dev/null
+++ b/res/ComponentLibrary/CKD6_0.svg
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.4083333mm"
+ height="7.4072428mm"
+ viewBox="0 0 7.4083333 7.4072428"
+ version="1.1"
+ id="svg12484"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="CKD6_0.svg">
+ <defs
+ id="defs12478" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.919596"
+ inkscape:cx="11.588464"
+ inkscape:cy="1.2689156"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g12430"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="900"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata12481">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-87.43441,-104.63978)">
+ <g
+ transform="matrix(0.27270608,0,0,-0.27270608,12.503198,432.85055)"
+ id="g12430"
+ style="stroke-width:1.29361904">
+ <g
+ transform="translate(301.93513,1189.951)"
+ id="g5959-5"
+ style="stroke-width:1.29361904">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5961-3"
+ style="fill:#212221;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.29361904"
+ d="m 0,0 c 0,-7.5 -6.083,-13.58 -13.584,-13.58 -7.5,0 -13.582,6.08 -13.582,13.58 0,7.503 6.082,13.582 13.582,13.582 C -6.083,13.582 0,7.503 0,0" />
+ </g>
+ <circle
+ style="opacity:1;vector-effect:none;fill:#676967;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.29361904;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="circle12436"
+ cx="288.35214"
+ cy="-1190.6586"
+ r="11.277138"
+ transform="scale(1,-1)" />
+ <circle
+ transform="scale(1,-1)"
+ r="11.277138"
+ cy="-1189.952"
+ cx="288.35214"
+ id="path12411"
+ style="opacity:1;vector-effect:none;fill:#2b2d2b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.29361904;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/CKD6_1.svg b/res/ComponentLibrary/CKD6_1.svg
new file mode 100644
index 00000000..57a53eea
--- /dev/null
+++ b/res/ComponentLibrary/CKD6_1.svg
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.4083333mm"
+ height="7.4072428mm"
+ viewBox="0 0 7.4083333 7.4072428"
+ version="1.1"
+ id="svg12484"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="CKD6_1.svg">
+ <defs
+ id="defs12478" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="-17.971815"
+ inkscape:cy="-11.272941"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g12476"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata12481">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-155.97001,-111.69871)">
+ <g
+ id="g12476"
+ transform="matrix(0.27270608,0,0,-0.27270608,81.038799,439.90948)"
+ style="stroke-width:1.29361904">
+ <g
+ id="g12468"
+ transform="translate(301.93513,1189.951)"
+ style="stroke-width:1.29361904">
+ <path
+ d="m 0,0 c 0,-7.5 -6.083,-13.58 -13.584,-13.58 -7.5,0 -13.582,6.08 -13.582,13.58 0,7.503 6.082,13.582 13.582,13.582 C -6.083,13.582 0,7.503 0,0"
+ style="fill:#212221;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.29361904"
+ id="path12466"
+ inkscape:connector-curvature="0" />
+ </g>
+ <circle
+ transform="scale(1,-1)"
+ r="11.277138"
+ cy="-1189.2383"
+ cx="288.35214"
+ id="circle12472"
+ style="opacity:1;vector-effect:none;fill:#676967;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.29361904;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <circle
+ style="opacity:1;vector-effect:none;fill:#141514;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.29361904;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="circle12474"
+ cx="288.35214"
+ cy="-1189.952"
+ r="11.277138"
+ transform="scale(1,-1)" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/CKSS_0.svg b/res/ComponentLibrary/CKSS_0.svg
new file mode 100644
index 00000000..07636ce9
--- /dev/null
+++ b/res/ComponentLibrary/CKSS_0.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="3.7041667mm"
+ height="5.4612927mm"
+ viewBox="0 0 3.7041666 5.4612927"
+ version="1.1"
+ id="svg56722"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="CKSS0.svg">
+ <defs
+ id="defs56716" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="-14.538934"
+ inkscape:cy="-2.6476464"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata56719">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-35.423779,-63.339207)">
+ <g
+ transform="matrix(0.27523902,0,0,-0.27523902,-180.22814,385.03395)"
+ id="g56714"
+ style="stroke-width:1.2817142">
+ <path
+ d="m 783.5078,1167.3652 c 0,0.779 0.639,1.418 1.418,1.418 h 10.622 c 0.779,0 1.418,-0.639 1.418,-1.418 v -17.007 c 0,-0.779 -0.639,-1.417 -1.418,-1.417 h -10.622 c -0.779,0 -1.418,0.638 -1.418,1.417 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ id="path5785"
+ inkscape:connector-curvature="0" />
+ <g
+ style="fill:#282828;fill-opacity:1;stroke-width:1.2817142"
+ id="g5795">
+ <g
+ style="fill:#282828;fill-opacity:1;stroke-width:1.2817142"
+ id="g5797">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5805"
+ style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:1.2817142"
+ d="m 785.616,1167.502 c -0.468,0 -0.85,-0.382 -0.85,-0.85 v 0 -15.724 c 0,-0.468 0.382,-0.851 0.85,-0.851 v 0 h 9.241 c 0.466,0 0.849,0.383 0.849,0.851 v 0 15.724 c 0,0.468 -0.383,0.85 -0.849,0.85 v 0 z" />
+ </g>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="path5815"
+ style="fill:#444444;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 784.767,1158.581 h 10.94 v -8.504 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5817"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 784.767,1154.797 h 10.94 v -0.936 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5819"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 784.767,1151.013 h 10.94 v -0.936 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5821"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 784.767,1152.904 h 10.94 v -0.936 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5823"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 784.767,1156.689 h 10.94 v -0.936 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5825"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 784.767,1158.581 h 10.94 v -0.936 h -10.94 z" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/CKSS_1.svg b/res/ComponentLibrary/CKSS_1.svg
new file mode 100644
index 00000000..1811b942
--- /dev/null
+++ b/res/ComponentLibrary/CKSS_1.svg
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="14"
+ height="20.641106"
+ viewBox="0 0 3.7041666 5.4612927"
+ version="1.1"
+ id="svg56722"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="CKSS1.svg">
+ <defs
+ id="defs56716" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.2"
+ inkscape:cx="7.7939021"
+ inkscape:cy="1.6737916"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0"
+ units="px" />
+ <metadata
+ id="metadata56719">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-30.16787,-65.374457)">
+ <g
+ transform="matrix(0.27523902,0,0,-0.27523902,-179.70403,387.0692)"
+ id="g56702"
+ style="stroke-width:1.2817142">
+ <g
+ transform="translate(762.5078,1167.3652)"
+ id="g5827"
+ style="stroke-width:1.2817142">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5829"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="M 0,0 C 0,0.779 0.639,1.418 1.418,1.418 H 12.04 c 0.779,0 1.418,-0.639 1.418,-1.418 v -17.007 c 0,-0.779 -0.639,-1.417 -1.418,-1.417 H 1.418 C 0.639,-18.424 0,-17.786 0,-17.007 Z" />
+ </g>
+ <g
+ style="fill:#282828;fill-opacity:1;stroke-width:1.2817142"
+ id="g5839">
+ <g
+ style="fill:#282828;fill-opacity:1;stroke-width:1.2817142"
+ id="g5841">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5849"
+ style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:1.2817142"
+ d="m 764.617,1167.502 c -0.468,0 -0.852,-0.382 -0.852,-0.85 v 0 -15.724 c 0,-0.468 0.384,-0.851 0.852,-0.851 v 0 h 9.239 c 0.467,0 0.85,0.383 0.85,0.851 v 0 15.724 c 0,0.468 -0.383,0.85 -0.85,0.85 v 0 z" />
+ </g>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="path5859"
+ style="fill:#444444;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 763.767,1167.503 h 10.94 v -8.504 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5861"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 763.767,1163.719 h 10.94 v -0.936 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5863"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 763.767,1159.935 h 10.94 v -0.936 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5865"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 763.767,1161.826 h 10.94 v -0.936 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5867"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 763.767,1165.611 h 10.94 v -0.936 h -10.94 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5869"
+ style="fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2817142"
+ d="m 763.767,1167.503 h 10.94 v -0.936 h -10.94 z" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/CL1362.svg b/res/ComponentLibrary/CL1362.svg
new file mode 100644
index 00000000..df7708eb
--- /dev/null
+++ b/res/ComponentLibrary/CL1362.svg
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32.259781"
+ height="29.022205"
+ viewBox="0 0 8.5354009 7.6787921"
+ version="1.1"
+ id="svg6615"
+ sodipodi:docname="CL1362.svg"
+ inkscape:version="0.92.1 r">
+ <defs
+ id="defs6609" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.313708"
+ inkscape:cx="18.320757"
+ inkscape:cy="12.47592"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g3165"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0"
+ units="px" />
+ <metadata
+ id="metadata6612">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-107.70684,-97.132243)">
+ <g
+ transform="matrix(0.26424579,0,0,-0.26424579,-37.162088,591.23626)"
+ id="g3165"
+ style="stroke-width:0.75;stroke-miterlimit:4;stroke-dasharray:none">
+ <path
+ d="m 557.25,1841.3066 c -0.446,0 -0.968,0.305 -1.187,0.692 l -7.145,12.646 c -0.219,0.388 -0.219,0.994 0,1.382 l 7.145,12.644 c 0.219,0.389 0.741,0.694 1.187,0.694 h 14.272 c 0.446,0 0.968,-0.305 1.187,-0.694 l 7.145,-12.644 c 0.219,-0.388 0.219,-0.994 0,-1.382 l -7.145,-12.646 c -0.219,-0.387 -0.741,-0.692 -1.187,-0.692 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:1.00127733;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6413"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 575.3652,1855.335 c 0,-6.064 -4.917,-10.981 -10.98,-10.981 -6.063,0 -10.981,4.917 -10.981,10.981 0,6.065 4.918,10.981 10.981,10.981 6.063,0 10.98,-4.916 10.98,-10.981"
+ style="fill:#555555;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00127733;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path6421"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6435"
+ style="opacity:1;vector-effect:none;fill:#555555;fill-opacity:1;stroke:#3b3b3b;stroke-width:1.00127733;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 556.106,1855.3428 c 0.023,-4.599 3.69,-8.268 8.289,-8.288 4.575,0.013 8.276,3.708 8.271,8.288 -0.003,4.572 -3.705,8.259 -8.271,8.271 -4.59,-0.02 -8.256,-3.68 -8.289,-8.271 z" />
+ <path
+ d="m 570.0552,1855.335 c 0,-3.131 -2.538,-5.669 -5.669,-5.669 -3.131,0 -5.669,2.538 -5.669,5.669 0,3.131 2.538,5.669 5.669,5.669 3.131,0 5.669,-2.538 5.669,-5.669"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00127733;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path6425"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Davies1900hBlack.svg b/res/ComponentLibrary/Davies1900hBlack.svg
new file mode 100644
index 00000000..3a2f49e1
--- /dev/null
+++ b/res/ComponentLibrary/Davies1900hBlack.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="9.5249996mm"
+ height="9.5253973mm"
+ viewBox="0 0 9.5249996 9.5253972"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Davies1900hBlack.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="-2.745519"
+ inkscape:cy="9.5126135"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-230.09585,-123.23243)">
+ <g
+ id="g2012"
+ transform="matrix(0.26457966,0,0,-0.26457966,-112.8694,754.07)"
+ style="stroke-width:1.33335185">
+ <g
+ transform="translate(1332.2646,2366.2998)"
+ id="g6443"
+ style="stroke-width:1.33335185">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6445"
+ style="fill:#aaaaaa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33335185"
+ d="m 0,0 c 0,-9.941 -8.06,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.06,18 0,9.941 0,0" />
+ </g>
+ <g
+ transform="translate(1332.1631,2368.2021)"
+ id="g6447"
+ style="stroke-width:1.33335185">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6449"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33335185"
+ d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" />
+ </g>
+ <g
+ transform="translate(1314.8633,2384.2314)"
+ id="g6451"
+ style="stroke-width:1.33335185">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6453"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33335185"
+ d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Davies1900hLargeBlack.svg b/res/ComponentLibrary/Davies1900hLargeBlack.svg
new file mode 100644
index 00000000..11f9899d
--- /dev/null
+++ b/res/ComponentLibrary/Davies1900hLargeBlack.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="14.2875mm"
+ height="14.288095mm"
+ viewBox="0 0 14.2875 14.288095"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Davies1900hLargeBlack.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="6.4721202"
+ inkscape:cy="7.9974093"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="900"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-230.09585,-118.46974)">
+ <g
+ id="g2012"
+ transform="matrix(0.39686949,0,0,-0.39686949,-284.35202,1064.7261)"
+ style="stroke-width:0.88890123">
+ <g
+ transform="translate(1332.2646,2366.2998)"
+ id="g6443"
+ style="stroke-width:0.88890123">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6445"
+ style="fill:#aaaaaa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.88890123"
+ d="m 0,0 c 0,-9.941 -8.06,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.06,18 0,9.941 0,0" />
+ </g>
+ <g
+ transform="translate(1332.1631,2368.2021)"
+ id="g6447"
+ style="stroke-width:0.88890123">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6449"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.88890123"
+ d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" />
+ </g>
+ <g
+ transform="translate(1314.8633,2384.2314)"
+ id="g6451"
+ style="stroke-width:0.88890123">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6453"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.88890123"
+ d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Davies1900hLargeRed.svg b/res/ComponentLibrary/Davies1900hLargeRed.svg
new file mode 100644
index 00000000..1a73b17c
--- /dev/null
+++ b/res/ComponentLibrary/Davies1900hLargeRed.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="14.2875mm"
+ height="14.288135mm"
+ viewBox="0 0 14.2875 14.288134"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Davies1900hLargeRed.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="23.026691"
+ inkscape:cy="-3.2255292"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="900"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-230.79391,-120.57842)">
+ <g
+ id="g1996"
+ transform="matrix(0.39687059,0,0,-0.39687059,-331.13222,1066.8374)"
+ style="stroke-width:0.88889879">
+ <g
+ transform="translate(1451.8926,2366.2998)"
+ id="g6467"
+ style="stroke-width:0.88889879">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6469"
+ style="fill:#830100;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.88889879"
+ d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" />
+ </g>
+ <g
+ transform="translate(1451.791,2368.2021)"
+ id="g6471"
+ style="stroke-width:0.88889879">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6473"
+ style="fill:#ff030a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.88889879"
+ d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" />
+ </g>
+ <g
+ transform="translate(1434.4912,2384.2314)"
+ id="g6475"
+ style="stroke-width:0.88889879">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6477"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.88889879"
+ d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Davies1900hLargeWhite.svg b/res/ComponentLibrary/Davies1900hLargeWhite.svg
new file mode 100644
index 00000000..d042edd3
--- /dev/null
+++ b/res/ComponentLibrary/Davies1900hLargeWhite.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="14.2875mm"
+ height="14.288135mm"
+ viewBox="0 0 14.2875 14.288134"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Davies1900hLargeWhite.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="-6.3375173"
+ inkscape:cy="8.8255868"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-231.61418,-118.28792)">
+ <g
+ id="g2004"
+ transform="matrix(0.39687059,0,0,-0.39687059,-305.70597,1064.5469)"
+ style="stroke-width:0.88889879">
+ <g
+ transform="translate(1389.8926,2366.2998)"
+ id="g6455"
+ style="stroke-width:0.88889879">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6457"
+ style="fill:#d6d6d6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.88889879"
+ d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" />
+ </g>
+ <g
+ transform="translate(1389.791,2368.2021)"
+ id="g6459"
+ style="stroke-width:0.88889879">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6461"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.88889879"
+ d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" />
+ </g>
+ <g
+ transform="translate(1372.4912,2384.2314)"
+ id="g6463"
+ style="stroke-width:0.88889879">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6465"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.88889879"
+ d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Davies1900hRed.svg b/res/ComponentLibrary/Davies1900hRed.svg
new file mode 100644
index 00000000..fcca3505
--- /dev/null
+++ b/res/ComponentLibrary/Davies1900hRed.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="9.5250006mm"
+ height="9.525424mm"
+ viewBox="0 0 9.5250006 9.5254239"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Davies1900hRed.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="-5.3838414"
+ inkscape:cy="17.482497"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-230.79391,-125.3411)">
+ <g
+ id="g1996"
+ transform="matrix(0.2645804,0,0,-0.2645804,-143.82352,756.18044)"
+ style="stroke-width:1.33334816">
+ <g
+ transform="translate(1451.8926,2366.2998)"
+ id="g6467"
+ style="stroke-width:1.33334816">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6469"
+ style="fill:#830100;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33334816"
+ d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" />
+ </g>
+ <g
+ transform="translate(1451.791,2368.2021)"
+ id="g6471"
+ style="stroke-width:1.33334816">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6473"
+ style="fill:#ff030a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33334816"
+ d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" />
+ </g>
+ <g
+ transform="translate(1434.4912,2384.2314)"
+ id="g6475"
+ style="stroke-width:1.33334816">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6477"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33334816"
+ d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Davies1900hSmallBlack.svg b/res/ComponentLibrary/Davies1900hSmallBlack.svg
new file mode 100644
index 00000000..8150361f
--- /dev/null
+++ b/res/ComponentLibrary/Davies1900hSmallBlack.svg
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="7.0462589mm"
+ height="7.1788893mm"
+ viewBox="0 0 7.0462589 7.1788893"
+ version="1.1"
+ id="svg6414"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Davies1900hSmallBlack.svg">
+ <defs
+ id="defs6408">
+ <clipPath
+ id="clip82">
+ <path
+ d="m 979.55859,272.09375 h 26.63281 v 27.13281 h -26.63281 z m 0,0"
+ id="path22604"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <clipPath
+ id="clip83">
+ <path
+ d="m 992,272.09375 h 2 V 287 h -2 z m 0,0"
+ id="path22607"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="101.21858"
+ inkscape:cy="-36.897917"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata6411">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-36.542344,-107.44627)">
+ <g
+ id="g6344"
+ transform="matrix(0.35277777,0,0,-0.35277777,-474.41126,963.93894)">
+ <g
+ style="clip-rule:nonzero"
+ id="g28551"
+ clip-path="url(#clip82)"
+ transform="matrix(0.75000002,0,0,-0.75000002,713.70253,2631.9236)">
+ <path
+ inkscape:connector-curvature="0"
+ id="path28547"
+ d="m 1005.8555,288.88281 c -1.6407,7.16406 -8.78128,11.64844 -15.94925,10.00781 -7.16797,-1.64062 -11.64844,-8.78125 -10.00781,-15.94921 1.64062,-7.16797 8.78125,-11.64844 15.94922,-10.00782 7.16794,1.64063 11.64454,8.78125 10.00784,15.94922"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path28549"
+ d="m 1005.8555,288.88281 c -1.6407,7.16406 -8.78128,11.64844 -15.94925,10.00781 -7.16797,-1.64062 -11.64844,-8.78125 -10.00781,-15.94921 1.64062,-7.16797 8.78125,-11.64844 15.94922,-10.00782 7.16794,1.64063 11.64454,8.78125 10.00784,15.94922"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ </g>
+ <g
+ style="clip-rule:nonzero"
+ id="g28555"
+ clip-path="url(#clip83)"
+ transform="matrix(0.75000002,0,0,-0.75000002,713.70253,2631.9236)">
+ <path
+ inkscape:connector-curvature="0"
+ id="path28553"
+ transform="translate(992.87612,272.59527)"
+ d="M -0.0011146,-0.0015175 V 13.314889"
+ style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Davies1900hWhite.svg b/res/ComponentLibrary/Davies1900hWhite.svg
new file mode 100644
index 00000000..b2cbfb1b
--- /dev/null
+++ b/res/ComponentLibrary/Davies1900hWhite.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="9.5250006mm"
+ height="9.525424mm"
+ viewBox="0 0 9.5250006 9.5254239"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Davies1900hWhite.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="-8.4841105"
+ inkscape:cy="8.8255993"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-231.61419,-123.05063)">
+ <g
+ id="g2004"
+ transform="matrix(0.2645804,0,0,-0.2645804,-126.59926,753.88997)"
+ style="stroke-width:1.33334816">
+ <g
+ transform="translate(1389.8926,2366.2998)"
+ id="g6455"
+ style="stroke-width:1.33334816">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6457"
+ style="fill:#d6d6d6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33334816"
+ d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" />
+ </g>
+ <g
+ transform="translate(1389.791,2368.2021)"
+ id="g6459"
+ style="stroke-width:1.33334816">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6461"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33334816"
+ d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" />
+ </g>
+ <g
+ transform="translate(1372.4912,2384.2314)"
+ id="g6463"
+ style="stroke-width:1.33334816">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6465"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33334816"
+ d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/LEDButton.svg b/res/ComponentLibrary/LEDButton.svg
new file mode 100644
index 00000000..1cd39845
--- /dev/null
+++ b/res/ComponentLibrary/LEDButton.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="4.7623944mm"
+ height="4.7624998mm"
+ viewBox="0 0 4.7623944 4.7624998"
+ version="1.1"
+ id="svg7595"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="LEDButton.svg">
+ <defs
+ id="defs7589">
+ <clipPath
+ id="clip444">
+ <path
+ d="m 1201.582,338.19922 h 18 v 18 h -18 z m 0,0"
+ id="path24586"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="-1.6625256"
+ inkscape:cy="0.82092183"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7592">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-46.755712,-67.833036)">
+ <g
+ transform="matrix(0.26458333,0,0,0.26458333,-271.16296,-21.64884)"
+ clip-path="url(#clip444)"
+ id="g31387"
+ style="clip-rule:nonzero">
+ <path
+ style="fill:#2b2b2b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 1202.125,344.12109 c -1.6953,4.66797 0.7148,9.83594 5.3789,11.53516 4.6719,1.69531 9.8359,-0.71094 11.5352,-5.37891 1.6992,-4.67187 -0.7071,-9.83203 -5.3789,-11.53515 -4.668,-1.69532 -9.8282,0.70703 -11.5352,5.3789"
+ id="path31385"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/LICENSE.txt b/res/ComponentLibrary/LICENSE.txt
new file mode 100644
index 00000000..253419ff
--- /dev/null
+++ b/res/ComponentLibrary/LICENSE.txt
@@ -0,0 +1,2 @@
+Component Library graphics by Grayscale (http://grayscale.info/)
+Licensed under CC BY-NC 4.0 (https://creativecommons.org/licenses/by-nc/4.0/) \ No newline at end of file
diff --git a/res/ComponentLibrary/NKK.svg b/res/ComponentLibrary/NKK.svg
new file mode 100644
index 00000000..6b99d14a
--- /dev/null
+++ b/res/ComponentLibrary/NKK.svg
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.4666281mm"
+ height="11.61058mm"
+ viewBox="0 0 8.4666281 11.61058"
+ version="1.1"
+ id="svg20198"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="NKK.svg">
+ <defs
+ id="defs20192" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.919596"
+ inkscape:cx="43.173721"
+ inkscape:cy="15.231018"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g20169"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata20195">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-80.57476,-112.94621)">
+ <g
+ transform="matrix(0.33514843,0,0,-0.33529537,-224.0132,506.00388)"
+ id="g20169"
+ style="stroke-width:1.05237091">
+ <g
+ transform="matrix(0.99501487,0,0,0.99507779,32.585756,3.8599038)"
+ id="g20169-3"
+ style="stroke-width:1.11299801">
+ <path
+ d="m 887.1943,1146.2402 -6.117,10.597 6.117,10.597 h 12.238 l 6.118,-10.597 -6.118,-10.597 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6481-7"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 893.3271,1149.1729 c -4.227,0 -7.665,3.438 -7.665,7.664 0,4.227 3.438,7.666 7.665,7.666 4.227,0 7.666,-3.439 7.666,-7.666 0,-4.226 -3.439,-7.664 -7.666,-7.664"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6489-5"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 898.8584,1156.8379 c 0,-3.063 -2.481,-5.545 -5.544,-5.545 -3.064,0 -5.545,2.482 -5.545,5.545 0,3.062 2.481,5.544 5.545,5.544 3.063,0 5.544,-2.482 5.544,-5.544"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.79320747;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path6497-9"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 890.43168,1156.793 -2.289,17.003 h 10.376 l -1.79,-17.003 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:evenodd;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6501-2"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path20173"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:evenodd;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 890.43168,1156.793 -2.289,-17.003 h 10.376 l -1.79,17.003 z" />
+ <path
+ d="m 888.14458,1158.9871 -0.005,-4.2983 h 10.376 l -0.006,4.2983 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:evenodd;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path20175"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/NKK_0.svg b/res/ComponentLibrary/NKK_0.svg
new file mode 100644
index 00000000..3d3e6237
--- /dev/null
+++ b/res/ComponentLibrary/NKK_0.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.4666281mm"
+ height="11.61058mm"
+ viewBox="0 0 8.4666281 11.61058"
+ version="1.1"
+ id="svg20198"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="NKK0.svg">
+ <defs
+ id="defs20192" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.919596"
+ inkscape:cx="43.173721"
+ inkscape:cy="15.231018"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g20169-3"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata20195">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-80.57476,-112.94621)">
+ <g
+ transform="matrix(0.33514843,0,0,-0.33529537,-224.0132,506.00388)"
+ id="g20169"
+ style="stroke-width:1.05237091">
+ <g
+ transform="matrix(0.99501487,0,0,0.99507779,32.585756,3.8599038)"
+ id="g20169-3"
+ style="stroke-width:1.11299801">
+ <path
+ d="m 887.1943,1146.2402 -6.117,10.597 6.117,10.597 h 12.238 l 6.118,-10.597 -6.118,-10.597 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6481-7"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 893.3271,1149.1729 c -4.227,0 -7.665,3.438 -7.665,7.664 0,4.227 3.438,7.666 7.665,7.666 4.227,0 7.666,-3.439 7.666,-7.666 0,-4.226 -3.439,-7.664 -7.666,-7.664"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6489-5"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 898.8584,1156.8379 c 0,-3.063 -2.481,-5.545 -5.544,-5.545 -3.064,0 -5.545,2.482 -5.545,5.545 0,3.062 2.481,5.544 5.545,5.544 3.063,0 5.544,-2.482 5.544,-5.544"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.79320747;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path6497-9"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path20173"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:evenodd;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 890.43168,1156.793 -2.289,-17.003 h 10.376 l -1.79,17.003 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/NKK_1.svg b/res/ComponentLibrary/NKK_1.svg
new file mode 100644
index 00000000..cfd6e655
--- /dev/null
+++ b/res/ComponentLibrary/NKK_1.svg
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.4666281mm"
+ height="11.61058mm"
+ viewBox="0 0 8.4666281 11.61058"
+ version="1.1"
+ id="svg20198"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="NKK1.svg">
+ <defs
+ id="defs20192" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.919596"
+ inkscape:cx="43.173721"
+ inkscape:cy="15.231018"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g20169-3"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata20195">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-80.57476,-112.94621)">
+ <g
+ transform="matrix(0.33514843,0,0,-0.33529537,-224.0132,506.00388)"
+ id="g20169"
+ style="stroke-width:1.05237091">
+ <g
+ transform="matrix(0.99501487,0,0,0.99507779,32.585756,3.8599038)"
+ id="g20169-3"
+ style="stroke-width:1.11299801">
+ <path
+ d="m 887.1943,1146.2402 -6.117,10.597 6.117,10.597 h 12.238 l 6.118,-10.597 -6.118,-10.597 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6481-7"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 893.3271,1149.1729 c -4.227,0 -7.665,3.438 -7.665,7.664 0,4.227 3.438,7.666 7.665,7.666 4.227,0 7.666,-3.439 7.666,-7.666 0,-4.226 -3.439,-7.664 -7.666,-7.664"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6489-5"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 898.8584,1156.8379 c 0,-3.063 -2.481,-5.545 -5.544,-5.545 -3.064,0 -5.545,2.482 -5.545,5.545 0,3.062 2.481,5.544 5.545,5.544 3.063,0 5.544,-2.482 5.544,-5.544"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.79320747;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path6497-9"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 888.14458,1158.9871 -0.005,-4.2983 h 10.376 l -0.006,4.2983 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:evenodd;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path20175"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/NKK_2.svg b/res/ComponentLibrary/NKK_2.svg
new file mode 100644
index 00000000..5ac0eb4c
--- /dev/null
+++ b/res/ComponentLibrary/NKK_2.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.4666281mm"
+ height="11.61058mm"
+ viewBox="0 0 8.4666281 11.61058"
+ version="1.1"
+ id="svg20198"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="NKK2.svg">
+ <defs
+ id="defs20192" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.919596"
+ inkscape:cx="43.173721"
+ inkscape:cy="15.231018"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g20169-3"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata20195">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-80.57476,-112.94621)">
+ <g
+ transform="matrix(0.33514843,0,0,-0.33529537,-224.0132,506.00388)"
+ id="g20169"
+ style="stroke-width:1.05237091">
+ <g
+ transform="matrix(0.99501487,0,0,0.99507779,32.585756,3.8599038)"
+ id="g20169-3"
+ style="stroke-width:1.11299801">
+ <path
+ d="m 887.1943,1146.2402 -6.117,10.597 6.117,10.597 h 12.238 l 6.118,-10.597 -6.118,-10.597 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6481-7"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 893.3271,1149.1729 c -4.227,0 -7.665,3.438 -7.665,7.664 0,4.227 3.438,7.666 7.665,7.666 4.227,0 7.666,-3.439 7.666,-7.666 0,-4.226 -3.439,-7.664 -7.666,-7.664"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6489-5"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 898.8584,1156.8379 c 0,-3.063 -2.481,-5.545 -5.544,-5.545 -3.064,0 -5.545,2.482 -5.545,5.545 0,3.062 2.481,5.544 5.545,5.544 3.063,0 5.544,-2.482 5.544,-5.544"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.79320747;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path6497-9"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 890.43168,1156.793 -2.289,17.003 h 10.376 l -1.79,-17.003 z"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:evenodd;stroke:#939593;stroke-width:0.79320753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path6501-2"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/PJ301M.svg b/res/ComponentLibrary/PJ301M.svg
new file mode 100644
index 00000000..9ff37fae
--- /dev/null
+++ b/res/ComponentLibrary/PJ301M.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="6.5126157mm"
+ height="6.5128875mm"
+ viewBox="0 0 6.5126157 6.5128875"
+ version="1.1"
+ id="svg5158"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="PJ301M.svg">
+ <defs
+ id="defs5152" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.839192"
+ inkscape:cx="9.9739765"
+ inkscape:cy="9.6165796"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g3088"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata5155">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-118.26377,-79.997334)">
+ <g
+ transform="matrix(0.27191367,0,0,-0.27191367,41.843143,587.85632)"
+ id="g3088">
+ <path
+ d="m 293.0229,1844.2559 c -6.335,0 -11.489,5.154 -11.489,11.489 0,6.335 5.154,11.49 11.489,11.49 6.335,0 11.489,-5.155 11.489,-11.49 0,-6.335 -5.154,-11.489 -11.489,-11.489"
+ style="opacity:1;vector-effect:none;fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:0.97304165;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4639"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 293.0229,1847.4709 c -4.562,0 -8.274,3.712 -8.274,8.274 0,4.563 3.712,8.275 8.274,8.275 4.562,0 8.274,-3.712 8.274,-8.275 0,-4.562 -3.712,-8.274 -8.274,-8.274"
+ style="fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:0.97304165;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4647"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 298.1254,1855.7454 c 0,-2.817 -2.285,-5.103 -5.103,-5.103 -2.817,0 -5.102,2.286 -5.102,5.103 0,2.817 2.285,5.103 5.102,5.103 2.818,0 5.103,-2.286 5.103,-5.103"
+ style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#909290;stroke-width:0.97304165;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4655"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/PJ3410.svg b/res/ComponentLibrary/PJ3410.svg
new file mode 100644
index 00000000..9c114d10
--- /dev/null
+++ b/res/ComponentLibrary/PJ3410.svg
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="31.350592"
+ height="31.350582"
+ viewBox="0 0 8.294844 8.2948415"
+ version="1.1"
+ id="svg5158"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="PJ3410.svg">
+ <defs
+ id="defs5152" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.2"
+ inkscape:cx="7.3041493"
+ inkscape:cy="16.775019"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="1.5"
+ fit-margin-left="1.5"
+ fit-margin-right="1.5"
+ fit-margin-bottom="1.5"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0"
+ units="px" />
+ <metadata
+ id="metadata5155">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-116.53208,-79.379106)">
+ <g
+ id="g6580">
+ <path
+ d="m 120.679,87.144781 c -1.99518,-0.01238 -3.61825,-1.636715 -3.61775,-3.621032 7.6e-4,-1.985581 1.62358,-3.607391 3.61775,-3.615475 1.9876,0.0096 3.61068,1.63141 3.61876,3.615222 -0.005,1.985581 -1.62762,3.609917 -3.61825,3.621285 z"
+ style="fill:#e7e7e7;fill-opacity:1;fill-rule:nonzero;stroke:#939593;stroke-width:0.26458332;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-opacity:1"
+ id="path5197"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 117.99124,83.523774 c 0.008,1.490954 1.19741,2.681544 2.68812,2.688113 1.48362,-0.004 2.68482,-1.202969 2.6828,-2.688113 -0.001,-1.482617 -1.20145,-2.678765 -2.6828,-2.682807 -1.48868,0.0063 -2.67751,1.193622 -2.68812,2.682807"
+ style="opacity:1;vector-effect:none;fill:#555555;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path5205"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path5219"
+ style="fill:#555555;fill-opacity:1;stroke:#3b3b3b;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-opacity:1"
+ d="m 118.58505,83.524254 c 0.006,1.161792 0.93216,2.088649 2.0937,2.093701 1.15573,-0.0033 2.09092,-0.936709 2.08966,-2.093701 -7.6e-4,-1.154971 -0.93621,-2.086375 -2.08966,-2.089407 -1.15952,0.0051 -2.08562,0.929636 -2.0937,2.089407 z" />
+ <path
+ d="m 119.24446,83.524987 c 0.004,0.795242 0.63836,1.430072 1.43361,1.433609 0.79145,-0.0025 1.43184,-0.641398 1.43083,-1.433609 -5.1e-4,-0.790949 -0.64064,-1.42881 -1.43083,-1.430831 -0.79398,0.0035 -1.42805,0.636598 -1.43361,1.430831"
+ style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path5209"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan1PBlue.svg b/res/ComponentLibrary/Rogan1PBlue.svg
new file mode 100644
index 00000000..9b3f95a6
--- /dev/null
+++ b/res/ComponentLibrary/Rogan1PBlue.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.2020836mm"
+ height="8.20224mm"
+ viewBox="0 0 8.2020836 8.20224"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan1PBlue.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-173.64285"
+ inkscape:cy="-160.77948"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-140.05908,-125.30579)">
+ <g
+ id="g2800"
+ transform="matrix(0.26121285,0,0,-0.26121285,-165.63837,785.20787)"
+ style="stroke-width:1.35053766">
+ <g
+ transform="translate(1201.7002,2510.5996)"
+ id="g5145"
+ style="stroke-width:1.35053766">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5147"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="m 0,0 c 0,-8.67 -7.03,-15.7 -15.7,-15.7 -8.67,0 -15.7,7.03 -15.7,15.7 0,8.67 7.03,15.7 15.7,15.7 C -7.03,15.7 0,8.67 0,0" />
+ </g>
+ <g
+ transform="translate(1197.2002,2510.6006)"
+ id="g5153"
+ style="stroke-width:1.35053766">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5155"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="m 0,0 c 0,-6.186 -5.014,-11.2 -11.2,-11.2 -6.184,0 -11.2,5.014 -11.2,11.2 0,6.185 5.016,11.198 11.2,11.198 C -5.014,11.198 0,6.185 0,0" />
+ </g>
+ <g
+ transform="translate(1188,2526.1582)"
+ id="g5157"
+ style="stroke-width:1.35053766">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5159"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="M 0,0 C -0.656,0.084 -1.321,0.142 -2,0.142 -2.679,0.142 -3.344,0.084 -4,0 v -4.823 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan1PGreen.svg b/res/ComponentLibrary/Rogan1PGreen.svg
new file mode 100644
index 00000000..6ed17a70
--- /dev/null
+++ b/res/ComponentLibrary/Rogan1PGreen.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.2020836mm"
+ height="8.20224mm"
+ viewBox="0 0 8.2020836 8.20224"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan1PGreen.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-379.78574"
+ inkscape:cy="-72.636041"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-194.60105,-148.62707)">
+ <g
+ id="g2816"
+ transform="matrix(0.26121285,0,0,-0.26121285,-111.0964,766.73509)"
+ style="stroke-width:1.35053766">
+ <g
+ transform="translate(1201.7002,2350.5996)"
+ id="g5113"
+ style="stroke-width:1.35053766">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5115"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="m 0,0 c 0,-8.67 -7.03,-15.7 -15.7,-15.7 -8.67,0 -15.7,7.03 -15.7,15.7 0,8.67 7.03,15.7 15.7,15.7 C -7.03,15.7 0,8.67 0,0" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.35053766"
+ transform="translate(1197.2002,2350.6006)"
+ id="g5121">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5123"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="m 0,0 c 0,-6.186 -5.014,-11.2 -11.2,-11.2 -6.184,0 -11.2,5.014 -11.2,11.2 0,6.185 5.016,11.198 11.2,11.198 C -5.014,11.198 0,6.185 0,0" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.35053766"
+ transform="translate(1188,2366.1582)"
+ id="g5125">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5127"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="M 0,0 C -0.656,0.084 -1.321,0.142 -2,0.142 -2.679,0.142 -3.344,0.084 -4,0 v -4.823 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan1PRed.svg b/res/ComponentLibrary/Rogan1PRed.svg
new file mode 100644
index 00000000..c7af5da6
--- /dev/null
+++ b/res/ComponentLibrary/Rogan1PRed.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.2020836mm"
+ height="8.20224mm"
+ viewBox="0 0 8.2020836 8.20224"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan1PRed.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-241.00001"
+ inkscape:cy="-250.99346"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-157.88066,-101.43667)">
+ <g
+ id="g2808"
+ transform="matrix(0.26121285,0,0,-0.26121285,-147.81679,740.44172)"
+ style="stroke-width:1.35053766">
+ <g
+ transform="translate(1201.7002,2430.5996)"
+ id="g5129"
+ style="stroke-width:1.35053766">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5131"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="m 0,0 c 0,-8.67 -7.03,-15.7 -15.7,-15.7 -8.67,0 -15.7,7.03 -15.7,15.7 0,8.67 7.03,15.7 15.7,15.7 C -7.03,15.7 0,8.67 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.35053766"
+ transform="translate(1197.2002,2430.6006)"
+ id="g5137">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5139"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="m 0,0 c 0,-6.186 -5.014,-11.2 -11.2,-11.2 -6.184,0 -11.2,5.014 -11.2,11.2 0,6.185 5.016,11.198 11.2,11.198 C -5.014,11.198 0,6.185 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.35053766"
+ transform="translate(1188,2446.1582)"
+ id="g5141">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5143"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="M 0,0 C -0.656,0.084 -1.321,0.142 -2,0.142 -2.679,0.142 -3.344,0.084 -4,0 v -4.823 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan1PSBlue.svg b/res/ComponentLibrary/Rogan1PSBlue.svg
new file mode 100644
index 00000000..47cb6727
--- /dev/null
+++ b/res/ComponentLibrary/Rogan1PSBlue.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="10.583333mm"
+ height="10.583333mm"
+ viewBox="0 0 10.583333 10.583333"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan1PSBlue.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="128.00001"
+ inkscape:cy="-39.136957"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-60.249403,-155.10929)">
+ <g
+ id="g2864"
+ transform="matrix(0.26667674,0,0,-0.26667674,-225.13495,829.97964)"
+ style="stroke-width:1.32286668">
+ <g
+ transform="translate(1109.8369,2510.8252)"
+ id="g5097"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5099"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="m 0,0 c 0,-10.958 -8.885,-19.843 -19.843,-19.843 -10.958,0 -19.843,8.885 -19.843,19.843 0,10.958 8.885,19.842 19.843,19.842 C -8.885,19.842 0,10.958 0,0" />
+ </g>
+ <g
+ transform="translate(1101.1939,2510.8262)"
+ id="g5101"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5103"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="m 0,0 c 0,-6.186 -5.014,-11.201 -11.2,-11.201 -6.184,0 -11.2,5.015 -11.2,11.201 0,6.185 5.016,11.198 11.2,11.198 C -5.014,11.198 0,6.185 0,0" />
+ </g>
+ <g
+ transform="translate(1105.6939,2510.8247)"
+ id="g5105"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5107"
+ style="fill:none;stroke:#666666;stroke-width:0.88102919;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-8.671 -7.03,-15.7 -15.7,-15.7 -8.67,0 -15.7,7.029 -15.7,15.7 0,8.67 7.03,15.7 15.7,15.7 C -7.03,15.7 0,8.67 0,0 Z" />
+ </g>
+ <g
+ transform="translate(1091.8027,2530.5762)"
+ id="g5109"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5111"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="M 0,0 C -0.597,0.054 -1.198,0.092 -1.809,0.092 -2.55,0.092 -3.279,0.043 -4,-0.036 v -8.98 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan1PSGreen.svg b/res/ComponentLibrary/Rogan1PSGreen.svg
new file mode 100644
index 00000000..1825fb66
--- /dev/null
+++ b/res/ComponentLibrary/Rogan1PSGreen.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="10.583333mm"
+ height="10.583333mm"
+ viewBox="0 0 10.583333 10.583333"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan1PSGreen.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-435.42861"
+ inkscape:cy="-179.70717"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-209.32322,-117.91674)">
+ <g
+ id="g2844"
+ transform="matrix(0.26667674,0,0,-0.26667674,-76.061131,750.11881)"
+ style="stroke-width:1.32286668">
+ <g
+ transform="translate(1109.8369,2350.8252)"
+ id="g5065"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5067"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="m 0,0 c 0,-10.958 -8.885,-19.843 -19.843,-19.843 -10.958,0 -19.843,8.885 -19.843,19.843 0,10.958 8.885,19.842 19.843,19.842 C -8.885,19.842 0,10.958 0,0" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.32286668"
+ transform="translate(1101.1939,2350.8262)"
+ id="g5069">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5071"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="m 0,0 c 0,-6.186 -5.014,-11.201 -11.2,-11.201 -6.184,0 -11.2,5.015 -11.2,11.201 0,6.185 5.016,11.198 11.2,11.198 C -5.014,11.198 0,6.185 0,0" />
+ </g>
+ <g
+ transform="translate(1105.6939,2350.8247)"
+ id="g5073"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5075"
+ style="fill:none;stroke:#666666;stroke-width:0.88102919;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-8.671 -7.03,-15.7 -15.7,-15.7 -8.67,0 -15.7,7.029 -15.7,15.7 0,8.67 7.03,15.7 15.7,15.7 C -7.03,15.7 0,8.67 0,0 Z" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.32286668"
+ transform="translate(1091.8027,2370.5762)"
+ id="g5077">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5079"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="M 0,0 C -0.597,0.054 -1.198,0.092 -1.809,0.092 -2.55,0.092 -3.279,0.043 -4,-0.036 v -8.98 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan1PSRed.svg b/res/ComponentLibrary/Rogan1PSRed.svg
new file mode 100644
index 00000000..ed946dba
--- /dev/null
+++ b/res/ComponentLibrary/Rogan1PSRed.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="10.583333mm"
+ height="10.583333mm"
+ viewBox="0 0 10.583333 10.583333"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan1PSRed.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-546.28571"
+ inkscape:cy="-276.27981"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-238.65417,-92.365244)">
+ <g
+ id="g2854"
+ transform="matrix(0.26667674,0,0,-0.26667674,-46.730188,745.90145)"
+ style="stroke-width:1.32286668">
+ <g
+ transform="translate(1109.8369,2430.8252)"
+ id="g5081"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5083"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="m 0,0 c 0,-10.958 -8.885,-19.843 -19.843,-19.843 -10.958,0 -19.843,8.885 -19.843,19.843 0,10.958 8.885,19.842 19.843,19.842 C -8.885,19.842 0,10.958 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.32286668"
+ transform="translate(1101.1939,2430.8262)"
+ id="g5085">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5087"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="m 0,0 c 0,-6.186 -5.014,-11.201 -11.2,-11.201 -6.184,0 -11.2,5.015 -11.2,11.201 0,6.185 5.016,11.198 11.2,11.198 C -5.014,11.198 0,6.185 0,0" />
+ </g>
+ <g
+ transform="translate(1105.6939,2430.8247)"
+ id="g5089"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5091"
+ style="fill:none;stroke:#666666;stroke-width:0.88102919;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-8.671 -7.03,-15.7 -15.7,-15.7 -8.67,0 -15.7,7.029 -15.7,15.7 0,8.67 7.03,15.7 15.7,15.7 C -7.03,15.7 0,8.67 0,0 Z" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.32286668"
+ transform="translate(1091.8027,2450.5762)"
+ id="g5093">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5095"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="M 0,0 C -0.597,0.054 -1.198,0.092 -1.809,0.092 -2.55,0.092 -3.279,0.043 -4,-0.036 v -8.98 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan1PSWhite.svg b/res/ComponentLibrary/Rogan1PSWhite.svg
new file mode 100644
index 00000000..357607ec
--- /dev/null
+++ b/res/ComponentLibrary/Rogan1PSWhite.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="10.583333mm"
+ height="10.583333mm"
+ viewBox="0 0 10.583333 10.583333"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan1PSWhite.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="150.85713"
+ inkscape:cy="-53.422647"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-54.201793,-151.32953)">
+ <g
+ id="g2834"
+ transform="matrix(0.26667674,0,0,-0.26667674,-231.18256,762.19746)"
+ style="stroke-width:1.32286668">
+ <g
+ transform="translate(1109.8369,2270.8252)"
+ id="g4865"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4867"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="m 0,0 c 0,-10.958 -8.885,-19.843 -19.843,-19.843 -10.958,0 -19.843,8.885 -19.843,19.843 0,10.958 8.885,19.842 19.843,19.842 C -8.885,19.842 0,10.958 0,0" />
+ </g>
+ <g
+ transform="translate(1101.1939,2270.8262)"
+ id="g4869"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4871"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="m 0,0 c 0,-6.186 -5.014,-11.201 -11.2,-11.201 -6.184,0 -11.2,5.015 -11.2,11.201 0,6.185 5.016,11.198 11.2,11.198 C -5.014,11.198 0,6.185 0,0" />
+ </g>
+ <g
+ transform="translate(1105.6939,2270.8247)"
+ id="g4873"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4875"
+ style="fill:none;stroke:#666666;stroke-width:0.88102919;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-8.671 -7.03,-15.7 -15.7,-15.7 -8.67,0 -15.7,7.029 -15.7,15.7 0,8.67 7.03,15.7 15.7,15.7 C -7.03,15.7 0,8.67 0,0 Z" />
+ </g>
+ <g
+ transform="translate(1091.8027,2290.5762)"
+ id="g4877"
+ style="stroke-width:1.32286668">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4879"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32286668"
+ d="M 0,0 C -0.597,0.054 -1.198,0.092 -1.809,0.092 -2.55,0.092 -3.279,0.043 -4,-0.036 v -8.98 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan1PWhite.svg b/res/ComponentLibrary/Rogan1PWhite.svg
new file mode 100644
index 00000000..a1b5015c
--- /dev/null
+++ b/res/ComponentLibrary/Rogan1PWhite.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.2020836mm"
+ height="8.20224mm"
+ viewBox="0 0 8.2020836 8.20224"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan1PWhite.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-218.57146"
+ inkscape:cy="-45.707176"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-151.94644,-155.752)">
+ <g
+ id="g2824"
+ transform="matrix(0.26121285,0,0,-0.26121285,-153.75101,752.96299)"
+ style="stroke-width:1.35053766">
+ <g
+ transform="translate(1201.7002,2270.5996)"
+ id="g4881"
+ style="stroke-width:1.35053766">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4883"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="m 0,0 c 0,-8.67 -7.03,-15.7 -15.7,-15.7 -8.67,0 -15.7,7.03 -15.7,15.7 0,8.67 7.03,15.7 15.7,15.7 C -7.03,15.7 0,8.67 0,0" />
+ </g>
+ <g
+ transform="translate(1197.2002,2270.6006)"
+ id="g4889"
+ style="stroke-width:1.35053766">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4891"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="m 0,0 c 0,-6.186 -5.014,-11.2 -11.2,-11.2 -6.184,0 -11.2,5.014 -11.2,11.2 0,6.185 5.016,11.198 11.2,11.198 C -5.014,11.198 0,6.185 0,0" />
+ </g>
+ <g
+ transform="translate(1188,2286.1582)"
+ id="g4893"
+ style="stroke-width:1.35053766">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4895"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.35053766"
+ d="M 0,0 C -0.656,0.084 -1.321,0.142 -2,0.142 -2.679,0.142 -3.344,0.084 -4,0 v -4.823 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2PBlue.svg b/res/ComponentLibrary/Rogan2PBlue.svg
new file mode 100644
index 00000000..1ba93867
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2PBlue.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.9958334mm"
+ height="8.9957018mm"
+ viewBox="0 0 8.9958336 8.9957016"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan2PBlue.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-465.85716"
+ inkscape:cy="-467.27904"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-217.37411,-43.417668)">
+ <g
+ id="g2872"
+ transform="matrix(0.26230743,0,0,-0.26230743,-38.478849,706.52369)"
+ style="stroke-width:1.34490192">
+ <g
+ transform="translate(1009.6885,2510.8252)"
+ id="g5053"
+ style="stroke-width:1.34490192">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5055"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="m 0,0 c 0,-9.471 -7.678,-17.147 -17.147,-17.147 -9.47,0 -17.148,7.676 -17.148,17.147 0,9.47 7.678,17.147 17.148,17.147 C -7.678,17.147 0,9.47 0,0" />
+ </g>
+ <g
+ transform="translate(1004.7735,2510.8257)"
+ id="g5057"
+ style="stroke-width:1.34490192">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5059"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="m 0,0 c 0,-6.755 -5.476,-12.232 -12.232,-12.232 -6.754,0 -12.233,5.477 -12.233,12.232 0,6.755 5.479,12.231 12.233,12.231 C -5.476,12.231 0,6.755 0,0" />
+ </g>
+ <g
+ transform="translate(994.541,2527.8457)"
+ id="g5061"
+ style="stroke-width:1.34490192">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5063"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="M 0,0 C -0.657,0.077 -1.322,0.127 -2,0.127 -2.678,0.127 -3.343,0.077 -4,0 v -5.388 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2PGreen.svg b/res/ComponentLibrary/Rogan2PGreen.svg
new file mode 100644
index 00000000..648bdcbc
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2PGreen.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.9958334mm"
+ height="8.9957018mm"
+ viewBox="0 0 8.9958336 8.9957016"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan2PGreen.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-260.42857"
+ inkscape:cy="-73.279536"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-163.02113,-147.66337)">
+ <g
+ id="g2888"
+ transform="matrix(0.26230743,0,0,-0.26230743,-92.831834,768.8002)"
+ style="stroke-width:1.34490192">
+ <g
+ transform="translate(1009.6885,2350.8252)"
+ id="g5029"
+ style="stroke-width:1.34490192">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5031"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="m 0,0 c 0,-9.471 -7.678,-17.147 -17.147,-17.147 -9.47,0 -17.148,7.676 -17.148,17.147 0,9.47 7.678,17.147 17.148,17.147 C -7.678,17.147 0,9.47 0,0" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.34490192"
+ transform="translate(1004.7735,2350.8257)"
+ id="g5033">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5035"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="m 0,0 c 0,-6.755 -5.476,-12.232 -12.232,-12.232 -6.754,0 -12.233,5.477 -12.233,12.232 0,6.755 5.479,12.231 12.233,12.231 C -5.476,12.231 0,6.755 0,0" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.34490192"
+ transform="translate(994.541,2367.8457)"
+ id="g5037">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5039"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="M 0,0 C -0.657,0.077 -1.322,0.127 -2,0.127 -2.678,0.127 -3.343,0.077 -4,0 v -5.388 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2PRed.svg b/res/ComponentLibrary/Rogan2PRed.svg
new file mode 100644
index 00000000..e9bf55d3
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2PRed.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8.9958334mm"
+ height="8.9957018mm"
+ viewBox="0 0 8.9958336 8.9957016"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan2PRed.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-211.71429"
+ inkscape:cy="-95.993579"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-150.13214,-141.65361)">
+ <g
+ id="g2880"
+ transform="matrix(0.26230743,0,0,-0.26230743,-105.72082,783.77504)"
+ style="stroke-width:1.34490192">
+ <g
+ transform="translate(1009.6885,2430.8252)"
+ id="g5041"
+ style="stroke-width:1.34490192">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5043"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="m 0,0 c 0,-9.471 -7.678,-17.147 -17.147,-17.147 -9.47,0 -17.148,7.676 -17.148,17.147 0,9.47 7.678,17.147 17.148,17.147 C -7.678,17.147 0,9.47 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.34490192"
+ transform="translate(1004.7735,2430.8257)"
+ id="g5045">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5047"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="m 0,0 c 0,-6.755 -5.476,-12.232 -12.232,-12.232 -6.754,0 -12.233,5.477 -12.233,12.232 0,6.755 5.479,12.231 12.233,12.231 C -5.476,12.231 0,6.755 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.34490192"
+ transform="translate(994.541,2447.8457)"
+ id="g5049">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5051"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34490192"
+ d="M 0,0 C -0.657,0.077 -1.322,0.127 -2,0.127 -2.678,0.127 -3.343,0.077 -4,0 v -5.388 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2PSBlue.svg b/res/ComponentLibrary/Rogan2PSBlue.svg
new file mode 100644
index 00000000..bc5167c1
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2PSBlue.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.377084mm"
+ height="11.377136mm"
+ viewBox="0 0 11.377084 11.377136"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan2PSBlue.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-233.07144"
+ inkscape:cy="-174.4934"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-155.78289,-118.50243)">
+ <g
+ id="g2936"
+ transform="matrix(0.26248347,0,0,-0.26248347,-72.994212,783.24114)"
+ style="stroke-width:1.34399998">
+ <g
+ transform="translate(914.9307,2510.8252)"
+ id="g5013"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5015"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-11.968 -9.704,-21.672 -21.672,-21.672 -11.968,0 -21.672,9.704 -21.672,21.672 0,11.969 9.704,21.671 21.672,21.671 C -9.704,21.671 0,11.969 0,0" />
+ </g>
+ <g
+ transform="translate(910.4062,2510.8247)"
+ id="g5017"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5019"
+ style="fill:none;stroke:#666666;stroke-width:0.89510399;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-9.471 -7.678,-17.147 -17.147,-17.147 -9.47,0 -17.148,7.676 -17.148,17.147 0,9.47 7.678,17.147 17.148,17.147 C -7.678,17.147 0,9.47 0,0 Z" />
+ </g>
+ <g
+ transform="translate(905.4912,2510.8252)"
+ id="g5021"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5023"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-6.755 -5.476,-12.232 -12.232,-12.232 -6.754,0 -12.233,5.477 -12.233,12.232 0,6.755 5.479,12.231 12.233,12.231 C -5.476,12.231 0,6.755 0,0" />
+ </g>
+ <g
+ transform="translate(895.2588,2532.4014)"
+ id="g5025"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5027"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="M 0,0 C -0.659,0.061 -1.326,0.096 -2,0.096 -2.675,0.096 -3.342,0.061 -4,0 v -9.943 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2PSGreen.svg b/res/ComponentLibrary/Rogan2PSGreen.svg
new file mode 100644
index 00000000..bbc79a00
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2PSGreen.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.377084mm"
+ height="11.377136mm"
+ viewBox="0 0 11.377084 11.377136"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan2PSGreen.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-548.21432"
+ inkscape:cy="-183.92137"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-239.16444,-116.00793)">
+ <g
+ id="g2916"
+ transform="matrix(0.26248347,0,0,-0.26248347,10.387339,738.74928)"
+ style="stroke-width:1.34399998">
+ <g
+ transform="translate(914.9307,2350.8252)"
+ id="g4981"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4983"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-11.968 -9.704,-21.672 -21.672,-21.672 -11.968,0 -21.672,9.704 -21.672,21.672 0,11.969 9.704,21.671 21.672,21.671 C -9.704,21.671 0,11.969 0,0" />
+ </g>
+ <g
+ transform="translate(910.4062,2350.8247)"
+ id="g4985"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4987"
+ style="fill:none;stroke:#666666;stroke-width:0.89510399;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-9.471 -7.678,-17.147 -17.147,-17.147 -9.47,0 -17.148,7.676 -17.148,17.147 0,9.47 7.678,17.147 17.148,17.147 C -7.678,17.147 0,9.47 0,0 Z" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.34399998"
+ transform="translate(905.4912,2350.8252)"
+ id="g4989">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4991"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-6.755 -5.476,-12.232 -12.232,-12.232 -6.754,0 -12.233,5.477 -12.233,12.232 0,6.755 5.479,12.231 12.233,12.231 C -5.476,12.231 0,6.755 0,0" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.34399998"
+ transform="translate(895.2588,2372.4014)"
+ id="g4993">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4995"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="M 0,0 C -0.659,0.061 -1.326,0.096 -2,0.096 -2.675,0.096 -3.342,0.061 -4,0 v -9.943 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2PSRed.svg b/res/ComponentLibrary/Rogan2PSRed.svg
new file mode 100644
index 00000000..60abaa08
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2PSRed.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.377084mm"
+ height="11.377136mm"
+ viewBox="0 0 11.377084 11.377136"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan2PSRed.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-294.42859"
+ inkscape:cy="-332.99329"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-172.01697,-76.566002)">
+ <g
+ id="g2926"
+ transform="matrix(0.26248347,0,0,-0.26248347,-56.760134,720.30603)"
+ style="stroke-width:1.34399998">
+ <g
+ transform="translate(914.9307,2430.8252)"
+ id="g4997"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4999"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-11.968 -9.704,-21.672 -21.672,-21.672 -11.968,0 -21.672,9.704 -21.672,21.672 0,11.969 9.704,21.671 21.672,21.671 C -9.704,21.671 0,11.969 0,0" />
+ </g>
+ <g
+ transform="translate(910.4062,2430.8247)"
+ id="g5001"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5003"
+ style="fill:none;stroke:#666666;stroke-width:0.89510399;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-9.471 -7.678,-17.147 -17.147,-17.147 -9.47,0 -17.148,7.676 -17.148,17.147 0,9.47 7.678,17.147 17.148,17.147 C -7.678,17.147 0,9.47 0,0 Z" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.34399998"
+ transform="translate(905.4912,2430.8252)"
+ id="g5005">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5007"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-6.755 -5.476,-12.232 -12.232,-12.232 -6.754,0 -12.233,5.477 -12.233,12.232 0,6.755 5.479,12.231 12.233,12.231 C -5.476,12.231 0,6.755 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.34399998"
+ transform="translate(895.2588,2452.4014)"
+ id="g5009">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5011"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="M 0,0 C -0.659,0.061 -1.326,0.096 -2,0.096 -2.675,0.096 -3.342,0.061 -4,0 v -9.943 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2PSWhite.svg b/res/ComponentLibrary/Rogan2PSWhite.svg
new file mode 100644
index 00000000..35905996
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2PSWhite.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.377084mm"
+ height="11.377136mm"
+ viewBox="0 0 11.377084 11.377136"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan2PSWhite.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-302.85716"
+ inkscape:cy="-21.421643"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-174.24703,-159.00267)">
+ <g
+ id="g2906"
+ transform="matrix(0.26248347,0,0,-0.26248347,-54.530071,760.74534)"
+ style="stroke-width:1.34399998">
+ <g
+ transform="translate(914.9307,2270.8252)"
+ id="g4837"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4839"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-11.968 -9.704,-21.672 -21.672,-21.672 -11.968,0 -21.672,9.704 -21.672,21.672 0,11.969 9.704,21.671 21.672,21.671 C -9.704,21.671 0,11.969 0,0" />
+ </g>
+ <g
+ transform="translate(910.4062,2270.8247)"
+ id="g4841"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4843"
+ style="fill:none;stroke:#666666;stroke-width:0.89510399;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-9.471 -7.678,-17.147 -17.147,-17.147 -9.47,0 -17.148,7.676 -17.148,17.147 0,9.47 7.678,17.147 17.148,17.147 C -7.678,17.147 0,9.47 0,0 Z" />
+ </g>
+ <g
+ transform="translate(905.4912,2271.0039)"
+ id="g4845"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4847"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,-0.1787 c 0,-6.755 -5.476,-12.232 -12.232,-12.232 -6.754,0 -12.233,5.477 -12.233,12.232 0,6.755 5.479,12.231 12.233,12.231 C -5.476,12.0523 0,6.5763 0,-0.1787" />
+ </g>
+ <g
+ transform="translate(895.2588,2292.4014)"
+ id="g4849"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4851"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="M 0,0 C -0.659,0.061 -1.326,0.096 -2,0.096 -2.675,0.096 -3.342,0.061 -4,0 v -9.943 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2PWhite.svg b/res/ComponentLibrary/Rogan2PWhite.svg
new file mode 100644
index 00000000..86eb8354
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2PWhite.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="34.295px" height="34.295px" viewBox="0 0 34.295 34.295" enable-background="new 0 0 34.295 34.295" xml:space="preserve">
+<path d="M34.295,17.147c0,9.472-7.679,17.147-17.147,17.147C7.678,34.295,0,26.619,0,17.147C0,7.678,7.678,0,17.148,0
+ C26.617,0,34.295,7.678,34.295,17.147"/>
+<path fill="#FFFFFF" d="M29.379,17.146c0,6.756-5.476,12.232-12.231,12.232c-6.755,0-12.233-5.477-12.233-12.232
+ c0-6.754,5.478-12.23,12.233-12.23C23.904,4.916,29.379,10.393,29.379,17.146"/>
+<path fill="#FFFFFF" d="M19.147,0.127C18.491,0.05,17.825,0,17.147,0s-1.342,0.05-2,0.127v5.389h4V0.127z"/>
+</svg>
diff --git a/res/ComponentLibrary/Rogan2SGray.svg b/res/ComponentLibrary/Rogan2SGray.svg
new file mode 100644
index 00000000..297b55b6
--- /dev/null
+++ b/res/ComponentLibrary/Rogan2SGray.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.377084mm"
+ height="11.377346mm"
+ viewBox="0 0 11.377084 11.377346"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan2SGray.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-37.428587"
+ inkscape:cy="-24.564931"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-104.01905,-158.1708)">
+ <g
+ id="g2989"
+ transform="matrix(0.26248347,0,0,-0.26248347,-97.510246,759.91342)"
+ style="stroke-width:1.34399998">
+ <g
+ transform="translate(811.123,2270.8252)"
+ id="g4741"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4743"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-11.968 -9.704,-21.673 -21.672,-21.673 -11.968,0 -21.672,9.705 -21.672,21.673 0,11.968 9.704,21.672 21.672,21.672 C -9.704,21.672 0,11.968 0,0" />
+ </g>
+ <g
+ transform="translate(801.6835,2270.8257)"
+ id="g4745"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4747"
+ style="fill:#555555;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34399998"
+ d="m 0,0 c 0,-6.755 -5.476,-12.232 -12.232,-12.232 -6.754,0 -12.233,5.477 -12.233,12.232 0,6.755 5.479,12.23 12.233,12.23 C -5.476,12.23 0,6.755 0,0" />
+ </g>
+ <g
+ transform="translate(806.5985,2270.8257)"
+ id="g4749"
+ style="stroke-width:1.34399998">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4751"
+ style="fill:none;stroke:#666666;stroke-width:0.89510399;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-9.471 -7.678,-17.148 -17.147,-17.148 -9.47,0 -17.148,7.677 -17.148,17.148 0,9.469 7.678,17.146 17.148,17.146 C -7.678,17.146 0,9.469 0,0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan3PBlue.svg b/res/ComponentLibrary/Rogan3PBlue.svg
new file mode 100644
index 00000000..a2e51b71
--- /dev/null
+++ b/res/ComponentLibrary/Rogan3PBlue.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.1125mm"
+ height="11.112846mm"
+ viewBox="0 0 11.1125 11.112846"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan3PBlue.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="146.64283"
+ inkscape:cy="-131.92454"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-55.316822,-130.02973)">
+ <g
+ id="g2944"
+ transform="matrix(0.26609119,0,0,-0.26609119,-121.78134,803.69453)"
+ style="stroke-width:1.32577777">
+ <g
+ transform="translate(707.3164,2510.8252)"
+ id="g4969"
+ style="stroke-width:1.32577777">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4971"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="m 0,0 c 0,-11.532 -9.349,-20.882 -20.882,-20.882 -11.531,0 -20.88,9.35 -20.88,20.882 0,11.532 9.349,20.881 20.88,20.881 C -9.349,20.881 0,11.532 0,0" />
+ </g>
+ <g
+ transform="translate(700.5149,2510.8257)"
+ id="g4973"
+ style="stroke-width:1.32577777">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4975"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="m 0,0 c 0,-7.775 -6.302,-14.081 -14.081,-14.081 -7.773,0 -14.078,6.306 -14.078,14.081 0,7.774 6.305,14.079 14.078,14.079 C -6.302,14.079 0,7.774 0,0" />
+ </g>
+ <g
+ transform="translate(688.4355,2531.6045)"
+ id="g4977"
+ style="stroke-width:1.32577777">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4979"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="M 0,0 C -0.659,0.062 -1.325,0.102 -2.001,0.102 -2.676,0.102 -3.341,0.062 -4,0 v -7.062 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan3PGreen.svg b/res/ComponentLibrary/Rogan3PGreen.svg
new file mode 100644
index 00000000..c678501f
--- /dev/null
+++ b/res/ComponentLibrary/Rogan3PGreen.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.1125mm"
+ height="11.112846mm"
+ viewBox="0 0 11.1125 11.112846"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan3PGreen.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="0.071414723"
+ inkscape:cy="-69.923229"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-94.097175,-146.43425)">
+ <g
+ id="g2960"
+ transform="matrix(0.26609119,0,0,-0.26609119,-83.000987,777.52445)"
+ style="stroke-width:1.32577777">
+ <g
+ transform="translate(707.3164,2350.8252)"
+ id="g4945"
+ style="stroke-width:1.32577777">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4947"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="m 0,0 c 0,-11.532 -9.349,-20.882 -20.882,-20.882 -11.531,0 -20.88,9.35 -20.88,20.882 0,11.532 9.349,20.881 20.88,20.881 C -9.349,20.881 0,11.532 0,0" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.32577777"
+ transform="translate(700.5149,2350.8257)"
+ id="g4949">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4951"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="m 0,0 c 0,-7.775 -6.302,-14.081 -14.081,-14.081 -7.773,0 -14.078,6.306 -14.078,14.081 0,7.774 6.305,14.079 14.078,14.079 C -6.302,14.079 0,7.774 0,0" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.32577777"
+ transform="translate(688.4355,2371.6045)"
+ id="g4953">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4955"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="M 0,0 C -0.659,0.062 -1.325,0.102 -2.001,0.102 -2.676,0.102 -3.341,0.062 -4,0 v -7.062 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan3PRed.svg b/res/ComponentLibrary/Rogan3PRed.svg
new file mode 100644
index 00000000..2f0d57c0
--- /dev/null
+++ b/res/ComponentLibrary/Rogan3PRed.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.1125mm"
+ height="11.112846mm"
+ viewBox="0 0 11.1125 11.112846"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan3PRed.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="67.642841"
+ inkscape:cy="-316.63818"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-76.218902,-81.15758)">
+ <g
+ id="g2952"
+ transform="matrix(0.26609119,0,0,-0.26609119,-100.87926,733.53508)"
+ style="stroke-width:1.32577777">
+ <g
+ transform="translate(707.3164,2430.8252)"
+ id="g4957"
+ style="stroke-width:1.32577777">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4959"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="m 0,0 c 0,-11.532 -9.349,-20.882 -20.882,-20.882 -11.531,0 -20.88,9.35 -20.88,20.882 0,11.532 9.349,20.881 20.88,20.881 C -9.349,20.881 0,11.532 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.32577777"
+ transform="translate(700.5149,2430.8257)"
+ id="g4961">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4963"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="m 0,0 c 0,-7.775 -6.302,-14.081 -14.081,-14.081 -7.773,0 -14.078,6.306 -14.078,14.081 0,7.774 6.305,14.079 14.078,14.079 C -6.302,14.079 0,7.774 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.32577777"
+ transform="translate(688.4355,2451.6045)"
+ id="g4965">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4967"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="M 0,0 C -0.659,0.062 -1.325,0.102 -2.001,0.102 -2.676,0.102 -3.341,0.062 -4,0 v -7.062 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan3PSBlue.svg b/res/ComponentLibrary/Rogan3PSBlue.svg
new file mode 100644
index 00000000..5d3c6068
--- /dev/null
+++ b/res/ComponentLibrary/Rogan3PSBlue.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="13.758333mm"
+ height="13.758333mm"
+ viewBox="0 0 13.758333 13.758333"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan3PSBlue.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="53.357133"
+ inkscape:cy="-216.63948"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-79.998664,-104.97009)">
+ <g
+ id="g2999"
+ transform="matrix(0.26539994,0,0,-0.26539994,-66.834331,778.22211)"
+ style="stroke-width:1.32923079">
+ <g
+ transform="translate(605.0918,2510.8252)"
+ id="g4929"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4931"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="m 0,0 c 0,-14.313 -11.606,-25.92 -25.921,-25.92 -14.312,0 -25.919,11.607 -25.919,25.92 0,14.314 11.607,25.919 25.919,25.919 C -11.606,25.919 0,14.314 0,0" />
+ </g>
+ <g
+ transform="translate(594.9033,2510.8267)"
+ id="g4933"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4935"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="m 0,0 c 0,-8.688 -7.042,-15.734 -15.733,-15.734 -8.686,0 -15.73,7.046 -15.73,15.734 0,8.687 7.044,15.73 15.73,15.73 C -7.042,15.73 0,8.687 0,0" />
+ </g>
+ <g
+ transform="translate(600.0528,2510.8252)"
+ id="g4937"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4939"
+ style="fill:none;stroke:#666666;stroke-width:0.9118523;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-11.532 -9.349,-20.882 -20.882,-20.882 -11.531,0 -20.88,9.35 -20.88,20.882 0,11.531 9.349,20.881 20.88,20.881 C -9.349,20.881 0,11.531 0,0 Z" />
+ </g>
+ <g
+ transform="translate(581.1719,2536.6602)"
+ id="g4941"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4943"
+ style="fill:#337fef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="M 0,0 C -0.661,0.051 -1.327,0.085 -2.001,0.085 -2.674,0.085 -3.339,0.051 -4,0 v -12.563 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan3PSGreen.svg b/res/ComponentLibrary/Rogan3PSGreen.svg
new file mode 100644
index 00000000..a306ec5f
--- /dev/null
+++ b/res/ComponentLibrary/Rogan3PSGreen.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="13.758333mm"
+ height="13.758333mm"
+ viewBox="0 0 13.758333 13.758333"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan3PSGreen.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-241.14289"
+ inkscape:cy="-71.135753"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-157.91846,-143.46793)">
+ <g
+ id="g3019"
+ transform="matrix(0.26539994,0,0,-0.26539994,11.08547,774.25596)"
+ style="stroke-width:1.32923079">
+ <g
+ transform="translate(605.0918,2350.8252)"
+ id="g4897"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4899"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="m 0,0 c 0,-14.313 -11.606,-25.92 -25.921,-25.92 -14.312,0 -25.919,11.607 -25.919,25.92 0,14.314 11.607,25.919 25.919,25.919 C -11.606,25.919 0,14.314 0,0" />
+ </g>
+ <g
+ transform="translate(594.9033,2350.8267)"
+ id="g4901"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4903"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="m 0,0 c 0,-8.688 -7.042,-15.734 -15.733,-15.734 -8.686,0 -15.73,7.046 -15.73,15.734 0,8.687 7.044,15.73 15.73,15.73 C -7.042,15.73 0,8.687 0,0" />
+ </g>
+ <g
+ transform="translate(600.0528,2350.8252)"
+ id="g4905"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4907"
+ style="fill:none;stroke:#666666;stroke-width:0.9118523;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-11.532 -9.349,-20.882 -20.882,-20.882 -11.531,0 -20.88,9.35 -20.88,20.882 0,11.531 9.349,20.881 20.88,20.881 C -9.349,20.881 0,11.531 0,0 Z" />
+ </g>
+ <g
+ style="fill:#00a2a8;fill-opacity:1;stroke-width:1.32923079"
+ transform="translate(581.1719,2376.6602)"
+ id="g4909">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4911"
+ style="fill:#00a2a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="M 0,0 C -0.661,0.051 -1.327,0.085 -2.001,0.085 -2.674,0.085 -3.339,0.051 -4,0 v -12.563 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan3PSRed.svg b/res/ComponentLibrary/Rogan3PSRed.svg
new file mode 100644
index 00000000..adcbef33
--- /dev/null
+++ b/res/ComponentLibrary/Rogan3PSRed.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="13.758333mm"
+ height="13.758333mm"
+ viewBox="0 0 13.758333 13.758333"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan3PSRed.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="127.92856"
+ inkscape:cy="-164.92518"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-60.268308,-118.65283)">
+ <g
+ id="g3009"
+ transform="matrix(0.26539994,0,0,-0.26539994,-86.564687,770.67286)"
+ style="stroke-width:1.32923079">
+ <g
+ transform="translate(605.0918,2430.8252)"
+ id="g4913"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4915"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="m 0,0 c 0,-14.313 -11.606,-25.92 -25.921,-25.92 -14.312,0 -25.919,11.607 -25.919,25.92 0,14.314 11.607,25.919 25.919,25.919 C -11.606,25.919 0,14.314 0,0" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.32923079"
+ transform="translate(594.9033,2430.8267)"
+ id="g4917">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4919"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="m 0,0 c 0,-8.688 -7.042,-15.734 -15.733,-15.734 -8.686,0 -15.73,7.046 -15.73,15.734 0,8.687 7.044,15.73 15.73,15.73 C -7.042,15.73 0,8.687 0,0" />
+ </g>
+ <g
+ transform="translate(600.0528,2430.8252)"
+ id="g4921"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4923"
+ style="fill:none;stroke:#666666;stroke-width:0.9118523;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-11.532 -9.349,-20.882 -20.882,-20.882 -11.531,0 -20.88,9.35 -20.88,20.882 0,11.531 9.349,20.881 20.88,20.881 C -9.349,20.881 0,11.531 0,0 Z" />
+ </g>
+ <g
+ style="fill:#db4061;fill-opacity:1;stroke-width:1.32923079"
+ transform="translate(581.1719,2456.6602)"
+ id="g4925">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4927"
+ style="fill:#db4061;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="M 0,0 C -0.661,0.051 -1.327,0.085 -2.001,0.085 -2.674,0.085 -3.339,0.051 -4,0 v -12.563 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan3PSWhite.svg b/res/ComponentLibrary/Rogan3PSWhite.svg
new file mode 100644
index 00000000..4284c76c
--- /dev/null
+++ b/res/ComponentLibrary/Rogan3PSWhite.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="13.758333mm"
+ height="13.758333mm"
+ viewBox="0 0 13.758333 13.758333"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan3PSWhite.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-31.500015"
+ inkscape:cy="-95.782349"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-102.45045,-136.94687)">
+ <g
+ id="g3029"
+ transform="matrix(0.26539994,0,0,-0.26539994,-44.382545,746.50291)"
+ style="stroke-width:1.32923079">
+ <g
+ transform="translate(605.0918,2270.8252)"
+ id="g4809"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4811"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="m 0,0 c 0,-14.313 -11.606,-25.92 -25.921,-25.92 -14.312,0 -25.919,11.607 -25.919,25.92 0,14.314 11.607,25.919 25.919,25.919 C -11.606,25.919 0,14.314 0,0" />
+ </g>
+ <g
+ transform="translate(594.9033,2270.8267)"
+ id="g4813"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4815"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="m 0,0 c 0,-8.688 -7.042,-15.734 -15.733,-15.734 -8.686,0 -15.73,7.046 -15.73,15.734 0,8.687 7.044,15.73 15.73,15.73 C -7.042,15.73 0,8.687 0,0" />
+ </g>
+ <g
+ transform="translate(600.0528,2270.8252)"
+ id="g4817"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4819"
+ style="fill:none;stroke:#666666;stroke-width:0.9118523;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-11.532 -9.349,-20.882 -20.882,-20.882 -11.531,0 -20.88,9.35 -20.88,20.882 0,11.531 9.349,20.881 20.88,20.881 C -9.349,20.881 0,11.531 0,0 Z" />
+ </g>
+ <g
+ transform="translate(581.1719,2296.6602)"
+ id="g4821"
+ style="stroke-width:1.32923079">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4823"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32923079"
+ d="M 0,0 C -0.661,0.051 -1.327,0.085 -2.001,0.085 -2.674,0.085 -3.339,0.051 -4,0 v -12.563 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan3PWhite.svg b/res/ComponentLibrary/Rogan3PWhite.svg
new file mode 100644
index 00000000..3df5d4d1
--- /dev/null
+++ b/res/ComponentLibrary/Rogan3PWhite.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.1125mm"
+ height="11.112846mm"
+ viewBox="0 0 11.1125 11.112846"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan3PWhite.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="26.7857"
+ inkscape:cy="-74.636866"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-87.02902,-145.1871)">
+ <g
+ id="g2968"
+ transform="matrix(0.26609119,0,0,-0.26609119,-90.069142,754.99001)"
+ style="stroke-width:1.32577777">
+ <g
+ transform="translate(707.3164,2270.8252)"
+ id="g4825"
+ style="stroke-width:1.32577777">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4827"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="m 0,0 c 0,-11.532 -9.349,-20.882 -20.882,-20.882 -11.531,0 -20.88,9.35 -20.88,20.882 0,11.532 9.349,20.881 20.88,20.881 C -9.349,20.881 0,11.532 0,0" />
+ </g>
+ <g
+ transform="translate(700.5149,2270.8257)"
+ id="g4829"
+ style="stroke-width:1.32577777">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4831"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="m 0,0 c 0,-7.775 -6.302,-14.081 -14.081,-14.081 -7.773,0 -14.078,6.306 -14.078,14.081 0,7.774 6.305,14.079 14.078,14.079 C -6.302,14.079 0,7.774 0,0" />
+ </g>
+ <g
+ transform="translate(688.4355,2291.6045)"
+ id="g4833"
+ style="stroke-width:1.32577777">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4835"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32577777"
+ d="M 0,0 C -0.659,0.062 -1.325,0.102 -2.001,0.102 -2.676,0.102 -3.341,0.062 -4,0 v -7.062 h 4 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan5PSGray.svg b/res/ComponentLibrary/Rogan5PSGray.svg
new file mode 100644
index 00000000..d05bf866
--- /dev/null
+++ b/res/ComponentLibrary/Rogan5PSGray.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="15.875mm"
+ height="15.875mm"
+ viewBox="0 0 15.875 15.875"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan5PSGray.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="410.21428"
+ inkscape:cy="-94.068034"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(14.419789,-135.28378)">
+ <g
+ id="g3056"
+ transform="matrix(0.26668571,0,0,-0.26668571,-129.9646,748.81778)"
+ style="stroke-width:1.32282221">
+ <g
+ transform="translate(492.7891,2270.8252)"
+ id="g4765"
+ style="stroke-width:1.32282221">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4767"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32282221"
+ d="m 0,0 c 0,-16.437 -13.325,-29.764 -29.764,-29.764 -16.435,0 -29.763,13.327 -29.763,29.764 0,16.437 13.328,29.763 29.763,29.763 C -13.325,29.763 0,16.437 0,0" />
+ </g>
+ <g
+ transform="translate(484.9946,2270.8252)"
+ id="g4769"
+ style="stroke-width:1.32282221">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4771"
+ style="fill:#555555;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32282221"
+ d="m 0,0 c 0,-12.133 -9.835,-21.969 -21.969,-21.969 -12.131,0 -21.969,9.836 -21.969,21.969 0,12.132 9.838,21.968 21.969,21.968 C -9.835,21.968 0,12.132 0,0" />
+ </g>
+ <g
+ transform="translate(489.1211,2270.8247)"
+ id="g4773"
+ style="stroke-width:1.32282221">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4775"
+ style="fill:none;stroke:#666666;stroke-width:0.66141111;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c 0,-14.412 -11.683,-26.096 -26.096,-26.096 -14.41,0 -26.095,11.684 -26.095,26.096 0,14.411 11.685,26.096 26.095,26.096 C -11.683,26.096 0,14.411 0,0 Z" />
+ </g>
+ <g
+ transform="translate(465.5254,2300.4756)"
+ id="g4777"
+ style="stroke-width:1.32282221">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4779"
+ style="fill:#555555;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32282221"
+ d="M 0,0 C -0.825,0.068 -1.657,0.112 -2.5,0.112 -3.343,0.112 -4.175,0.068 -5,0 v -10.1 h 5 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Rogan6PSWhite.svg b/res/ComponentLibrary/Rogan6PSWhite.svg
new file mode 100644
index 00000000..e6d5f0e9
--- /dev/null
+++ b/res/ComponentLibrary/Rogan6PSWhite.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="23.547916mm"
+ height="23.549713mm"
+ viewBox="0 0 23.547916 23.549713"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Rogan6PSWhite.svg">
+ <defs
+ id="defs16902" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="125.92857"
+ inkscape:cy="-184.06803"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-60.79747,-103.79657)">
+ <g
+ id="g3066"
+ transform="matrix(0.26424486,0,0,-0.26424486,-14.16478,715.62521)"
+ style="stroke-width:1.33504117">
+ <g
+ transform="translate(372.7988,2270.8184)"
+ id="g4793"
+ style="stroke-width:1.33504117">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4795"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33504117"
+ d="m 0,0 c -0.006,-24.605 -19.961,-44.559 -44.564,-44.554 -24.606,0.004 -44.555,19.964 -44.55,44.571 0.005,24.604 19.961,44.554 44.565,44.549 C -19.945,44.562 0.004,24.604 0,0" />
+ </g>
+ <g
+ transform="translate(362.2578,2270.8224)"
+ id="g4797"
+ style="stroke-width:1.33504117">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4799"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33504117"
+ d="m 0,0 c -0.004,-18.784 -15.232,-34.014 -34.021,-34.011 -18.784,0.002 -34.014,15.239 -34.011,34.023 0.003,18.784 15.24,34.005 34.022,34.003 C -15.221,34.012 0.004,18.783 0,0" />
+ </g>
+ <g
+ transform="translate(367.5463,2270.8184)"
+ id="g4801"
+ style="stroke-width:1.33504117">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4803"
+ style="fill:none;stroke:#666666;stroke-width:0.88913745;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0,0 c -0.004,-21.708 -17.605,-39.302 -39.313,-39.298 -21.707,0.004 -39.3,17.604 -39.296,39.312 0.004,21.704 17.603,39.299 39.311,39.296 C -17.592,39.306 0.004,21.704 0,0 Z" />
+ </g>
+ <g
+ transform="translate(331.0762,2315.2852)"
+ id="g4805"
+ style="stroke-width:1.33504117">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4807"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33504117"
+ d="M 0,0 C -0.936,0.059 -1.875,0.1 -2.826,0.1 -3.777,0.1 -4.718,0.059 -5.654,0 l -0.004,-23.254 5.654,-0.002 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/ScrewBlack.svg b/res/ComponentLibrary/ScrewBlack.svg
new file mode 100644
index 00000000..17ea837a
--- /dev/null
+++ b/res/ComponentLibrary/ScrewBlack.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="3.96875mm"
+ height="3.9684556mm"
+ viewBox="0 0 3.9687499 3.9684557"
+ version="1.1"
+ id="svg18800"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="ScrewBlack.svg">
+ <defs
+ id="defs18794" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="2.2043145"
+ inkscape:cy="1.4049767"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata18797">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-27.124952,-67.361781)">
+ <g
+ transform="matrix(0.29088791,0,0,-0.29088764,-116.77096,254.89349)"
+ id="g18785"
+ style="stroke-width:1.21276248">
+ <path
+ d="m 501.5,631.5 c -3.511,0 -6.367,2.855 -6.367,6.366 0,3.511 2.856,6.367 6.367,6.367 3.511,0 6.367,-2.856 6.367,-6.367 0,-3.511 -2.856,-6.366 -6.367,-6.366"
+ style="fill:#4c4c4c;fill-opacity:1;fill-rule:nonzero;stroke:#222222;stroke-width:0.90957183;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path6825"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6839"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.21276248"
+ d="m 502.281,633.741 h -1.562 v 8.25 h 1.562 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6841"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.21276248"
+ d="m 505.625,637.085 h -8.25 v 1.562 h 8.25 z" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/ScrewSilver.svg b/res/ComponentLibrary/ScrewSilver.svg
new file mode 100644
index 00000000..e85eb262
--- /dev/null
+++ b/res/ComponentLibrary/ScrewSilver.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="3.9687498mm"
+ height="3.9684591mm"
+ viewBox="0 0 3.9687497 3.9684593"
+ version="1.1"
+ id="svg18800"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="ScrewSilver.svg">
+ <defs
+ id="defs18794" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="-9.1841246"
+ inkscape:cy="0.3712724"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata18797">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-30.138143,-67.088277)">
+ <g
+ transform="matrix(0.29088789,0,0,-0.29088791,-123.69638,254.62016)"
+ id="g18792"
+ style="stroke-width:0.9844557">
+ <path
+ d="m 535.6665,631.5 c -3.511,0 -6.367,2.855 -6.367,6.366 0,3.511 2.856,6.367 6.367,6.367 3.511,0 6.367,-2.856 6.367,-6.367 0,-3.511 -2.856,-6.366 -6.367,-6.366"
+ style="fill:#bcbcbc;fill-opacity:1;fill-rule:nonzero;stroke:#acacac;stroke-width:0.90957141;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path6833"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6843"
+ style="fill:#727272;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9844557"
+ d="m 536.448,633.741 h -1.562 v 8.25 h 1.562 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path6845"
+ style="fill:#727272;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9844557"
+ d="m 539.792,637.085 h -8.25 v 1.562 h 8.25 z" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/SynthTechAlco.svg b/res/ComponentLibrary/SynthTechAlco.svg
new file mode 100644
index 00000000..d14215a1
--- /dev/null
+++ b/res/ComponentLibrary/SynthTechAlco.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="11.90625mm"
+ height="11.906144mm"
+ viewBox="0 0 11.90625 11.906144"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="SynthTechAlco.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="-37.665568"
+ inkscape:cy="-10.255897"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-239.33511,-115.62126)">
+ <g
+ transform="matrix(0.35277777,0,0,-0.35277777,-236.73602,1006.6308)"
+ id="g20060">
+ <path
+ d="m 1383.243,2508.8213 c 0,-9.3199 -7.5547,-16.8746 -16.8746,-16.8746 -9.3207,0 -16.8754,7.5547 -16.8754,16.8746 0,9.3191 7.5547,16.8746 16.8754,16.8746 9.3199,0 16.8746,-7.5555 16.8746,-16.8746"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1"
+ id="path6371"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1378.5249,2517.2922 c 0.3488,-0.455 0.6019,-1.3011 0.5628,-1.8804 l -0.1703,-2.5652 c -0.038,-0.5801 0.1567,-1.4676 0.4347,-1.9716 l 1.2099,-2.199 c 0.2772,-0.504 0.403,-1.381 0.278,-1.9467 l -0.5522,-2.5072 c -0.1243,-0.5658 -0.6027,-1.2988 -1.0615,-1.6303 l -2.0341,-1.4593 c -0.4611,-0.3315 -1.0042,-1.0426 -1.2107,-1.5836 l -0.8972,-2.3557 c -0.2049,-0.5402 -0.785,-1.1881 -1.2883,-1.4397 l -2.2427,-1.1203 c -0.5033,-0.2516 -1.3531,-0.3186 -1.8865,-0.1491 l -2.3294,0.7383 c -0.5341,0.1702 -1.408,0.1702 -1.9429,0 l -2.3641,-0.7443 c -0.5348,-0.1688 -1.3831,-0.099 -1.8864,0.1544 l -2.2104,1.115 c -0.5032,0.2524 -1.0818,0.9025 -1.289,1.4427 l -0.8965,2.3557 c -0.2056,0.541 -0.7503,1.2521 -1.2099,1.5836 l -2.0333,1.4593 c -0.4596,0.3315 -0.9379,1.0645 -1.0623,1.6318 l -0.5476,2.5057 c -0.1236,0.5657 0,1.4427 0.2795,1.9467 l 1.2106,2.199 c 0.2772,0.504 0.4731,1.3915 0.4339,1.9716 l -0.1702,2.5652 c -0.038,0.5793 0.2147,1.4261 0.5635,1.8804 l 1.5399,2.0122 c 0.3473,0.4543 1.0848,0.8988 1.6355,0.9869 l 2.407,0.3865 c 0.5523,0.088 1.3403,0.4829 1.7516,0.8754 l 1.8209,1.7388 c 0.4113,0.3925 1.2054,0.7142 1.7644,0.7142 h 2.4725 c 0.5575,0 1.3516,-0.3225 1.7621,-0.7165 l 1.7893,-1.7169 c 0.4121,-0.3947 1.1986,-0.7903 1.7508,-0.8799 l 2.4394,-0.3978 c 0.553,-0.09 1.289,-0.5356 1.6378,-0.9899 z"
+ style="fill:#101010;fill-opacity:1;stroke:#555555;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6375"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1367.6269,2525.6344 c -0.4159,0.037 -0.8347,0.062 -1.2589,0.062 -0.4234,0 -0.843,-0.025 -1.2588,-0.062 v -8.3924 h 2.5177 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1"
+ id="path6383"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 1376.1618,2508.8213 c 0,-5.4092 -4.3846,-9.7937 -9.7937,-9.7937 -5.4092,0 -9.7938,4.3845 -9.7938,9.7937 0,5.4092 4.3846,9.7937 9.7938,9.7937 5.4091,0 9.7937,-4.3845 9.7937,-9.7937"
+ style="fill:#f9f9f9;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1"
+ id="path6379"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/TL1105.svg b/res/ComponentLibrary/TL1105.svg
new file mode 100644
index 00000000..cbca2237
--- /dev/null
+++ b/res/ComponentLibrary/TL1105.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="19.66" height="19.65" version="1.1" viewBox="0 0 5.2006499 5.1995919" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <clipPath id="clipPath5989">
+ <path d="m423.3 1154h11.34v-5.84h-11.34z"/>
+ </clipPath>
+ </defs>
+ <g transform="translate(-73.78 -88.75)">
+ <g transform="matrix(.3528 0 0 -.3528 -74.94 498.4)">
+ <g transform="translate(436.3 1154)">
+ <path d="m0 0c0-4.07-3.301-7.369-7.372-7.369-4.069 0-7.37 3.299-7.37 7.369 0 4.071 3.301 7.37 7.37 7.37 4.071 0 7.372-3.299 7.372-7.37" fill="#212221"/>
+ </g>
+ <g clip-path="url(#clipPath5989)" opacity=".5">
+ <g transform="translate(428.9 1149)">
+ <path d="m0 0c-3.072 0-5.569 2.345-5.66 5.396-.001-.056-.008-.113-.008-.169 0-3.131 2.538-5.668 5.668-5.668 3.132 0 5.67 2.537 5.67 5.668 0 .056-.007.113-.008.169-.091-3.051-2.588-5.396-5.662-5.396" fill="#c1c1c1"/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/TL1105_0.svg b/res/ComponentLibrary/TL1105_0.svg
new file mode 100644
index 00000000..907ebcda
--- /dev/null
+++ b/res/ComponentLibrary/TL1105_0.svg
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="4.2333331mm"
+ height="4.2327099mm"
+ viewBox="0 0 4.2333331 4.2327099"
+ version="1.1"
+ id="svg12484"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="TL1105_0.svg">
+ <defs
+ id="defs12478" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="44.8"
+ inkscape:cx="8.5541864"
+ inkscape:cy="7.1864792"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g12430"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata12481">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-87.434409,-107.81432)">
+ <g
+ transform="matrix(0.15583204,0,0,-0.15583204,44.616575,295.36332)"
+ id="g12430"
+ style="stroke-width:2.26383328">
+ <g
+ transform="translate(301.93513,1189.951)"
+ id="g5959-5"
+ style="stroke-width:2.26383328">
+ <path
+ inkscape:connector-curvature="0"
+ id="path5961-3"
+ style="fill:#212221;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.26383328"
+ d="m 0,0 c 0,-7.5 -6.083,-13.58 -13.584,-13.58 -7.5,0 -13.582,6.08 -13.582,13.58 0,7.503 6.082,13.582 13.582,13.582 C -6.083,13.582 0,7.503 0,0" />
+ </g>
+ <circle
+ style="opacity:1;vector-effect:none;fill:#676967;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.26383328;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="circle12436"
+ cx="288.35214"
+ cy="-1190.6586"
+ r="11.277138"
+ transform="scale(1,-1)" />
+ <circle
+ transform="scale(1,-1)"
+ r="11.277138"
+ cy="-1189.952"
+ cx="288.35214"
+ id="path12411"
+ style="opacity:1;vector-effect:none;fill:#2b2d2b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.26383328;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/TL1105_1.svg b/res/ComponentLibrary/TL1105_1.svg
new file mode 100644
index 00000000..39f0d507
--- /dev/null
+++ b/res/ComponentLibrary/TL1105_1.svg
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="4.2333331mm"
+ height="4.2327099mm"
+ viewBox="0 0 4.2333331 4.2327099"
+ version="1.1"
+ id="svg12484"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="TL1105_1.svg">
+ <defs
+ id="defs12478" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="44.8"
+ inkscape:cx="12.847058"
+ inkscape:cy="8.0360204"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g12476"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata12481">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-155.97001,-114.87325)">
+ <g
+ id="g12476"
+ transform="matrix(0.15583204,0,0,-0.15583204,113.15218,302.42225)"
+ style="stroke-width:2.26383328">
+ <g
+ id="g12468"
+ transform="translate(301.93513,1189.951)"
+ style="stroke-width:2.26383328">
+ <path
+ d="m 0,0 c 0,-7.5 -6.083,-13.58 -13.584,-13.58 -7.5,0 -13.582,6.08 -13.582,13.58 0,7.503 6.082,13.582 13.582,13.582 C -6.083,13.582 0,7.503 0,0"
+ style="fill:#212221;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.26383328"
+ id="path12466"
+ inkscape:connector-curvature="0" />
+ </g>
+ <circle
+ transform="scale(1,-1)"
+ r="11.277138"
+ cy="-1189.2383"
+ cx="288.35214"
+ id="circle12472"
+ style="opacity:1;vector-effect:none;fill:#676967;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.26383328;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <circle
+ style="opacity:1;vector-effect:none;fill:#141514;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.26383328;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="circle12474"
+ cx="288.35214"
+ cy="-1189.952"
+ r="11.277138"
+ transform="scale(1,-1)" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComponentLibrary/Trimpot.svg b/res/ComponentLibrary/Trimpot.svg
new file mode 100644
index 00000000..5dd86d8d
--- /dev/null
+++ b/res/ComponentLibrary/Trimpot.svg
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="4.4979167mm"
+ height="4.4981685mm"
+ viewBox="0 0 4.4979167 4.4981684"
+ version="1.1"
+ id="svg16908"
+ inkscape:version="0.92.1 r"
+ sodipodi:docname="Trimpot.svg">
+ <defs
+ id="defs16902">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6367">
+ <path
+ d="M 0,3193 H 2089 V 0 H 0 Z"
+ id="path6365"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="-1.9345988"
+ inkscape:cy="25.730429"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="882"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata16905">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-229.8813,-132.55062)">
+ <g
+ id="g2143"
+ transform="matrix(0.25185714,0,0,-0.25185714,-113.39064,696.47606)"
+ style="stroke-width:1.40070581">
+ <g
+ transform="translate(1362.9629,2230.1377)"
+ id="g4527"
+ style="stroke-width:1.40070581">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4529"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40070581"
+ d="m 0,0 c 0,-4.931 3.999,-8.929 8.93,-8.929 4.93,0 8.929,3.998 8.929,8.929 0,4.933 -3.999,8.931 -8.929,8.931 C 3.999,8.931 0,4.933 0,0" />
+ </g>
+ <g
+ transform="translate(1372.4727,2239.0391)"
+ id="g4531"
+ style="stroke-width:1.40070581">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4533"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40070581"
+ d="M 0,0 C -0.192,0.013 -0.384,0.029 -0.579,0.029 -0.775,0.029 -0.967,0.013 -1.16,0 V -4.812 H 0 Z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/res/DejaVuSans.ttf b/res/DejaVuSans.ttf
new file mode 100644
index 00000000..9d40c325
--- /dev/null
+++ b/res/DejaVuSans.ttf
Binary files differ
diff --git a/res/LICENSE-DejaVuSans.txt b/res/LICENSE-DejaVuSans.txt
new file mode 100644
index 00000000..254e2cc4
--- /dev/null
+++ b/res/LICENSE-DejaVuSans.txt
@@ -0,0 +1,99 @@
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
+
+Bitstream Vera Fonts Copyright
+------------------------------
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute the
+Font Software, including without limitation the rights to use, copy, merge,
+publish, distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright and trademark notices and this permission notice shall
+be included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional glyphs or characters may be added to the Fonts, only if the fonts
+are renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream
+Vera" names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
+ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
+FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font Software
+without prior written authorization from the Gnome Foundation or Bitstream
+Inc., respectively. For further information, contact: fonts at gnome dot
+org.
+
+Arev Fonts Copyright
+------------------------------
+
+Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the fonts accompanying this license ("Fonts") and
+associated documentation files (the "Font Software"), to reproduce
+and distribute the modifications to the Bitstream Vera Font Software,
+including without limitation the rights to use, copy, merge, publish,
+distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be included in all copies of one or more of the Font Software
+typefaces.
+
+The Font Software may be modified, altered, or added to, and in
+particular the designs of glyphs or characters in the Fonts may be
+modified and additional glyphs or characters may be added to the
+Fonts, only if the fonts are renamed to names not containing either
+the words "Tavmjong Bah" or the word "Arev".
+
+This License becomes null and void to the extent applicable to Fonts
+or Font Software that has been modified and is distributed under the
+"Tavmjong Bah Arev" names.
+
+The Font Software may be sold as part of a larger software package but
+no copy of one or more of the Font Software typefaces may be sold by
+itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+Except as contained in this notice, the name of Tavmjong Bah shall not
+be used in advertising or otherwise to promote the sale, use or other
+dealings in this Font Software without prior written authorization
+from Tavmjong Bah. For further information, contact: tavmjong @ free
+. fr.
+
+$Id: LICENSE 2133 2007-11-28 02:46:28Z lechimp $
diff --git a/res/rails.png b/res/rails.png
new file mode 100644
index 00000000..4cc97f71
--- /dev/null
+++ b/res/rails.png
Binary files differ