summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2020-08-28 14:44:10 +0100
committerdakkar <dakkar@thenautilus.net>2020-08-28 14:44:10 +0100
commit3a8b34d8a09b3091dc1675f0287bc46533739497 (patch)
tree8d51d94d6ebb2c1abcdaf45376dd9b05aee9727b
parentlink to my re-creation of Sugihara's models (diff)
downloadthenautilus-3a8b34d8a09b3091dc1675f0287bc46533739497.tar.gz
thenautilus-3a8b34d8a09b3091dc1675f0287bc46533739497.tar.bz2
thenautilus-3a8b34d8a09b3091dc1675f0287bc46533739497.zip
lego piano
-rw-r--r--additions/modelli/lego-piano/board-full.jpgbin0 -> 3083826 bytes
-rw-r--r--additions/modelli/lego-piano/board-populated.jpgbin0 -> 1170164 bytes
-rw-r--r--additions/modelli/lego-piano/board-wired.jpgbin0 -> 988414 bytes
-rw-r--r--additions/modelli/lego-piano/board.jpgbin0 -> 2139616 bytes
-rw-r--r--additions/modelli/lego-piano/keys-hammers.mp4bin0 -> 9378106 bytes
-rw-r--r--additions/modelli/lego-piano/keys-in-place.jpgbin0 -> 1482801 bytes
-rw-r--r--additions/modelli/lego-piano/keys.jpgbin0 -> 1185543 bytes
-rw-r--r--additions/modelli/lego-piano/led-matrix-test.jpgbin0 -> 1748652 bytes
-rw-r--r--additions/modelli/lego-piano/lego-electronics.jpgbin0 -> 1737450 bytes
-rw-r--r--additions/modelli/lego-piano/lego-piano-scanner-schematic.svg2515
-rw-r--r--additions/modelli/lego-piano/piano-disassemble.jpgbin0 -> 2048096 bytes
-rw-r--r--additions/modelli/lego-piano/sensor-matrix-test.jpgbin0 -> 2323403 bytes
-rw-r--r--additions/modelli/lego-piano/sensor-mount-size-check.jpgbin0 -> 2022954 bytes
-rw-r--r--additions/modelli/lego-piano/sensor-mount-test.jpgbin0 -> 709173 bytes
-rw-r--r--additions/modelli/lego-piano/sensor-position-test-1.jpgbin0 -> 957706 bytes
-rw-r--r--additions/modelli/lego-piano/sensor-position-test-2.jpgbin0 -> 986262 bytes
-rw-r--r--additions/modelli/lego-piano/sensors-mount-wiring.jpgbin0 -> 1628446 bytes
-rw-r--r--additions/modelli/lego-piano/sensors.jpgbin0 -> 1099667 bytes
-rw-r--r--additions/modelli/lego-piano/sound-test-1.mp4bin0 -> 25171908 bytes
-rw-r--r--additions/modelli/lego-piano/sound-test-2.mp4bin0 -> 4786660 bytes
-rw-r--r--additions/modelli/lego-piano/sound-test-3.mp4bin0 -> 10024798 bytes
-rw-r--r--src/modelli/lego-piano/.gitignore2
-rw-r--r--src/modelli/lego-piano/document.en.rest.txt258
-rw-r--r--src/modelli/lego-piano/document.it.rest.txt257
l---------src/modelli/lego-piano/du2html.xsl1
25 files changed, 3033 insertions, 0 deletions
diff --git a/additions/modelli/lego-piano/board-full.jpg b/additions/modelli/lego-piano/board-full.jpg
new file mode 100644
index 0000000..3a18a44
--- /dev/null
+++ b/additions/modelli/lego-piano/board-full.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/board-populated.jpg b/additions/modelli/lego-piano/board-populated.jpg
new file mode 100644
index 0000000..f6b54e4
--- /dev/null
+++ b/additions/modelli/lego-piano/board-populated.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/board-wired.jpg b/additions/modelli/lego-piano/board-wired.jpg
new file mode 100644
index 0000000..a635d1e
--- /dev/null
+++ b/additions/modelli/lego-piano/board-wired.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/board.jpg b/additions/modelli/lego-piano/board.jpg
new file mode 100644
index 0000000..e4227ff
--- /dev/null
+++ b/additions/modelli/lego-piano/board.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/keys-hammers.mp4 b/additions/modelli/lego-piano/keys-hammers.mp4
new file mode 100644
index 0000000..293e684
--- /dev/null
+++ b/additions/modelli/lego-piano/keys-hammers.mp4
Binary files differ
diff --git a/additions/modelli/lego-piano/keys-in-place.jpg b/additions/modelli/lego-piano/keys-in-place.jpg
new file mode 100644
index 0000000..716ae41
--- /dev/null
+++ b/additions/modelli/lego-piano/keys-in-place.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/keys.jpg b/additions/modelli/lego-piano/keys.jpg
new file mode 100644
index 0000000..e03ad9c
--- /dev/null
+++ b/additions/modelli/lego-piano/keys.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/led-matrix-test.jpg b/additions/modelli/lego-piano/led-matrix-test.jpg
new file mode 100644
index 0000000..6e176b3
--- /dev/null
+++ b/additions/modelli/lego-piano/led-matrix-test.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/lego-electronics.jpg b/additions/modelli/lego-piano/lego-electronics.jpg
new file mode 100644
index 0000000..2e7d007
--- /dev/null
+++ b/additions/modelli/lego-piano/lego-electronics.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/lego-piano-scanner-schematic.svg b/additions/modelli/lego-piano/lego-piano-scanner-schematic.svg
new file mode 100644
index 0000000..63c1895
--- /dev/null
+++ b/additions/modelli/lego-piano/lego-piano-scanner-schematic.svg
@@ -0,0 +1,2515 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+ inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
+ sodipodi:docname="lego-piano-scanner-schematic.svg"
+ id="svg1226"
+ viewBox="0 0 67193.529 38909.994"
+ height="373.53592"
+ width="645.05786"
+ version="1.1">
+ <metadata
+ id="metadata1232">
+ <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>SVG Picture created as lego-piano.svg date 2020/08/28 12:25:04 </dc:title>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-nc-sa/4.0/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-nc-sa/4.0/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:requires
+ rdf:resource="http://creativecommons.org/ns#Notice" />
+ <cc:requires
+ rdf:resource="http://creativecommons.org/ns#Attribution" />
+ <cc:prohibits
+ rdf:resource="http://creativecommons.org/ns#CommercialUse" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://creativecommons.org/ns#ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs1230" />
+ <sodipodi:namedview
+ showborder="true"
+ units="px"
+ fit-margin-bottom="0"
+ fit-margin-right="0"
+ fit-margin-left="0"
+ fit-margin-top="0"
+ inkscape:current-layer="svg1226"
+ inkscape:window-maximized="0"
+ inkscape:window-y="5"
+ inkscape:window-x="0"
+ inkscape:cy="211.19993"
+ inkscape:cx="446.35201"
+ inkscape:zoom="2.1461633"
+ showgrid="false"
+ id="namedview1228"
+ inkscape:window-height="2124"
+ inkscape:window-width="3838"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0"
+ guidetolerance="10"
+ gridtolerance="10"
+ objecttolerance="10"
+ borderopacity="1"
+ bordercolor="#666666"
+ pagecolor="#ffffff" />
+ <title
+ id="title2">SVG Picture created as lego-piano.svg date 2020/08/28 12:25:04 </title>
+ <desc
+ id="desc4">Picture generated by Eeschema-SVG </desc>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g6"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g156"
+ style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g8" />
+ <g
+ id="g10"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g12"
+ style="fill:#ffffc2;fill-opacity:0;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g16"
+ style="fill:#ffffc2;fill-opacity:0.6;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path14"
+ d="m 23500,54500 h 4000 v -3000 h -4000 z"
+ style="fill:#ffffc2;fill-opacity:0.6;fill-rule:evenodd;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g18"
+ style="fill:#840000;fill-opacity:0.6;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g24"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path20"
+ d="m 23500,54500 h 4000 v -3000 h -4000 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path22"
+ d="m 24000,53250 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g64"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path26"
+ d="m 24600,51850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path28"
+ d="m 24800,51850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path30"
+ d="m 24900,51950 -50,200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path32"
+ d="m 25000,51850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path34"
+ d="m 25050,52250 -50,200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path36"
+ d="m 25200,51850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path38"
+ d="m 25400,51850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path40"
+ d="m 25600,51850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path42"
+ d="m 25800,51850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path44"
+ d="m 26000,51850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path46"
+ d="m 26150,52650 -200,-50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path48"
+ d="M 26200,51850 H 24550"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path50"
+ d="m 26300,52350 -200,-50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path52"
+ d="m 26550,53050 450,450"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path54"
+ d="m 26550,52950 450,-450"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path56"
+ d="m 24500,52350 400,-400 -200,50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path58"
+ d="m 24650,52650 400,-400 -200,50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path60"
+ d="m 25750,52250 400,400 -50,-200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path62"
+ d="m 25900,51950 400,400 -50,-200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g68"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:140;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path66"
+ d="m 26550,52600 v 800 0"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:140;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g76"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path70"
+ d="m 27000,53500 v 500 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path72"
+ d="m 27000,52500 v -500 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path74"
+ d="m 23500,54000 h 750 v -2000 h -750"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g80"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path78"
+ d="m 24250,53250 -250,-500 h 500 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g84"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path82"
+ d="m 26950,53450 -100,-200 -100,100 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g88"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path86"
+ d="m 23500,54500 h 4000 v -3000 h -4000 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g118"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path90"
+ d="M 23500,52000 H 22500" />
+ <text
+ id="text92"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="51900"
+ x="23000">1</text>
+ <path
+ id="path94"
+ d="m 23140,51870 h -290" />
+ <path
+ id="path96"
+ d="m 23000,51870 v -500 l -50,70 -50,50 -50,20" />
+ <path
+ id="path98"
+ d="M 23500,54000 H 22500" />
+ <text
+ id="text100"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="53900"
+ x="23000">2</text>
+ <path
+ id="path102"
+ d="m 22850,53420 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" />
+ <path
+ id="path104"
+ d="m 27500,52000 h 1000" />
+ <text
+ id="text106"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="51900"
+ x="28000">3</text>
+ <path
+ id="path108"
+ d="m 27830,51370 h 310 l -170,190 h 70 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <path
+ id="path110"
+ d="m 27500,54000 h 1000" />
+ <text
+ id="text112"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="53900"
+ x="28000">4</text>
+ <path
+ id="path114"
+ d="m 28090,53540 v 330" />
+ <path
+ id="path116"
+ d="m 27970,53350 -120,350 h 310" />
+ </g>
+ <g
+ id="g154"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text120"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1060"
+ y="50100"
+ x="25500">U2</text>
+ <path
+ id="path122"
+ d="m 25110,49570 v 410 l 30,40 20,30 50,20 h 90 l 50,-20 30,-30 20,-40 v -410" />
+ <path
+ id="path124"
+ d="m 25610,49620 30,-20 50,-30 h 110 l 50,30 30,20 20,50 v 40 l -20,80 -290,280 h 310" />
+ <text
+ id="text126"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="3440"
+ y="51010"
+ x="25500">QRE1113</text>
+ <path
+ id="path128"
+ d="m 24260,51030 -50,-20 -50,-50 -70,-70 -50,-30 h -40" />
+ <path
+ id="path130"
+ d="m 24020,50980 -50,-20 -50,-50 -20,-100 v -160 l 20,-100 50,-40 50,-30 h 90 l 50,30 50,40 20,100 v 160 l -20,100 -50,50 -50,20 h -90" />
+ <path
+ id="path132"
+ d="m 24730,50980 -160,-240" />
+ <path
+ id="path134"
+ d="m 24450,50980 v -500 h 190 l 50,30 20,20 20,50 v 70 l -20,50 -20,20 -50,20 h -190" />
+ <path
+ id="path136"
+ d="m 24950,50720 h 160" />
+ <path
+ id="path138"
+ d="m 25190,50980 h -240 v -500 h 240" />
+ <path
+ id="path140"
+ d="m 25660,50980 h -280" />
+ <path
+ id="path142"
+ d="m 25520,50980 v -500 l -50,70 -50,50 -40,20" />
+ <path
+ id="path144"
+ d="m 26140,50980 h -290" />
+ <path
+ id="path146"
+ d="m 25990,50980 v -500 l -40,70 -50,50 -50,20" />
+ <path
+ id="path148"
+ d="m 26610,50980 h -280" />
+ <path
+ id="path150"
+ d="m 26470,50980 v -500 l -50,70 -40,50 -50,20" />
+ <path
+ id="path152"
+ d="m 26780,50480 h 310 l -170,190 h 70 l 50,30 30,20 20,50 v 120 l -20,40 -30,30 -50,20 h -140 l -50,-20 -20,-30" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g306"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g158" />
+ <g
+ id="g160"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g162"
+ style="fill:#ffffc2;fill-opacity:0;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g166"
+ style="fill:#ffffc2;fill-opacity:0.6;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path164"
+ d="m 55500,53000 h 4000 v -3000 h -4000 z"
+ style="fill:#ffffc2;fill-opacity:0.6;fill-rule:evenodd;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g168"
+ style="fill:#840000;fill-opacity:0.6;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g174"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path170"
+ d="m 55500,53000 h 4000 v -3000 h -4000 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path172"
+ d="m 56000,51750 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g214"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path176"
+ d="m 56600,50350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path178"
+ d="m 56800,50350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path180"
+ d="m 56900,50450 -50,200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path182"
+ d="m 57000,50350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path184"
+ d="m 57050,50750 -50,200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path186"
+ d="m 57200,50350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path188"
+ d="m 57400,50350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path190"
+ d="m 57600,50350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path192"
+ d="m 57800,50350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path194"
+ d="m 58000,50350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path196"
+ d="m 58150,51150 -200,-50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path198"
+ d="M 58200,50350 H 56550"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path200"
+ d="m 58300,50850 -200,-50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path202"
+ d="m 58550,51550 450,450"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path204"
+ d="m 58550,51450 450,-450"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path206"
+ d="m 56500,50850 400,-400 -200,50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path208"
+ d="m 56650,51150 400,-400 -200,50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path210"
+ d="m 57750,50750 400,400 -50,-200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path212"
+ d="m 57900,50450 400,400 -50,-200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g218"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:140;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path216"
+ d="m 58550,51100 v 800 0"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:140;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g226"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path220"
+ d="m 59000,52000 v 500 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path222"
+ d="m 59000,51000 v -500 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path224"
+ d="m 55500,52500 h 750 v -2000 h -750"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g230"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path228"
+ d="m 56250,51750 -250,-500 h 500 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g234"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path232"
+ d="m 58950,51950 -100,-200 -100,100 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g238"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path236"
+ d="m 55500,53000 h 4000 v -3000 h -4000 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g268"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path240"
+ d="M 55500,50500 H 54500" />
+ <text
+ id="text242"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="50400"
+ x="55000">1</text>
+ <path
+ id="path244"
+ d="m 55140,50370 h -290" />
+ <path
+ id="path246"
+ d="m 55000,50370 v -500 l -50,70 -50,50 -50,20" />
+ <path
+ id="path248"
+ d="M 55500,52500 H 54500" />
+ <text
+ id="text250"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="52400"
+ x="55000">2</text>
+ <path
+ id="path252"
+ d="m 54850,51920 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" />
+ <path
+ id="path254"
+ d="m 59500,50500 h 1000" />
+ <text
+ id="text256"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="50400"
+ x="60000">3</text>
+ <path
+ id="path258"
+ d="m 59830,49870 h 310 l -170,190 h 70 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <path
+ id="path260"
+ d="m 59500,52500 h 1000" />
+ <text
+ id="text262"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="52400"
+ x="60000">4</text>
+ <path
+ id="path264"
+ d="m 60090,52040 v 330" />
+ <path
+ id="path266"
+ d="m 59970,51850 -120,350 h 310" />
+ </g>
+ <g
+ id="g304"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text270"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1060"
+ y="48600"
+ x="57500">U3</text>
+ <path
+ id="path272"
+ d="m 57110,48070 v 410 l 30,40 20,30 50,20 h 90 l 50,-20 30,-30 20,-40 v -410" />
+ <path
+ id="path274"
+ d="m 57590,48070 h 310 l -170,190 h 70 l 50,30 30,20 20,50 v 120 l -20,40 -30,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <text
+ id="text276"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="3440"
+ y="49510"
+ x="57500">QRE1113</text>
+ <path
+ id="path278"
+ d="m 56260,49530 -50,-20 -50,-50 -70,-70 -50,-30 h -40" />
+ <path
+ id="path280"
+ d="m 56020,49480 -50,-20 -50,-50 -20,-100 v -160 l 20,-100 50,-40 50,-30 h 90 l 50,30 50,40 20,100 v 160 l -20,100 -50,50 -50,20 h -90" />
+ <path
+ id="path282"
+ d="m 56730,49480 -160,-240" />
+ <path
+ id="path284"
+ d="m 56450,49480 v -500 h 190 l 50,30 20,20 20,50 v 70 l -20,50 -20,20 -50,20 h -190" />
+ <path
+ id="path286"
+ d="m 56950,49220 h 160" />
+ <path
+ id="path288"
+ d="m 57190,49480 h -240 v -500 h 240" />
+ <path
+ id="path290"
+ d="m 57660,49480 h -280" />
+ <path
+ id="path292"
+ d="m 57520,49480 v -500 l -50,70 -50,50 -40,20" />
+ <path
+ id="path294"
+ d="m 58140,49480 h -290" />
+ <path
+ id="path296"
+ d="m 58000,49480 v -500 l -50,70 -50,50 -50,20" />
+ <path
+ id="path298"
+ d="m 58610,49480 h -280" />
+ <path
+ id="path300"
+ d="m 58470,49480 v -500 l -50,70 -40,50 -50,20" />
+ <path
+ id="path302"
+ d="m 58780,48980 h 310 l -170,190 h 80 l 40,30 30,20 20,50 v 120 l -20,40 -30,30 -40,20 h -150 l -50,-20 -20,-30" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g342"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g308" />
+ <g
+ id="g310"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g314"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <rect
+ id="rect312"
+ rx="0"
+ height="2000"
+ width="800"
+ y="26000"
+ x="20100" />
+ </g>
+ <g
+ id="g320"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path316"
+ d="m 20500,26000 v -500" />
+ <path
+ id="path318"
+ d="m 20500,28000 v 500" />
+ </g>
+ <g
+ id="g340"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text322"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1040"
+ y="26810"
+ x="21720">R1</text>
+ <path
+ id="path324"
+ d="m 21630,26780 -160,-240" />
+ <path
+ id="path326"
+ d="m 21350,26780 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" />
+ <path
+ id="path328"
+ d="m 22110,26780 h -290" />
+ <path
+ id="path330"
+ d="m 21970,26780 v -500 l -50,70 -50,50 -50,20" />
+ <text
+ id="text332"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1490"
+ y="27720"
+ x="21940">330</text>
+ <path
+ id="path334"
+ d="m 21290,27190 h 310 l -160,190 h 70 l 40,30 30,20 20,50 v 120 l -20,40 -30,30 -40,20 h -150 l -40,-20 -30,-30" />
+ <path
+ id="path336"
+ d="m 21770,27190 h 310 l -170,190 h 70 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <path
+ id="path338"
+ d="m 22390,27190 h 50 l 40,30 30,20 20,50 20,90 v 120 l -20,100 -20,40 -30,30 -40,20 h -50 l -50,-20 -20,-30 -30,-40 -20,-100 v -120 l 20,-90 30,-50 20,-20 50,-30" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g376"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g344" />
+ <g
+ id="g346"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g350"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <rect
+ id="rect348"
+ rx="0"
+ height="2000"
+ width="800"
+ y="27500"
+ x="52600" />
+ </g>
+ <g
+ id="g356"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path352"
+ d="m 53000,27500 v -500" />
+ <path
+ id="path354"
+ d="m 53000,29500 v 500" />
+ </g>
+ <g
+ id="g374"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text358"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1040"
+ y="28310"
+ x="54220">R3</text>
+ <path
+ id="path360"
+ d="m 54130,28280 -160,-240" />
+ <path
+ id="path362"
+ d="m 53850,28280 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" />
+ <path
+ id="path364"
+ d="m 54300,27780 h 310 l -170,190 h 70 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <text
+ id="text366"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1490"
+ y="29220"
+ x="54440">330</text>
+ <path
+ id="path368"
+ d="m 53790,28690 h 310 l -160,190 h 70 l 40,30 30,20 20,50 v 120 l -20,40 -30,30 -40,20 h -150 l -40,-20 -30,-30" />
+ <path
+ id="path370"
+ d="m 54270,28690 h 310 l -170,190 h 70 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <path
+ id="path372"
+ d="m 54890,28690 h 50 l 40,30 30,20 20,50 20,90 v 120 l -20,100 -20,40 -30,30 -40,20 h -50 l -50,-20 -20,-30 -30,-40 -20,-100 v -120 l 20,-90 30,-50 20,-20 50,-30" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g416"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g378" />
+ <g
+ id="g380"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g384"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <rect
+ id="rect382"
+ rx="0"
+ height="2000"
+ width="800"
+ y="26000"
+ x="28600" />
+ </g>
+ <g
+ id="g390"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path386"
+ d="m 29000,26000 v -500" />
+ <path
+ id="path388"
+ d="m 29000,28000 v 500" />
+ </g>
+ <g
+ id="g414"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text392"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1040"
+ y="26810"
+ x="30220">R2</text>
+ <path
+ id="path394"
+ d="m 30130,26780 -160,-240" />
+ <path
+ id="path396"
+ d="m 29850,26780 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" />
+ <path
+ id="path398"
+ d="m 30320,26330 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" />
+ <text
+ id="text400"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1420"
+ y="27720"
+ x="30410">10k</text>
+ <path
+ id="path402"
+ d="m 30110,27690 h -290" />
+ <path
+ id="path404"
+ d="m 29960,27690 v -500 l -40,70 -50,50 -50,20" />
+ <path
+ id="path406"
+ d="m 30420,27190 h 40 l 50,30 30,20 20,50 20,90 v 120 l -20,100 -20,40 -30,30 -50,20 h -40 l -50,-20 -20,-30 -30,-40 -20,-100 v -120 l 20,-90 30,-50 20,-20 50,-30" />
+ <path
+ id="path408"
+ d="m 30800,27690 v -500" />
+ <path
+ id="path410"
+ d="m 30850,27500 140,190" />
+ <path
+ id="path412"
+ d="m 30990,27360 -190,190" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g458"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g418" />
+ <g
+ id="g420"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g424"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <rect
+ id="rect422"
+ rx="0"
+ height="2000"
+ width="800"
+ y="27000"
+ x="61600" />
+ </g>
+ <g
+ id="g430"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path426"
+ d="m 62000,27000 v -500" />
+ <path
+ id="path428"
+ d="m 62000,29000 v 500" />
+ </g>
+ <g
+ id="g456"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text432"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1040"
+ y="27810"
+ x="63220">R4</text>
+ <path
+ id="path434"
+ d="m 63130,27780 -160,-240" />
+ <path
+ id="path436"
+ d="m 62850,27780 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" />
+ <path
+ id="path438"
+ d="m 63560,27450 v 330" />
+ <path
+ id="path440"
+ d="m 63440,27260 -120,350 h 310" />
+ <text
+ id="text442"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1420"
+ y="28720"
+ x="63410">10k</text>
+ <path
+ id="path444"
+ d="m 63110,28690 h -290" />
+ <path
+ id="path446"
+ d="m 62960,28690 v -500 l -40,70 -50,50 -50,20" />
+ <path
+ id="path448"
+ d="m 63420,28190 h 40 l 50,30 30,20 20,50 20,90 v 120 l -20,100 -20,40 -30,30 -50,20 h -40 l -50,-20 -20,-30 -30,-40 -20,-100 v -120 l 20,-90 30,-50 20,-20 50,-30" />
+ <path
+ id="path450"
+ d="m 63800,28690 v -500" />
+ <path
+ id="path452"
+ d="m 63850,28500 140,190" />
+ <path
+ id="path454"
+ d="m 63990,28360 -190,190" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g610"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g460" />
+ <g
+ id="g462"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g464"
+ style="fill:#ffffc2;fill-opacity:0;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g468"
+ style="fill:#ffffc2;fill-opacity:0.6;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path466"
+ d="m 56000,34000 h 4000 v -3000 h -4000 z"
+ style="fill:#ffffc2;fill-opacity:0.6;fill-rule:evenodd;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g470"
+ style="fill:#840000;fill-opacity:0.6;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g476"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path472"
+ d="m 56000,34000 h 4000 v -3000 h -4000 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path474"
+ d="m 56500,32750 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g516"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path478"
+ d="m 57100,31350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path480"
+ d="m 57300,31350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path482"
+ d="m 57400,31450 -50,200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path484"
+ d="m 57500,31350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path486"
+ d="m 57550,31750 -50,200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path488"
+ d="m 57700,31350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path490"
+ d="m 57900,31350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path492"
+ d="m 58100,31350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path494"
+ d="m 58300,31350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path496"
+ d="m 58500,31350 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path498"
+ d="m 58650,32150 -200,-50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path500"
+ d="M 58700,31350 H 57050"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path502"
+ d="m 58800,31850 -200,-50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path504"
+ d="m 59050,32550 450,450"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path506"
+ d="m 59050,32450 450,-450"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path508"
+ d="m 57000,31850 400,-400 -200,50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path510"
+ d="m 57150,32150 400,-400 -200,50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path512"
+ d="m 58250,31750 400,400 -50,-200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path514"
+ d="m 58400,31450 400,400 -50,-200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g520"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:140;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path518"
+ d="m 59050,32100 v 800 0"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:140;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g528"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path522"
+ d="m 59500,33000 v 500 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path524"
+ d="m 59500,32000 v -500 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path526"
+ d="m 56000,33500 h 750 v -2000 h -750"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g532"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path530"
+ d="m 56750,32750 -250,-500 h 500 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g536"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path534"
+ d="m 59450,32950 -100,-200 -100,100 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g540"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path538"
+ d="m 56000,34000 h 4000 v -3000 h -4000 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g570"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path542"
+ d="M 56000,31500 H 55000" />
+ <text
+ id="text544"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="31400"
+ x="55500">1</text>
+ <path
+ id="path546"
+ d="m 55640,31370 h -290" />
+ <path
+ id="path548"
+ d="m 55500,31370 v -500 l -50,70 -50,50 -50,20" />
+ <path
+ id="path550"
+ d="M 56000,33500 H 55000" />
+ <text
+ id="text552"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="33400"
+ x="55500">2</text>
+ <path
+ id="path554"
+ d="m 55350,32920 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" />
+ <path
+ id="path556"
+ d="m 60000,31500 h 1000" />
+ <text
+ id="text558"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="31400"
+ x="60500">3</text>
+ <path
+ id="path560"
+ d="m 60330,30870 h 310 l -170,190 h 70 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <path
+ id="path562"
+ d="m 60000,33500 h 1000" />
+ <text
+ id="text564"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="33400"
+ x="60500">4</text>
+ <path
+ id="path566"
+ d="m 60590,33040 v 330" />
+ <path
+ id="path568"
+ d="m 60470,32850 -120,350 h 310" />
+ </g>
+ <g
+ id="g608"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text572"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1060"
+ y="29600"
+ x="58000">U4</text>
+ <path
+ id="path574"
+ d="m 57610,29070 v 410 l 30,40 20,30 50,20 h 90 l 50,-20 30,-30 20,-40 v -410" />
+ <path
+ id="path576"
+ d="m 58350,29240 v 330" />
+ <path
+ id="path578"
+ d="m 58230,29050 -120,350 h 310" />
+ <text
+ id="text580"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="3440"
+ y="30510"
+ x="58000">QRE1113</text>
+ <path
+ id="path582"
+ d="m 56760,30530 -50,-20 -50,-50 -70,-70 -50,-30 h -40" />
+ <path
+ id="path584"
+ d="m 56520,30480 -50,-20 -50,-50 -20,-100 v -160 l 20,-100 50,-40 50,-30 h 90 l 50,30 50,40 20,100 v 160 l -20,100 -50,50 -50,20 h -90" />
+ <path
+ id="path586"
+ d="m 57230,30480 -160,-240" />
+ <path
+ id="path588"
+ d="m 56950,30480 v -500 h 190 l 50,30 20,20 20,50 v 70 l -20,50 -20,20 -50,20 h -190" />
+ <path
+ id="path590"
+ d="m 57450,30220 h 160" />
+ <path
+ id="path592"
+ d="m 57690,30480 h -240 v -500 h 240" />
+ <path
+ id="path594"
+ d="m 58160,30480 h -280" />
+ <path
+ id="path596"
+ d="m 58020,30480 v -500 l -50,70 -50,50 -40,20" />
+ <path
+ id="path598"
+ d="m 58640,30480 h -290" />
+ <path
+ id="path600"
+ d="m 58500,30480 v -500 l -50,70 -50,50 -50,20" />
+ <path
+ id="path602"
+ d="m 59110,30480 h -280" />
+ <path
+ id="path604"
+ d="m 58970,30480 v -500 l -50,70 -40,50 -50,20" />
+ <path
+ id="path606"
+ d="m 59280,29980 h 310 l -170,190 h 80 l 40,30 30,20 20,50 v 120 l -20,40 -30,30 -40,20 h -150 l -50,-20 -20,-30" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g762"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g612" />
+ <g
+ id="g614"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g616"
+ style="fill:#ffffc2;fill-opacity:0;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g620"
+ style="fill:#ffffc2;fill-opacity:0.6;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path618"
+ d="m 22500,34500 h 4000 v -3000 h -4000 z"
+ style="fill:#ffffc2;fill-opacity:0.6;fill-rule:evenodd;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g622"
+ style="fill:#840000;fill-opacity:0.6;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g628"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path624"
+ d="m 22500,34500 h 4000 v -3000 h -4000 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path626"
+ d="m 23000,33250 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g668"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path630"
+ d="m 23600,31850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path632"
+ d="m 23800,31850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path634"
+ d="m 23900,31950 -50,200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path636"
+ d="m 24000,31850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path638"
+ d="m 24050,32250 -50,200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path640"
+ d="m 24200,31850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path642"
+ d="m 24400,31850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path644"
+ d="m 24600,31850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path646"
+ d="m 24800,31850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path648"
+ d="m 25000,31850 100,-100"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path650"
+ d="m 25150,32650 -200,-50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path652"
+ d="M 25200,31850 H 23550"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path654"
+ d="m 25300,32350 -200,-50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path656"
+ d="m 25550,33050 450,450"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path658"
+ d="m 25550,32950 450,-450"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path660"
+ d="m 23500,32350 400,-400 -200,50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path662"
+ d="m 23650,32650 400,-400 -200,50"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path664"
+ d="m 24750,32250 400,400 -50,-200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path666"
+ d="m 24900,31950 400,400 -50,-200"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g672"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:140;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path670"
+ d="m 25550,32600 v 800 0"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:140;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g680"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path674"
+ d="m 26000,33500 v 500 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path676"
+ d="m 26000,32500 v -500 h 500"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path678"
+ d="m 22500,34000 h 750 v -2000 h -750"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g684"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path682"
+ d="m 23250,33250 -250,-500 h 500 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g688"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path686"
+ d="m 25950,33450 -100,-200 -100,100 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g692"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path690"
+ d="m 22500,34500 h 4000 v -3000 h -4000 z"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ </g>
+ <g
+ id="g722"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path694"
+ d="M 22500,32000 H 21500" />
+ <text
+ id="text696"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="31900"
+ x="22000">1</text>
+ <path
+ id="path698"
+ d="m 22140,31870 h -290" />
+ <path
+ id="path700"
+ d="m 22000,31870 v -500 l -50,70 -50,50 -50,20" />
+ <path
+ id="path702"
+ d="M 22500,34000 H 21500" />
+ <text
+ id="text704"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="33900"
+ x="22000">2</text>
+ <path
+ id="path706"
+ d="m 21850,33420 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" />
+ <path
+ id="path708"
+ d="m 26500,32000 h 1000" />
+ <text
+ id="text710"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="31900"
+ x="27000">3</text>
+ <path
+ id="path712"
+ d="m 26830,31370 h 310 l -170,190 h 70 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <path
+ id="path714"
+ d="m 26500,34000 h 1000" />
+ <text
+ id="text716"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="33900"
+ x="27000">4</text>
+ <path
+ id="path718"
+ d="m 27090,33540 v 330" />
+ <path
+ id="path720"
+ d="m 26970,33350 -120,350 h 310" />
+ </g>
+ <g
+ id="g760"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text724"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1060"
+ y="30100"
+ x="24500">U1</text>
+ <path
+ id="path726"
+ d="m 24110,29570 v 410 l 30,40 20,30 50,20 h 90 l 50,-20 30,-30 20,-40 v -410" />
+ <path
+ id="path728"
+ d="m 24900,30070 h -290" />
+ <path
+ id="path730"
+ d="m 24760,30070 v -500 l -50,70 -50,50 -50,20" />
+ <text
+ id="text732"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="3440"
+ y="31010"
+ x="24500">QRE1113</text>
+ <path
+ id="path734"
+ d="m 23260,31030 -50,-20 -50,-50 -70,-70 -50,-30 h -40" />
+ <path
+ id="path736"
+ d="m 23020,30980 -50,-20 -50,-50 -20,-100 v -160 l 20,-100 50,-40 50,-30 h 90 l 50,30 50,40 20,100 v 160 l -20,100 -50,50 -50,20 h -90" />
+ <path
+ id="path738"
+ d="m 23730,30980 -160,-240" />
+ <path
+ id="path740"
+ d="m 23450,30980 v -500 h 190 l 50,30 20,20 20,50 v 70 l -20,50 -20,20 -50,20 h -190" />
+ <path
+ id="path742"
+ d="m 23950,30720 h 160" />
+ <path
+ id="path744"
+ d="m 24190,30980 h -240 v -500 h 240" />
+ <path
+ id="path746"
+ d="m 24660,30980 h -280" />
+ <path
+ id="path748"
+ d="m 24520,30980 v -500 l -50,70 -50,50 -40,20" />
+ <path
+ id="path750"
+ d="m 25140,30980 h -290" />
+ <path
+ id="path752"
+ d="m 24990,30980 v -500 l -40,70 -50,50 -50,20" />
+ <path
+ id="path754"
+ d="m 25610,30980 h -280" />
+ <path
+ id="path756"
+ d="m 25470,30980 v -500 l -50,70 -40,50 -50,20" />
+ <path
+ id="path758"
+ d="m 25780,30480 h 310 l -170,190 h 70 l 50,30 30,20 20,50 v 120 l -20,40 -30,30 -50,20 h -140 l -50,-20 -20,-30" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g888"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <g
+ id="g764" />
+ <g
+ id="g766"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g780"
+ style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <rect
+ id="rect768"
+ rx="0"
+ height="100"
+ width="340"
+ y="45950"
+ x="69500" />
+ <rect
+ id="rect770"
+ rx="0"
+ height="100"
+ width="340"
+ y="44950"
+ x="69500" />
+ <rect
+ id="rect772"
+ rx="0"
+ height="100"
+ width="340"
+ y="43950"
+ x="69500" />
+ <rect
+ id="rect774"
+ rx="0"
+ height="100"
+ width="340"
+ y="42950"
+ x="69500" />
+ <rect
+ id="rect776"
+ rx="0"
+ height="100"
+ width="340"
+ y="41950"
+ x="69500" />
+ <rect
+ id="rect778"
+ rx="0"
+ height="100"
+ width="340"
+ y="40950"
+ x="69500" />
+ </g>
+ <g
+ id="g834"
+ style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path782"
+ d="m 70000,46000 h -160"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path784"
+ d="m 70000,45000 h -160"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path786"
+ d="m 70000,44000 h -160"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path788"
+ d="m 70000,43000 h -160"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path790"
+ d="m 70000,42000 h -160"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path792"
+ d="m 70000,41000 h -160"
+ style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <path
+ id="path794"
+ d="m 70000,41000 h 1500" />
+ <text
+ id="text796"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="40900"
+ x="70750">1</text>
+ <path
+ id="path798"
+ d="m 70890,40870 h -290" />
+ <path
+ id="path800"
+ d="m 70750,40870 v -500 l -50,70 -50,50 -50,20" />
+ <path
+ id="path802"
+ d="m 70000,42000 h 1500" />
+ <text
+ id="text804"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="41900"
+ x="70750">2</text>
+ <path
+ id="path806"
+ d="m 70600,41420 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" />
+ <path
+ id="path808"
+ d="m 70000,43000 h 1500" />
+ <text
+ id="text810"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="42900"
+ x="70750">3</text>
+ <path
+ id="path812"
+ d="m 70580,42370 h 310 l -170,190 h 70 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -140 l -50,-20 -20,-30" />
+ <path
+ id="path814"
+ d="m 70000,44000 h 1500" />
+ <text
+ id="text816"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="43900"
+ x="70750">4</text>
+ <path
+ id="path818"
+ d="m 70840,43540 v 330" />
+ <path
+ id="path820"
+ d="m 70720,43350 -120,350 h 310" />
+ <path
+ id="path822"
+ d="m 70000,45000 h 1500" />
+ <text
+ id="text824"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="44900"
+ x="70750">5</text>
+ <path
+ id="path826"
+ d="m 70860,44370 h -230 l -30,240 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 120 l -30,40 -20,30 -50,20 h -120 l -40,-20 -30,-30" />
+ <path
+ id="path828"
+ d="m 70000,46000 h 1500" />
+ <text
+ id="text830"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="540"
+ y="45900"
+ x="70750">6</text>
+ <path
+ id="path832"
+ d="m 70840,45370 h -90 l -50,30 -30,20 -40,70 -30,100 v 190 l 30,40 20,30 50,20 h 90 l 50,-20 20,-30 30,-40 v -120 l -30,-50 -20,-20 -50,-30 h -90 l -50,30 -20,20 -30,50" />
+ </g>
+ <g
+ id="g886"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text836"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="920"
+ y="39460"
+ x="70580">J1</text>
+ <path
+ id="path838"
+ d="m 70410,38930 v 360 l -30,70 -40,50 -70,20 h -50" />
+ <path
+ id="path840"
+ d="m 70910,39430 h -290" />
+ <path
+ id="path842"
+ d="m 70770,39430 v -500 l -50,70 -50,50 -50,20" />
+ <text
+ id="text844"
+ opacity="0"
+ text-anchor="middle"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="6700"
+ y="40370"
+ x="70580">Conn_01x06_Male</text>
+ <path
+ id="path846"
+ d="m 67660,40290 -30,30 -70,20 h -40 l -80,-20 -40,-50 -30,-50 -20,-90 v -70 l 20,-100 30,-50 40,-40 80,-30 h 40 l 70,30 30,20" />
+ <path
+ id="path848"
+ d="m 67940,40340 -40,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 40,-20 h 80 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -80" />
+ <path
+ id="path850"
+ d="m 68330,40010 v 330" />
+ <path
+ id="path852"
+ d="m 68330,40060 20,-30 50,-20 h 70 l 50,20 20,50 v 260" />
+ <path
+ id="path854"
+ d="m 68780,40010 v 330" />
+ <path
+ id="path856"
+ d="m 68780,40060 20,-30 50,-20 h 70 l 50,20 20,50 v 260" />
+ <path
+ id="path858"
+ d="m 69110,40390 h 380" />
+ <path
+ id="path860"
+ d="m 69710,39840 h 40 l 50,30 30,20 20,50 20,90 v 120 l -20,100 -20,40 -30,30 -50,20 h -40 l -50,-20 -30,-30 -20,-40 -20,-100 v -120 l 20,-90 20,-50 30,-20 50,-30" />
+ <path
+ id="path862"
+ d="m 70350,40340 h -290" />
+ <path
+ id="path864"
+ d="m 70210,40340 v -500 l -50,70 -50,50 -50,20" />
+ <path
+ id="path866"
+ d="m 70520,40340 260,-330" />
+ <path
+ id="path868"
+ d="m 70520,40010 260,330" />
+ <path
+ id="path870"
+ d="m 71060,39840 h 50 l 50,30 20,20 30,50 20,90 v 120 l -20,100 -30,40 -20,30 -50,20 h -50 l -40,-20 -30,-30 -20,-40 -30,-100 v -120 l 30,-90 20,-50 30,-20 40,-30" />
+ <path
+ id="path872"
+ d="m 71660,39840 h -100 l -40,30 -30,20 -50,70 -20,100 v 190 l 20,40 30,30 50,20 h 90 l 50,-20 20,-30 30,-40 v -120 l -30,-50 -20,-20 -50,-30 h -90 l -50,30 -30,20 -20,50" />
+ <path
+ id="path874"
+ d="m 71800,40390 h 380" />
+ <path
+ id="path876"
+ d="m 72300,40340 v -500 l 170,360 160,-360 v 500" />
+ <path
+ id="path878"
+ d="m 73090,40340 v -260 l -30,-50 -40,-20 h -100 l -50,20" />
+ <path
+ id="path880"
+ d="m 73090,40320 -50,20 h -120 l -50,-20 -20,-50 v -50 l 20,-50 50,-20 h 120 l 50,-20" />
+ <path
+ id="path882"
+ d="m 73400,40340 -50,-20 -20,-50 v -430" />
+ <path
+ id="path884"
+ d="m 73780,40320 -50,20 h -100 l -40,-20 -30,-50 v -190 l 30,-50 40,-20 h 100 l 50,20 20,50 v 50 l -240,40" />
+ </g>
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g890"
+ style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g984"
+ style="fill:#008400;fill-opacity:0;stroke:#008400;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <path
+ id="path892"
+ d="m 55000,37000 h 6000" />
+ <path
+ id="path894"
+ d="m 22500,54000 -4500,4000" />
+ <path
+ id="path896"
+ d="M 61000,37000 V 33500" />
+ <path
+ id="path898"
+ d="M 27500,37000 H 55000" />
+ <path
+ id="path900"
+ d="M 55000,37000 V 33500" />
+ <path
+ id="path902"
+ d="m 54500,58000 h 6000" />
+ <path
+ id="path904"
+ d="m 18000,37000 h 9500" />
+ <path
+ id="path906"
+ d="M 60500,58000 V 52500" />
+ <path
+ id="path908"
+ d="M 28500,58000 H 54500" />
+ <path
+ id="path910"
+ d="M 20500,32000 V 52000" />
+ <path
+ id="path912"
+ d="m 28500,54000 v 4000" />
+ <path
+ id="path914"
+ d="M 54500,58000 V 52500" />
+ <path
+ id="path916"
+ d="m 29000,28500 h 6500" />
+ <path
+ id="path918"
+ d="m 62000,31500 h 8000" />
+ <path
+ id="path920"
+ d="M 18000,58000 12000,54500" />
+ <path
+ id="path922"
+ d="M 18000,34000 V 29000" />
+ <path
+ id="path924"
+ d="M 28000,23000 V 20000" />
+ <path
+ id="path926"
+ d="M 59500,25500 V 22000" />
+ <path
+ id="path928"
+ d="m 71500,41000 h 5500" />
+ <path
+ id="path930"
+ d="m 71500,42000 h 6000" />
+ <path
+ id="path932"
+ d="m 71500,43000 h 5000" />
+ <path
+ id="path934"
+ d="m 71500,44000 h 5000" />
+ <path
+ id="path936"
+ d="m 71500,45000 h 5000" />
+ <path
+ id="path938"
+ d="m 71500,46000 h 5000" />
+ <path
+ id="path940"
+ d="M 62000,50500 H 60500" />
+ <path
+ id="path942"
+ d="m 29000,28500 -1500,3500" />
+ <path
+ id="path944"
+ d="m 20500,32000 h 1000" />
+ <path
+ id="path946"
+ d="m 28000,23000 1000,2500" />
+ <path
+ id="path948"
+ d="m 28000,23000 -7500,2500" />
+ <path
+ id="path950"
+ d="m 59500,25500 2500,1000" />
+ <path
+ id="path952"
+ d="m 59500,25500 -6500,1500" />
+ <path
+ id="path954"
+ d="m 53000,30000 h 2000" />
+ <path
+ id="path956"
+ d="m 55000,30000 v 1500" />
+ <path
+ id="path958"
+ d="m 62000,29500 v 2000" />
+ <path
+ id="path960"
+ d="M 62000,31500 H 61000" />
+ <path
+ id="path962"
+ d="M 21500,34000 H 18000" />
+ <path
+ id="path964"
+ d="m 18000,34000 v 3000" />
+ <path
+ id="path966"
+ d="m 27500,34000 v 3000" />
+ <path
+ id="path968"
+ d="m 20500,52000 h 2000" />
+ <path
+ id="path970"
+ d="m 20500,28500 v 3500" />
+ <path
+ id="path972"
+ d="M 29000,28500 V 52000" />
+ <path
+ id="path974"
+ d="m 29000,52000 h -500" />
+ <path
+ id="path976"
+ d="M 18000,58000 H 28500" />
+ <path
+ id="path978"
+ d="M 62000,31500 V 50500" />
+ <path
+ id="path980"
+ d="m 53000,50500 h 1500" />
+ <path
+ id="path982"
+ d="M 53000,30000 V 50500" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1150"
+ style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <text
+ id="text986"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="2660"
+ y="45900"
+ x="76500">sense2</text>
+ <path
+ id="path988"
+ d="m 76620,45850 50,20 h 90 l 50,-20 20,-50 v -20 l -20,-50 -50,-30 h -70 l -50,-20 -20,-50 v -20 l 20,-50 50,-20 h 70 l 50,20" />
+ <path
+ id="path990"
+ d="m 77240,45850 -50,20 h -90 l -50,-20 -20,-50 v -190 l 20,-50 50,-20 h 90 l 50,20 20,50 v 50 l -230,40" />
+ <path
+ id="path992"
+ d="m 77480,45540 v 330" />
+ <path
+ id="path994"
+ d="m 77480,45590 20,-30 50,-20 h 70 l 50,20 20,50 v 260" />
+ <path
+ id="path996"
+ d="m 77910,45850 40,20 h 100 l 50,-20 20,-50 v -20 l -20,-50 -50,-30 h -70 l -50,-20 -20,-50 v -20 l 20,-50 50,-20 h 70 l 50,20" />
+ <path
+ id="path998"
+ d="m 78530,45850 -50,20 h -100 l -50,-20 -20,-50 v -190 l 20,-50 50,-20 h 100 l 50,20 20,50 v 50 l -240,40" />
+ <path
+ id="path1000"
+ d="m 78740,45420 20,-20 50,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" />
+ <text
+ id="text1002"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="2660"
+ y="44900"
+ x="76500">sense1</text>
+ <path
+ id="path1004"
+ d="m 76620,44850 50,20 h 90 l 50,-20 20,-50 v -20 l -20,-50 -50,-30 h -70 l -50,-20 -20,-50 v -20 l 20,-50 50,-20 h 70 l 50,20" />
+ <path
+ id="path1006"
+ d="m 77240,44850 -50,20 h -90 l -50,-20 -20,-50 v -190 l 20,-50 50,-20 h 90 l 50,20 20,50 v 50 l -230,40" />
+ <path
+ id="path1008"
+ d="m 77480,44540 v 330" />
+ <path
+ id="path1010"
+ d="m 77480,44590 20,-30 50,-20 h 70 l 50,20 20,50 v 260" />
+ <path
+ id="path1012"
+ d="m 77910,44850 40,20 h 100 l 50,-20 20,-50 v -20 l -20,-50 -50,-30 h -70 l -50,-20 -20,-50 v -20 l 20,-50 50,-20 h 70 l 50,20" />
+ <path
+ id="path1014"
+ d="m 78530,44850 -50,20 h -100 l -50,-20 -20,-50 v -190 l 20,-50 50,-20 h 100 l 50,20 20,50 v 50 l -240,40" />
+ <path
+ id="path1016"
+ d="m 79030,44870 h -290" />
+ <path
+ id="path1018"
+ d="m 78880,44870 v -500 l -50,70 -40,50 -50,20" />
+ <text
+ id="text1020"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1820"
+ y="43900"
+ x="76500">row2</text>
+ <path
+ id="path1022"
+ d="m 76640,43870 v -330" />
+ <path
+ id="path1024"
+ d="m 76640,43630 30,-40 20,-30 50,-20 h 50" />
+ <path
+ id="path1026"
+ d="m 77030,43870 -50,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 50,-20 h 70 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -70" />
+ <path
+ id="path1028"
+ d="m 77360,43540 90,330 100,-240 90,240 100,-330" />
+ <path
+ id="path1030"
+ d="m 77910,43420 20,-20 50,-30 h 120 l 40,30 30,20 20,50 v 40 l -20,80 -290,280 h 310" />
+ <text
+ id="text1032"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1820"
+ y="42900"
+ x="76500">row1</text>
+ <path
+ id="path1034"
+ d="m 76640,42870 v -330" />
+ <path
+ id="path1036"
+ d="m 76640,42630 30,-40 20,-30 50,-20 h 50" />
+ <path
+ id="path1038"
+ d="m 77030,42870 -50,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 50,-20 h 70 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -70" />
+ <path
+ id="path1040"
+ d="m 77360,42540 90,330 100,-240 90,240 100,-330" />
+ <path
+ id="path1042"
+ d="m 78190,42870 h -280" />
+ <path
+ id="path1044"
+ d="m 78050,42870 v -500 l -50,70 -50,50 -40,20" />
+ <text
+ id="text1046"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1680"
+ y="41900"
+ x="77500">col2</text>
+ <path
+ id="path1048"
+ d="m 77860,41850 -50,20 h -90 l -50,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 50,-20 h 90 l 50,20" />
+ <path
+ id="path1050"
+ d="m 78140,41870 -40,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 40,-20 h 80 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -80" />
+ <path
+ id="path1052"
+ d="m 78600,41870 -50,-20 -20,-50 v -430" />
+ <path
+ id="path1054"
+ d="m 78760,41420 30,-20 40,-30 h 120 l 50,30 30,20 20,50 v 40 l -20,80 -290,280 h 310" />
+ <text
+ id="text1056"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1680"
+ y="40900"
+ x="77000">col1</text>
+ <path
+ id="path1058"
+ d="m 77360,40850 -50,20 h -90 l -50,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 50,-20 h 90 l 50,20" />
+ <path
+ id="path1060"
+ d="m 77640,40870 -40,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 40,-20 h 80 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -80" />
+ <path
+ id="path1062"
+ d="m 78100,40870 -50,-20 -20,-50 v -430" />
+ <path
+ id="path1064"
+ d="m 78550,40870 h -290" />
+ <path
+ id="path1066"
+ d="m 78410,40870 v -500 l -50,70 -50,50 -50,20" />
+ <text
+ id="text1068"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="2660"
+ y="31400"
+ x="70000">sense2</text>
+ <path
+ id="path1070"
+ d="m 70120,31350 50,20 h 90 l 50,-20 20,-50 v -20 l -20,-50 -50,-30 h -70 l -50,-20 -20,-50 v -20 l 20,-50 50,-20 h 70 l 50,20" />
+ <path
+ id="path1072"
+ d="m 70740,31350 -50,20 h -90 l -50,-20 -20,-50 v -190 l 20,-50 50,-20 h 90 l 50,20 20,50 v 50 l -230,40" />
+ <path
+ id="path1074"
+ d="m 70980,31040 v 330" />
+ <path
+ id="path1076"
+ d="m 70980,31090 20,-30 50,-20 h 70 l 50,20 20,50 v 260" />
+ <path
+ id="path1078"
+ d="m 71410,31350 40,20 h 100 l 50,-20 20,-50 v -20 l -20,-50 -50,-30 h -70 l -50,-20 -20,-50 v -20 l 20,-50 50,-20 h 70 l 50,20" />
+ <path
+ id="path1080"
+ d="m 72030,31350 -50,20 h -100 l -50,-20 -20,-50 v -190 l 20,-50 50,-20 h 100 l 50,20 20,50 v 50 l -240,40" />
+ <path
+ id="path1082"
+ d="m 72240,30920 20,-20 50,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" />
+ <text
+ id="text1084"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="2660"
+ y="28400"
+ x="35500">sense1</text>
+ <path
+ id="path1086"
+ d="m 35620,28350 50,20 h 90 l 50,-20 20,-50 v -20 l -20,-50 -50,-30 h -70 l -50,-20 -20,-50 v -20 l 20,-50 50,-20 h 70 l 50,20" />
+ <path
+ id="path1088"
+ d="m 36240,28350 -50,20 h -90 l -50,-20 -20,-50 v -190 l 20,-50 50,-20 h 90 l 50,20 20,50 v 50 l -230,40" />
+ <path
+ id="path1090"
+ d="m 36480,28040 v 330" />
+ <path
+ id="path1092"
+ d="m 36480,28090 20,-30 50,-20 h 70 l 50,20 20,50 v 260" />
+ <path
+ id="path1094"
+ d="m 36910,28350 40,20 h 100 l 50,-20 20,-50 v -20 l -20,-50 -50,-30 h -70 l -50,-20 -20,-50 v -20 l 20,-50 50,-20 h 70 l 50,20" />
+ <path
+ id="path1096"
+ d="m 37530,28350 -50,20 h -100 l -50,-20 -20,-50 v -190 l 20,-50 50,-20 h 100 l 50,20 20,50 v 50 l -240,40" />
+ <path
+ id="path1098"
+ d="m 38030,28370 h -290" />
+ <path
+ id="path1100"
+ d="m 37880,28370 v -500 l -50,70 -40,50 -50,20" />
+ <text
+ id="text1102"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1820"
+ y="21900"
+ x="59500">row2</text>
+ <path
+ id="path1104"
+ d="m 59640,21870 v -330" />
+ <path
+ id="path1106"
+ d="m 59640,21630 30,-40 20,-30 50,-20 h 50" />
+ <path
+ id="path1108"
+ d="m 60030,21870 -50,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 50,-20 h 70 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -70" />
+ <path
+ id="path1110"
+ d="m 60360,21540 90,330 100,-240 90,240 100,-330" />
+ <path
+ id="path1112"
+ d="m 60910,21420 20,-20 50,-30 h 120 l 40,30 30,20 20,50 v 40 l -20,80 -290,280 h 310" />
+ <text
+ id="text1114"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1820"
+ y="19900"
+ x="28000">row1</text>
+ <path
+ id="path1116"
+ d="m 28140,19870 v -330" />
+ <path
+ id="path1118"
+ d="m 28140,19630 30,-40 20,-30 50,-20 h 50" />
+ <path
+ id="path1120"
+ d="m 28530,19870 -50,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 50,-20 h 70 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -70" />
+ <path
+ id="path1122"
+ d="m 28860,19540 90,330 100,-240 90,240 100,-330" />
+ <path
+ id="path1124"
+ d="m 29690,19870 h -280" />
+ <path
+ id="path1126"
+ d="m 29550,19870 v -500 l -50,70 -50,50 -40,20" />
+ <text
+ id="text1128"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1680"
+ y="28900"
+ x="18000">col1</text>
+ <path
+ id="path1130"
+ d="m 18360,28850 -50,20 h -90 l -50,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 50,-20 h 90 l 50,20" />
+ <path
+ id="path1132"
+ d="m 18640,28870 -40,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 40,-20 h 80 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -80" />
+ <path
+ id="path1134"
+ d="m 19100,28870 -50,-20 -20,-50 v -430" />
+ <path
+ id="path1136"
+ d="m 19550,28870 h -290" />
+ <path
+ id="path1138"
+ d="m 19410,28870 v -500 l -50,70 -50,50 -50,20" />
+ <text
+ id="text1140"
+ opacity="0"
+ text-anchor="start"
+ lengthAdjust="spacingAndGlyphs"
+ font-size="660px"
+ textLength="1680"
+ y="54400"
+ x="12000">col2</text>
+ <path
+ id="path1142"
+ d="m 12360,54350 -50,20 h -90 l -50,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 50,-20 h 90 l 50,20" />
+ <path
+ id="path1144"
+ d="m 12640,54370 -40,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 40,-20 h 80 l 40,20 30,30 20,40 v 150 l -20,40 -30,30 -40,20 h -80" />
+ <path
+ id="path1146"
+ d="m 13100,54370 -50,-20 -20,-50 v -430" />
+ <path
+ id="path1148"
+ d="m 13260,53920 30,-20 40,-30 h 120 l 50,30 30,20 20,50 v 40 l -20,80 -290,280 h 310" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1152"
+ style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1154"
+ style="fill:#008400;fill-opacity:0;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1158"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1156"
+ r="200"
+ cy="25500"
+ cx="59500" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1160"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1164"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1162"
+ r="200"
+ cy="23000"
+ cx="28000" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1166"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1170"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1168"
+ r="200"
+ cy="34000"
+ cx="18000" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1172"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1176"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1174"
+ r="200"
+ cy="58000"
+ cx="18000" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1178"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1182"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1180"
+ r="200"
+ cy="37000"
+ cx="55000" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1184"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1188"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1186"
+ r="200"
+ cy="37000"
+ cx="27500" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1190"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1194"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1192"
+ r="200"
+ cy="58000"
+ cx="54500" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1196"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1200"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1198"
+ r="200"
+ cy="58000"
+ cx="28500" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1202"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1206"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1204"
+ r="200"
+ cy="31500"
+ cx="62000" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1208"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1212"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1210"
+ r="200"
+ cy="30000"
+ cx="53000" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1214"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1218"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1216"
+ r="200"
+ cy="28500"
+ cx="29000" />
+ </g>
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1220"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ transform="translate(-11970,-19340.006)"
+ id="g1224"
+ style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
+ <circle
+ id="circle1222"
+ r="200"
+ cy="32000"
+ cx="20500" />
+ </g>
+</svg>
diff --git a/additions/modelli/lego-piano/piano-disassemble.jpg b/additions/modelli/lego-piano/piano-disassemble.jpg
new file mode 100644
index 0000000..c63f673
--- /dev/null
+++ b/additions/modelli/lego-piano/piano-disassemble.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/sensor-matrix-test.jpg b/additions/modelli/lego-piano/sensor-matrix-test.jpg
new file mode 100644
index 0000000..544d7b5
--- /dev/null
+++ b/additions/modelli/lego-piano/sensor-matrix-test.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/sensor-mount-size-check.jpg b/additions/modelli/lego-piano/sensor-mount-size-check.jpg
new file mode 100644
index 0000000..76fd643
--- /dev/null
+++ b/additions/modelli/lego-piano/sensor-mount-size-check.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/sensor-mount-test.jpg b/additions/modelli/lego-piano/sensor-mount-test.jpg
new file mode 100644
index 0000000..6a3b512
--- /dev/null
+++ b/additions/modelli/lego-piano/sensor-mount-test.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/sensor-position-test-1.jpg b/additions/modelli/lego-piano/sensor-position-test-1.jpg
new file mode 100644
index 0000000..da1dde8
--- /dev/null
+++ b/additions/modelli/lego-piano/sensor-position-test-1.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/sensor-position-test-2.jpg b/additions/modelli/lego-piano/sensor-position-test-2.jpg
new file mode 100644
index 0000000..bbda47f
--- /dev/null
+++ b/additions/modelli/lego-piano/sensor-position-test-2.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/sensors-mount-wiring.jpg b/additions/modelli/lego-piano/sensors-mount-wiring.jpg
new file mode 100644
index 0000000..4a084d3
--- /dev/null
+++ b/additions/modelli/lego-piano/sensors-mount-wiring.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/sensors.jpg b/additions/modelli/lego-piano/sensors.jpg
new file mode 100644
index 0000000..905ea9f
--- /dev/null
+++ b/additions/modelli/lego-piano/sensors.jpg
Binary files differ
diff --git a/additions/modelli/lego-piano/sound-test-1.mp4 b/additions/modelli/lego-piano/sound-test-1.mp4
new file mode 100644
index 0000000..52333ef
--- /dev/null
+++ b/additions/modelli/lego-piano/sound-test-1.mp4
Binary files differ
diff --git a/additions/modelli/lego-piano/sound-test-2.mp4 b/additions/modelli/lego-piano/sound-test-2.mp4
new file mode 100644
index 0000000..2fada27
--- /dev/null
+++ b/additions/modelli/lego-piano/sound-test-2.mp4
Binary files differ
diff --git a/additions/modelli/lego-piano/sound-test-3.mp4 b/additions/modelli/lego-piano/sound-test-3.mp4
new file mode 100644
index 0000000..fabeefc
--- /dev/null
+++ b/additions/modelli/lego-piano/sound-test-3.mp4
Binary files differ
diff --git a/src/modelli/lego-piano/.gitignore b/src/modelli/lego-piano/.gitignore
new file mode 100644
index 0000000..08d33d4
--- /dev/null
+++ b/src/modelli/lego-piano/.gitignore
@@ -0,0 +1,2 @@
+/document.en.du.xml
+/document.it.du.xml
diff --git a/src/modelli/lego-piano/document.en.rest.txt b/src/modelli/lego-piano/document.en.rest.txt
new file mode 100644
index 0000000..309d5c6
--- /dev/null
+++ b/src/modelli/lego-piano/document.en.rest.txt
@@ -0,0 +1,258 @@
+======================================
+Making the LEGO Grand Piano play music
+======================================
+:CreationDate: 2020-08-28 10:39:28
+:Id: modelli/lego-piano
+:tags: - 3dPrint
+ - hardware
+ - software
+ - models
+
+The `LEGO Grand Piano 21323
+<https://www.lego.com/en-gb/product/grand-piano-21323>`_ is a great
+model, full of clever details and impressive engineering.
+
+It contains a bit of electronics, that allow it to talk with a phone
+app via Bluetooth.
+
+.. image:: lego-electronics.jpg
+ :width: 100%
+ :alt: a Lego optical sensor, motor, power&control brick, mounted on
+ a wide base of sideways pieces; the motor moves a long axle
+ with many pegs at right angles to each other
+
+The app can play a few built-in tunes while running the motor inside
+the piano, which pulls some keys down in a regular pattern, so you can
+pretend to have a "player piano". The app can also wait for you to
+press any key on the piano (they all move a little flag in front of
+the optical sensor) before playing the next note, so you can pretend
+to be playing.
+
+That's fun, but not really enough: there are 25 independent keys,
+surely we can make them play the right note!
+
+.. image:: keys.jpg
+ :width: 100%
+ :alt: the full keyboard of the Lego piano, 2 octaves + 1, with
+ correctly-alternating white and black keys, each key has a
+ matching hammer
+
+.. video:: keys-hammers.mp4
+ :width: 100%
+ :type: video/mp4
+
+After some research, I decided to use optical sensors and a big
+microcontroller. How hard can it be? ☺
+
+As sensor I picked the `QRD1114
+<https://learn.sparkfun.com/tutorials/qrd1114-optical-detector-hookup-guide/all>`_,
+which is dead easy to use: infrared LED plus phototransistor, with a
+very narrow and short area of sensitivity, so there's very little
+chance of nearby keys setting off the wrong sensor.
+
+The controller I used is a `Lilygo TTGO-T7 v1.3
+<http://www.lilygo.cn/prod_view.aspx?TypeId=50033&Id=1258&FId=t3:50033:3>`_,
+just because I had bought a bunch of them. It's a very small ESP32
+board, with 40 pins broken out, and support for charging a lithium
+battery from USB.
+
+.. note::
+
+ The v1.3 is a ``d1_mini32`` board as far as the `esp32-arduino
+ <https://github.com/espressif/arduino-esp32>`_ libraries are
+ concerned, v1.4 is a ``esp32wrover``. There are probably other
+ variants, so you may need to adjust something if you want to
+ replicate my build
+
+
+First step was figuring out how to connect the sensors to the
+controller. The LED in the QRD1114 can easily work with about 20mA,
+so I can drive one directly from the ESP32, whose GPIO pins can drive
+up to about 30mA. 25 sensors fit nicely in a 5×5 matrix, so something
+like this should work:
+
+.. image:: lego-piano-scanner-schematic.svg
+ :width: 100%
+ :alt: schematic drawing of an electronic circuit; four QRD1114 are
+ arranged in a 2×2 grid; a pin labelled "row1" is connected to
+ 2 LED anodes via a 330Ω resistor and to 2 phototransistor
+ collectors via a 10kΩ resistor; a pin labelled "row2" is
+ similarly connected to the other pair; a pin labelled "col1"
+ is connected to the LED cathode and phototransistor emitter
+ of two sensors, one per "row"; a pin labelled "col2" is
+ similarly connected to the other pair; between each 10kΩ
+ resistor and the phototransistor collectors are pins labelled
+ "sense1" and "sense2"
+
+Pulling a "row" pin high (with the others low) and a "col" pin low
+(with the others in high-impedance / tristate), we can turn on one
+sensor at a time, so we can scan the matrix. When the phototransistor
+sense light reflecting from an object in front of it, it will pull
+down the "sense" pin, which we can read via the ADC in the controller.
+
+Testing that design on a breadboard proved that it can work!
+
+.. image:: sensor-matrix-test.jpg
+ :width: 100%
+ :alt: breadboard with a ESP32 dev board, 4 QRD1114 sensors, four
+ resistors, and a bunch of wires. One QRD1114's LED is shining
+ a weak pink, the others are off
+
+How are we going to keep the sensors in the right place inside the
+piano, though? We're going to print a support that's compatible with
+Lego pieces!
+
+.. image:: sensor-mount-test.jpg
+ :width: 100%
+ :alt: white plastic 3D-printed rectangle, 6×2 Lego studs in size,
+ with standard-sized studs only along one long side; 5 QRD1114
+ sensors occupy one long side, and 2 Lego 1×1 plates with C
+ clip are on the other side
+
+My printer (a `Prusa i3 MK3S
+<https://shop.prusa3d.com/en/3d-printers/180-original-prusa-i3-mk3s-kit.html>`_)
+can print holes of the right size for standard vias, and can print the
+whole sensor support in one go (29 studs long). The sensors need to be
+aligned with the hammers (there's no space behind the stems of the
+keys, also the hammers are white so more visible to the
+phototransistor, and move more, so it's less probable we'll have false
+positives). I used `OpenSCAD <http://www.openscad.org/>`_ to `model
+the support
+<https://www.thenautilus.net/cgit/lego-piano/tree/3d-print/qrd-holder.scad>`_.
+
+.. image:: sensor-mount-size-check.jpg
+ :width: 100%
+ :alt: white plastic 3D-printer rectangle, 29×2 Lego studs in size,
+ with 25 groups of 4 small holes to hold the sensors, placed
+ on top of the "strings" on the piano, showing how the holes
+ for the sensors align with the hammers
+
+We also must check positioning on the other two axes, of course.
+
+.. image:: sensor-position-test-1.jpg
+ :width: 100%
+ :alt: one QRD1114 mounted on the 3D-printer plastic holder,
+ suspended below one of the "strings" with a Lego clip piece;
+ the sensor sits just above and behind the rightmost hammer on
+ the keyboard; the hammer is in its resting position
+
+.. image:: sensor-position-test-2.jpg
+ :width: 100%
+ :alt: same pieces as before; the hammer is in its raised position,
+ precisely in front of the sensor
+
+At this point someone must be asking: how are we going to solder those
+sensors on a *plastic* board? And the answer is, we're not going to! I
+decided to go with `wire-wrapping
+<https://en.wikipedia.org/wiki/Wire_wrap>`_!
+
+.. image:: sensors-mount-wiring.jpg
+ :width: 100%
+ :alt: reverse side of the 29×2 rectangle, with 10 sensors inserted
+ into their holes from the front, and many thin electrical
+ wires, insulated in yellow plastic, connecting some of their
+ pins
+
+The sensors have 4 pins, numbered counter-clockwise looking at the LED
+/ phototransistor faces:
+
+1. phototransistor collector, to connect to pull-up resistor and to
+ "row" pin
+2. phototransistor emitter, to connect to "column" pin
+3. LED anode, to connect to current-limiter resistor and to "row" pin
+4. LED cathode, to connect to "column" pin
+
+so the whole wiring looks like this::
+
+ aM aN aO aP aQ cM cN cO cP cQ
+ 14 14 14 14 14 14 14 14 14 14 …
+ 23 23 23 23 23 23 23 23 23 23 …
+ Mb Nb Ob Pb Qb Md Nd Od Pd Qd
+
+where ``a``, ``c`` go to the pull-up resistors; ``b``, ``d`` go to the
+limiter resistors, and ``M``, ``N``, ``O``, ``P``, ``Q`` go to the
+column pins.
+
+The controller board is built in a similar way: 3D-printed and
+wire-wrapped (see `the model
+<https://www.thenautilus.net/cgit/lego-piano/tree/3d-print/controller.scad>`_).
+
+.. image:: board.jpg
+ :width: 100%
+ :alt: white plastic 3D-printed rectangle, with two groups of 10x2
+ holes around a label "esp", two groups of 5×2 holes around
+ labels "220Ω" and "10kΩ", three groups of 5 holes beside
+ labels "led", "gnd", "pht", and one group of 9 holes beside a
+ label "amp"; there is a notch in the rectangle near the "esp"
+ label, and a small raised block near the "amp" label
+
+The notch in the board corresponds to the battery connector, and the
+raised block is to hold up the small `AdaFruit audio amplifier
+<https://learn.adafruit.com/stereo-3-7w-class-d-audio-amplifier/inputs-and-outputs>`_
+
+.. image:: board-populated.jpg
+ :width: 100%
+ :alt: same board, with all the components placed on it. The "led",
+ "gnd" and "pht" holes hold connectors
+
+.. image:: board-wired.jpg
+ :width: 100%
+ :alt: reverse of the populated board, many electrical wires
+ insulated in yellow plastic connect various pins
+
+.. image:: board-full.jpg
+ :width: 100%
+ :alt: same populated board, with a small naked speaker connected to
+ the amplifier
+
+I had some problems with the row / column connections, because not all the
+GPIO pins can actually be used. After some trial and error, I settled
+on:
+
+- row pins: 05 23 19 18 26
+- colums pins: 17 33 16 21 22
+- ADC pins: 02 04 12 27 14
+- DAC pin: 25
+- amp enable: 32
+
+The program was a bit fiddly to get right, but not particularly
+complicated, `you can see it in my Git repository
+<https://www.thenautilus.net/cgit/lego-piano/tree/esp32/lego-piano.ino>`_.
+
+.. note::
+
+ The TTGO board gave me some problems with uploading the compiled
+ image, with errors like ``A fatal error occurred: Timed out waiting
+ for packet content`` or ``Invalid head of packet (0xE0)``. To fix
+ those, I had to `set the upload speed by hand
+ <https://www.thenautilus.net/cgit/lego-piano/tree/esp32/Makefile>`_
+ in the ``Makefile``.
+
+First test with a few sensors on a breadboard:
+
+.. video:: sound-test-1.mp4
+ :width: 100%
+ :type: video/mp4
+
+and with all the sensors, mounted inside the piano:
+
+.. video:: sound-test-2.mp4
+ :width: 100%
+ :type: video/mp4
+
+I removed the Lego electronics to make space for the wires and the
+controller board.
+
+And, finally, the whole assembled set:
+
+.. video:: sound-test-3.mp4
+ :width: 100%
+ :type: video/mp4
+
+At the moment the program can't really deal with more than one key
+pressed at a time, as you may have noticed at the end of that last
+video. The next step is to use a soundfont library, probably
+`TinySoundFount <https://github.com/schellingb/TinySoundFont>`_ or `the
+ESP-optimised version
+<https://github.com/earlephilhower/ESP8266Audio/tree/master/src/libtinysoundfont>`_,
+which should have no problems mixing multiple notes.
diff --git a/src/modelli/lego-piano/document.it.rest.txt b/src/modelli/lego-piano/document.it.rest.txt
new file mode 100644
index 0000000..a6c0ea9
--- /dev/null
+++ b/src/modelli/lego-piano/document.it.rest.txt
@@ -0,0 +1,257 @@
+===================================
+Come far suonare in Pianoforte LEGO
+===================================
+:CreationDate: 2020-08-28 10:39:28
+:Id: modelli/lego-piano
+:tags: - 3dPrint
+ - hardware
+ - software
+ - models
+
+Il `Pianoforte a coda LEGO 21323
+<https://www.lego.com/it-it/product/grand-piano-21323>`_ è un gran bel
+modello, con un sacco di dettagli interessanti e un livello di
+ingegneria veramente notevole.
+
+Ci sono un po' di componenti elettronici, che parlano via Bluetooth
+con una app per telefono.
+
+.. image:: lego-electronics.jpg
+ :width: 100%
+ :alt: un sensore ottico Lego, motore, e scatola di controllo,
+ su una larga base di pezzi montati di lato; il motore fa girare
+ un lungo asse con camme ortogonali
+
+La app può suonare alcuni motivi predefiniti mentre fa girare il
+motore dentro al pianoforte, cosa che fa abbassare un po' dei tasti in
+una sequenza costante, per far finta che il pianoforte stia suonando
+la musica. Oppure, la app può aspettare che premiate un tasto
+qualsiasi (tutti i tasti muovono un pezzo di fronte al sensore ottico)
+per suonare ciascuna nota, per far finta che stiate suonando voi.
+
+Carino, ma un po' tanto limitato: abbiamo 25 tasti indipendenti, ci
+deve essere un modo di fargli suonare la nota giusta!
+
+.. image:: keys.jpg
+ :width: 100%
+ :alt: la tastiera del pianoforte Lego piano, 2 ottave + 1, con
+ tasti bianchi e neri in sequenza corretta; ciascun tasto ha
+ il suo martelletto
+
+.. video:: keys-hammers.mp4
+ :width: 100%
+ :type: video/mp4
+
+Dopo un po' di ricerca, ho deciso di usare sensori ottici e un
+microcontroller potente. Non può essere tanto difficile, vero? ☺
+
+Ho usato come sensore il `QRD1114
+<https://learn.sparkfun.com/tutorials/qrd1114-optical-detector-hookup-guide/all>`_,
+che è molto semplice da usare: LED infrarosso più fototransistor, con
+campo visivo molto stretto e corto, per cui è difficile che tasti
+adiacenti producano falsi positivi.
+
+Come controller ho usato un `Lilygo TTGO-T7 v1.3
+<http://www.lilygo.cn/prod_view.aspx?TypeId=50033&Id=1258&FId=t3:50033:3>`_,
+principalmente perché ne avevo una manciata. È un ESP32, espone 40
+piedini, e può caricare una batteria al litio da USB.
+
+.. note::
+
+ La versione 1.3 è un ``d1_mini32`` per quanto riguarda le librerie `esp32-arduino
+ <https://github.com/espressif/arduino-esp32>`_, la 1.4 è un
+ ``esp32wrover``. Son sicuro che ci siano altre versioni in giro,
+ potreste dover fare qualche aggiustamento su volete riprodurre quel
+ che ho fatto
+
+Per cominciare ho dovuto trovare il sistema di collegare i sensori al
+controller. Il LED del QRD1114 si accontenta di 20mA, per cui posso
+alimentarlo direttamente dai GPIO del ESP32, che reggono fino a circa
+30mA. 25 sensori fanno una matrice 5×5, per cui qualcosa di simile a
+questo circuito dovrebbe funzionare:
+
+.. image:: lego-piano-scanner-schematic.svg
+ :width: 100%
+ :alt: schema elettrico; quattro QRD1114 sono disposti a quadrato;
+ un filo etichettato "row1" è collegato agli anodi di due LED
+ tramite una resistenza di 330Ω e ai collettori di due
+ fototransistor tramite una resistenza di 10kΩ; un filo "row2"
+ è collegato in maniera simile agli altri due sensori; un filo
+ "col1" è collegato al catodo del LED e all'emettitore del
+ fototransistor di un sensore per riga; un filo "col2" è
+ collegato in maniera simile agli altri due; tra ciascuna
+ resistenza da 10kΩ e i fototransistor ci sono fili
+ etichettati "sense1" e "sense2"
+
+Mettendo "alto" un piedino di riga (con gli altri "bassi") e "basso"
+un piedino di colonna (con gli altri ad alta impedenza / tristate),
+possiamo accendere un sensore alla volta. Quando un fototransistor
+vede la luce riflessa da un oggetto che gli sta davanti, abbassa il
+piedino "sense", che possiamo leggere con l'ADC del controller.
+
+Testiamo il circuito su una breadboard per dimostrare che funziona!
+
+.. image:: sensor-matrix-test.jpg
+ :width: 100%
+ :alt: breadboard con un ESP32, 4 sensori QRD1114, quattro
+ resistenze, e un po' di fili. Un LED fa una debole luce rosa,
+ gli altri sono spenti
+
+Come facciamo a tenere i sensori al loro posto dentro il pianoforte?
+Stampiamo un supporto compatibile coi pezzi Lego!
+
+.. image:: sensor-mount-test.jpg
+ :width: 100%
+ :alt: rettangolo di plastica bianca prodotto da una stampante 3D,
+ di dimensioni pari a 6×2 pezzi Lego; ci sono pispoli di
+ dimensione standard su uno dei lati lunghi, con 2 manine 1×1
+ attaccate; cinque sensori QRD1114 sull'altro lato
+
+La mia stampante (una `Prusa i3 MK3S
+<https://shop.prusa3d.com/en/3d-printers/180-original-prusa-i3-mk3s-kit.html>`_)
+riesce a stampare fori della dimensione giusta per i componenti
+elettronici, e l'intero supporto (lungo 29 unità Lego) in una passata
+sola. I sensori devono essere allineati ai martelletti (non c'è posto
+dietro le stecche dei tasti, inoltre i martelletti sono bianchi per
+cui più visibili ai sensori, e si muovono di più per cui riducono la
+probabilità di letture sbagliate). Ho usato `OpenSCAD
+<http://www.openscad.org/>`_ per `costruire il modello del supporto
+<https://www.thenautilus.net/cgit/lego-piano/tree/3d-print/qrd-holder.scad>`_.
+
+.. image:: sensor-mount-size-check.jpg
+ :width: 100%
+ :alt: rettangolo di plastica bianca prodotto da una stampante 3D,
+ di dimensioni pari a 29×2 pezzi Lego, con 25 gruppi di 4 fori
+ ciascuno per reggere i sensori, appoggiato sopra le "corde"
+ del pianoforte; i fori sono allineati coi martelletti
+
+Dobbiamo anche controllare l'allineamento sugli altri due assi,
+ovviamente.
+
+.. image:: sensor-position-test-1.jpg
+ :width: 100%
+ :alt: un sensore QRD1114 inserito nel supporto stampato, appeso a
+ una delle "corde" con una manina Lego; il sensore è appena
+ sopra e dietro l'ultimo martelletto a destra; il martelletto
+ è a riposo
+
+.. image:: sensor-position-test-2.jpg
+ :width: 100%
+ :alt: stessi pezzi di prima; il martelletto è sollevato, proprio
+ davanti al sensore
+
+A questo punto qualcuno si starà domandando: come si fa a saldare
+componenti elettronici su una basetta di *plastica*? E la risposta è
+che non saldiamo nulla! Ho usato la tecnica del `wire-wrapping
+<https://en.wikipedia.org/wiki/Wire_wrap>`_!
+
+.. image:: sensors-mount-wiring.jpg
+ :width: 100%
+ :alt: retro del rettangolo 29×2, con 10 sensori montati dal davanti
+ nei loro fori, e tanti fili elettrici isolati in giallo che
+ collegano alcuni dei piedini
+
+Ciascun sensore ha 4 piedini, numerati in senso antiorario guardando
+dalla faccia del LED / fototransistor:
+
+1. collettore del fototransistor, da collegare a una resistenza di
+ pull-up e a un piedino "riga"
+2. emettitore del fototransistor, da collegare a un piedino "colonna"
+3. anodo del LED, da collegare a una resistenza di limitazione e a un
+ piedino "riga"
+4. catodo del LED, da collegare a un piedino "colonna"
+
+per cui i collegamenti vengono più o meno così::
+
+ aM aN aO aP aQ cM cN cO cP cQ
+ 14 14 14 14 14 14 14 14 14 14 …
+ 23 23 23 23 23 23 23 23 23 23 …
+ Mb Nb Ob Pb Qb Md Nd Od Pd Qd
+
+dove ``a``, ``c`` vanno alle resistenze pull-up; ``b``, ``d`` vanno
+alle resistenze di limitazione, e ``M``, ``N``, ``O``, ``P``, ``Q``
+vanno ai piedini colonna.
+
+Ho costruito la basetta del controller nella stessa maniera: stampa e
+wire-wrap (`modello
+<https://www.thenautilus.net/cgit/lego-piano/tree/3d-print/controller.scad>`_).
+
+.. image:: board.jpg
+ :width: 100%
+ :alt: rettangolo di plastica bianca prodotto da una stampante 3D,
+ con due gruppi di fori 10×2 intorno a una scritta "esp", due
+ gruppi di fori 5×2 intorno a scritte "220Ω" e "10kΩ", tre
+ gruppi di 5 fori ciascuno accanto a scritte "led", "gnd",
+ "pht", e un gruppo di 9 fori accanto a una scritta "amp"; c'è
+ uno svaso vicino alla scritta "esp" e un rettangolo rialzato
+ vicino alla scritta "amp"
+
+La svasatura serve a far spazio per il connettore della batteria, e il
+blocchetto rialzato regge l'`amplificatore AdaFruit
+<https://learn.adafruit.com/stereo-3-7w-class-d-audio-amplifier/inputs-and-outputs>`_
+
+.. image:: board-populated.jpg
+ :width: 100%
+ :alt: stessa basetta, con tutti i componenti al loro posto; i fori
+ "led", "gnd" e "pht" hanno dei connettori
+
+.. image:: board-wired.jpg
+ :width: 100%
+ :alt: retro della basetta, un sacco di fili elettrici isolati in
+ giallo collegano i piedini
+
+.. image:: board-full.jpg
+ :width: 100%
+ :alt: stessa basetta, con un piccolo altoparlante collegato
+ all'amplificatore
+
+Ho avuto un po' di problemi con i piedini per righe e colonne, perché
+non tutti i GPIO sono davvero usabili. Alla fine ho usato questi:
+
+- righe: 05 23 19 18 26
+- colonne: 17 33 16 21 22
+- ADC: 02 04 12 27 14
+- DAC: 25
+- abilitazione dell'amplificatore: 32
+
+Il programma ha richiesto un po' di attenzione, ma non è
+particolarmente complicato, `potete leggerlo nel mio repository Git
+<https://www.thenautilus.net/cgit/lego-piano/tree/esp32/lego-piano.ino>`_.
+
+.. note::
+
+ La circuiteria del TTGO mi ha dato un po' di problemi nel caricare
+ il programma compilato, producendo errori tipo ``A fatal error
+ occurred: Timed out waiting for packet content`` o ``Invalid head
+ of packet (0xE0)``. Per evitarli, ho dovuto `impostare
+ esplicitamente la velocità di trasferimento
+ <https://www.thenautilus.net/cgit/lego-piano/tree/esp32/Makefile>`_
+ nel ``Makefile``.
+
+Primo test con pochi sensori su una breadboard:
+
+.. video:: sound-test-1.mp4
+ :width: 100%
+ :type: video/mp4
+
+e con tutti i sensori, montati al loro posto nel pianoforte:
+
+.. video:: sound-test-2.mp4
+ :width: 100%
+ :type: video/mp4
+
+Ho rimosso i componenti elettronici Lego per far posto ai fili e al controller.
+
+E, finalmente, il risultato assemblato:
+
+.. video:: sound-test-3.mp4
+ :width: 100%
+ :type: video/mp4
+
+Al momento il programma non sa gestire più di un tasto premuto alla
+volta, come probabilmente avete notato alla fine dell'ultimo filmato.
+Il passo successivo è di usare una libreria soundfont, probabilmente
+`TinySoundFount <https://github.com/schellingb/TinySoundFont>`_ o `la
+versione ottimizzata per ESP
+<https://github.com/earlephilhower/ESP8266Audio/tree/master/src/libtinysoundfont>`_,
+che dovrebbe riuscire a mixare note multiple.
diff --git a/src/modelli/lego-piano/du2html.xsl b/src/modelli/lego-piano/du2html.xsl
new file mode 120000
index 0000000..e2487e0
--- /dev/null
+++ b/src/modelli/lego-piano/du2html.xsl
@@ -0,0 +1 @@
+../../../templates/du2html.xsl \ No newline at end of file