diff options
-rw-r--r-- | doc/quick-tech-report/circuits.ipynb | 1115 | ||||
-rw-r--r-- | doc/quick-tech-report/ir_tx_schema.pdf | bin | 0 -> 4112 bytes | |||
-rw-r--r-- | doc/quick-tech-report/ir_tx_schema.svg | 340 | ||||
-rw-r--r-- | doc/quick-tech-report/mesh_gen_viz.pdf | bin | 0 -> 6880 bytes | |||
-rw-r--r-- | doc/quick-tech-report/mesh_gen_viz.svg | 1547 | ||||
-rw-r--r-- | doc/quick-tech-report/mesh_scan_crop.jpg | bin | 0 -> 400578 bytes | |||
-rw-r--r-- | doc/quick-tech-report/photolink_schematic.pdf | bin | 0 -> 15968 bytes | |||
-rw-r--r-- | doc/quick-tech-report/photolink_schematic.pro | 43 | ||||
-rw-r--r-- | doc/quick-tech-report/photolink_schematic.sch | 486 | ||||
-rw-r--r-- | doc/quick-tech-report/photolink_schematic.svg | 3246 | ||||
-rw-r--r-- | doc/quick-tech-report/proto_3d_design.jpg | bin | 0 -> 63447 bytes | |||
-rw-r--r-- | doc/quick-tech-report/prototype_early_comms_small.jpg | bin | 0 -> 518517 bytes | |||
-rw-r--r-- | doc/quick-tech-report/rotohsm_tech_report.pdf | bin | 0 -> 1194508 bytes | |||
-rw-r--r-- | doc/quick-tech-report/rotohsm_tech_report.tex | 148 | ||||
-rw-r--r-- | prototype/fw/src/main.c | 4 | ||||
-rw-r--r-- | prototype/fw/tools/ser_test.py | 13 |
16 files changed, 6918 insertions, 24 deletions
diff --git a/doc/quick-tech-report/circuits.ipynb b/doc/quick-tech-report/circuits.ipynb new file mode 100644 index 0000000..2e78b30 --- /dev/null +++ b/doc/quick-tech-report/circuits.ipynb @@ -0,0 +1,1115 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import schemdraw\n", + "from schemdraw import elements as elm" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHEAAABVCAYAAAB+QwvwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFWklEQVR4nO2dbYgVVRjHf8+uu1KJqbW0ltYWIbGUkVgE9cHFsDKzD0F9aYkg+qAg9EGCCqN33Iwg8kP0whKSSAWBuBhFBhJBUtGuayClwi66roa9mW2+PH2Y57LjZe/dcebOvXdOzw8Os3PmmfM8Z/73zJk5Z2ZWVBWn2LQ0OgAnOy5iALiIAeAiBoCLGAAuYgC4iAHgItYAEekXEbV0WkTGRWSXiKwVkTazaRORjSIyKCInReSIiHwoIldn9e8i1o4vgPlAF7AC2A48D+wWkUuAi4ElwMu2fABYCOwUkRlZHIuP2GRHRPqBy1V1VVn+jcD3wKuq+twU+3UDw8BiVR1K699bYo6o6l5gJ/BgBZPZtjyRxY+LmD/7gOvKM0WkHXgd2K6qo1kcZDoXO4kQ4Lw+y/rALcAcYHVWBy5i/nQDB0orJuBW4CZgmar+mtWBn05zxC5s7gE+tvU2YBuwGOhR1bFa+PGWWDtmikgnUcPoAJYDTwPfAZusBX4E3ArcD6jZA/yuqqfSOvZbjBpgtxiP2upZ4DdgL/AJ8Laq/isiXcDBCkU8pqr9qf27iMXH+8QAcBEDwEUMABcxAFzEAHARA8BFDAAXMQBcxABIJKKI7Ig9Q5ImjeddkWbGnrlJc9x2JCm/Xi2xo05+mpVc65/72KmIKICqSq6Ompi8j4H3iQHgIgaAixgALmIAuIgB4CIGgIsYAC5iALiIAeAiBoCLGACFegJcRNYCtwODwJClw/o/f3i2UCIC1wCPlOWdEJG4qIPAXlX9q97BNYpCzWKIyABwb0Lzg0yKOqCq32T1n5a8ZzEyiygivcDSKibrbPlmFZtBVX0vga+0wY6oauYPHFTCJm9XZixmQFXvS7Njthf+ozd93gXaE5ivq7LtnIhsVdW/pyljApiZNL4Yf6TYpzBkElFVz4jIG8BTlvUKkPRRjHnABvt7cwIBIWrN6ytsG2fy9FnqH/clLDcTlVqQiPQQfVWjdBfwE3BbzftrVc2UiH4Iu4leaf4caE2wTwvRJ0IU+BZoT+irDzgF7AHeB54E7gKuyFqPWiegExizOm4i+kqGAh9g3VjNfNUo4KuAYxbkhgT26832BNB1AX4uTfIjaXQCWoFdVscvbb0bOGl5jzediBb4CuCcpeVV7O4AzlhlVjf6gOck4otWvzGgM5bfa/n/ADc3nYgW5AsW5FFg/hTbO4BRs3mt0Qc7JwHvth/yWaL38su3v2P13w/MbkYRW+30ocBXwIzYthaiD/Mo8DXQ1ugDnoOAC2LdyrMVbC4CfjSbbbXoH/OoSLxDfymW/4zlHQcWNPqA51DvttgF3mdASxXbRcCfZrum6US0IHvsdKJEnwBZFl/PUO5K4Ami8dNZjRauLLaNVr9RoCOB/cNmPwEsbToRLch4yztS3jJTltln5ZTSAeBTu5B4CLghfgqvo4CrLJ4zwJ0XsN9bsXrMSeu/FsNudRtyEpHNwJppzCaI7sniA+I/qOrxjDFWimke8DMw13yPTGF2pS0Pl+W3A6XhwC2q2psmhqLNYkwnIETDcksslRhh8mDVmrnArJjv66vYVtu2MG0ARZvFSBvsIVW9Nqv/SlhrvKyKyX5bLqpic0hVT6fyXzAR+6g8dgrRTfQw54+fDqnq0ay+s5D3VFTRTqclShcD8QHvQeAXVT3byMAaQdFa4i1EFwPDWqCZ+6afFJ7Wgb+f6O8nOtPjIgaAixgALmIAuIgB4CIGgIsYAC5iALiIAeAiBoCLGAC5f2Ux7woUiaJ/ZfFYnfw0K7nW3/9DTQB4nxgALmIAuIgB4CIGgIsYAC5iALiIAeAiBsB/Lc+Etv85bQ8AAAAASUVORK5CYII=\n", + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Created with matplotlib (https://matplotlib.org/) -->\n", + "<svg height=\"85.434687pt\" version=\"1.1\" viewBox=\"0 0 113.22 85.434687\" width=\"113.22pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + " <metadata>\n", + " <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n", + " <cc:Work>\n", + " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n", + " <dc:date>2020-12-01T15:29:56.159415</dc:date>\n", + " <dc:format>image/svg+xml</dc:format>\n", + " <dc:creator>\n", + " <cc:Agent>\n", + " <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n", + " </cc:Agent>\n", + " </dc:creator>\n", + " </cc:Work>\n", + " </rdf:RDF>\n", + " </metadata>\n", + " <defs>\n", + " <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n", + " </defs>\n", + " <g id=\"figure_1\">\n", + " <g id=\"patch_1\">\n", + " <path d=\"M 0 85.434687 \n", + "L 113.22 85.434687 \n", + "L 113.22 0 \n", + "L 0 0 \n", + "z\n", + "\" style=\"fill:none;\"/>\n", + " </g>\n", + " <g id=\"axes_1\">\n", + " <g id=\"patch_2\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 33.12 46.869687 \n", + "L 25.02 57.579687 \n", + "L 16.92 46.869687 \n", + "z\n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_3\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 81.72 57.579687 \n", + "L 89.82 46.869687 \n", + "L 97.92 57.579687 \n", + "z\n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_4\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 57.42 46.104687 \n", + "L 44.46 48.399687 \n", + "L 44.46 46.119987 \n", + "L 47.7 46.119987 \n", + "L 47.7 46.089387 \n", + "L 44.46 46.089387 \n", + "L 44.46 43.809687 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_5\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 57.42 58.344687 \n", + "L 44.46 60.639687 \n", + "L 44.46 58.359987 \n", + "L 47.7 58.359987 \n", + "L 47.7 58.329387 \n", + "L 44.46 58.329387 \n", + "L 44.46 56.049687 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_1\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 25.02 29.274687 \n", + "L 25.02 46.869687 \n", + "M 33.12 57.579687 \n", + "L 16.92 57.579687 \n", + "M 25.02 57.579687 \n", + "L 25.02 75.174687 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_2\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 89.82 29.274687 \n", + "L 89.82 46.869687 \n", + "M 81.72 46.869687 \n", + "L 97.92 46.869687 \n", + "M 89.82 57.579687 \n", + "L 89.82 75.174687 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_3\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 44.46 46.104687 \n", + "L 50.94 46.104687 \n", + "L 57.42 46.104687 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_4\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 44.46 58.344687 \n", + "L 50.94 58.344687 \n", + "L 57.42 58.344687 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_5\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 89.82 29.274687 \n", + "L 96.3 29.274687 \n", + "L 102.78 29.274687 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_6\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 89.82 75.174687 \n", + "L 96.3 75.174687 \n", + "L 102.78 75.174687 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_7\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 25.02 29.274687 \n", + "L 17.73 29.274687 \n", + "L 10.44 29.274687 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_8\">\n", + " <path clip-path=\"url(#p4c0da9f43f)\" d=\"M 25.02 75.174687 \n", + "L 17.73 75.174687 \n", + "L 10.44 75.174687 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"text_1\">\n", + " <!-- D2 -->\n", + " <g transform=\"translate(79.97625 17.837812)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M 19.671875 64.796875 \n", + "L 19.671875 8.109375 \n", + "L 31.59375 8.109375 \n", + "Q 46.6875 8.109375 53.6875 14.9375 \n", + "Q 60.6875 21.78125 60.6875 36.53125 \n", + "Q 60.6875 51.171875 53.6875 57.984375 \n", + "Q 46.6875 64.796875 31.59375 64.796875 \n", + "z\n", + "M 9.8125 72.90625 \n", + "L 30.078125 72.90625 \n", + "Q 51.265625 72.90625 61.171875 64.09375 \n", + "Q 71.09375 55.28125 71.09375 36.53125 \n", + "Q 71.09375 17.671875 61.125 8.828125 \n", + "Q 51.171875 0 30.078125 0 \n", + "L 9.8125 0 \n", + "z\n", + "\" id=\"DejaVuSans-68\"/>\n", + " <path d=\"M 19.1875 8.296875 \n", + "L 53.609375 8.296875 \n", + "L 53.609375 0 \n", + "L 7.328125 0 \n", + "L 7.328125 8.296875 \n", + "Q 12.9375 14.109375 22.625 23.890625 \n", + "Q 32.328125 33.6875 34.8125 36.53125 \n", + "Q 39.546875 41.84375 41.421875 45.53125 \n", + "Q 43.3125 49.21875 43.3125 52.78125 \n", + "Q 43.3125 58.59375 39.234375 62.25 \n", + "Q 35.15625 65.921875 28.609375 65.921875 \n", + "Q 23.96875 65.921875 18.8125 64.3125 \n", + "Q 13.671875 62.703125 7.8125 59.421875 \n", + "L 7.8125 69.390625 \n", + "Q 13.765625 71.78125 18.9375 73 \n", + "Q 24.125 74.21875 28.421875 74.21875 \n", + "Q 39.75 74.21875 46.484375 68.546875 \n", + "Q 53.21875 62.890625 53.21875 53.421875 \n", + "Q 53.21875 48.921875 51.53125 44.890625 \n", + "Q 49.859375 40.875 45.40625 35.40625 \n", + "Q 44.1875 33.984375 37.640625 27.21875 \n", + "Q 31.109375 20.453125 19.1875 8.296875 \n", + "z\n", + "\" id=\"DejaVuSans-50\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-68\"/>\n", + " <use x=\"77.001953\" xlink:href=\"#DejaVuSans-50\"/>\n", + " </g>\n", + " </g>\n", + " </g>\n", + " </g>\n", + " <defs>\n", + " <clipPath id=\"p4c0da9f43f\">\n", + " <rect height=\"52.02\" width=\"98.82\" x=\"7.2\" y=\"26.214687\"/>\n", + " </clipPath>\n", + " </defs>\n", + "</svg>\n" + ], + "text/plain": [ + "<__main__.DiodeOptocoupler at 0x7ff215993c70>" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class DiodeOptocoupler(schemdraw.elements.compound.ElementCompound):\n", + " def __init__(self, *args, **kwargs):\n", + " unit = 1.5\n", + " super().__init__(*args, unit=unit, **kwargs)\n", + "\n", + " box = kwargs.get('box', True)\n", + " boxfill = kwargs.get('boxfill', False)\n", + " bpad = kwargs.get('boxpad', .2)\n", + " label1, label2 = kwargs.get('label1'), kwargs.get('label2')\n", + " rev1, rev2 = kwargs.get('reverse1', False), kwargs.get('reverse2', False)\n", + "\n", + " D1 = self.add(elm.Diode(d='down', reverse=rev1))\n", + " D2 = self.add(elm.Diode(d='down', reverse=rev2, at=[2, 0]))\n", + " if label1:\n", + " self.segments.append(schemdraw.segments.SegmentText(D1.start + (0, 0.5), label1))\n", + " if label2:\n", + " self.segments.append(schemdraw.segments.SegmentText(D2.start + (0, 0.5), label2))\n", + " \n", + " self.add(elm.Arrow('r', at=[.6, -unit/2 + .2], l=.4, headwidth=.15, headlength=.4))\n", + " self.add(elm.Arrow('r', at=[.6, -unit/2 - .2], l=.4, headwidth=.15, headlength=.4))\n", + "\n", + " bbox = self.get_bbox()\n", + " if box:\n", + " self.add(elm.Rect(\n", + " 'r', at=[0, 0],\n", + " corner1=[bbox.xmin-bpad, bbox.ymin-bpad],\n", + " corner2=[bbox.xmax+bpad, bbox.ymax+bpad],\n", + " fill=boxfill, zorder=0))\n", + "\n", + " A = self.add(elm.Line('r', at=D2.start, l=bpad*2))\n", + " B = self.add(elm.Line('r', at=D2.end, l=bpad*2))\n", + " C = self.add(elm.Line('l', at=D1.start, tox=bbox.xmin-bpad))\n", + " D = self.add(elm.Line('l', at=D1.end, tox=bbox.xmin-bpad))\n", + " self.anchors['anode1'] = C.end\n", + " self.anchors['cathode1'] = D.end\n", + " self.anchors['anode2'] = B.end\n", + " self.anchors['cathode2'] = A.end\n", + "DiodeOptocoupler(box=False, reverse2=True, label2='D2')" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Created with matplotlib (https://matplotlib.org/) -->\n", + "<svg height=\"288.27pt\" version=\"1.1\" viewBox=\"0 0 906.064375 288.27\" width=\"906.064375pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + " <metadata>\n", + " <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n", + " <cc:Work>\n", + " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n", + " <dc:date>2020-12-01T15:40:27.785440</dc:date>\n", + " <dc:format>image/svg+xml</dc:format>\n", + " <dc:creator>\n", + " <cc:Agent>\n", + " <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n", + " </cc:Agent>\n", + " </dc:creator>\n", + " </cc:Work>\n", + " </rdf:RDF>\n", + " </metadata>\n", + " <defs>\n", + " <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n", + " </defs>\n", + " <g id=\"figure_1\">\n", + " <g id=\"patch_1\">\n", + " <path d=\"M 0 288.27 \n", + "L 906.064375 288.27 \n", + "L 906.064375 0 \n", + "L 0 0 \n", + "z\n", + "\" style=\"fill:none;\"/>\n", + " </g>\n", + " <g id=\"axes_1\">\n", + " <g id=\"patch_2\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 45.124375 117.36 \n", + "C 49.420665 117.36 53.541569 115.747895 56.579505 112.878734 \n", + "C 59.617441 110.009572 61.324375 106.117607 61.324375 102.06 \n", + "C 61.324375 98.002393 59.617441 94.110428 56.579505 91.241266 \n", + "C 53.541569 88.372105 49.420665 86.76 45.124375 86.76 \n", + "C 40.828085 86.76 36.707181 88.372105 33.669245 91.241266 \n", + "C 30.631309 94.110428 28.924375 98.002393 28.924375 102.06 \n", + "C 28.924375 106.117607 30.631309 110.009572 33.669245 112.878734 \n", + "C 36.707181 115.747895 40.828085 117.36 45.124375 117.36 \n", + "z\n", + "\" style=\"fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_3\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 262.204375 165.555 \n", + "L 254.104375 176.265 \n", + "L 246.004375 165.555 \n", + "z\n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_4\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 310.804375 176.265 \n", + "L 318.904375 165.555 \n", + "L 327.004375 176.265 \n", + "z\n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_5\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 301.084375 164.79 \n", + "L 288.124375 167.085 \n", + "L 288.124375 164.8053 \n", + "L 291.364375 164.8053 \n", + "L 291.364375 164.7747 \n", + "L 288.124375 164.7747 \n", + "L 288.124375 162.495 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_6\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 301.084375 177.03 \n", + "L 288.124375 179.325 \n", + "L 288.124375 177.0453 \n", + "L 291.364375 177.0453 \n", + "L 291.364375 177.0147 \n", + "L 288.124375 177.0147 \n", + "L 288.124375 174.735 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_7\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 239.524375 230.886 \n", + "L 232.495828 229.226482 \n", + "L 234.593849 226.914773 \n", + "L 227.039832 220.799617 \n", + "L 227.060918 220.776383 \n", + "L 234.614935 226.89154 \n", + "L 236.712956 224.579832 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_1\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 45.124375 147.96 \n", + "L 45.124375 117.36 \n", + "L 45.124375 117.36 \n", + "M 45.124375 86.76 \n", + "L 45.124375 86.76 \n", + "L 45.124375 56.16 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_2\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 48.364375 109.71 \n", + "L 41.884375 109.71 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_3\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 45.124375 97.47 \n", + "L 45.124375 91.35 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_4\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 48.364375 94.41 \n", + "L 41.884375 94.41 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_5\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 45.124375 56.16 \n", + "L 142.324375 56.16 \n", + "L 239.524375 56.16 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_6\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 239.524375 56.16 \n", + "L 239.524375 86.76 \n", + "L 247.624375 89.31 \n", + "L 231.424375 94.41 \n", + "L 247.624375 99.51 \n", + "L 231.424375 104.61 \n", + "L 247.624375 109.71 \n", + "L 231.424375 114.81 \n", + "L 239.524375 117.36 \n", + "L 239.524375 147.96 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_7\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 254.104375 147.96 \n", + "L 254.104375 165.555 \n", + "M 262.204375 176.265 \n", + "L 246.004375 176.265 \n", + "M 254.104375 176.265 \n", + "L 254.104375 193.86 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_8\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 318.904375 147.96 \n", + "L 318.904375 165.555 \n", + "M 310.804375 165.555 \n", + "L 327.004375 165.555 \n", + "M 318.904375 176.265 \n", + "L 318.904375 193.86 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_9\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 273.544375 164.79 \n", + "L 280.024375 164.79 \n", + "L 286.504375 164.79 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_10\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 273.544375 177.03 \n", + "L 280.024375 177.03 \n", + "L 286.504375 177.03 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_11\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 318.904375 147.96 \n", + "L 325.384375 147.96 \n", + "L 331.864375 147.96 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_12\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 318.904375 193.86 \n", + "L 325.384375 193.86 \n", + "L 331.864375 193.86 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_13\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 254.104375 147.96 \n", + "L 246.814375 147.96 \n", + "L 239.524375 147.96 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_14\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 254.104375 193.86 \n", + "L 246.814375 193.86 \n", + "L 239.524375 193.86 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_15\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 215.170375 215.178 \n", + "L 227.050375 215.178 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_16\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 227.050375 203.958 \n", + "L 227.050375 226.398 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_17\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 227.050375 209.568 \n", + "L 239.524375 199.47 \n", + "L 239.524375 193.86 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_18\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 227.050375 220.788 \n", + "L 239.524375 230.886 \n", + "L 239.524375 236.496 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_19\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 239.524375 236.496 \n", + "L 239.524375 247.971 \n", + "L 239.524375 259.446 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_20\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 239.524375 259.446 \n", + "L 142.324375 259.446 \n", + "L 45.124375 259.446 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_21\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 45.124375 259.446 \n", + "L 45.124375 203.703 \n", + "L 45.124375 147.96 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_22\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 215.170375 215.178 \n", + "L 182.770375 215.178 \n", + "L 180.070375 222.828 \n", + "L 174.670375 207.528 \n", + "L 169.270375 222.828 \n", + "L 163.870375 207.528 \n", + "L 158.470375 222.828 \n", + "L 153.070375 207.528 \n", + "L 150.370375 215.178 \n", + "L 117.970375 215.178 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_23\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 331.864375 147.96 \n", + "L 331.864375 79.11 \n", + "L 331.864375 10.26 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_24\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 331.864375 10.26 \n", + "L 574.864375 10.26 \n", + "L 817.864375 10.26 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_25\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 331.864375 193.86 \n", + "L 356.164375 193.86 \n", + "L 380.464375 193.86 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_26\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 380.464375 193.86 \n", + "L 404.764375 193.86 \n", + "L 429.064375 193.86 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_27\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 429.064375 212.985 \n", + "L 429.064375 174.735 \n", + "L 499.212433 212.985 \n", + "L 429.064375 251.235 \n", + "L 429.064375 212.985 \n", + "M 499.212433 212.985 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_28\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 434.592882 193.86 \n", + "L 441.072882 193.86 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_29\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 434.592882 232.11 \n", + "L 441.072882 232.11 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_30\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 437.832882 235.17 \n", + "L 437.832882 229.05 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_31\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 380.464375 193.86 \n", + "L 380.464375 147.96 \n", + "L 380.464375 102.06 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_32\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 380.464375 102.06 \n", + "L 412.864375 102.06 \n", + "L 415.564375 94.41 \n", + "L 420.964375 109.71 \n", + "L 426.364375 94.41 \n", + "L 431.764375 109.71 \n", + "L 437.164375 94.41 \n", + "L 442.564375 109.71 \n", + "L 445.264375 102.06 \n", + "L 477.664375 102.06 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_33\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 477.664375 102.06 \n", + "L 501.964375 102.06 \n", + "L 526.264375 102.06 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_34\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 526.264375 102.06 \n", + "L 526.264375 157.5225 \n", + "L 526.264375 212.985 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_35\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 526.264375 212.985 \n", + "L 512.738404 212.985 \n", + "L 499.212433 212.985 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_36\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 380.464375 102.06 \n", + "L 380.464375 79.11 \n", + "L 380.464375 56.16 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_37\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 380.464375 56.16 \n", + "L 426.148375 56.16 \n", + "M 426.148375 48.51 \n", + "L 426.148375 63.81 \n", + "M 431.980375 48.51 \n", + "L 431.980375 63.81 \n", + "M 431.980375 56.16 \n", + "L 477.664375 56.16 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_38\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 477.664375 56.16 \n", + "L 501.964375 56.16 \n", + "L 526.264375 56.16 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_39\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 526.264375 56.16 \n", + "L 526.264375 79.11 \n", + "L 526.264375 102.06 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_40\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 429.064375 232.11 \n", + "L 419.344375 232.11 \n", + "L 409.624375 232.11 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_41\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 409.624375 232.11 \n", + "L 409.624375 255.06 \n", + "L 409.624375 278.01 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"line2d_42\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 409.624375 278.01 \n", + "L 652.624375 278.01 \n", + "L 895.624375 278.01 \n", + "\" style=\"fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"text_1\">\n", + " <!-- 5V -->\n", + " <g transform=\"translate(7.2 105.923125)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M 10.796875 72.90625 \n", + "L 49.515625 72.90625 \n", + "L 49.515625 64.59375 \n", + "L 19.828125 64.59375 \n", + "L 19.828125 46.734375 \n", + "Q 21.96875 47.46875 24.109375 47.828125 \n", + "Q 26.265625 48.1875 28.421875 48.1875 \n", + "Q 40.625 48.1875 47.75 41.5 \n", + "Q 54.890625 34.8125 54.890625 23.390625 \n", + "Q 54.890625 11.625 47.5625 5.09375 \n", + "Q 40.234375 -1.421875 26.90625 -1.421875 \n", + "Q 22.3125 -1.421875 17.546875 -0.640625 \n", + "Q 12.796875 0.140625 7.71875 1.703125 \n", + "L 7.71875 11.625 \n", + "Q 12.109375 9.234375 16.796875 8.0625 \n", + "Q 21.484375 6.890625 26.703125 6.890625 \n", + "Q 35.15625 6.890625 40.078125 11.328125 \n", + "Q 45.015625 15.765625 45.015625 23.390625 \n", + "Q 45.015625 31 40.078125 35.4375 \n", + "Q 35.15625 39.890625 26.703125 39.890625 \n", + "Q 22.75 39.890625 18.8125 39.015625 \n", + "Q 14.890625 38.140625 10.796875 36.28125 \n", + "z\n", + "\" id=\"DejaVuSans-53\"/>\n", + " <path d=\"M 28.609375 0 \n", + "L 0.78125 72.90625 \n", + "L 11.078125 72.90625 \n", + "L 34.1875 11.53125 \n", + "L 57.328125 72.90625 \n", + "L 67.578125 72.90625 \n", + "L 39.796875 0 \n", + "z\n", + "\" id=\"DejaVuSans-86\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-53\"/>\n", + " <use x=\"63.623047\" xlink:href=\"#DejaVuSans-86\"/>\n", + " </g>\n", + " </g>\n", + " <g id=\"text_2\">\n", + " <!-- R1 -->\n", + " <g transform=\"translate(209.549062 105.923125)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M 44.390625 34.1875 \n", + "Q 47.5625 33.109375 50.5625 29.59375 \n", + "Q 53.5625 26.078125 56.59375 19.921875 \n", + "L 66.609375 0 \n", + "L 56 0 \n", + "L 46.6875 18.703125 \n", + "Q 43.0625 26.03125 39.671875 28.421875 \n", + "Q 36.28125 30.8125 30.421875 30.8125 \n", + "L 19.671875 30.8125 \n", + "L 19.671875 0 \n", + "L 9.8125 0 \n", + "L 9.8125 72.90625 \n", + "L 32.078125 72.90625 \n", + "Q 44.578125 72.90625 50.734375 67.671875 \n", + "Q 56.890625 62.453125 56.890625 51.90625 \n", + "Q 56.890625 45.015625 53.6875 40.46875 \n", + "Q 50.484375 35.9375 44.390625 34.1875 \n", + "z\n", + "M 19.671875 64.796875 \n", + "L 19.671875 38.921875 \n", + "L 32.078125 38.921875 \n", + "Q 39.203125 38.921875 42.84375 42.21875 \n", + "Q 46.484375 45.515625 46.484375 51.90625 \n", + "Q 46.484375 58.296875 42.84375 61.546875 \n", + "Q 39.203125 64.796875 32.078125 64.796875 \n", + "z\n", + "\" id=\"DejaVuSans-82\"/>\n", + " <path d=\"M 12.40625 8.296875 \n", + "L 28.515625 8.296875 \n", + "L 28.515625 63.921875 \n", + "L 10.984375 60.40625 \n", + "L 10.984375 69.390625 \n", + "L 28.421875 72.90625 \n", + "L 38.28125 72.90625 \n", + "L 38.28125 8.296875 \n", + "L 54.390625 8.296875 \n", + "L 54.390625 0 \n", + "L 12.40625 0 \n", + "z\n", + "\" id=\"DejaVuSans-49\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-82\"/>\n", + " <use x=\"69.482422\" xlink:href=\"#DejaVuSans-49\"/>\n", + " </g>\n", + " </g>\n", + " <g id=\"text_3\">\n", + " <!-- D1 -->\n", + " <g transform=\"translate(244.260625 136.523125)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M 19.671875 64.796875 \n", + "L 19.671875 8.109375 \n", + "L 31.59375 8.109375 \n", + "Q 46.6875 8.109375 53.6875 14.9375 \n", + "Q 60.6875 21.78125 60.6875 36.53125 \n", + "Q 60.6875 51.171875 53.6875 57.984375 \n", + "Q 46.6875 64.796875 31.59375 64.796875 \n", + "z\n", + "M 9.8125 72.90625 \n", + "L 30.078125 72.90625 \n", + "Q 51.265625 72.90625 61.171875 64.09375 \n", + "Q 71.09375 55.28125 71.09375 36.53125 \n", + "Q 71.09375 17.671875 61.125 8.828125 \n", + "Q 51.171875 0 30.078125 0 \n", + "L 9.8125 0 \n", + "z\n", + "\" id=\"DejaVuSans-68\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-68\"/>\n", + " <use x=\"77.001953\" xlink:href=\"#DejaVuSans-49\"/>\n", + " </g>\n", + " </g>\n", + " <g id=\"text_4\">\n", + " <!-- D2 -->\n", + " <g transform=\"translate(309.060625 136.523125)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M 19.1875 8.296875 \n", + "L 53.609375 8.296875 \n", + "L 53.609375 0 \n", + "L 7.328125 0 \n", + "L 7.328125 8.296875 \n", + "Q 12.9375 14.109375 22.625 23.890625 \n", + "Q 32.328125 33.6875 34.8125 36.53125 \n", + "Q 39.546875 41.84375 41.421875 45.53125 \n", + "Q 43.3125 49.21875 43.3125 52.78125 \n", + "Q 43.3125 58.59375 39.234375 62.25 \n", + "Q 35.15625 65.921875 28.609375 65.921875 \n", + "Q 23.96875 65.921875 18.8125 64.3125 \n", + "Q 13.671875 62.703125 7.8125 59.421875 \n", + "L 7.8125 69.390625 \n", + "Q 13.765625 71.78125 18.9375 73 \n", + "Q 24.125 74.21875 28.421875 74.21875 \n", + "Q 39.75 74.21875 46.484375 68.546875 \n", + "Q 53.21875 62.890625 53.21875 53.421875 \n", + "Q 53.21875 48.921875 51.53125 44.890625 \n", + "Q 49.859375 40.875 45.40625 35.40625 \n", + "Q 44.1875 33.984375 37.640625 27.21875 \n", + "Q 31.109375 20.453125 19.1875 8.296875 \n", + "z\n", + "\" id=\"DejaVuSans-50\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-68\"/>\n", + " <use x=\"77.001953\" xlink:href=\"#DejaVuSans-50\"/>\n", + " </g>\n", + " </g>\n", + " <g id=\"text_5\">\n", + " <!-- Q1 -->\n", + " <g transform=\"translate(242.764375 219.041125)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M 39.40625 66.21875 \n", + "Q 28.65625 66.21875 22.328125 58.203125 \n", + "Q 16.015625 50.203125 16.015625 36.375 \n", + "Q 16.015625 22.609375 22.328125 14.59375 \n", + "Q 28.65625 6.59375 39.40625 6.59375 \n", + "Q 50.140625 6.59375 56.421875 14.59375 \n", + "Q 62.703125 22.609375 62.703125 36.375 \n", + "Q 62.703125 50.203125 56.421875 58.203125 \n", + "Q 50.140625 66.21875 39.40625 66.21875 \n", + "z\n", + "M 53.21875 1.3125 \n", + "L 66.21875 -12.890625 \n", + "L 54.296875 -12.890625 \n", + "L 43.5 -1.21875 \n", + "Q 41.890625 -1.3125 41.03125 -1.359375 \n", + "Q 40.1875 -1.421875 39.40625 -1.421875 \n", + "Q 24.03125 -1.421875 14.8125 8.859375 \n", + "Q 5.609375 19.140625 5.609375 36.375 \n", + "Q 5.609375 53.65625 14.8125 63.9375 \n", + "Q 24.03125 74.21875 39.40625 74.21875 \n", + "Q 54.734375 74.21875 63.90625 63.9375 \n", + "Q 73.09375 53.65625 73.09375 36.375 \n", + "Q 73.09375 23.6875 67.984375 14.640625 \n", + "Q 62.890625 5.609375 53.21875 1.3125 \n", + "z\n", + "\" id=\"DejaVuSans-81\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-81\"/>\n", + " <use x=\"78.710938\" xlink:href=\"#DejaVuSans-49\"/>\n", + " </g>\n", + " </g>\n", + " <g id=\"text_6\">\n", + " <!-- R2 -->\n", + " <g transform=\"translate(157.252719 201.556437)scale(0.14 -0.14)\">\n", + " <use xlink:href=\"#DejaVuSans-82\"/>\n", + " <use x=\"69.482422\" xlink:href=\"#DejaVuSans-50\"/>\n", + " </g>\n", + " </g>\n", + " <g id=\"text_7\">\n", + " <!-- R3 -->\n", + " <g transform=\"translate(419.746719 88.438437)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M 40.578125 39.3125 \n", + "Q 47.65625 37.796875 51.625 33 \n", + "Q 55.609375 28.21875 55.609375 21.1875 \n", + "Q 55.609375 10.40625 48.1875 4.484375 \n", + "Q 40.765625 -1.421875 27.09375 -1.421875 \n", + "Q 22.515625 -1.421875 17.65625 -0.515625 \n", + "Q 12.796875 0.390625 7.625 2.203125 \n", + "L 7.625 11.71875 \n", + "Q 11.71875 9.328125 16.59375 8.109375 \n", + "Q 21.484375 6.890625 26.8125 6.890625 \n", + "Q 36.078125 6.890625 40.9375 10.546875 \n", + "Q 45.796875 14.203125 45.796875 21.1875 \n", + "Q 45.796875 27.640625 41.28125 31.265625 \n", + "Q 36.765625 34.90625 28.71875 34.90625 \n", + "L 20.21875 34.90625 \n", + "L 20.21875 43.015625 \n", + "L 29.109375 43.015625 \n", + "Q 36.375 43.015625 40.234375 45.921875 \n", + "Q 44.09375 48.828125 44.09375 54.296875 \n", + "Q 44.09375 59.90625 40.109375 62.90625 \n", + "Q 36.140625 65.921875 28.71875 65.921875 \n", + "Q 24.65625 65.921875 20.015625 65.03125 \n", + "Q 15.375 64.15625 9.8125 62.3125 \n", + "L 9.8125 71.09375 \n", + "Q 15.4375 72.65625 20.34375 73.4375 \n", + "Q 25.25 74.21875 29.59375 74.21875 \n", + "Q 40.828125 74.21875 47.359375 69.109375 \n", + "Q 53.90625 64.015625 53.90625 55.328125 \n", + "Q 53.90625 49.265625 50.4375 45.09375 \n", + "Q 46.96875 40.921875 40.578125 39.3125 \n", + "z\n", + "\" id=\"DejaVuSans-51\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-82\"/>\n", + " <use x=\"69.482422\" xlink:href=\"#DejaVuSans-51\"/>\n", + " </g>\n", + " </g>\n", + " <g id=\"text_8\">\n", + " <!-- C1 -->\n", + " <g transform=\"translate(419.722656 42.538437)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M 64.40625 67.28125 \n", + "L 64.40625 56.890625 \n", + "Q 59.421875 61.53125 53.78125 63.8125 \n", + "Q 48.140625 66.109375 41.796875 66.109375 \n", + "Q 29.296875 66.109375 22.65625 58.46875 \n", + "Q 16.015625 50.828125 16.015625 36.375 \n", + "Q 16.015625 21.96875 22.65625 14.328125 \n", + "Q 29.296875 6.6875 41.796875 6.6875 \n", + "Q 48.140625 6.6875 53.78125 8.984375 \n", + "Q 59.421875 11.28125 64.40625 15.921875 \n", + "L 64.40625 5.609375 \n", + "Q 59.234375 2.09375 53.4375 0.328125 \n", + "Q 47.65625 -1.421875 41.21875 -1.421875 \n", + "Q 24.65625 -1.421875 15.125 8.703125 \n", + "Q 5.609375 18.84375 5.609375 36.375 \n", + "Q 5.609375 53.953125 15.125 64.078125 \n", + "Q 24.65625 74.21875 41.21875 74.21875 \n", + "Q 47.75 74.21875 53.53125 72.484375 \n", + "Q 59.328125 70.75 64.40625 67.28125 \n", + "z\n", + "\" id=\"DejaVuSans-67\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-67\"/>\n", + " <use x=\"69.824219\" xlink:href=\"#DejaVuSans-49\"/>\n", + " </g>\n", + " </g>\n", + " <g id=\"patch_8\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 117.970375 217.473 \n", + "C 118.614819 217.473 119.232954 217.231184 119.688644 216.80081 \n", + "C 120.144335 216.370436 120.400375 215.786641 120.400375 215.178 \n", + "C 120.400375 214.569359 120.144335 213.985564 119.688644 213.55519 \n", + "C 119.232954 213.124816 118.614819 212.883 117.970375 212.883 \n", + "C 117.325931 212.883 116.707796 213.124816 116.252106 213.55519 \n", + "C 115.796415 213.985564 115.540375 214.569359 115.540375 215.178 \n", + "C 115.540375 215.786641 115.796415 216.370436 116.252106 216.80081 \n", + "C 116.707796 217.231184 117.325931 217.473 117.970375 217.473 \n", + "z\n", + "\" style=\"fill:#ffffff;stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_9\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 380.464375 196.155 \n", + "C 381.108819 196.155 381.726954 195.913184 382.182644 195.48281 \n", + "C 382.638335 195.052436 382.894375 194.468641 382.894375 193.86 \n", + "C 382.894375 193.251359 382.638335 192.667564 382.182644 192.23719 \n", + "C 381.726954 191.806816 381.108819 191.565 380.464375 191.565 \n", + "C 379.819931 191.565 379.201796 191.806816 378.746106 192.23719 \n", + "C 378.290415 192.667564 378.034375 193.251359 378.034375 193.86 \n", + "C 378.034375 194.468641 378.290415 195.052436 378.746106 195.48281 \n", + "C 379.201796 195.913184 379.819931 196.155 380.464375 196.155 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_10\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 380.464375 104.355 \n", + "C 381.108819 104.355 381.726954 104.113184 382.182644 103.68281 \n", + "C 382.638335 103.252436 382.894375 102.668641 382.894375 102.06 \n", + "C 382.894375 101.451359 382.638335 100.867564 382.182644 100.43719 \n", + "C 381.726954 100.006816 381.108819 99.765 380.464375 99.765 \n", + "C 379.819931 99.765 379.201796 100.006816 378.746106 100.43719 \n", + "C 378.290415 100.867564 378.034375 101.451359 378.034375 102.06 \n", + "C 378.034375 102.668641 378.290415 103.252436 378.746106 103.68281 \n", + "C 379.201796 104.113184 379.819931 104.355 380.464375 104.355 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_11\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 526.264375 104.355 \n", + "C 526.908819 104.355 527.526954 104.113184 527.982644 103.68281 \n", + "C 528.438335 103.252436 528.694375 102.668641 528.694375 102.06 \n", + "C 528.694375 101.451359 528.438335 100.867564 527.982644 100.43719 \n", + "C 527.526954 100.006816 526.908819 99.765 526.264375 99.765 \n", + "C 525.619931 99.765 525.001796 100.006816 524.546106 100.43719 \n", + "C 524.090415 100.867564 523.834375 101.451359 523.834375 102.06 \n", + "C 523.834375 102.668641 524.090415 103.252436 524.546106 103.68281 \n", + "C 525.001796 104.113184 525.619931 104.355 526.264375 104.355 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"patch_12\">\n", + " <path clip-path=\"url(#pa00ebd309e)\" d=\"M 526.264375 215.28 \n", + "C 526.908819 215.28 527.526954 215.038184 527.982644 214.60781 \n", + "C 528.438335 214.177436 528.694375 213.593641 528.694375 212.985 \n", + "C 528.694375 212.376359 528.438335 211.792564 527.982644 211.36219 \n", + "C 527.526954 210.931816 526.908819 210.69 526.264375 210.69 \n", + "C 525.619931 210.69 525.001796 210.931816 524.546106 211.36219 \n", + "C 524.090415 211.792564 523.834375 212.376359 523.834375 212.985 \n", + "C 523.834375 213.593641 524.090415 214.177436 524.546106 214.60781 \n", + "C 525.001796 215.038184 525.619931 215.28 526.264375 215.28 \n", + "z\n", + "\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:2;\"/>\n", + " </g>\n", + " <g id=\"text_9\">\n", + " <!-- TX in -->\n", + " <g transform=\"translate(76.948187 219.041125)scale(0.14 -0.14)\">\n", + " <defs>\n", + " <path d=\"M -0.296875 72.90625 \n", + "L 61.375 72.90625 \n", + "L 61.375 64.59375 \n", + "L 35.5 64.59375 \n", + "L 35.5 0 \n", + "L 25.59375 0 \n", + "L 25.59375 64.59375 \n", + "L -0.296875 64.59375 \n", + "z\n", + "\" id=\"DejaVuSans-84\"/>\n", + " <path d=\"M 6.296875 72.90625 \n", + "L 16.890625 72.90625 \n", + "L 35.015625 45.796875 \n", + "L 53.21875 72.90625 \n", + "L 63.8125 72.90625 \n", + "L 40.375 37.890625 \n", + "L 65.375 0 \n", + "L 54.78125 0 \n", + "L 34.28125 31 \n", + "L 13.625 0 \n", + "L 2.984375 0 \n", + "L 29 38.921875 \n", + "z\n", + "\" id=\"DejaVuSans-88\"/>\n", + " <path id=\"DejaVuSans-32\"/>\n", + " <path d=\"M 9.421875 54.6875 \n", + "L 18.40625 54.6875 \n", + "L 18.40625 0 \n", + "L 9.421875 0 \n", + "z\n", + "M 9.421875 75.984375 \n", + "L 18.40625 75.984375 \n", + "L 18.40625 64.59375 \n", + "L 9.421875 64.59375 \n", + "z\n", + "\" id=\"DejaVuSans-105\"/>\n", + " <path d=\"M 54.890625 33.015625 \n", + "L 54.890625 0 \n", + "L 45.90625 0 \n", + "L 45.90625 32.71875 \n", + "Q 45.90625 40.484375 42.875 44.328125 \n", + "Q 39.84375 48.1875 33.796875 48.1875 \n", + "Q 26.515625 48.1875 22.3125 43.546875 \n", + "Q 18.109375 38.921875 18.109375 30.90625 \n", + "L 18.109375 0 \n", + "L 9.078125 0 \n", + "L 9.078125 54.6875 \n", + "L 18.109375 54.6875 \n", + "L 18.109375 46.1875 \n", + "Q 21.34375 51.125 25.703125 53.5625 \n", + "Q 30.078125 56 35.796875 56 \n", + "Q 45.21875 56 50.046875 50.171875 \n", + "Q 54.890625 44.34375 54.890625 33.015625 \n", + "z\n", + "\" id=\"DejaVuSans-110\"/>\n", + " </defs>\n", + " <use xlink:href=\"#DejaVuSans-84\"/>\n", + " <use x=\"61.083984\" xlink:href=\"#DejaVuSans-88\"/>\n", + " <use x=\"129.589844\" xlink:href=\"#DejaVuSans-32\"/>\n", + " <use x=\"161.376953\" xlink:href=\"#DejaVuSans-105\"/>\n", + " <use x=\"189.160156\" xlink:href=\"#DejaVuSans-110\"/>\n", + " </g>\n", + " </g>\n", + " </g>\n", + " </g>\n", + " <defs>\n", + " <clipPath id=\"pa00ebd309e\">\n", + " <rect height=\"273.87\" width=\"873.18\" x=\"25.684375\" y=\"7.2\"/>\n", + " </clipPath>\n", + " </defs>\n", + "</svg>\n" + ], + "text/plain": [ + "<schemdraw.backends.mpl.Figure at 0x7ff215fbb970>" + ] + }, + "execution_count": 177, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d = schemdraw.Drawing()\n", + "V1 = d.add(elm.SourceV(label='5V'))\n", + "d.add(elm.Line(d='right', l=d.unit*2))\n", + "d.add(elm.Resistor(d='down', label='R1'))\n", + "coupler = d.add(DiodeOptocoupler(d='right', box=False, label1='D1', label2='D2', anchor='anode1', reverse2=True))\n", + "d.here = coupler.cathode1\n", + "Q1 = d.add(elm.BjtNpn(d='right', anchor='collector', label='Q1'))\n", + "d.add(elm.Line(xy=Q1.emitter, d='down', l=d.unit*0.25))\n", + "d.add(elm.Line(d='left', tox=V1.start))\n", + "d.add(elm.Line(d='up', toy=V1.start))\n", + "d.add(elm.Resistor(xy=Q1.base, d='left', label='R2'))\n", + "d.add(elm.Dot(open=True, lftlabel='TX in'))\n", + "\n", + "d.add(elm.Line(xy=coupler.cathode2, d='up', toy=V1.end + d.unit*0.5))\n", + "vbus = d.add(elm.Line(d='right', l=d.unit*5))\n", + "\n", + "d.add(elm.Line(xy=coupler.anode2, d='right', l=d.unit*0.5))\n", + "j1 = d.add(elm.Dot())\n", + "d.add(elm.Line(l=d.unit*0.5))\n", + "amp1 = d.add(elm.Opamp(d='right', anchor='in1'))\n", + "\n", + "d.add(elm.Line(xy=j1.xy, d='up', l=d.unit))\n", + "j2 = d.add(elm.Dot())\n", + "\n", + "d.add(elm.Resistor(label='R3', d='right'))\n", + "d.add(elm.Line(l=d.unit*0.5))\n", + "j3 = d.add(elm.Dot())\n", + "d.add(elm.Line(d='down', toy=amp1.out))\n", + "j4 = d.add(elm.Dot())\n", + "d.add(elm.Line('left', tox=amp1.out))\n", + "\n", + "d.add(elm.Line('up', xy=j2.xy, l=d.unit*0.5))\n", + "d.add(elm.Capacitor(label='C1', d='right'))\n", + "d.add(elm.Line(tox=j3.xy))\n", + "d.add(elm.Line(d='down', toy=j3.xy))\n", + "\n", + "d.add(elm.Line(d='left', xy=amp1.in2, l=d.unit*0.2))\n", + "d.add(elm.Line(d='down', l=d.unit*0.5))\n", + "vgnd_bus = d.add(elm.Line(d='right', l=d.unit*5))\n", + "\n", + "d.draw()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/doc/quick-tech-report/ir_tx_schema.pdf b/doc/quick-tech-report/ir_tx_schema.pdf Binary files differnew file mode 100644 index 0000000..0e44ca5 --- /dev/null +++ b/doc/quick-tech-report/ir_tx_schema.pdf diff --git a/doc/quick-tech-report/ir_tx_schema.svg b/doc/quick-tech-report/ir_tx_schema.svg new file mode 100644 index 0000000..5d54c2b --- /dev/null +++ b/doc/quick-tech-report/ir_tx_schema.svg @@ -0,0 +1,340 @@ +<?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:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="49.526539mm" + height="39.935722mm" + viewBox="0 0 49.526539 39.935722" + version="1.1" + id="svg8" + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)" + sodipodi:docname="ir_tx_schema.svg"> + <defs + id="defs2"> + <pattern + inkscape:collect="always" + xlink:href="#Strips1_8" + id="pattern4192" + patternTransform="matrix(0.05072907,0.02928844,-0.5039899,0.87293588,37.264239,23.578155)" /> + <pattern + inkscape:collect="always" + patternUnits="userSpaceOnUse" + width="9" + height="1" + patternTransform="translate(0,0) scale(10,10)" + id="Strips1_8" + inkscape:stockid="Stripes 1:8"> + <rect + style="fill:black;stroke:none" + x="0" + y="-0.5" + width="1" + height="2" + id="rect3254" /> + </pattern> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="3.8624494" + inkscape:cx="93.962734" + inkscape:cy="75.480085" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + inkscape:document-rotation="0" + showgrid="false" + inkscape:snap-global="false" + inkscape:window-width="960" + inkscape:window-height="1019" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="0" + fit-margin-top="3" + fit-margin-left="3" + fit-margin-right="3" + fit-margin-bottom="3" + lock-margins="true" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-15.197803,-13.213541)"> + <circle + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ededed;fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.4, 0.4;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + id="path1020" + cx="39.058445" + cy="33.180935" + r="16.918251" /> + <path + id="rect1039" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.4, 0.40000000000000002;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 39.046485,26.808772 c -1.983521,0.0037 -3.852197,0.930875 -5.055003,2.508097 h -2.015007 v 7.72812 h 2.01517 c 1.205311,1.5805 3.079093,2.508045 5.066744,2.508098 1.987708,-3e-6 3.861561,-0.927552 5.066906,-2.508098 h 2.089992 v -7.72812 H 44.125295 C 42.91995,27.736324 41.046096,26.808774 39.058389,26.808772 h -0.0119 z" + sodipodi:nodetypes="scccccccccscs" /> + <circle + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + id="path835-6" + cx="39.007404" + cy="33.180935" + r="4.6935949" /> + <circle + style="fill:url(#pattern4192);fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + id="path835" + cx="39.007404" + cy="33.180935" + r="4.6935945" /> + <g + id="g903" + transform="matrix(-0.31554927,0,0,-0.31554927,51.951482,61.938954)"> + <path + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ff9900;stroke-width:0.264583" + id="path858-7" + sodipodi:type="arc" + sodipodi:cx="-91.136383" + sodipodi:cy="60.773773" + sodipodi:rx="20.406658" + sodipodi:ry="20.406658" + sodipodi:start="0.52359878" + sodipodi:end="2.6179939" + sodipodi:arc-type="slice" + transform="rotate(-90)" + d="M -73.463699,70.977102 A 20.406658,20.406658 0 0 1 -91.136383,81.180431 20.406658,20.406658 0 0 1 -108.80907,70.977102 l 17.672687,-10.203329 z" /> + <path + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#003399;stroke-width:0.264583" + id="path858" + sodipodi:type="arc" + sodipodi:cx="91.136383" + sodipodi:cy="-89.61792" + sodipodi:rx="20.406658" + sodipodi:ry="20.406658" + sodipodi:start="1.3089969" + sodipodi:end="1.8325957" + sodipodi:arc-type="slice" + transform="rotate(90)" + d="m 96.418016,-69.906602 a 20.406658,20.406658 0 0 1 -10.563264,0 l 5.281631,-19.711318 z" /> + <path + sodipodi:type="star" + style="fill:#ffcc00;stroke:#ff9900;stroke-width:0.264583" + id="path837-5" + sodipodi:sides="3" + sodipodi:cx="87.192711" + sodipodi:cy="91.708893" + sodipodi:r1="3.7053862" + sodipodi:r2="1.8526928" + sodipodi:arg1="-1.5707963" + sodipodi:arg2="-0.52359875" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + inkscape:transform-center-x="0.3538335" + transform="rotate(90,74.439098,78.382776)" + d="m 87.192711,88.003507 3.208958,5.558079 -6.417917,0 z" /> + <path + sodipodi:type="star" + style="fill:#003399;stroke:none;stroke-width:0.264583" + id="path837" + sodipodi:sides="3" + sodipodi:cx="87.192711" + sodipodi:cy="91.708893" + sodipodi:r1="3.7053862" + sodipodi:r2="1.8526928" + sodipodi:arg1="-1.5707963" + sodipodi:arg2="-0.52359875" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + transform="rotate(-90,87.811557,90.517534)" + inkscape:transform-center-x="0.3538335" + d="m 87.192711,88.003507 3.208958,5.558079 -6.417917,0 z" /> + </g> + <g + id="g1018" + transform="matrix(-0.31554927,0,0,-0.31554927,95.383768,61.938954)"> + <path + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#003399;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="path858-7-5" + sodipodi:type="arc" + sodipodi:cx="91.136383" + sodipodi:cy="-158.90807" + sodipodi:rx="20.406658" + sodipodi:ry="20.406658" + sodipodi:start="0.52359878" + sodipodi:end="2.6179939" + sodipodi:arc-type="slice" + transform="rotate(90)" + d="m 108.80907,-148.70474 a 20.406658,20.406658 0 0 1 -17.672687,10.20333 20.406658,20.406658 0 0 1 -17.672685,-10.20333 l 17.672685,-10.20333 z" /> + <path + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ff9900;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="path858-6" + sodipodi:type="arc" + sodipodi:cx="-91.136383" + sodipodi:cy="130.06392" + sodipodi:rx="20.406658" + sodipodi:ry="20.406658" + sodipodi:start="1.3089969" + sodipodi:end="1.8325957" + sodipodi:arc-type="slice" + transform="rotate(-90)" + d="m -85.854751,149.77524 a 20.406658,20.406658 0 0 1 -10.563264,0 l 5.281632,-19.71132 z" /> + <path + sodipodi:type="star" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#003399;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="path837-5-2" + sodipodi:sides="3" + sodipodi:cx="87.192711" + sodipodi:cy="91.708893" + sodipodi:r1="3.7053862" + sodipodi:r2="1.8526928" + sodipodi:arg1="-1.5707963" + sodipodi:arg2="-0.52359875" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + inkscape:transform-center-x="0.3538335" + transform="rotate(-90,122.46625,55.862834)" + d="m 87.192711,88.003507 3.208958,5.558079 -6.417917,0 z" /> + <path + sodipodi:type="star" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ffcc00;fill-opacity:1;stroke:#ff9900;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="path837-9" + sodipodi:sides="3" + sodipodi:cx="87.192711" + sodipodi:cy="91.708893" + sodipodi:r1="3.7053862" + sodipodi:r2="1.8526928" + sodipodi:arg1="-1.5707963" + sodipodi:arg2="-0.52359875" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + transform="rotate(90,109.33693,113.2806)" + inkscape:transform-center-x="0.3538335" + d="m 87.192711,88.003507 3.208958,5.558079 -6.417917,0 z" /> + </g> + <flowRoot + xml:space="preserve" + id="flowRoot932-4" + style="font-style:normal;font-weight:normal;font-size:8.02177px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.137469px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="matrix(0.52773032,0,0,0.52773032,-242.95524,-93.135803)"><flowRegion + id="flowRegion934-7" + style="font-size:8.02177px;fill:#404040;stroke-width:0.137469px"><rect + id="rect936-8" + width="232.85715" + height="202.14285" + x="502.14285" + y="206.8054" + style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara + id="flowPara938-6" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.137469px">1</flowPara></flowRoot> + <path + style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 29.885622,23.322353 -5.549194,-4.46386" + id="path916-2-3-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 54.460981,34.627606 4.832125,4.83213" + id="path916" + inkscape:connector-curvature="0" /> + <flowRoot + xml:space="preserve" + id="flowRoot932" + style="font-style:normal;font-weight:normal;font-size:8.02177px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.137469px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="matrix(0.52773032,0,0,0.52773032,-247.06476,-72.695165)"><flowRegion + id="flowRegion934" + style="font-size:8.02177px;fill:#404040;stroke-width:0.137469px"><rect + id="rect936" + width="232.85715" + height="202.14285" + x="502.14285" + y="206.8054" + style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara + id="flowPara938" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.137469px">5</flowPara></flowRoot> + <path + style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 23.512484,44.619905 36.004705,37.684762" + id="path916-2-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <flowRoot + xml:space="preserve" + id="flowRoot932-4-7" + style="font-style:normal;font-weight:normal;font-size:8.02177px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.137469px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="matrix(0.52773032,0,0,0.52773032,-212.58381,-92.373671)"><flowRegion + id="flowRegion934-7-7" + style="font-size:8.02177px;fill:#404040;stroke-width:0.137469px"><rect + id="rect936-8-2" + width="232.85715" + height="202.14285" + x="502.14285" + y="206.8054" + style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara + id="flowPara938-6-3" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.137469px">3</flowPara></flowRoot> + <path + style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 51.878367,19.657652 -11.813765,10.5679" + id="path916-2-3-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <flowRoot + xml:space="preserve" + id="flowRoot932-2" + style="font-style:normal;font-weight:normal;font-size:8.02177px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.137469px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="matrix(0.52773032,0,0,0.52773032,-244.26978,-66.944366)"><flowRegion + id="flowRegion934-5" + style="font-size:8.02177px;fill:#404040;stroke-width:0.137469px"><rect + id="rect936-3" + width="232.85715" + height="202.14285" + x="502.14285" + y="206.8054" + style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara + id="flowPara938-7" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.137469px">2</flowPara></flowRoot> + <path + style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 20.420125,38.206721 3.376333,-3.956215" + id="path916-2-3-7-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <flowRoot + xml:space="preserve" + id="flowRoot932-2-9" + style="font-style:normal;font-weight:normal;font-size:8.02177px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.137469px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="matrix(0.52773032,0,0,0.52773032,-205.60832,-71.292309)"><flowRegion + id="flowRegion934-5-1" + style="font-size:8.02177px;fill:#404040;stroke-width:0.137469px"><rect + id="rect936-3-2" + width="232.85715" + height="202.14285" + x="502.14285" + y="206.8054" + style="font-size:8.02177429px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara + id="flowPara938-7-7" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.137469px">4</flowPara></flowRoot> + </g> +</svg> diff --git a/doc/quick-tech-report/mesh_gen_viz.pdf b/doc/quick-tech-report/mesh_gen_viz.pdf Binary files differnew file mode 100644 index 0000000..7ded2fc --- /dev/null +++ b/doc/quick-tech-report/mesh_gen_viz.pdf diff --git a/doc/quick-tech-report/mesh_gen_viz.svg b/doc/quick-tech-report/mesh_gen_viz.svg new file mode 100644 index 0000000..59a31b9 --- /dev/null +++ b/doc/quick-tech-report/mesh_gen_viz.svg @@ -0,0 +1,1547 @@ +<?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" + width="262.86331mm" + height="73.515343mm" + viewBox="0 0 262.86331 73.515343" + version="1.1" + id="svg8" + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)" + sodipodi:docname="mesh_gen_viz.svg"> + <defs + id="defs2"> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3462" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3462-8" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3475" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3462-8-3" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3518" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3462-8-8" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3518-9" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3462-8-4" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3518-3" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3462-8-38" /> + <rect + x="9.628603" + y="-6.6173596" + width="53.992393" + height="41.325058" + id="rect3518-6" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.70710678" + inkscape:cx="359.74548" + inkscape:cy="222.93353" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + inkscape:document-rotation="0" + showgrid="false" + inkscape:snap-global="false" + inkscape:window-width="1920" + inkscape:window-height="1019" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + fit-margin-top="3" + lock-margins="true" + fit-margin-left="3" + fit-margin-right="3" + fit-margin-bottom="3" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(3.4764858,1.4095656)"> + <g + id="g1789" + transform="matrix(0.85717557,0,0,0.85717557,12.587956,7.9019939)"> + <path + style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.314487px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 60.987163,20.462401 C 48.220768,21.57942 45.340825,26.773067 47.224241,31.36242 c 1.492547,3.636914 6.492182,6.512111 8.297003,9.373677 10.073433,15.971556 -11.630065,11.634339 -8.725274,22.244622 2.080811,7.600542 29.624481,8.439564 31.9414,-2.553679 1.420912,-6.741903 0.533145,-18.961514 0.536156,-25.666026 0.0044,-9.729725 -3.825785,-15.563867 -18.286363,-14.298613 z" + id="path1164" + sodipodi:nodetypes="sssssss" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833" + width="6.6213522" + height="6.6213522" + x="48.809456" + y="24.952217" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3" + width="6.6213522" + height="6.6213522" + x="55.430809" + y="24.952219" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-6" + width="6.6213522" + height="6.6213522" + x="48.809456" + y="31.573572" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-7" + width="6.6213522" + height="6.6213522" + x="55.430809" + y="31.573574" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-5" + width="6.6213522" + height="6.6213522" + x="48.809456" + y="38.194927" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-3" + width="6.6213522" + height="6.6213522" + x="55.430809" + y="38.194927" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-56" + width="6.6213522" + height="6.6213522" + x="48.809456" + y="44.81628" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-2" + width="6.6213522" + height="6.6213522" + x="55.430809" + y="44.81628" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-9" + width="6.6213522" + height="6.6213522" + x="62.052162" + y="24.952217" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-1" + width="6.6213522" + height="6.6213522" + x="68.673515" + y="24.952219" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-6-2" + width="6.6213522" + height="6.6213522" + x="62.052162" + y="31.573572" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-7-7" + width="6.6213522" + height="6.6213522" + x="68.673515" + y="31.573574" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-5-0" + width="6.6213522" + height="6.6213522" + x="62.052162" + y="38.194927" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-3-9" + width="6.6213522" + height="6.6213522" + x="68.673515" + y="38.194927" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-56-3" + width="6.6213522" + height="6.6213522" + x="62.052162" + y="44.81628" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-2-6" + width="6.6213522" + height="6.6213522" + x="68.673515" + y="44.81628" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-0" + width="6.6213522" + height="6.6213522" + x="48.809456" + y="51.437634" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-6" + width="6.6213522" + height="6.6213522" + x="55.430809" + y="51.437634" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-6-26" + width="6.6213522" + height="6.6213522" + x="48.809456" + y="58.058987" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-7-1" + width="6.6213522" + height="6.6213522" + x="55.430809" + y="58.058987" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-5-8" + width="6.6213522" + height="6.6213522" + x="62.052162" + y="51.437634" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-3-7" + width="6.6213522" + height="6.6213522" + x="68.673515" + y="51.437634" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-56-9" + width="6.6213522" + height="6.6213522" + x="62.052162" + y="58.058987" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect833-3-2-2" + width="6.6213522" + height="6.6213522" + x="68.673515" + y="58.058987" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect958" + width="6.6213522" + height="6.6213522" + x="75.294868" + y="24.952219" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect960" + width="6.6213522" + height="6.6213522" + x="75.294868" + y="31.573574" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect962" + width="6.6213522" + height="6.6213522" + x="75.294868" + y="38.194927" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect964" + width="6.6213522" + height="6.6213522" + x="75.294868" + y="44.81628" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect966" + width="6.6213522" + height="6.6213522" + x="75.294868" + y="51.437634" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect968" + width="6.6213522" + height="6.6213522" + x="75.294868" + y="58.058987" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect970" + width="6.6213522" + height="6.6213522" + x="42.188103" + y="24.952219" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect972" + width="6.6213522" + height="6.6213522" + x="42.188103" + y="31.573574" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect974" + width="6.6213522" + height="6.6213522" + x="42.188103" + y="38.194927" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect976" + width="6.6213522" + height="6.6213522" + x="42.188103" + y="44.81628" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect978" + width="6.6213522" + height="6.6213522" + x="42.188103" + y="51.437634" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect980" + width="6.6213522" + height="6.6213522" + x="42.188103" + y="58.058987" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect982" + width="6.6213522" + height="6.6213522" + x="48.809456" + y="18.330866" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect984" + width="6.6213522" + height="6.6213522" + x="55.430809" + y="18.330868" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect986" + width="6.6213522" + height="6.6213522" + x="62.052162" + y="18.330866" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect988" + width="6.6213522" + height="6.6213522" + x="68.673515" + y="18.330868" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect990" + width="6.6213522" + height="6.6213522" + x="75.294868" + y="18.330868" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect992" + width="6.6213522" + height="6.6213522" + x="42.188103" + y="18.330868" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect994" + width="6.6213522" + height="6.6213522" + x="48.809456" + y="64.680336" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect996" + width="6.6213522" + height="6.6213522" + x="55.430809" + y="64.680336" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect998" + width="6.6213522" + height="6.6213522" + x="62.052162" + y="64.680336" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1000" + width="6.6213522" + height="6.6213522" + x="68.673515" + y="64.680336" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1002" + width="6.6213522" + height="6.6213522" + x="75.294868" + y="64.680336" /> + <rect + style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1004" + width="6.6213522" + height="6.6213522" + x="42.188103" + y="64.680336" /> + </g> + <path + style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.269571px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 22.312453,25.720521 c -19.615051,1.716254 -8.18449,11.83003 -4.685252,17.378117 8.634699,13.690429 -9.9690077,9.972671 -7.479092,19.067547 1.783621,6.514999 25.393382,7.234188 27.379388,-2.188951 1.217971,-5.778995 0.456999,-16.253347 0.45958,-22.000291 0.0038,-8.340083 -3.27937,-13.340967 -15.674624,-12.256422 z" + id="path942" + sodipodi:nodetypes="ssssss" /> + <g + id="g1840" + transform="matrix(0.85717557,0,0,0.85717557,6.6401983,7.9019939)"> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1170" + width="6.6213522" + height="6.6213522" + x="107.24467" + y="31.573572" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1174" + width="6.6213522" + height="6.6213522" + x="107.24467" + y="38.194927" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1176" + width="6.6213522" + height="6.6213522" + x="113.86602" + y="38.194927" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1178" + width="6.6213522" + height="6.6213522" + x="107.24467" + y="44.81628" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1180" + width="6.6213522" + height="6.6213522" + x="113.86602" + y="44.81628" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1198" + width="6.6213522" + height="6.6213522" + x="107.24467" + y="51.437634" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1200" + width="6.6213522" + height="6.6213522" + x="113.86602" + y="51.437634" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1214" + width="6.6213522" + height="6.6213522" + x="133.73009" + y="24.952219" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1216" + width="6.6213522" + height="6.6213522" + x="133.73009" + y="31.573574" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1218" + width="6.6213522" + height="6.6213522" + x="133.73009" + y="38.194927" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1220" + width="6.6213522" + height="6.6213522" + x="133.73009" + y="44.81628" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1222" + width="6.6213522" + height="6.6213522" + x="133.73009" + y="51.437634" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1224" + width="6.6213522" + height="6.6213522" + x="133.73009" + y="58.058987" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1226" + width="6.6213522" + height="6.6213522" + x="100.62331" + y="24.952219" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1228" + width="6.6213522" + height="6.6213522" + x="100.62331" + y="31.573574" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1230" + width="6.6213522" + height="6.6213522" + x="100.62331" + y="38.194927" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1232" + width="6.6213522" + height="6.6213522" + x="100.62331" + y="44.81628" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1234" + width="6.6213522" + height="6.6213522" + x="100.62331" + y="51.437634" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1236" + width="6.6213522" + height="6.6213522" + x="100.62331" + y="58.058987" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1238" + width="6.6213522" + height="6.6213522" + x="107.24467" + y="18.330866" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1240" + width="6.6213522" + height="6.6213522" + x="113.86602" + y="18.330868" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1242" + width="6.6213522" + height="6.6213522" + x="120.48737" + y="18.330866" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1244" + width="6.6213522" + height="6.6213522" + x="127.10873" + y="18.330868" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1246" + width="6.6213522" + height="6.6213522" + x="133.73009" + y="18.330868" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1248" + width="6.6213522" + height="6.6213522" + x="100.62331" + y="18.330868" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1250" + width="6.6213522" + height="6.6213522" + x="107.24467" + y="64.680336" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1252" + width="6.6213522" + height="6.6213522" + x="113.86602" + y="64.680336" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1254" + width="6.6213522" + height="6.6213522" + x="120.48737" + y="64.680336" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1256" + width="6.6213522" + height="6.6213522" + x="127.10873" + y="64.680336" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1258" + width="6.6213522" + height="6.6213522" + x="133.73009" + y="64.680336" /> + <rect + style="fill:#efefef;fill-opacity:1;stroke:#a4a4a4;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + id="rect1260" + width="6.6213522" + height="6.6213522" + x="100.62331" + y="64.680336" /> + <path + style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.314487px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 119.42238,20.462401 c -12.7664,1.117019 -15.64634,6.310666 -13.76293,10.900019 1.49255,3.636914 6.49219,6.512111 8.29701,9.373677 10.07343,15.971556 -11.63007,11.634339 -8.72528,22.244622 2.08081,7.600542 29.62448,8.439564 31.9414,-2.553679 1.42092,-6.741903 0.53315,-18.961514 0.53616,-25.666026 0.004,-9.729725 -3.82579,-15.563867 -18.28636,-14.298613 z" + id="path1262" + sodipodi:nodetypes="sssssss" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1166" + width="6.6213522" + height="6.6213522" + x="107.24467" + y="24.952217" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1168" + width="6.6213522" + height="6.6213522" + x="113.86602" + y="24.952219" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1172" + width="6.6213522" + height="6.6213522" + x="113.86602" + y="31.573574" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1182" + width="6.6213522" + height="6.6213522" + x="120.48737" + y="24.952217" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1184" + width="6.6213522" + height="6.6213522" + x="127.10873" + y="24.952219" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1186" + width="6.6213522" + height="6.6213522" + x="120.48737" + y="31.573572" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1188" + width="6.6213522" + height="6.6213522" + x="127.10873" + y="31.573574" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1190" + width="6.6213522" + height="6.6213522" + x="120.48737" + y="38.194927" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1192" + width="6.6213522" + height="6.6213522" + x="127.10873" + y="38.194927" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1194" + width="6.6213522" + height="6.6213522" + x="120.48737" + y="44.81628" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1196" + width="6.6213522" + height="6.6213522" + x="127.10873" + y="44.81628" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1202" + width="6.6213522" + height="6.6213522" + x="107.24467" + y="58.058987" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1204" + width="6.6213522" + height="6.6213522" + x="113.86602" + y="58.058987" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1206" + width="6.6213522" + height="6.6213522" + x="120.48737" + y="51.437634" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1208" + width="6.6213522" + height="6.6213522" + x="127.10873" + y="51.437634" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1210" + width="6.6213522" + height="6.6213522" + x="120.48737" + y="58.058987" /> + <rect + style="fill:#99cc33;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" + id="rect1212" + width="6.6213522" + height="6.6213522" + x="127.10873" + y="58.058987" /> + </g> + <g + id="g1884" + transform="matrix(1.0072466,0,0,1.0072466,-21.624133,0.7912122)"> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1364" + width="6.6213522" + height="6.6213522" + x="158.366" + y="24.952217" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1366" + width="6.6213522" + height="6.6213522" + x="164.98735" + y="24.952219" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1370" + width="6.6213522" + height="6.6213522" + x="171.6087" + y="24.952217" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1372" + width="6.6213522" + height="6.6213522" + x="178.23006" + y="24.952219" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1368" + width="6.6213522" + height="6.6213522" + x="164.98735" + y="31.590927" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1374" + width="6.6213522" + height="6.6213522" + x="171.6087" + y="31.573572" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1376" + width="6.6213522" + height="6.6213522" + x="178.23006" + y="31.573574" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1380" + width="6.6213522" + height="6.6213522" + x="178.23006" + y="38.194927" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1384" + width="6.6213522" + height="6.6213522" + x="178.23006" + y="44.81628" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1386" + width="6.6213522" + height="6.6213522" + x="158.366" + y="58.058987" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1388" + width="6.6213522" + height="6.6213522" + x="164.98735" + y="58.058987" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1378" + width="6.6213522" + height="6.6213522" + x="171.6087" + y="38.194927" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1382" + width="6.6213522" + height="6.6213522" + x="171.6087" + y="44.81628" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1390" + width="6.6213522" + height="6.6213522" + x="171.6087" + y="51.437634" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1392" + width="6.6213522" + height="6.6213522" + x="178.23006" + y="51.437634" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1394" + width="6.6213522" + height="6.6213522" + x="171.6087" + y="58.058987" /> + <rect + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#edf6da;fill-opacity:1;stroke:#90a46a;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.537157;stop-color:#000000;stop-opacity:1" + id="rect1396" + width="6.6213522" + height="6.6213522" + x="178.23006" + y="58.058987" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" + d="m 158.39829,61.369663 h 15.92998" + id="path1400" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" + d="m 165.61096,61.369662 h 15.92998" + id="path1400-7" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" + d="M 181.54073,61.369662 V 52.581993" + id="path1400-7-4" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 181.54073,56.914626 v -8.78767" + id="path1400-7-4-0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 181.54073,48.126956 h -4.70656" + id="path1400-7-4-7" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 179.70128,48.126955 h -4.70656" + id="path1400-7-4-7-8" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 174.99472,43.642542 V 54.74831" + id="path1400-7-4-7-6" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 179.70128,41.505603 h -4.70656" + id="path1400-7-4-7-4" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 174.99472,41.505603 v 4.70656" + id="path1400-7-4-7-3" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 181.54073,41.505603 h -4.70656" + id="path1400-7-4-7-1" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 181.54073,41.505603 V 32.717932" + id="path1400-7-4-0-4" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 181.54073,37.050564 V 28.262893" + id="path1400-7-4-0-4-9" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 169.25512,28.262895 h 12.28561" + id="path1400-7-4-0-4-2" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 161.67667,28.262895 h 8.78768" + id="path1400-7-4-0-4-2-0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 168.29803,28.262895 v 4.70656" + id="path1400-7-4-7-3-8" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 168.29803,30.177687 v 4.706561" + id="path1400-7-4-7-3-8-9" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 168.29803,34.884248 h 4.70656" + id="path1400-7-4-7-3-8-2" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 170.28816,34.884248 h 4.70656" + id="path1400-7-4-7-3-8-2-6" + sodipodi:nodetypes="cc" /> + <path + id="path1629" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.179425;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + d="m 159.46997,61.369668 -2.62589,0.70484 0.31482,-0.70485 -0.31482,-0.70484 z" + sodipodi:nodetypes="ccccc" + inkscape:transform-center-x="-0.43765" /> + <path + id="path1629-4" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.179425;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + inkscape:transform-center-y="-0.43764946" + d="m 181.54073,53.435351 0.70484,2.625898 -0.70485,-0.314828 -0.70484,0.314827 z" + sodipodi:nodetypes="ccccc" /> + <path + id="path1629-4-9" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.179425;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + d="m 174.99472,52.750587 -0.70484,-2.62589 0.70485,0.31482 0.70484,-0.31482 z" + sodipodi:nodetypes="ccccc" + inkscape:transform-center-y="0.43765" /> + <path + id="path1629-4-9-5" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.179425;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + d="m 174.99473,43.503326 0.70484,2.62589 -0.70485,-0.31482 -0.70484,0.31482 z" + sodipodi:nodetypes="ccccc" + inkscape:transform-center-y="-0.4376505" /> + <path + id="path1629-4-9-5-0" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.179425;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + d="m 181.54074,33.571296 0.70484,2.62589 -0.70485,-0.31482 -0.70484,0.31482 z" + sodipodi:nodetypes="ccccc" + inkscape:transform-center-y="-0.4376505" /> + <path + id="path1629-4-9-5-4" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.179425;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + d="m 163.6744,28.262889 2.62589,-0.704839 -0.31482,0.70485 0.31482,0.704839 z" + sodipodi:nodetypes="ccccc" + inkscape:transform-center-x="0.43765" /> + <path + id="path1629-4-9-5-8" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.179425;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000" + d="m 172.92166,34.892931 -2.62589,0.70484 0.31482,-0.70485 -0.31482,-0.70484 z" + sodipodi:nodetypes="ccccc" + inkscape:transform-center-x="-0.43765" /> + </g> + <g + id="g3132" + transform="matrix(1.0072466,0,0,1.0072466,-47.697518,-0.53768828)"> + <g + id="g2051" + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-opacity:0.537157" + transform="translate(-0.13229167)"> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1886" + width="6.6213522" + height="6.6213522" + x="225.86443" + y="26.271557" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1888" + width="6.6213522" + height="6.6213522" + x="232.48578" + y="26.271559" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1890" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="26.271557" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1892" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="26.271559" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1894" + width="6.6213522" + height="6.6213522" + x="232.48578" + y="32.910267" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1896" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="32.89291" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1898" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="32.892914" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1900" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="39.514267" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1902" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="46.13562" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1904" + width="6.6213522" + height="6.6213522" + x="225.86443" + y="59.378326" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1906" + width="6.6213522" + height="6.6213522" + x="232.48578" + y="59.378326" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1908" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="39.514267" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1910" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="46.13562" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1912" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="52.756973" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1914" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="52.756973" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1916" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="59.378326" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1918" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="59.378326" /> + </g> + <g + id="g2032" + style="fill:#404040;stroke:#808080"> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264583px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" + d="M 225.89672,62.689003 H 241.8267" + id="path1920" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264583px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" + d="m 233.10939,62.689002 h 15.92998" + id="path1922" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264583px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" + d="M 249.03916,62.689002 V 53.901333" + id="path1924" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.265;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 249.03916,58.233966 v -8.78767" + id="path1926" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.265;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 249.03916,49.446296 H 244.3326" + id="path1928" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 247.19971,49.446295 h -4.70656" + id="path1930" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 242.49315,44.961882 V 56.06765" + id="path1932" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 247.19971,42.824943 h -4.70656" + id="path1934" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 242.49315,42.824943 v 4.70656" + id="path1936" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 249.03916,42.824943 H 244.3326" + id="path1938" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 249.03916,42.824943 V 34.037272" + id="path1940" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 249.03916,38.369904 V 29.582233" + id="path1942" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 236.75355,29.582235 h 12.28561" + id="path1944" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 229.1751,29.582235 h 8.78768" + id="path1946" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 235.79646,29.582235 v 4.70656" + id="path1948" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 235.79646,31.497027 v 4.706561" + id="path1950" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 235.79646,36.203588 h 4.70656" + id="path1952" + sodipodi:nodetypes="cc" /> + <path + style="fill:#404040;stroke:#808080;stroke-width:0.264999;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 237.78659,36.203588 h 4.70656" + id="path1954" + sodipodi:nodetypes="cc" /> + </g> + <path + id="path2069" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#cc0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 241.49688,21.687661 c -0.0175,0.452278 -0.53072,0.668654 -0.92187,0.578677 -0.64827,-0.149114 -0.93321,-0.888405 -0.74512,-1.483501 0.26678,-0.844117 1.24901,-1.202126 2.04513,-0.911563 1.04071,0.37983 1.47297,1.610675 1.078,2.606754 -0.49082,1.2378 -1.97287,1.744849 -3.16838,1.244446 -1.4352,-0.600744 -2.01732,-2.335371 -1.41088,-3.730006 0.71003,-1.632844 2.69807,-2.290189 4.29162,-1.577324 1.83063,0.81891 2.26301,3.039252 1.74377,4.853253 -1.25901,4.398474 -3.67329,5.293659 -6.44644,5.293659 h -8.78706 -0.1323 l -5.3e-4,2.4e-5 c -0.46461,2.65e-4 -0.88721,0.423159 -0.88728,0.887801 v 0.2651 c 2.6e-4,0.464441 0.42284,0.886907 0.88728,0.887285 h 0.13281 3.80959 c 0.98949,-2.1e-5 1.79164,0.802127 1.79162,1.791621 v 1.894975 0.13281 1.781286 0.132808 c 2.7e-4,0.464441 0.42284,0.886904 0.88729,0.887285 h 0.26561 1.72444 2.84944 0.13126 1.85725 0.13229 c 0.46482,-6.8e-5 0.88774,-0.422989 0.88781,-0.887801 v -0.264583 -5.3e-4 c -2.7e-4,-0.464439 -0.42285,-0.886904 -0.88729,-0.887282 h -0.13281 -1.85725 -0.13126 -1.89497 c -0.9895,2.1e-5 -1.79164,-0.80213 -1.79162,-1.791624 v -0.997355 c -2e-5,-0.989494 0.80212,-1.791642 1.79162,-1.79162 h 7.61866 c 0.98949,-2.2e-5 1.79164,0.802126 1.79162,1.79162 v 1.510504 0.132808 4.332036 0.132807 1.51257 c 2e-5,0.989494 -0.80213,1.791642 -1.79162,1.791621 h -3.60237 -0.13281 -0.13022 -5.3e-4 c -0.46461,2.65e-4 -0.88722,0.423159 -0.88729,0.887801 v 0.130226 0.132807 1.872755 0.131258 2.570384 0.132811 1.650029 0.264064 6.490044 0.130741 c 2.7e-4,0.464442 0.42285,0.886905 0.88729,0.887286 h 0.26355 c 0.46461,-2.65e-4 0.88721,-0.423159 0.88728,-0.887802 v -0.130225 -3.811138 c -2e-5,-0.989494 0.80213,-1.791641 1.79162,-1.79162 h 0.92346 c 0.9895,-2.1e-5 1.79164,0.802126 1.79162,1.79162 v 1.512055 0.131257 4.333586 0.132808 1.510501 c 2e-5,0.989494 -0.80212,1.791644 -1.79162,1.791623 h -4.40128 -15.92978 -0.13229 -5.3e-4" + sodipodi:nodetypes="csssssssssccssccccsccccccccccsscsccccsssccsccccsccccssccccccccccccsccsssccccsccccc" /> + <path + id="path2069-5" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#003399;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 235.21846,49.280483 c 0.2933,-0.344731 0.83049,-0.197625 1.08237,0.114866 0.41745,0.5179 0.18452,1.275184 -0.33116,1.626751 -0.73144,0.498694 -1.72487,0.173046 -2.17113,-0.547435 -0.58336,-0.941822 -0.16242,-2.176582 0.76372,-2.715505 1.15089,-0.669706 2.62936,-0.152268 3.25989,0.979995 0.75694,1.359311 0.14244,3.082734 -1.19628,3.804259 -1.56738,0.844769 -3.53651,0.132772 -4.34864,-1.412545 -0.93295,-1.775227 0.45774,-3.773763 1.09482,-4.553714 1.29591,-1.586539 6.70777,-2.35243 7.1373,0.954309 v 0.13281 1.650029 0.264065 6.490044 0.130741 c 1.4e-4,0.969907 0.88217,1.85194 1.85208,1.852083 h 0.26355 c 0.96991,-1.43e-4 1.85194,-0.882176 1.85208,-1.852083 v -0.130741 -3.811138 c -9e-5,-0.456681 0.37014,-0.826918 0.82683,-0.826823 h 0.92346 c 0.45668,-9.5e-5 0.82691,0.370142 0.82682,0.826823 v 1.512054 0.131257 4.333587 0.132807 1.510501 c 9e-5,0.456682 -0.37014,0.826919 -0.82682,0.826823 h -4.40129 -15.92977 -0.13281" + sodipodi:nodetypes="csssssssscccccsssscccccccccccccc" /> + </g> + <g + id="g3238" + transform="matrix(1.0072466,0,0,1.0072466,-52.498767,-0.53768828)"> + <g + id="g3154"> + <g + id="g2051-0" + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-opacity:0.537157" + transform="translate(46.574491)"> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1886-9" + width="6.6213522" + height="6.6213522" + x="225.86443" + y="26.271557" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1888-6" + width="6.6213522" + height="6.6213522" + x="232.48578" + y="26.271559" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1890-3" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="26.271557" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1892-8" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="26.271559" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1894-5" + width="6.6213522" + height="6.6213522" + x="232.48578" + y="32.910267" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1896-6" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="32.89291" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1898-1" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="32.892914" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1900-1" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="39.514267" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1902-5" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="46.13562" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1904-9" + width="6.6213522" + height="6.6213522" + x="225.86443" + y="59.378326" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1906-8" + width="6.6213522" + height="6.6213522" + x="232.48578" + y="59.378326" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1908-4" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="39.514267" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1910-8" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="46.13562" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1912-1" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="52.756973" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1914-0" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="52.756973" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1916-3" + width="6.6213522" + height="6.6213522" + x="239.10713" + y="59.378326" /> + <rect + style="fill:#f4f4f4;fill-opacity:1;stroke:#808080;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1918-0" + width="6.6213522" + height="6.6213522" + x="245.72849" + y="59.378326" /> + </g> + <path + id="path2915" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#003399;stroke-width:0.999999px;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000" + sodipodi:type="inkscape:offset" + inkscape:radius="-2.752965" + inkscape:original="M 1042.2051 101.83008 A 9.4749254 9.4749254 0 0 0 1032.7305 111.30469 L 1032.7305 112.30859 A 9.4749254 9.4749254 0 0 0 1042.2051 121.7832 L 1042.707 121.7832 L 1057.7539 121.7832 L 1057.7539 129.5957 L 1057.7539 130.09766 L 1057.7539 136.83008 L 1057.7539 137.33203 A 9.4749254 9.4749254 0 0 0 1067.2285 146.80664 L 1068.2266 146.80664 L 1074.752 146.80664 L 1085.5137 146.80664 L 1086.0156 146.80664 L 1093.0371 146.80664 L 1093.5391 146.80664 A 9.4749254 9.4749254 0 0 0 1103.0137 137.33203 L 1103.0137 136.32812 A 9.4749254 9.4749254 0 0 0 1093.5391 126.85352 L 1093.0371 126.85352 L 1086.0156 126.85352 L 1085.5137 126.85352 L 1077.7012 126.85352 L 1077.7012 121.7832 L 1107.8047 121.7832 L 1107.8047 128.14258 L 1107.8047 128.64453 L 1107.8047 145.01758 L 1107.8047 145.51953 L 1107.8047 151.88672 L 1093.5391 151.88672 L 1093.0371 151.88672 L 1092.541 151.88672 A 9.4749254 9.4749254 0 0 0 1083.0664 161.36133 L 1083.0664 161.85547 L 1083.0664 162.35742 L 1083.0664 169.43555 L 1083.0664 169.93164 L 1083.0664 179.64648 L 1083.0664 180.14844 L 1083.0664 186.38477 L 1083.0664 187.38281 L 1083.0664 211.91211 L 1083.0664 212.40625 A 9.4749254 9.4749254 0 0 0 1092.541 221.88086 L 1093.5391 221.88086 A 9.4749254 9.4749254 0 0 0 1103.0137 212.40625 L 1103.0137 211.91211 L 1103.0137 196.85742 L 1107.8047 196.85742 L 1107.8047 203.22266 L 1107.8047 203.71875 L 1107.8047 220.09766 L 1107.8047 220.59961 L 1107.8047 226.95898 L 1090.5195 226.95898 L 1030.3125 226.95898 L 1029.8105 226.95898 A 9.4749254 9.4749254 0 0 0 1020.3359 236.43359 L 1020.3359 237.43945 A 9.4749254 9.4749254 0 0 0 1029.8105 246.91406 L 1030.3125 246.91406 L 1090.5195 246.91406 L 1117.7812 246.91406 L 1118.2832 246.91406 A 9.4749254 9.4749254 0 0 0 1127.7578 237.43945 L 1127.7578 236.43359 L 1127.7578 203.71875 L 1127.7578 203.22266 L 1127.7578 186.88672 L 1127.7578 186.38477 A 9.4749254 9.4749254 0 0 0 1118.2832 176.91016 L 1117.7812 176.91016 L 1110.8262 176.91016 L 1103.0137 176.91016 L 1103.0137 171.83203 L 1110.8262 171.83203 L 1117.7812 171.83203 L 1118.2832 171.83203 A 9.4749254 9.4749254 0 0 0 1127.7578 162.35742 L 1127.7578 161.36133 L 1127.7578 128.64453 L 1127.7578 128.14258 L 1127.7578 111.80664 L 1127.7578 111.30469 A 9.4749254 9.4749254 0 0 0 1118.2832 101.83008 L 1117.7812 101.83008 L 1075.918 101.83008 L 1042.707 101.83008 L 1042.2051 101.83008 z " + d="m 1042.2051,104.58398 c -3.5195,1.3e-4 -6.7206,3.20125 -6.7207,6.72071 v 1.0039 c 10e-5,3.51946 3.2012,6.72059 6.7207,6.72071 h 0.5019 15.0469 a 2.7532403,2.7532403 0 0 1 2.7539,2.7539 v 7.8125 0.50196 6.73242 0.50195 c 10e-5,3.51946 3.2013,6.72058 6.7207,6.7207 h 0.9981 6.5254 10.7617 0.5019 7.0215 0.502 c 3.5194,-1.2e-4 6.7205,-3.20124 6.7207,-6.7207 v -1.00391 c -2e-4,-3.51945 -3.2013,-6.72058 -6.7207,-6.7207 h -0.502 -7.0215 -0.5019 -7.8125 a 2.7532403,2.7532403 0 0 1 -2.7539,-2.7539 v -5.07032 a 2.7532403,2.7532403 0 0 1 2.7539,-2.7539 h 30.1035 a 2.7532403,2.7532403 0 0 1 2.7539,2.7539 v 6.35938 0.50195 16.37305 0.50195 6.36719 a 2.7532403,2.7532403 0 0 1 -2.7539,2.7539 h -14.2656 -0.502 -0.4961 c -3.5194,1.3e-4 -6.7206,3.20125 -6.7207,6.72071 v 0.49414 0.50195 7.07813 0.49609 9.71484 0.50196 6.23633 0.99804 24.5293 0.49414 c 10e-5,3.51946 3.2013,6.72058 6.7207,6.7207 h 0.9981 c 3.5194,-1.2e-4 6.7205,-3.20124 6.7207,-6.7207 v -0.49414 -15.05469 a 2.7532403,2.7532403 0 0 1 2.7539,-2.7539 h 4.791 a 2.7532403,2.7532403 0 0 1 2.7539,2.7539 v 6.36524 0.49609 16.37891 0.50195 6.35937 a 2.7532403,2.7532403 0 0 1 -2.7539,2.75391 h -17.2852 -60.207 -0.502 c -3.5194,1.2e-4 -6.7225,3.20125 -6.7226,6.7207 v 1.00586 c 10e-5,3.51946 3.2032,6.72059 6.7226,6.72071 h 0.502 60.207 27.2617 0.502 c 3.5195,-1.2e-4 6.7206,-3.20125 6.7207,-6.72071 v -1.00586 -32.71484 -0.49609 -16.33594 -0.50195 c -10e-5,-3.51946 -3.2012,-6.72059 -6.7207,-6.72071 h -0.502 -6.955 -7.8125 a 2.7532403,2.7532403 0 0 1 -2.7539,-2.7539 v -5.07813 a 2.7532403,2.7532403 0 0 1 2.7539,-2.75391 h 7.8125 6.955 0.502 c 3.5195,-1.2e-4 6.7206,-3.20124 6.7207,-6.7207 v -0.99609 -32.7168 -0.50195 -16.33594 -0.50195 c -10e-5,-3.51946 -3.2012,-6.72058 -6.7207,-6.72071 h -0.502 -41.8632 -33.211 z" + transform="scale(0.26458333)" /> + <path + id="path2915-1" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#cc0000;stroke-width:0.999999px;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000" + sodipodi:type="inkscape:offset" + inkscape:radius="-7.7552209" + inkscape:original="M 1042.2051 101.83008 A 9.4749254 9.4749254 0 0 0 1032.7305 111.30469 L 1032.7305 112.30859 A 9.4749254 9.4749254 0 0 0 1042.2051 121.7832 L 1042.707 121.7832 L 1057.7539 121.7832 L 1057.7539 129.5957 L 1057.7539 130.09766 L 1057.7539 136.83008 L 1057.7539 137.33203 A 9.4749254 9.4749254 0 0 0 1067.2285 146.80664 L 1068.2266 146.80664 L 1074.752 146.80664 L 1085.5137 146.80664 L 1086.0156 146.80664 L 1093.0371 146.80664 L 1093.5391 146.80664 A 9.4749254 9.4749254 0 0 0 1103.0137 137.33203 L 1103.0137 136.32812 A 9.4749254 9.4749254 0 0 0 1093.5391 126.85352 L 1093.0371 126.85352 L 1086.0156 126.85352 L 1085.5137 126.85352 L 1077.7012 126.85352 L 1077.7012 121.7832 L 1107.8047 121.7832 L 1107.8047 128.14258 L 1107.8047 128.64453 L 1107.8047 145.01758 L 1107.8047 145.51953 L 1107.8047 151.88672 L 1093.5391 151.88672 L 1093.0371 151.88672 L 1092.541 151.88672 A 9.4749254 9.4749254 0 0 0 1083.0664 161.36133 L 1083.0664 161.85547 L 1083.0664 162.35742 L 1083.0664 169.43555 L 1083.0664 169.93164 L 1083.0664 179.64648 L 1083.0664 180.14844 L 1083.0664 186.38477 L 1083.0664 187.38281 L 1083.0664 211.91211 L 1083.0664 212.40625 A 9.4749254 9.4749254 0 0 0 1092.541 221.88086 L 1093.5391 221.88086 A 9.4749254 9.4749254 0 0 0 1103.0137 212.40625 L 1103.0137 211.91211 L 1103.0137 196.85742 L 1107.8047 196.85742 L 1107.8047 203.22266 L 1107.8047 203.71875 L 1107.8047 220.09766 L 1107.8047 220.59961 L 1107.8047 226.95898 L 1090.5195 226.95898 L 1030.3125 226.95898 L 1029.8105 226.95898 A 9.4749254 9.4749254 0 0 0 1020.3359 236.43359 L 1020.3359 237.43945 A 9.4749254 9.4749254 0 0 0 1029.8105 246.91406 L 1030.3125 246.91406 L 1090.5195 246.91406 L 1117.7812 246.91406 L 1118.2832 246.91406 A 9.4749254 9.4749254 0 0 0 1127.7578 237.43945 L 1127.7578 236.43359 L 1127.7578 203.71875 L 1127.7578 203.22266 L 1127.7578 186.88672 L 1127.7578 186.38477 A 9.4749254 9.4749254 0 0 0 1118.2832 176.91016 L 1117.7812 176.91016 L 1110.8262 176.91016 L 1103.0137 176.91016 L 1103.0137 171.83203 L 1110.8262 171.83203 L 1117.7812 171.83203 L 1118.2832 171.83203 A 9.4749254 9.4749254 0 0 0 1127.7578 162.35742 L 1127.7578 161.36133 L 1127.7578 128.64453 L 1127.7578 128.14258 L 1127.7578 111.80664 L 1127.7578 111.30469 A 9.4749254 9.4749254 0 0 0 1118.2832 101.83008 L 1117.7812 101.83008 L 1075.918 101.83008 L 1042.707 101.83008 L 1042.2051 101.83008 z " + d="m 1042.2051,109.58594 c -0.9004,3e-5 -1.7187,0.81835 -1.7188,1.71875 v 1.0039 c 10e-5,0.9004 0.8184,1.71872 1.7188,1.71875 h 0.5019 15.0469 a 7.7559964,7.7559964 0 0 1 7.7559,7.75586 v 7.8125 0.50196 6.73242 0.50195 c 0,0.9004 0.8183,1.71872 1.7187,1.71875 h 0.9981 6.5254 10.7617 0.5019 7.0215 0.502 c 0.9004,-3e-5 1.7187,-0.81835 1.7187,-1.71875 v -1.00391 c 0,-0.90039 -0.8183,-1.71871 -1.7187,-1.71874 h -0.502 -7.0215 -0.5019 -7.8125 a 7.7559964,7.7559964 0 0 1 -7.7559,-7.75586 v -5.07032 a 7.7559964,7.7559964 0 0 1 7.7559,-7.75586 h 30.1035 a 7.7559964,7.7559964 0 0 1 7.7558,7.75586 v 6.35938 0.50195 16.37305 0.50195 6.36719 a 7.7559964,7.7559964 0 0 1 -7.7558,7.75586 h -14.2656 -0.502 -0.4961 c -0.9004,3e-5 -1.7187,0.81835 -1.7187,1.71875 v 0.49414 0.50195 7.07813 0.49609 9.71484 0.50196 6.23633 0.99804 24.5293 0.49414 c 0,0.9004 0.8183,1.71872 1.7187,1.71875 h 0.9981 c 0.9004,-3e-5 1.7187,-0.81835 1.7187,-1.71875 v -0.49414 -15.05469 a 7.7559964,7.7559964 0 0 1 7.7559,-7.75586 h 4.791 a 7.7559964,7.7559964 0 0 1 7.7558,7.75586 v 6.36524 0.49609 16.37891 0.50195 6.35937 a 7.7559964,7.7559964 0 0 1 -7.7558,7.75586 h -17.2852 -60.207 -0.502 c -0.9003,3e-5 -1.7187,0.81836 -1.7187,1.71875 v 1.00586 c 0,0.9004 0.8184,1.71872 1.7187,1.71875 h 0.502 60.207 27.2617 0.502 c 0.9004,-3e-5 1.7187,-0.81835 1.7188,-1.71875 v -1.00586 -32.71484 -0.49609 -16.33594 -0.50195 c -10e-5,-0.9004 -0.8184,-1.71872 -1.7188,-1.71875 h -0.502 -6.955 -7.8125 a 7.7559964,7.7559964 0 0 1 -7.7559,-7.75586 v -5.07813 a 7.7559964,7.7559964 0 0 1 7.7559,-7.75586 h 7.8125 6.955 0.502 c 0.9004,-3e-5 1.7187,-0.81835 1.7188,-1.71875 v -0.99609 -32.7168 -0.50195 -16.33594 -0.50195 c -10e-5,-0.9004 -0.8184,-1.71872 -1.7188,-1.71875 h -0.502 -41.8632 -33.211 z" + transform="matrix(0.26458333,0,0,0.26458333,3.4011196e-6,8.2304686e-7)" /> + </g> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.537157;stop-color:#000000" + id="rect1904-9-8" + width="6.6213522" + height="6.6213522" + x="265.71756" + y="59.427937" /> + </g> + <g + id="g3901"> + <path + id="rect3156-9-3" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#dfdfdf;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 208.12388,2.3404349 h 47.51296 v 5.610291 5.6102901 h -47.51296 z" + sodipodi:nodetypes="cccccc" /> + <path + id="rect3156-9-5" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#dfdfdf;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 168.68667,2.3404349 h 44.92247 l 2.5905,5.610291 -2.5905,5.6102901 h -44.92247 z" + sodipodi:nodetypes="cccccc" /> + <path + id="rect3156-9-7" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#dfdfdf;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 126.67233,2.3404349 h 44.92247 l 2.5905,5.610291 -2.5905,5.6102901 h -44.92247 z" + sodipodi:nodetypes="cccccc" /> + <path + id="rect3156-9" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#dfdfdf;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 86.1245,2.3404349 h 44.92247 l 2.5905,5.610291 -2.5905,5.6102901 H 86.1245 Z" + sodipodi:nodetypes="cccccc" /> + <path + id="rect3156-5" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#dfdfdf;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 41.983024,2.3404344 h 44.922469 l 2.590498,5.6102909 -2.590498,5.6102897 H 41.983024 Z" + sodipodi:nodetypes="cccccc" /> + <path + id="rect3156" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#dfdfdf;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="M 0.27351425,2.3404348 H 45.195981 l 2.5905,5.610291 -2.5905,5.6102902 H 0.27351425 Z" + sodipodi:nodetypes="cccccc" /> + </g> + <g + id="g3959" + transform="translate(1.0904447,1.6484563)" + style="fill:#404040"> + <text + xml:space="preserve" + id="text3460" + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3462);fill:#404040;fill-opacity:1;stroke:none;" + transform="translate(10.446774,9.1851291)"><tspan + x="9.6289062" + y="-0.59173916"><tspan + style="font-size:7.05556px;fill:#404040">1</tspan></tspan></text> + <text + xml:space="preserve" + id="text3460-8" + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3462-8);fill:#404040;fill-opacity:1;stroke:none;" + transform="translate(54.277393,9.1851291)"><tspan + x="9.6289062" + y="-0.59173916"><tspan + style="font-size:7.05556px;fill:#404040">2</tspan></tspan></text> + <text + xml:space="preserve" + id="text3460-8-1" + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3462-8-3);fill:#404040;fill-opacity:1;stroke:none;" + transform="translate(96.465644,9.1851291)"><tspan + x="9.6289062" + y="-0.59173916"><tspan + style="font-size:7.05556px;fill:#404040">3</tspan></tspan></text> + <text + xml:space="preserve" + id="text3460-8-6" + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3462-8-8);fill:#404040;fill-opacity:1;stroke:none;" + transform="translate(138.64331,9.1851291)"><tspan + x="9.6289062" + y="-0.59173916"><tspan + style="font-size:7.05556px;fill:#404040">4</tspan></tspan></text> + <text + xml:space="preserve" + id="text3460-8-3" + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3462-8-4);fill:#404040;fill-opacity:1;stroke:none;" + transform="translate(180.89505,9.1851291)"><tspan + x="9.6289062" + y="-0.59173916"><tspan + style="font-size:7.05556px;fill:#404040">5</tspan></tspan></text> + <text + xml:space="preserve" + id="text3460-8-0" + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3462-8-38);fill:#404040;fill-opacity:1;stroke:none;" + transform="translate(221.61836,9.1851291)"><tspan + x="9.6289062" + y="-0.59173916"><tspan + style="font-size:7.05556px;fill:#404040">6</tspan></tspan></text> + </g> + </g> +</svg> diff --git a/doc/quick-tech-report/mesh_scan_crop.jpg b/doc/quick-tech-report/mesh_scan_crop.jpg Binary files differnew file mode 100644 index 0000000..baa8e6c --- /dev/null +++ b/doc/quick-tech-report/mesh_scan_crop.jpg diff --git a/doc/quick-tech-report/photolink_schematic.pdf b/doc/quick-tech-report/photolink_schematic.pdf Binary files differnew file mode 100644 index 0000000..3284427 --- /dev/null +++ b/doc/quick-tech-report/photolink_schematic.pdf diff --git a/doc/quick-tech-report/photolink_schematic.pro b/doc/quick-tech-report/photolink_schematic.pro new file mode 100644 index 0000000..02a2ddf --- /dev/null +++ b/doc/quick-tech-report/photolink_schematic.pro @@ -0,0 +1,43 @@ +update=Tue Dec 1 17:26:36 2020 +version=1 +last_client=eeschema +[general] +version=1 +RootSch= +BoardNm= +[pcbnew] +version=1 +LastNetListRead= +UseCmpFile=1 +PadDrill=0.600000000000 +PadDrillOvalY=0.600000000000 +PadSizeH=1.500000000000 +PadSizeV=1.500000000000 +PcbTextSizeV=1.500000000000 +PcbTextSizeH=1.500000000000 +PcbTextThickness=0.300000000000 +ModuleTextSizeV=1.000000000000 +ModuleTextSizeH=1.000000000000 +ModuleTextSizeThickness=0.150000000000 +SolderMaskClearance=0.000000000000 +SolderMaskMinWidth=0.000000000000 +DrawSegmentWidth=0.200000000000 +BoardOutlineThickness=0.100000000000 +ModuleOutlineThickness=0.150000000000 +[cvpcb] +version=1 +NetIExt=net +[eeschema] +version=1 +LibDir= +[eeschema/libraries] +[schematic_editor] +version=1 +PageLayoutDescrFile= +PlotDirectoryName= +SubpartIdSeparator=0 +SubpartFirstId=65 +NetFmtName= +SpiceAjustPassiveValues=0 +LabSize=50 +ERC_TestSimilarLabels=1 diff --git a/doc/quick-tech-report/photolink_schematic.sch b/doc/quick-tech-report/photolink_schematic.sch new file mode 100644 index 0000000..b5c6a64 --- /dev/null +++ b/doc/quick-tech-report/photolink_schematic.sch @@ -0,0 +1,486 @@ +EESchema Schematic File Version 4 +EELAYER 30 0 +EELAYER END +$Descr A4 11693 8268 +encoding utf-8 +Sheet 1 1 +Title "" +Date "" +Rev "" +Comp "" +Comment1 "" +Comment2 "" +Comment3 "" +Comment4 "" +$EndDescr +$Comp +L Transistor_BJT:BC847 Q1 +U 1 1 5FC67B72 +P 3450 3300 +F 0 "Q1" H 3641 3300 50 0000 L CNN +F 1 "BC847" H 3641 3255 50 0001 L CNN +F 2 "Package_TO_SOT_SMD:SOT-23" H 3650 3225 50 0001 L CIN +F 3 "http://www.infineon.com/dgdl/Infineon-BC847SERIES_BC848SERIES_BC849SERIES_BC850SERIES-DS-v01_01-en.pdf?fileId=db3a304314dca389011541d4630a1657" H 3450 3300 50 0001 L CNN + 1 3450 3300 + 1 0 0 -1 +$EndComp +$Comp +L Device:R_Small R1 +U 1 1 5FC6861A +P 3050 3300 +F 0 "R1" V 3246 3300 50 0000 C CNN +F 1 "R_Small" V 3155 3300 50 0000 C CNN +F 2 "" H 3050 3300 50 0001 C CNN +F 3 "~" H 3050 3300 50 0001 C CNN + 1 3050 3300 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 4750 3050 4600 3050 +Wire Wire Line + 3550 2950 3550 3100 +Wire Wire Line + 3150 3300 3250 3300 +$Comp +L power:GND1 #PWR02 +U 1 1 5FC74679 +P 3550 3500 +F 0 "#PWR02" H 3550 3250 50 0001 C CNN +F 1 "GND1" H 3555 3327 50 0000 C CNN +F 2 "" H 3550 3500 50 0001 C CNN +F 3 "" H 3550 3500 50 0001 C CNN + 1 3550 3500 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4750 3250 4650 3250 +Wire Wire Line + 4600 3050 4600 2650 +Wire Wire Line + 4600 2650 4900 2650 +Connection ~ 4600 3050 +Wire Wire Line + 4900 2300 4600 2300 +Wire Wire Line + 4600 2300 4600 2650 +Connection ~ 4600 2650 +Text GLabel 9150 3350 2 50 Input ~ 0 +RX_OUT +Text GLabel 2850 3300 0 50 Input ~ 0 +TX_IN +Wire Wire Line + 2850 3300 2950 3300 +$Comp +L power:+3V3 #PWR01 +U 1 1 5FC80852 +P 3550 2150 +F 0 "#PWR01" H 3550 2000 50 0001 C CNN +F 1 "+3V3" H 3565 2323 50 0000 C CNN +F 2 "" H 3550 2150 50 0001 C CNN +F 3 "" H 3550 2150 50 0001 C CNN + 1 3550 2150 + 1 0 0 -1 +$EndComp +$Comp +L Device:Opamp_Quad_Generic U1 +U 4 1 5FC81BCB +P 5250 4650 +F 0 "U1" H 5250 4375 50 0000 C CNN +F 1 "MCP6494" H 5250 4374 50 0001 C CNN +F 2 "" H 5250 4650 50 0001 C CNN +F 3 "~" H 5250 4650 50 0001 C CNN + 4 5250 4650 + 1 0 0 1 +$EndComp +$Comp +L Device:R R2 +U 1 1 5FC87551 +P 3550 2400 +F 0 "R2" H 3620 2400 50 0000 L CNN +F 1 "R" H 3620 2355 50 0001 L CNN +F 2 "" V 3480 2400 50 0001 C CNN +F 3 "~" H 3550 2400 50 0001 C CNN + 1 3550 2400 + 1 0 0 -1 +$EndComp +$Comp +L Device:Opamp_Quad_Generic U1 +U 2 1 5FC77130 +P 7200 3250 +F 0 "U1" H 7200 2975 50 0000 C CNN +F 1 "MCP6494" H 7200 2974 50 0001 C CNN +F 2 "" H 7200 3250 50 0001 C CNN +F 3 "~" H 7200 3250 50 0001 C CNN + 2 7200 3250 + 1 0 0 1 +$EndComp +$Comp +L Device:Opamp_Quad_Generic U1 +U 1 1 5FC6A2B7 +P 5050 3150 +F 0 "U1" H 5050 2783 50 0000 C CNN +F 1 "MCP6494" H 5050 2874 50 0000 C CNN +F 2 "" H 5050 3150 50 0001 C CNN +F 3 "~" H 5050 3150 50 0001 C CNN + 1 5050 3150 + 1 0 0 1 +$EndComp +Wire Wire Line + 7500 3250 7600 3250 +Wire Wire Line + 3550 2250 3550 2150 +$Comp +L Device:D_ALT LED1 +U 1 1 5FC90B25 +P 3550 2800 +F 0 "LED1" V 3550 3100 50 0000 R CNN +F 1 "D_ALT" V 3505 2720 50 0001 R CNN +F 2 "" H 3550 2800 50 0001 C CNN +F 3 "~" H 3550 2800 50 0001 C CNN + 1 3550 2800 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 3550 2550 3550 2650 +$Comp +L Device:D_ALT PD1 +U 1 1 5FC93B60 +P 4150 2800 +F 0 "PD1" V 4150 2880 50 0000 L CNN +F 1 "D_ALT" V 4105 2720 50 0001 R CNN +F 2 "" H 4150 2800 50 0001 C CNN +F 3 "~" H 4150 2800 50 0001 C CNN + 1 4150 2800 + 0 1 1 0 +$EndComp +Wire Wire Line + 4150 3050 4150 2950 +Wire Wire Line + 4150 3050 4600 3050 +$Comp +L Device:R R3 +U 1 1 5FC9B279 +P 4350 4500 +F 0 "R3" H 4420 4500 50 0000 L CNN +F 1 "R" H 4420 4455 50 0001 L CNN +F 2 "" V 4280 4500 50 0001 C CNN +F 3 "~" H 4350 4500 50 0001 C CNN + 1 4350 4500 + 1 0 0 -1 +$EndComp +$Comp +L Device:R R4 +U 1 1 5FC9B8DC +P 4350 5000 +F 0 "R4" H 4420 5000 50 0000 L CNN +F 1 "R" H 4420 4955 50 0001 L CNN +F 2 "" V 4280 5000 50 0001 C CNN +F 3 "~" H 4350 5000 50 0001 C CNN + 1 4350 5000 + 1 0 0 -1 +$EndComp +$Comp +L Device:C C1 +U 1 1 5FC9BF27 +P 4650 5000 +F 0 "C1" H 4765 5000 50 0000 L CNN +F 1 "C" H 4765 4955 50 0001 L CNN +F 2 "" H 4688 4850 50 0001 C CNN +F 3 "~" H 4650 5000 50 0001 C CNN + 1 4650 5000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4350 4650 4350 4750 +Wire Wire Line + 4350 4750 4650 4750 +Wire Wire Line + 4650 4750 4650 4850 +Connection ~ 4350 4750 +Wire Wire Line + 4350 4750 4350 4850 +$Comp +L power:GND2 #PWR05 +U 1 1 5FC9F5E3 +P 4350 5300 +F 0 "#PWR05" H 4350 5050 50 0001 C CNN +F 1 "GND2" H 4355 5127 50 0000 C CNN +F 2 "" H 4350 5300 50 0001 C CNN +F 3 "" H 4350 5300 50 0001 C CNN + 1 4350 5300 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4350 5300 4350 5250 +Wire Wire Line + 4650 5150 4650 5250 +Wire Wire Line + 4650 5250 4350 5250 +Connection ~ 4350 5250 +Wire Wire Line + 4350 5250 4350 5150 +$Comp +L power:+3V0 #PWR04 +U 1 1 5FCA206B +P 4350 4250 +F 0 "#PWR04" H 4350 4100 50 0001 C CNN +F 1 "+3V0" H 4365 4423 50 0000 C CNN +F 2 "" H 4350 4250 50 0001 C CNN +F 3 "" H 4350 4250 50 0001 C CNN + 1 4350 4250 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4350 4250 4350 4350 +Wire Wire Line + 4950 4750 4650 4750 +Connection ~ 4650 4750 +Wire Wire Line + 4950 4550 4800 4550 +Wire Wire Line + 4800 4550 4800 4150 +Wire Wire Line + 4800 4150 5700 4150 +Wire Wire Line + 5700 4150 5700 4650 +Wire Wire Line + 5700 4650 5550 4650 +Connection ~ 5700 4650 +$Comp +L Device:R R5 +U 1 1 5FCB3FD4 +P 5050 2650 +F 0 "R5" V 4843 2650 50 0000 C CNN +F 1 "100k" V 4934 2650 50 0000 C CNN +F 2 "" V 4980 2650 50 0001 C CNN +F 3 "~" H 5050 2650 50 0001 C CNN + 1 5050 2650 + 0 1 1 0 +$EndComp +$Comp +L Device:C C2 +U 1 1 5FCB45E4 +P 5050 2300 +F 0 "C2" V 5302 2300 50 0000 C CNN +F 1 "7p" V 5211 2300 50 0000 C CNN +F 2 "" H 5088 2150 50 0001 C CNN +F 3 "~" H 5050 2300 50 0001 C CNN + 1 5050 2300 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 5200 2300 5500 2300 +Wire Wire Line + 5500 2300 5500 2650 +Wire Wire Line + 5500 3150 5350 3150 +$Comp +L Device:R R6 +U 1 1 5FCB92E2 +P 6150 3150 +F 0 "R6" V 5943 3150 50 0000 C CNN +F 1 "1k" V 6034 3150 50 0000 C CNN +F 2 "" V 6080 3150 50 0001 C CNN +F 3 "~" H 6150 3150 50 0001 C CNN + 1 6150 3150 + 0 1 1 0 +$EndComp +$Comp +L Device:R R7 +U 1 1 5FCB995A +P 7200 2700 +F 0 "R7" V 6993 2700 50 0000 C CNN +F 1 "100k" V 7084 2700 50 0000 C CNN +F 2 "" V 7130 2700 50 0001 C CNN +F 3 "~" H 7200 2700 50 0001 C CNN + 1 7200 2700 + 0 1 1 0 +$EndComp +Wire Wire Line + 5600 3150 5500 3150 +Connection ~ 5500 3150 +Wire Wire Line + 7350 2700 7600 2700 +Wire Wire Line + 7600 2700 7600 3250 +Wire Wire Line + 9150 3350 9050 3350 +Wire Wire Line + 5200 2650 5500 2650 +Connection ~ 5500 2650 +Wire Wire Line + 5500 2650 5500 3150 +$Comp +L power:+3V0 #PWR03 +U 1 1 5FCC0528 +P 4150 2150 +F 0 "#PWR03" H 4150 2000 50 0001 C CNN +F 1 "+3V0" H 4165 2323 50 0000 C CNN +F 2 "" H 4150 2150 50 0001 C CNN +F 3 "" H 4150 2150 50 0001 C CNN + 1 4150 2150 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4150 2150 4150 2650 +$Comp +L Graphic:SYM_Arrow_Normal #SYM1 +U 1 1 5FCC452D +P 3850 2775 +F 0 "#SYM1" H 3850 2835 50 0001 C CNN +F 1 "SYM_Arrow_Normal" H 3860 2725 50 0001 C CNN +F 2 "" H 3850 2775 50 0001 C CNN +F 3 "~" H 3850 2775 50 0001 C CNN + 1 3850 2775 + 1 0 0 -1 +$EndComp +$Comp +L Graphic:SYM_Arrow_Normal #SYM2 +U 1 1 5FCC5099 +P 3850 2850 +F 0 "#SYM2" H 3850 2910 50 0001 C CNN +F 1 "SYM_Arrow_Normal" H 3860 2800 50 0001 C CNN +F 2 "" H 3850 2850 50 0001 C CNN +F 3 "~" H 3850 2850 50 0001 C CNN + 1 3850 2850 + 1 0 0 -1 +$EndComp +Wire Notes Line + 3200 3000 4450 3000 +Wire Notes Line + 4450 3000 4450 2600 +Wire Notes Line + 4450 2600 3200 2600 +Wire Notes Line + 3200 2600 3200 3000 +Text Notes 2900 2700 0 50 ~ 0 +IR link +Wire Wire Line + 4650 3750 5950 3750 +Wire Wire Line + 5950 4650 5950 3750 +Wire Wire Line + 5700 4650 5950 4650 +Wire Notes Line + 3850 1550 3850 5700 +Text Notes 3750 1750 2 100 ~ 0 +Stator +Text Notes 3950 1750 0 100 ~ 0 +Rotor +Text Label 5650 3750 2 50 ~ 0 +VGND +Text Notes 5300 1950 2 50 ~ 0 +TIA G=100kΩ +Text Notes 7500 2350 2 50 ~ 0 +Amplifier G=100 +Text Notes 8950 2900 2 50 ~ 0 +Comparator +Text Notes 5650 4000 2 50 ~ 0 +Virtual Ground Buffer +$Comp +L Device:C C3 +U 1 1 5FC76733 +P 5750 3150 +F 0 "C3" V 5900 3150 50 0000 C CNN +F 1 "7p" V 5911 3150 50 0001 C CNN +F 2 "" H 5788 3000 50 0001 C CNN +F 3 "~" H 5750 3150 50 0001 C CNN + 1 5750 3150 + 0 1 1 0 +$EndComp +Wire Wire Line + 6650 3350 6650 3750 +Wire Wire Line + 6650 3350 6900 3350 +Connection ~ 6650 3750 +$Comp +L Device:Opamp_Quad_Generic U1 +U 3 1 5FC7A609 +P 8750 3350 +F 0 "U1" H 8750 3075 50 0000 C CNN +F 1 "MCP6494" H 8750 3074 50 0001 C CNN +F 2 "" H 8750 3350 50 0001 C CNN +F 3 "~" H 8750 3350 50 0001 C CNN + 3 8750 3350 + 1 0 0 1 +$EndComp +$Comp +L Device:C C4 +U 1 1 5FC8AF8D +P 7850 3250 +F 0 "C4" V 8102 3250 50 0000 C CNN +F 1 "7p" V 8011 3250 50 0001 C CNN +F 2 "" H 7888 3100 50 0001 C CNN +F 3 "~" H 7850 3250 50 0001 C CNN + 1 7850 3250 + 0 1 1 0 +$EndComp +$Comp +L Device:R R8 +U 1 1 5FC9BACD +P 6400 3400 +F 0 "R8" V 6300 3400 50 0000 C CNN +F 1 "1k" V 6284 3400 50 0001 C CNN +F 2 "" V 6330 3400 50 0001 C CNN +F 3 "~" H 6400 3400 50 0001 C CNN + 1 6400 3400 + -1 0 0 1 +$EndComp +Wire Wire Line + 5950 3750 6400 3750 +Connection ~ 5950 3750 +Wire Wire Line + 6400 3550 6400 3750 +Connection ~ 6400 3750 +Wire Wire Line + 6400 3750 6650 3750 +Wire Wire Line + 6300 3150 6400 3150 +Wire Wire Line + 6400 3250 6400 3150 +Wire Wire Line + 6400 2700 7050 2700 +Connection ~ 6400 3150 +Wire Wire Line + 6400 3150 6900 3150 +Wire Wire Line + 6400 3150 6400 2700 +Wire Wire Line + 6000 3150 5900 3150 +$Comp +L Device:R R9 +U 1 1 5FCAEC24 +P 8100 3500 +F 0 "R9" V 8000 3500 50 0000 C CNN +F 1 "100k" V 7984 3500 50 0001 C CNN +F 2 "" V 8030 3500 50 0001 C CNN +F 3 "~" H 8100 3500 50 0001 C CNN + 1 8100 3500 + -1 0 0 1 +$EndComp +Wire Wire Line + 7600 3250 7700 3250 +Connection ~ 7600 3250 +Wire Wire Line + 8450 3450 8350 3450 +Wire Wire Line + 8000 3250 8100 3250 +Wire Wire Line + 6650 3750 8100 3750 +Wire Wire Line + 8350 3450 8350 3750 +Wire Wire Line + 8100 3350 8100 3250 +Connection ~ 8100 3250 +Wire Wire Line + 8100 3250 8450 3250 +Connection ~ 8100 3750 +Wire Wire Line + 8100 3750 8350 3750 +Wire Wire Line + 8100 3650 8100 3750 +Wire Wire Line + 4650 3250 4650 3750 +Text Notes 5700 3750 0 50 ~ 0 +1/2 VCC = 1.5V +$EndSCHEMATC diff --git a/doc/quick-tech-report/photolink_schematic.svg b/doc/quick-tech-report/photolink_schematic.svg new file mode 100644 index 0000000..a24a7ec --- /dev/null +++ b/doc/quick-tech-report/photolink_schematic.svg @@ -0,0 +1,3246 @@ +<?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" + version="1.1" + width="180.879mm" + height="111.56239mm" + viewBox="0 0 71212.205 43922.205" + id="svg1652" + sodipodi:docname="photolink_schematic.svg" + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"> + <metadata + id="metadata1658"> + <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 photolink_schematic.svg date 2020/12/01 17:27:56 </dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs1656" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1019" + id="namedview1654" + showgrid="false" + units="mm" + fit-margin-top="3" + lock-margins="true" + fit-margin-left="3" + fit-margin-right="3" + fit-margin-bottom="3" + inkscape:zoom="1.0618889" + inkscape:cx="323.2906" + inkscape:cy="259.69057" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="svg1652" /> + <title + id="title2">SVG Picture created as photolink_schematic.svg date 2020/12/01 17:27:56 </title> + <desc + id="desc4">Picture generated by Eeschema-SVG </desc> + <g + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g6" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g28" + transform="translate(-24788.898,-14288.898)"> + <g + id="g8" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g10" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g14"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 43500,53000 v 500 h 500 l -500,500 -500,-500 h 500" + id="path12" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g26"> + <text + x="43550" + y="55000" + textLength="2060" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text16">GND2</text> + <path + d="m 42930,54500 -50,-30 h -70 l -70,30 -50,40 -30,50 -20,100 v 70 l 20,90 30,50 50,50 70,20 h 40 l 80,-20 20,-30 v -160 h -100" + id="path18" /> + <path + d="m 43160,54970 v -500 l 290,500 v -500" + id="path20" /> + <path + d="m 43690,54970 v -500 h 120 l 70,30 50,40 20,50 20,100 v 70 l -20,90 -20,50 -50,50 -70,20 h -120" + id="path22" /> + <path + d="m 44160,54520 30,-20 50,-30 h 110 l 50,30 30,20 20,50 v 40 l -20,80 -290,280 h 310" + id="path24" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g54" + transform="translate(-24788.898,-14288.898)"> + <g + id="g30" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g32" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g36"> + <rect + x="35100" + y="23000" + width="800" + height="2000" + rx="0" + id="rect34" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g42"> + <path + d="m 35500,23000 v -500" + id="path38" /> + <path + d="m 35500,25000 v 500" + id="path40" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g52"> + <text + x="36720" + y="24270" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text44">R2</text> + <path + d="m 36630,24240 -160,-240" + id="path46" /> + <path + d="m 36350,24240 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" + id="path48" /> + <path + d="m 36820,23790 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" + id="path50" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g124" + transform="translate(-24788.898,-14288.898)"> + <g + id="g56" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g58" /> + <g + style="fill:#ffffc2;fill-opacity:0;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g60" /> + <g + style="fill:#ffffc2;fill-opacity:0.6;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g64"> + <path + style="fill:#ffffc2;fill-opacity:0.6;fill-rule:evenodd;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 70000,34500 4000,-2000 -4000,-2000 z" + id="path62" /> + </g> + <g + style="fill:#840000;fill-opacity:0.6;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g66" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g72"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 70000,34500 4000,-2000 -4000,-2000 z" + id="path68" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 70000,34500 4000,-2000 -4000,-2000 z" + id="path70" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g76"> + <path + d="M 70000,33500 H 69000" + id="path74" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g84"> + <text + x="70200" + y="33750" + textLength="680" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text78">+</text> + <path + d="m 70340,33530 h 390" + id="path80" /> + <path + d="m 70530,33720 v -380" + id="path82" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g92"> + <text + x="69500" + y="33400" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text86">5</text> + <path + d="m 69610,32870 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" + id="path88" /> + <path + d="M 70000,31500 H 69000" + id="path90" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g98"> + <text + x="70200" + y="31750" + textLength="680" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text94">-</text> + <path + d="m 70340,31530 h 390" + id="path96" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g110"> + <text + x="69500" + y="31400" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text100">6</text> + <path + d="m 69590,30870 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" + id="path102" /> + <path + d="m 74000,32500 h 1000" + id="path104" /> + <text + x="74500" + y="32400" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text106">7</text> + <path + d="m 74330,31870 h 330 l -210,500" + id="path108" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g122"> + <text + x="72000" + y="29970" + textLength="1560" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text112">U1B</text> + <path + d="m 71360,29440 v 410 l 30,40 20,30 50,20 h 90 l 50,-20 30,-30 20,-40 v -410" + id="path114" /> + <path + d="m 72150,29940 h -290" + id="path116" /> + <path + d="m 72010,29940 v -500 l -50,70 -50,50 -50,20" + id="path118" /> + <path + d="m 72530,29680 70,20 30,30 20,40 v 80 l -20,40 -30,30 -50,20 h -190 v -500 h 170 l 50,30 20,20 30,50 v 40 l -30,50 -20,30 -50,20 h -170" + id="path120" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g218" + transform="translate(-24788.898,-14288.898)"> + <g + id="g126" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g128" /> + <g + style="fill:#ffffc2;fill-opacity:0;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g130" /> + <g + style="fill:#ffffc2;fill-opacity:0.6;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g134"> + <path + style="fill:#ffffc2;fill-opacity:0.6;fill-rule:evenodd;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 48500,33500 4000,-2000 -4000,-2000 z" + id="path132" /> + </g> + <g + style="fill:#840000;fill-opacity:0.6;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g136" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g142"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 48500,33500 4000,-2000 -4000,-2000 z" + id="path138" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 48500,33500 4000,-2000 -4000,-2000 z" + id="path140" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g154"> + <path + d="m 52500,31500 h 1000" + id="path144" /> + <text + x="53000" + y="31400" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text146">1</text> + <path + d="m 53140,31370 h -290" + id="path148" /> + <path + d="m 53000,31370 v -500 l -50,70 -50,50 -50,20" + id="path150" /> + <path + d="M 48500,30500 H 47500" + id="path152" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g160"> + <text + x="48700" + y="30750" + textLength="680" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text156">-</text> + <path + d="m 48840,30530 h 390" + id="path158" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g168"> + <text + x="48000" + y="30400" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text162">2</text> + <path + d="m 47850,29920 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" + id="path164" /> + <path + d="M 48500,32500 H 47500" + id="path166" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g176"> + <text + x="48700" + y="32750" + textLength="680" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text170">+</text> + <path + d="m 48840,32530 h 390" + id="path172" /> + <path + d="m 49030,32720 v -380" + id="path174" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g182"> + <text + x="48000" + y="32400" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text178">3</text> + <path + d="m 47830,31870 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" + id="path180" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g216"> + <text + x="50500" + y="28050" + textLength="1490" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text184">U1A</text> + <path + d="m 49900,27520 v 410 l 20,40 30,30 50,20 h 90 l 50,-20 20,-30 30,-40 v -410" + id="path186" /> + <path + d="m 50690,28020 h -290" + id="path188" /> + <path + d="m 50540,28020 v -500 l -40,70 -50,50 -50,20" + id="path190" /> + <path + d="m 50880,27880 h 230" + id="path192" /> + <path + d="m 50830,28020 170,-500 160,500" + id="path194" /> + <text + x="50500" + y="28960" + textLength="3540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text196">MCP6494</text> + <path + d="m 48880,28930 v -500 l 160,360 170,-360 v 500" + id="path198" /> + <path + d="m 49730,28880 -20,30 -70,20 h -50 l -70,-20 -50,-50 -20,-50 -30,-90 v -70 l 30,-100 20,-50 50,-40 70,-30 h 50 l 70,30 20,20" + id="path200" /> + <path + d="m 49950,28930 v -500 h 190 l 50,30 20,20 20,50 v 70 l -20,50 -20,20 -50,20 h -190" + id="path202" /> + <path + d="m 50660,28430 h -90 l -50,30 -20,20 -50,70 -30,100 v 190 l 30,40 20,30 50,20 h 90 l 50,-20 30,-30 20,-40 v -120 l -20,-50 -30,-20 -50,-30 h -90 l -50,30 -20,20 -30,50" + id="path204" /> + <path + d="m 51140,28600 v 330" + id="path206" /> + <path + d="m 51020,28410 -120,350 h 310" + id="path208" /> + <path + d="m 51420,28930 h 100 l 50,-20 20,-30 50,-70 20,-90 v -190 l -20,-50 -30,-20 -40,-30 h -100 l -50,30 -20,20 -20,50 v 120 l 20,40 20,30 50,20 h 100 l 40,-20 30,-30 20,-40" + id="path210" /> + <path + d="m 52090,28600 v 330" + id="path212" /> + <path + d="m 51970,28410 -120,350 h 310" + id="path214" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g260" + transform="translate(-24788.898,-14288.898)"> + <g + id="g220" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g222" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g226"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 35000,28500 h 1000" + id="path224" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g230"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 35500,27500 v 1000" + id="path228" /> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g234"> + <path + style="fill:#840000;fill-opacity:1;fill-rule:evenodd;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 35000,27500 h 1000 l -500,1000 z" + id="path232" /> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g236" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g242"> + <path + d="m 35500,28500 v 1000" + id="path238" /> + <path + d="M 35500,27500 V 26500" + id="path240" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g258"> + <text + x="33440" + y="28220" + textLength="1890" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text244">LED1</text> + <path + d="m 32880,28190 h -240 v -500" + id="path246" /> + <path + d="m 33040,27930 h 170" + id="path248" /> + <path + d="m 33280,28190 h -240 v -500 h 240" + id="path250" /> + <path + d="m 33490,28190 v -500 h 120 l 80,30 40,40 30,50 20,100 v 70 l -20,90 -30,50 -40,50 -80,20 h -120" + id="path252" /> + <path + d="m 34260,28190 h -290" + id="path254" /> + <path + d="m 34110,28190 v -500 l -40,70 -50,50 -50,20" + id="path256" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g288" + transform="translate(-24788.898,-14288.898)"> + <g + id="g262" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g264" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g268"> + <rect + x="80600" + y="34000" + width="800" + height="2000" + rx="0" + id="rect266" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g274"> + <path + d="m 81000,36000 v 500" + id="path270" /> + <path + d="m 81000,34000 v -500" + id="path272" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g286"> + <g + transform="rotate(-90,81970,35000)" + id="g278"> + <text + x="81970" + y="35250" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text276">R9</text> + </g> + <path + d="m 82190,35080 -240,170" + id="path280" /> + <path + d="m 82190,35360 h -500 v -190 l 30,-40 20,-30 50,-20 h 70 l 50,20 20,30 20,40 v 190" + id="path282" /> + <path + d="m 82190,34840 v -90 l -20,-50 -30,-30 -70,-40 -90,-30 h -190 l -50,30 -20,20 -30,50 v 90 l 30,50 20,20 50,30 h 120 l 40,-30 30,-20 20,-50 v -90 l -20,-50 -30,-20 -40,-30" + id="path284" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g326" + transform="translate(-24788.898,-14288.898)"> + <g + id="g290" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g292" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g296"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 42000,27500 H 41000" + id="path294" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g300"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 41500,28500 V 27500" + id="path298" /> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g304"> + <path + style="fill:#840000;fill-opacity:1;fill-rule:evenodd;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 42000,28500 h -1000 l 500,-1000 z" + id="path302" /> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g306" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g312"> + <path + d="M 41500,27500 V 26500" + id="path308" /> + <path + d="m 41500,28500 v 1000" + id="path310" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g324"> + <text + x="43070" + y="28270" + textLength="1540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text314">PD1</text> + <path + d="m 42450,28240 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" + id="path316" /> + <path + d="m 42950,28240 v -500 h 120 l 70,30 40,40 30,50 20,100 v 70 l -20,90 -30,50 -40,50 -70,20 h -120" + id="path318" /> + <path + d="m 43710,28240 h -290" + id="path320" /> + <path + d="m 43570,28240 v -500 l -50,70 -50,50 -50,20" + id="path322" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g352" + transform="translate(-24788.898,-14288.898)"> + <g + id="g328" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g330" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g334"> + <rect + x="43100" + y="44000" + width="800" + height="2000" + rx="0" + id="rect332" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g340"> + <path + d="m 43500,44000 v -500" + id="path336" /> + <path + d="m 43500,46000 v 500" + id="path338" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g350"> + <text + x="44720" + y="45270" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text342">R3</text> + <path + d="m 44630,45240 -160,-240" + id="path344" /> + <path + d="m 44350,45240 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" + id="path346" /> + <path + d="m 44800,44740 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" + id="path348" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g380" + transform="translate(-24788.898,-14288.898)"> + <g + id="g354" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g356" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g362"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 45700,50300 h 1600" + id="path358" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 45700,49700 h 1600" + id="path360" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g368"> + <path + d="M 46500,49600 V 48500" + id="path364" /> + <path + d="m 46500,50400 v 1100" + id="path366" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g378"> + <text + x="48170" + y="50270" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text370">C1</text> + <path + d="m 48080,50190 -20,30 -70,20 h -50 l -70,-20 -50,-50 -20,-50 -30,-90 v -70 l 30,-100 20,-50 50,-40 70,-30 h 50 l 70,30 20,20" + id="path372" /> + <path + d="m 48560,50240 h -290" + id="path374" /> + <path + d="m 48420,50240 v -500 l -50,70 -50,50 -50,20" + id="path376" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g408" + transform="translate(-24788.898,-14288.898)"> + <g + id="g382" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g384" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g388"> + <rect + x="43100" + y="49000" + width="800" + height="2000" + rx="0" + id="rect386" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g394"> + <path + d="m 43500,49000 v -500" + id="path390" /> + <path + d="m 43500,51000 v 500" + id="path392" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g406"> + <text + x="44720" + y="50270" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text396">R4</text> + <path + d="m 44630,50240 -160,-240" + id="path398" /> + <path + d="m 44350,50240 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" + id="path400" /> + <path + d="m 45060,49910 v 330" + id="path402" /> + <path + d="m 44940,49720 -120,350 h 310" + id="path404" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g422" + transform="translate(-24788.898,-14288.898)"> + <g + id="g410" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g412" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g416"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 39100,28500 H 37500" + id="path414" /> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g420"> + <path + style="fill:#840000;fill-opacity:1;fill-rule:evenodd;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 39500,28500 -700,200 v -400 z" + id="path418" /> + </g> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g448" + transform="translate(-24788.898,-14288.898)"> + <g + id="g424" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g432"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 43200,42000 300,-500" + id="path426" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 43500,42500 V 41500" + id="path428" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 43500,41500 300,500" + id="path430" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g446"> + <text + x="43650" + y="41040" + textLength="2060" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text434">+3V0</text> + <path + d="m 42760,40820 h 390" + id="path436" /> + <path + d="m 42950,41010 v -380" + id="path438" /> + <path + d="m 43340,40510 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" + id="path440" /> + <path + d="m 43790,40510 160,500 170,-500" + id="path442" /> + <path + d="m 44380,40510 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" + id="path444" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g462" + transform="translate(-24788.898,-14288.898)"> + <g + id="g450" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g452" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g456"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 39100,27750 H 37500" + id="path454" /> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g460"> + <path + style="fill:#840000;fill-opacity:1;fill-rule:evenodd;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 39500,27750 -700,200 v -400 z" + id="path458" /> + </g> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g488" + transform="translate(-24788.898,-14288.898)"> + <g + id="g464" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g472"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 41200,21000 300,-500" + id="path466" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 41500,21500 V 20500" + id="path468" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 41500,20500 300,500" + id="path470" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g486"> + <text + x="41650" + y="20040" + textLength="2060" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text474">+3V0</text> + <path + d="m 40760,19820 h 390" + id="path476" /> + <path + d="m 40950,20010 v -380" + id="path478" /> + <path + d="m 41340,19510 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" + id="path480" /> + <path + d="m 41790,19510 160,500 170,-500" + id="path482" /> + <path + d="m 42380,19510 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" + id="path484" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g530" + transform="translate(-24788.898,-14288.898)"> + <g + id="g490" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g492" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g496"> + <rect + x="49500" + y="26100" + width="2000" + height="800" + rx="0" + id="rect494" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g502"> + <path + d="m 51500,26500 h 500" + id="path498" /> + <path + d="m 49500,26500 h -500" + id="path500" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g528"> + <text + x="50500" + y="24700" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text504">R5</text> + <path + d="m 50410,24670 -160,-240" + id="path506" /> + <path + d="m 50130,24670 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" + id="path508" /> + <path + d="m 50860,24170 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" + id="path510" /> + <text + x="50500" + y="25610" + textLength="1890" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text512">100k</text> + <path + d="m 49960,25580 h -290" + id="path514" /> + <path + d="m 49820,25580 v -500 l -50,70 -50,50 -50,20" + id="path516" /> + <path + d="m 50270,25080 h 50 l 40,30 30,20 20,50 30,90 v 120 l -30,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" + id="path518" /> + <path + d="m 50750,25080 h 40 l 50,30 20,20 30,50 20,90 v 120 l -20,100 -30,40 -20,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" + id="path520" /> + <path + d="m 51130,25580 v -500" + id="path522" /> + <path + d="m 51170,25390 150,190" + id="path524" /> + <path + d="m 51320,25250 -190,190" + id="path526" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g564" + transform="translate(-24788.898,-14288.898)"> + <g + id="g532" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g534" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g540"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 50800,23800 V 22200" + id="path536" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 50200,23800 V 22200" + id="path538" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g546"> + <path + d="M 50100,23000 H 49000" + id="path542" /> + <path + d="m 50900,23000 h 1100" + id="path544" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g562"> + <text + x="50500" + y="20700" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text548">C2</text> + <path + d="m 50410,20620 -20,30 -70,20 h -50 l -70,-20 -50,-50 -20,-50 -30,-90 v -70 l 30,-100 20,-50 50,-40 70,-30 h 50 l 70,30 20,20" + id="path550" /> + <path + d="m 50600,20220 30,-20 40,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" + id="path552" /> + <text + x="50490" + y="21610" + textLength="990" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text554">7p</text> + <path + d="m 50090,21080 h 340 l -220,500" + id="path556" /> + <path + d="m 50620,21250 v 500" + id="path558" /> + <path + d="m 50620,21270 40,-20 h 100 l 50,20 20,30 20,40 v 150 l -20,40 -20,30 -50,20 h -100 l -40,-20" + id="path560" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g606" + transform="translate(-24788.898,-14288.898)"> + <g + id="g566" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g568" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g572"> + <rect + x="71000" + y="26600" + width="2000" + height="800" + rx="0" + id="rect570" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g578"> + <path + d="m 73000,27000 h 500" + id="path574" /> + <path + d="m 71000,27000 h -500" + id="path576" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g604"> + <text + x="72000" + y="25200" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text580">R7</text> + <path + d="m 71910,25170 -160,-240" + id="path582" /> + <path + d="m 71630,25170 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" + id="path584" /> + <path + d="m 72080,24670 h 330 l -210,500" + id="path586" /> + <text + x="72000" + y="26110" + textLength="1890" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text588">100k</text> + <path + d="m 71460,26080 h -290" + id="path590" /> + <path + d="m 71320,26080 v -500 l -50,70 -50,50 -50,20" + id="path592" /> + <path + d="m 71770,25580 h 50 l 40,30 30,20 20,50 30,90 v 120 l -30,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" + id="path594" /> + <path + d="m 72250,25580 h 40 l 50,30 20,20 30,50 20,90 v 120 l -20,100 -30,40 -20,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" + id="path596" /> + <path + d="m 72630,26080 v -500" + id="path598" /> + <path + d="m 72670,25890 150,190" + id="path600" /> + <path + d="m 72820,25750 -190,190" + id="path602" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g644" + transform="translate(-24788.898,-14288.898)"> + <g + id="g608" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g610" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g614"> + <rect + x="60500" + y="31100" + width="2000" + height="800" + rx="0" + id="rect612" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g620"> + <path + d="m 62500,31500 h 500" + id="path616" /> + <path + d="m 60500,31500 h -500" + id="path618" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g642"> + <text + x="61500" + y="29700" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text622">R6</text> + <path + d="m 61410,29670 -160,-240" + id="path624" /> + <path + d="m 61130,29670 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" + id="path626" /> + <path + d="m 61840,29170 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" + id="path628" /> + <text + x="61500" + y="30610" + textLength="940" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text630">1k</text> + <path + d="m 61440,30580 h -290" + id="path632" /> + <path + d="m 61290,30580 v -500 l -40,70 -50,50 -50,20" + id="path634" /> + <path + d="m 61650,30580 v -500" + id="path636" /> + <path + d="m 61700,30390 140,190" + id="path638" /> + <path + d="m 61840,30250 -190,190" + id="path640" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g672" + transform="translate(-24788.898,-14288.898)"> + <g + id="g646" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g648" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g656"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 35200,21000 300,-500" + id="path650" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 35500,21500 V 20500" + id="path652" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 35500,20500 300,500" + id="path654" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g670"> + <text + x="35650" + y="20040" + textLength="2060" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text658">+3V3</text> + <path + d="m 34760,19820 h 390" + id="path660" /> + <path + d="m 34950,20010 v -380" + id="path662" /> + <path + d="m 35340,19510 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" + id="path664" /> + <path + d="m 35790,19510 160,500 170,-500" + id="path666" /> + <path + d="m 36240,19510 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" + id="path668" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g724" + transform="translate(-24788.898,-14288.898)"> + <g + id="g674" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g676" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:80;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g680"> + <rect + x="29800" + y="32700" + width="1400" + height="600" + rx="0" + id="rect678" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g686"> + <path + d="m 29800,33000 h -300" + id="path682" /> + <path + d="m 31200,33000 h 300" + id="path684" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g722"> + <text + x="30500" + y="31260" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text688">R1</text> + <path + d="m 30410,31230 -160,-240" + id="path690" /> + <path + d="m 30130,31230 v -500 h 190 l 40,30 30,20 20,50 v 70 l -20,50 -30,20 -40,20 h -190" + id="path692" /> + <path + d="m 30890,31230 h -290" + id="path694" /> + <path + d="m 30750,31230 v -500 l -50,70 -50,50 -50,20" + id="path696" /> + <text + x="30500" + y="32170" + textLength="3060" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text698">R_Small</text> + <path + d="m 29400,32140 -170,-240" + id="path700" /> + <path + d="m 29110,32140 v -500 h 190 l 50,30 30,20 20,50 v 70 l -20,50 -30,20 -50,20 h -190" + id="path702" /> + <path + d="m 29500,32190 h 380" + id="path704" /> + <path + d="m 29970,32120 70,20 h 120 l 50,-20 20,-30 30,-40 v -50 l -30,-50 -20,-20 -50,-30 -90,-20 -50,-20 -20,-30 -30,-50 v -40 l 30,-50 20,-20 50,-30 h 120 l 70,30" + id="path706" /> + <path + d="m 30470,32140 v -330" + id="path708" /> + <path + d="m 30470,31860 30,-30 40,-20 h 70 l 50,20 30,50 v 260" + id="path710" /> + <path + d="m 30690,31880 20,-50 50,-20 h 70 l 50,20 20,50 v 260" + id="path712" /> + <path + d="m 31350,32140 v -260 l -20,-50 -50,-20 h -90 l -50,20" + id="path714" /> + <path + d="m 31350,32120 -50,20 h -110 l -50,-20 -30,-50 v -50 l 30,-50 50,-20 h 110 l 50,-20" + id="path716" /> + <path + d="m 31660,32140 -50,-20 -20,-50 v -430" + id="path718" /> + <path + d="m 31920,32140 -40,-20 -30,-50 v -430" + id="path720" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g748" + transform="translate(-24788.898,-14288.898)"> + <g + id="g726" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g728" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g732"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 35500,35000 v 500 h 500 l -500,500 -500,-500 h 500" + id="path730" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g746"> + <text + x="35550" + y="37000" + textLength="2060" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text734">GND1</text> + <path + d="m 34930,36500 -50,-30 h -70 l -70,30 -50,40 -30,50 -20,100 v 70 l 20,90 30,50 50,50 70,20 h 40 l 80,-20 20,-30 v -160 h -100" + id="path736" /> + <path + d="m 35160,36970 v -500 l 290,500 v -500" + id="path738" /> + <path + d="m 35690,36970 v -500 h 120 l 70,30 50,40 20,50 20,100 v 70 l -20,90 -20,50 -50,50 -70,20 h -120" + id="path740" /> + <path + d="m 36450,36970 h -290" + id="path742" /> + <path + d="m 36310,36970 v -500 l -50,70 -50,50 -50,20" + id="path744" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g776" + transform="translate(-24788.898,-14288.898)"> + <g + id="g750" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g752" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g756"> + <rect + x="63600" + y="33000" + width="800" + height="2000" + rx="0" + id="rect754" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g762"> + <path + d="m 64000,35000 v 500" + id="path758" /> + <path + d="m 64000,33000 v -500" + id="path760" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g774"> + <g + transform="rotate(-90,64970,34000)" + id="g766"> + <text + x="64970" + y="34250" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text764">R8</text> + </g> + <path + d="m 65190,34080 -240,170" + id="path768" /> + <path + d="m 65190,34360 h -500 v -190 l 30,-40 20,-30 50,-20 h 70 l 50,20 20,30 20,40 v 190" + id="path770" /> + <path + d="m 64910,33790 -30,50 -20,20 -50,30 h -20 l -50,-30 -20,-20 -30,-50 v -90 l 30,-50 20,-20 50,-30 h 20 l 50,30 20,20 30,50 v 90 l 20,50 20,20 50,30 h 100 l 40,-30 30,-20 20,-50 v -90 l -20,-50 -30,-20 -40,-30 h -100 l -50,30 -20,20 -20,50" + id="path772" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g804" + transform="translate(-24788.898,-14288.898)"> + <g + id="g778" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g780" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g786"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 78200,31700 v 1600" + id="path782" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 78800,31700 v 1600" + id="path784" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g792"> + <path + d="m 78900,32500 h 1100" + id="path788" /> + <path + d="M 78100,32500 H 77000" + id="path790" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g802"> + <text + x="78500" + y="35290" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text794">C4</text> + <path + d="m 78410,35210 -20,30 -70,20 h -50 l -70,-20 -50,-50 -20,-50 -30,-90 v -70 l 30,-100 20,-50 50,-40 70,-30 h 50 l 70,30 20,20" + id="path796" /> + <path + d="m 78840,34930 v 330" + id="path798" /> + <path + d="m 78720,34740 -120,350 h 310" + id="path800" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g866" + transform="translate(-24788.898,-14288.898)"> + <g + id="g806" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g808" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g812"> + <circle + cx="35000" + cy="33000" + r="1110" + id="circle810" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g818"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 34750,32750 750,-750" + id="path814" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 34750,33250 750,750 v 0" + id="path816" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g822"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 34750,32250 v 1500 0" + id="path820" /> + </g> + <g + style="fill:#840000;fill-opacity:1;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g826"> + <path + style="fill:#840000;fill-opacity:1;fill-rule:evenodd;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 35000,33700 200,-200 200,400 z" + id="path824" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g852"> + <path + d="M 34750,33000 H 32500" + id="path828" /> + <text + x="33620" + y="33600" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text830">1</text> + <path + d="m 33760,33570 h -290" + id="path832" /> + <path + d="m 33620,33570 v -500 l -50,70 -50,50 -50,20" + id="path834" /> + <path + d="m 35500,34000 v 1000" + id="path836" /> + <g + transform="rotate(-90,35600,34500)" + id="g840"> + <text + x="35600" + y="35000" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text838">2</text> + </g> + <path + d="m 35620,34640 -20,-30 -30,-40 v -120 l 30,-50 20,-20 50,-30 h 40 l 80,30 280,280 v -310" + id="path842" /> + <path + d="M 35500,32000 V 31000" + id="path844" /> + <g + transform="rotate(-90,35600,31500)" + id="g848"> + <text + x="35600" + y="32000" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text846">3</text> + </g> + <path + d="m 35570,31660 v -310 l 190,170 v -70 l 30,-50 20,-20 50,-30 h 120 l 40,30 30,20 20,50 v 140 l -20,50 -30,20" + id="path850" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g864"> + <text + x="36940" + y="33270" + textLength="1060" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text854">Q1</text> + <path + d="m 36890,33290 -50,-20 -50,-50 -70,-70 -50,-30 h -40" + id="path856" /> + <path + d="m 36650,33240 -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" + id="path858" /> + <path + d="m 37340,33240 h -290" + id="path860" /> + <path + d="m 37200,33240 v -500 l -50,70 -50,50 -50,20" + id="path862" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g940" + transform="translate(-24788.898,-14288.898)"> + <g + id="g868" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g870" /> + <g + style="fill:#ffffc2;fill-opacity:0;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g872" /> + <g + style="fill:#ffffc2;fill-opacity:0.6;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g876"> + <path + style="fill:#ffffc2;fill-opacity:0.6;fill-rule:evenodd;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 85500,35500 4000,-2000 -4000,-2000 z" + id="path874" /> + </g> + <g + style="fill:#840000;fill-opacity:0.6;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g878" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g884"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 85500,35500 4000,-2000 -4000,-2000 z" + id="path880" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 85500,35500 4000,-2000 -4000,-2000 z" + id="path882" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g888"> + <path + d="M 85500,34500 H 84500" + id="path886" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g896"> + <text + x="85700" + y="34750" + textLength="680" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text890">+</text> + <path + d="m 85840,34530 h 390" + id="path892" /> + <path + d="m 86030,34720 v -380" + id="path894" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g914"> + <text + x="85000" + y="34400" + textLength="1010" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text898">10</text> + <path + d="m 84900,34370 h -290" + id="path900" /> + <path + d="m 84760,34370 v -500 l -50,70 -50,50 -50,20" + id="path902" /> + <path + d="m 85210,33870 h 50 l 40,30 30,20 20,50 30,90 v 120 l -30,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" + id="path904" /> + <path + d="m 89500,33500 h 1000" + id="path906" /> + <text + x="90000" + y="33400" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text908">8</text> + <path + d="m 89950,33090 -50,-30 -20,-20 -30,-50 v -20 l 30,-50 20,-20 50,-30 h 90 l 50,30 20,20 30,50 v 20 l -30,50 -20,20 -50,30 h -90 l -50,20 -20,20 -30,50 v 100 l 30,40 20,30 50,20 h 90 l 50,-20 20,-30 30,-40 v -100 l -30,-50 -20,-20 -50,-20" + id="path910" /> + <path + d="M 85500,32500 H 84500" + id="path912" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g920"> + <text + x="85700" + y="32750" + textLength="680" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text916">-</text> + <path + d="m 85840,32530 h 390" + id="path918" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g926"> + <text + x="85000" + y="32400" + textLength="540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text922">9</text> + <path + d="m 84900,32370 h 100 l 40,-20 30,-30 40,-70 30,-90 v -190 l -30,-50 -20,-20 -50,-30 h -90 l -50,30 -20,20 -30,50 v 120 l 30,40 20,30 50,20 h 90 l 50,-20 20,-30 30,-40" + id="path924" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g938"> + <text + x="87500" + y="30970" + textLength="1560" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text928">U1C</text> + <path + d="m 86860,30440 v 410 l 30,40 20,30 50,20 h 90 l 50,-20 30,-30 20,-40 v -410" + id="path930" /> + <path + d="m 87650,30940 h -290" + id="path932" /> + <path + d="m 87510,30940 v -500 l -50,70 -50,50 -50,20" + id="path934" /> + <path + d="m 88150,30890 -20,30 -80,20 h -40 l -70,-20 -50,-50 -30,-50 -20,-90 v -70 l 20,-100 30,-50 50,-40 70,-30 h 40 l 80,30 20,20" + id="path936" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1024" + transform="translate(-24788.898,-14288.898)"> + <g + id="g942" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g944" /> + <g + style="fill:#ffffc2;fill-opacity:0;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g946" /> + <g + style="fill:#ffffc2;fill-opacity:0.6;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g950"> + <path + style="fill:#ffffc2;fill-opacity:0.6;fill-rule:evenodd;stroke:#ffffc2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 50500,48500 4000,-2000 -4000,-2000 z" + id="path948" /> + </g> + <g + style="fill:#840000;fill-opacity:0.6;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g952" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g958"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 50500,48500 4000,-2000 -4000,-2000 z" + id="path954" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 50500,48500 4000,-2000 -4000,-2000 z" + id="path956" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g962"> + <path + d="M 50500,47500 H 49500" + id="path960" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g970"> + <text + x="50700" + y="47750" + textLength="680" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text964">+</text> + <path + d="m 50840,47530 h 390" + id="path966" /> + <path + d="m 51030,47720 v -380" + id="path968" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g982"> + <text + x="50000" + y="47400" + textLength="1010" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text972">12</text> + <path + d="m 49900,47370 h -290" + id="path974" /> + <path + d="m 49760,47370 v -500 l -50,70 -50,50 -50,20" + id="path976" /> + <path + d="m 50090,46920 20,-20 50,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" + id="path978" /> + <path + d="M 50500,45500 H 49500" + id="path980" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g988"> + <text + x="50700" + y="45750" + textLength="680" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text984">-</text> + <path + d="m 50840,45530 h 390" + id="path986" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1010"> + <text + x="50000" + y="45400" + textLength="1010" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text990">13</text> + <path + d="m 49900,45370 h -290" + id="path992" /> + <path + d="m 49760,45370 v -500 l -50,70 -50,50 -50,20" + id="path994" /> + <path + d="m 50070,44870 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" + id="path996" /> + <path + d="m 54500,46500 h 1000" + id="path998" /> + <text + x="55000" + y="46400" + textLength="1010" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text1000">14</text> + <path + d="m 54900,46370 h -290" + id="path1002" /> + <path + d="m 54760,46370 v -500 l -50,70 -50,50 -50,20" + id="path1004" /> + <path + d="m 55330,46040 v 330" + id="path1006" /> + <path + d="m 55210,45850 -120,350 h 310" + id="path1008" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1022"> + <text + x="52500" + y="43970" + textLength="1560" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text1012">U1D</text> + <path + d="m 51860,43440 v 410 l 30,40 20,30 50,20 h 90 l 50,-20 30,-30 20,-40 v -410" + id="path1014" /> + <path + d="m 52650,43940 h -290" + id="path1016" /> + <path + d="m 52510,43940 v -500 l -50,70 -50,50 -50,20" + id="path1018" /> + <path + d="m 52860,43940 v -500 h 120 l 70,30 50,40 30,50 20,100 v 70 l -20,90 -30,50 -50,50 -70,20 h -120" + id="path1020" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1050" + transform="translate(-24788.898,-14288.898)"> + <g + id="g1026" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1028" /> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1034"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 57200,30700 v 1600" + id="path1030" /> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:200;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 57800,30700 v 1600" + id="path1032" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1040"> + <path + d="m 57900,31500 h 1100" + id="path1036" /> + <path + d="M 57100,31500 H 56000" + id="path1038" /> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1048"> + <text + x="57500" + y="33270" + textLength="1040" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="middle" + opacity="0" + id="text1042">C3</text> + <path + d="m 57410,33190 -20,30 -70,20 h -50 l -70,-20 -50,-50 -20,-50 -30,-90 v -70 l 30,-100 20,-50 50,-40 70,-30 h 50 l 70,30 20,20" + id="path1044" /> + <path + d="m 57580,32740 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" + id="path1046" /> + </g> + </g> + <g + style="fill:#008484;fill-opacity:0;stroke:#008484;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1052" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1054" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:150, 150;stroke-opacity:1" + id="g1058" + transform="translate(-24788.898,-14288.898)"> + <path + d="M 38500,15500 V 57000" + id="path1056" /> + </g> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1060" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:150, 150;stroke-opacity:1" + id="g1064" + transform="translate(-24788.898,-14288.898)"> + <path + d="M 32000,30000 H 44500" + id="path1062" /> + </g> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1066" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:150, 150;stroke-opacity:1" + id="g1070" + transform="translate(-24788.898,-14288.898)"> + <path + d="M 44500,30000 V 26000" + id="path1068" /> + </g> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1072" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:150, 150;stroke-opacity:1" + id="g1076" + transform="translate(-24788.898,-14288.898)"> + <path + d="M 44500,26000 H 32000" + id="path1074" /> + </g> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1078" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:150, 150;stroke-opacity:1" + id="g1082" + transform="translate(-24788.898,-14288.898)"> + <path + d="m 32000,26000 v 4000" + id="path1080" /> + </g> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1084" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:0;stroke:#008400;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1212" + transform="translate(-24788.898,-14288.898)"> + <path + d="m 64000,31500 h 5000" + id="path1086" /> + <path + d="M 60000,31500 H 59000" + id="path1088" /> + <path + d="m 55000,26500 v 5000" + id="path1090" /> + <path + d="M 66500,37500 H 81000" + id="path1092" /> + <path + d="m 52000,26500 h 3000" + id="path1094" /> + <path + d="M 91500,33500 H 90500" + id="path1096" /> + <path + d="m 76000,27000 v 5500" + id="path1098" /> + <path + d="m 73500,27000 h 2500" + id="path1100" /> + <path + d="M 64000,32500 V 31500" + id="path1102" /> + <path + d="m 64000,35500 v 2000" + id="path1104" /> + <path + d="m 83500,34500 v 3000" + id="path1106" /> + <path + d="M 56000,31500 H 55000" + id="path1108" /> + <path + d="m 63000,31500 h 1000" + id="path1110" /> + <path + d="m 41500,21500 v 5000" + id="path1112" /> + <path + d="m 59500,37500 h 4500" + id="path1114" /> + <path + d="M 64000,31500 V 27000" + id="path1116" /> + <path + d="m 66500,33500 h 2500" + id="path1118" /> + <path + d="m 80000,32500 h 1000" + id="path1120" /> + <path + d="M 46500,37500 H 59500" + id="path1122" /> + <path + d="M 59500,46500 V 37500" + id="path1124" /> + <path + d="m 57000,46500 h 2500" + id="path1126" /> + <path + d="m 66500,33500 v 4000" + id="path1128" /> + <path + d="m 64000,37500 h 2500" + id="path1130" /> + <path + d="m 64000,27000 h 6500" + id="path1132" /> + <path + d="M 84500,34500 H 83500" + id="path1134" /> + <path + d="m 76000,32500 h 1000" + id="path1136" /> + <path + d="m 46500,32500 v 5000" + id="path1138" /> + <path + d="m 46500,47500 v 1000" + id="path1140" /> + <path + d="m 43500,47500 h 3000" + id="path1142" /> + <path + d="m 43500,46500 v 1000" + id="path1144" /> + <path + d="m 41500,30500 h 4500" + id="path1146" /> + <path + d="M 41500,30500 V 29500" + id="path1148" /> + <path + d="m 35500,25500 v 1000" + id="path1150" /> + <path + d="M 35500,22500 V 21500" + id="path1152" /> + <path + d="m 75000,32500 h 1000" + id="path1154" /> + <path + d="m 28500,33000 h 1000" + id="path1156" /> + <path + d="m 55000,23000 v 3500" + id="path1158" /> + <path + d="m 46000,23000 v 3500" + id="path1160" /> + <path + d="M 49000,23000 H 46000" + id="path1162" /> + <path + d="m 46000,26500 h 3000" + id="path1164" /> + <path + d="M 46000,30500 V 26500" + id="path1166" /> + <path + d="M 47500,32500 H 46500" + id="path1168" /> + <path + d="m 31500,33000 h 1000" + id="path1170" /> + <path + d="m 35500,29500 v 1500" + id="path1172" /> + <path + d="M 47500,30500 H 46000" + id="path1174" /> + <path + d="M 49500,47500 H 46500" + id="path1176" /> + <path + d="M 81000,33500 V 32500" + id="path1178" /> + <path + d="M 57000,46500 H 55500" + id="path1180" /> + <path + d="m 57000,41500 v 5000" + id="path1182" /> + <path + d="m 48000,41500 h 9000" + id="path1184" /> + <path + d="M 48000,45500 V 41500" + id="path1186" /> + <path + d="M 49500,45500 H 48000" + id="path1188" /> + <path + d="m 81000,32500 h 3500" + id="path1190" /> + <path + d="m 81000,36500 v 1000" + id="path1192" /> + <path + d="m 52000,23000 h 3000" + id="path1194" /> + <path + d="m 43500,42500 v 1000" + id="path1196" /> + <path + d="M 43500,52500 V 51500" + id="path1198" /> + <path + d="m 81000,37500 h 2500" + id="path1200" /> + <path + d="M 55000,31500 H 53500" + id="path1202" /> + <path + d="M 46500,52500 H 43500" + id="path1204" /> + <path + d="m 46500,51500 v 1000" + id="path1206" /> + <path + d="m 43500,53000 v -500" + id="path1208" /> + <path + d="m 43500,47500 v 1000" + id="path1210" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1234" + transform="translate(-24788.898,-14288.898)"> + <text + x="91810" + y="33750" + textLength="2850" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text1214">RX_OUT</text> + <path + d="m 92240,33720 -170,-240" + id="path1216" /> + <path + d="m 91950,33720 v -500 h 190 l 50,30 30,20 20,50 v 70 l -20,50 -30,20 -50,20 h -190" + id="path1218" /> + <path + d="m 92410,33220 330,500" + id="path1220" /> + <path + d="m 92740,33220 -330,500" + id="path1222" /> + <path + d="m 92810,33770 h 380" + id="path1224" /> + <path + d="m 93410,33220 h 90 l 50,30 50,40 20,100 v 160 l -20,100 -50,50 -50,20 h -90 l -50,-20 -50,-50 -20,-100 v -160 l 20,-100 50,-40 50,-30" + id="path1226" /> + <path + d="m 93840,33220 v 410 l 20,40 20,30 50,20 h 100 l 40,-20 30,-30 20,-40 v -410" + id="path1228" /> + <path + d="m 94290,33220 h 280" + id="path1230" /> + <path + d="m 94430,33720 v -500" + id="path1232" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1238" + transform="translate(-24788.898,-14288.898)"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 91500,33500 250,440 h 3020 v -440 -440 h -3020 z" + id="path1236" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1256" + transform="translate(-24788.898,-14288.898)"> + <text + x="28190" + y="33250" + textLength="2060" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="end" + opacity="0" + id="text1240">TX_IN</text> + <path + d="m 26200,32720 h 290" + id="path1242" /> + <path + d="m 26350,33220 v -500" + id="path1244" /> + <path + d="m 26610,32720 330,500" + id="path1246" /> + <path + d="m 26940,32720 -330,500" + id="path1248" /> + <path + d="m 27010,33270 h 380" + id="path1250" /> + <path + d="m 27510,33220 v -500" + id="path1252" /> + <path + d="m 27750,33220 v -500 l 290,500 v -500" + id="path1254" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1260" + transform="translate(-24788.898,-14288.898)"> + <path + style="fill:none;fill-opacity:0;stroke:#840000;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="m 28500,33000 -250,-440 h -2230 v 440 440 h 2230 z" + id="path1258" /> + </g> + <g + style="fill:#840000;fill-opacity:0;stroke:#840000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1262" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1274" + transform="translate(-24788.898,-14288.898)"> + <text + x="56500" + y="37400" + textLength="2010" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="end" + opacity="0" + id="text1264">VGND</text> + <path + d="m 54560,36870 170,500 160,-500" + id="path1266" /> + <path + d="m 55320,36900 -50,-30 h -70 l -70,30 -50,40 -20,50 -20,100 v 70 l 20,90 20,50 50,50 70,20 h 50 l 70,-20 30,-30 v -160 h -100" + id="path1268" /> + <path + d="m 55560,37370 v -500 l 290,500 v -500" + id="path1270" /> + <path + d="m 56080,37370 v -500 h 120 l 70,30 50,40 30,50 20,100 v 70 l -20,90 -30,50 -50,50 -70,20 h -120" + id="path1272" /> + </g> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1558" + transform="translate(-24788.898,-14288.898)"> + <text + x="57000" + y="37400" + textLength="6350" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text1276">1/2 VCC = 1.5V</text> + <path + d="m 57410,37370 h -290" + id="path1278" /> + <path + d="m 57260,37370 v -500 l -40,70 -50,50 -50,20" + id="path1280" /> + <path + d="m 57980,36850 -430,640" + id="path1282" /> + <path + d="m 58120,36920 20,-20 50,-30 h 120 l 50,30 20,20 30,50 v 40 l -30,80 -280,280 h 310" + id="path1284" /> + <path + d="m 58930,36870 170,500 160,-500" + id="path1286" /> + <path + d="m 59720,37320 -30,30 -70,20 h -50 l -70,-20 -50,-50 -20,-50 -20,-90 v -70 l 20,-100 20,-50 50,-40 70,-30 h 50 l 70,30 30,20" + id="path1288" /> + <path + d="m 60220,37320 -30,30 -70,20 h -50 l -70,-20 -50,-50 -20,-50 -20,-90 v -70 l 20,-100 20,-50 50,-40 70,-30 h 50 l 70,30 30,20" + id="path1290" /> + <path + d="m 60810,37110 h 380" + id="path1292" /> + <path + d="m 61190,37250 h -380" + id="path1294" /> + <path + d="m 62070,37370 h -280" + id="path1296" /> + <path + d="m 61930,37370 v -500 l -50,70 -50,50 -40,20" + id="path1298" /> + <path + d="m 62290,37320 20,30 -20,20 -30,-20 30,-30 v 50" + id="path1300" /> + <path + d="m 62760,36870 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" + id="path1302" /> + <path + d="m 62930,36870 170,500 160,-500" + id="path1304" /> + <text + x="56500" + y="39900" + textLength="8130" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="end" + opacity="0" + id="text1306">Virtual Ground Buffer</text> + <path + d="m 48440,39370 170,500 160,-500" + id="path1308" /> + <path + d="m 48940,39870 v -330" + id="path1310" /> + <path + d="m 48940,39370 -20,30 20,20 30,-20 -30,-30 v 50" + id="path1312" /> + <path + d="m 49180,39870 v -330" + id="path1314" /> + <path + d="m 49180,39630 20,-40 30,-30 40,-20 h 50" + id="path1316" /> + <path + d="m 49420,39540 h 190" + id="path1318" /> + <path + d="m 49490,39370 v 430 l 20,50 50,20 h 50" + id="path1320" /> + <path + d="m 49990,39540 v 330" + id="path1322" /> + <path + d="m 49770,39540 v 260 l 30,50 50,20 h 70 l 50,-20 20,-30" + id="path1324" /> + <path + d="m 50440,39870 v -260 l -20,-50 -50,-20 h -100 l -40,20" + id="path1326" /> + <path + d="m 50440,39850 -50,20 h -120 l -40,-20 -30,-50 v -50 l 30,-50 40,-20 h 120 l 50,-20" + id="path1328" /> + <path + d="m 50750,39870 -50,-20 -20,-50 v -430" + id="path1330" /> + <path + d="m 51580,39400 -40,-30 h -70 l -80,30 -40,40 -30,50 -20,100 v 70 l 20,90 30,50 40,50 80,20 h 40 l 70,-20 30,-30 v -160 h -100" + id="path1332" /> + <path + d="m 51820,39870 v -330" + id="path1334" /> + <path + d="m 51820,39630 30,-40 20,-30 50,-20 h 50" + id="path1336" /> + <path + d="m 52200,39870 -40,-20 -30,-30 -20,-40 v -150 l 20,-40 30,-30 40,-20 h 70 l 50,20 30,30 20,40 v 150 l -20,40 -30,30 -50,20 h -70" + id="path1338" /> + <path + d="m 52800,39540 v 330" + id="path1340" /> + <path + d="m 52580,39540 v 260 l 30,50 50,20 h 70 l 40,-20 30,-30" + id="path1342" /> + <path + d="m 53040,39540 v 330" + id="path1344" /> + <path + d="m 53040,39590 20,-30 50,-20 h 70 l 50,20 20,50 v 260" + id="path1346" /> + <path + d="m 53700,39870 v -500" + id="path1348" /> + <path + d="m 53700,39850 -40,20 h -100 l -50,-20 -20,-30 -20,-40 v -150 l 20,-40 20,-30 50,-20 h 100 l 40,20" + id="path1350" /> + <path + d="m 54490,39610 70,20 20,30 30,40 v 80 l -30,40 -20,30 -50,20 h -190 v -500 h 170 l 50,30 20,20 20,50 v 40 l -20,50 -20,30 -50,20 h -170" + id="path1352" /> + <path + d="m 55040,39540 v 330" + id="path1354" /> + <path + d="m 54820,39540 v 260 l 30,50 40,20 h 80 l 40,-20 30,-30" + id="path1356" /> + <path + d="m 55200,39540 h 190" + id="path1358" /> + <path + d="m 55270,39870 v -430 l 30,-40 50,-30 h 40" + id="path1360" /> + <path + d="m 55490,39540 h 190" + id="path1362" /> + <path + d="m 55560,39870 v -430 l 20,-40 50,-30 h 50" + id="path1364" /> + <path + d="m 56040,39850 -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" + id="path1366" /> + <path + d="m 56270,39870 v -330" + id="path1368" /> + <path + d="m 56270,39630 30,-40 20,-30 50,-20 h 50" + id="path1370" /> + <text + x="89500" + y="28900" + textLength="4390" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="end" + opacity="0" + id="text1372">Comparator</text> + <path + d="m 85540,28820 -30,30 -70,20 h -50 l -70,-20 -50,-50 -20,-50 -20,-90 v -70 l 20,-100 20,-50 50,-40 70,-30 h 50 l 70,30 30,20" + id="path1374" /> + <path + d="m 85820,28870 -50,-20 -20,-30 -20,-40 v -150 l 20,-40 20,-30 50,-20 h 70 l 50,20 30,30 20,40 v 150 l -20,40 -30,30 -50,20 h -70" + id="path1376" /> + <path + d="m 86200,28870 v -330" + id="path1378" /> + <path + d="m 86200,28590 30,-30 40,-20 h 80 l 40,20 30,50 v 260" + id="path1380" /> + <path + d="m 86420,28610 20,-50 50,-20 h 70 l 50,20 20,50 v 260" + id="path1382" /> + <path + d="m 86870,28540 v 500" + id="path1384" /> + <path + d="m 86870,28560 50,-20 h 90 l 50,20 20,30 30,40 v 150 l -30,40 -20,30 -50,20 h -90 l -50,-20" + id="path1386" /> + <path + d="m 87540,28870 v -260 l -30,-50 -40,-20 h -100 l -50,20" + id="path1388" /> + <path + d="m 87540,28850 -50,20 h -120 l -50,-20 -20,-50 v -50 l 20,-50 50,-20 h 120 l 50,-20" + id="path1390" /> + <path + d="m 87770,28870 v -330" + id="path1392" /> + <path + d="m 87770,28630 30,-40 20,-30 50,-20 h 50" + id="path1394" /> + <path + d="m 88300,28870 v -260 l -30,-50 -40,-20 h -100 l -50,20" + id="path1396" /> + <path + d="m 88300,28850 -50,20 h -120 l -50,-20 -20,-50 v -50 l 20,-50 50,-20 h 120 l 50,-20" + id="path1398" /> + <path + d="m 88470,28540 h 190" + id="path1400" /> + <path + d="m 88540,28370 v 430 l 20,50 50,20 h 50" + id="path1402" /> + <path + d="m 88890,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" + id="path1404" /> + <path + d="m 89270,28870 v -330" + id="path1406" /> + <path + d="m 89270,28630 30,-40 20,-30 50,-20 h 50" + id="path1408" /> + <text + x="75000" + y="23400" + textLength="6300" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="end" + opacity="0" + id="text1410">Amplifier G=100</text> + <path + d="m 68820,23230 h 240" + id="path1412" /> + <path + d="m 68770,23370 170,-500 170,500" + id="path1414" /> + <path + d="m 69270,23370 v -330" + id="path1416" /> + <path + d="m 69270,23090 30,-30 50,-20 h 70 l 50,20 20,50 v 260" + id="path1418" /> + <path + d="m 69490,23110 20,-50 50,-20 h 70 l 50,20 20,50 v 260" + id="path1420" /> + <path + d="m 69940,23040 v 500" + id="path1422" /> + <path + d="m 69940,23060 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" + id="path1424" /> + <path + d="m 70470,23370 -50,-20 -30,-50 v -430" + id="path1426" /> + <path + d="m 70660,23370 v -330" + id="path1428" /> + <path + d="m 70660,22870 -30,30 30,20 20,-20 -20,-30 v 50" + id="path1430" /> + <path + d="m 70820,23040 h 190" + id="path1432" /> + <path + d="m 70890,23370 v -430 l 30,-40 50,-30 h 40" + id="path1434" /> + <path + d="m 71180,23370 v -330" + id="path1436" /> + <path + d="m 71180,22870 -20,30 20,20 20,-20 -20,-30 v 50" + id="path1438" /> + <path + d="m 71610,23350 -50,20 h -90 l -50,-20 -30,-50 v -190 l 30,-50 50,-20 h 90 l 50,20 20,50 v 50 l -240,40" + id="path1440" /> + <path + d="m 71850,23370 v -330" + id="path1442" /> + <path + d="m 71850,23130 20,-40 20,-30 50,-20 h 50" + id="path1444" /> + <path + d="m 72800,22900 -50,-30 h -70 l -70,30 -50,40 -20,50 -30,100 v 70 l 30,90 20,50 50,50 70,20 h 50 l 70,-20 20,-30 v -160 h -90" + id="path1446" /> + <path + d="m 73040,23110 h 380" + id="path1448" /> + <path + d="m 73420,23250 h -380" + id="path1450" /> + <path + d="m 73920,23370 h -290" + id="path1452" /> + <path + d="m 73770,23370 v -500 l -40,70 -50,50 -50,20" + id="path1454" /> + <path + d="m 74230,22870 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" + id="path1456" /> + <path + d="m 74700,22870 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" + id="path1458" /> + <text + x="53000" + y="19400" + textLength="5010" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="end" + opacity="0" + id="text1460">TIA G=100kΩ</text> + <path + d="m 48060,18870 h 290" + id="path1462" /> + <path + d="m 48200,19370 v -500" + id="path1464" /> + <path + d="m 48510,19370 v -500" + id="path1466" /> + <path + d="m 48730,19230 h 240" + id="path1468" /> + <path + d="m 48680,19370 170,-500 160,500" + id="path1470" /> + <path + d="m 49820,18900 -50,-30 h -70 l -70,30 -50,40 -20,50 -20,100 v 70 l 20,90 20,50 50,50 70,20 h 50 l 70,-20 30,-30 v -160 h -100" + id="path1472" /> + <path + d="m 50060,19110 h 380" + id="path1474" /> + <path + d="m 50440,19250 h -380" + id="path1476" /> + <path + d="m 50940,19370 h -280" + id="path1478" /> + <path + d="m 50800,19370 v -500 l -50,70 -50,50 -40,20" + id="path1480" /> + <path + d="m 51250,18870 h 50 l 50,30 20,20 20,50 30,90 v 120 l -30,100 -20,40 -20,30 -50,20 h -50 l -50,-20 -20,-30 -20,-40 -30,-100 v -120 l 30,-90 20,-50 20,-20 50,-30" + id="path1482" /> + <path + d="m 51730,18870 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" + id="path1484" /> + <path + d="m 52110,19370 v -500" + id="path1486" /> + <path + d="m 52160,19180 140,190" + id="path1488" /> + <path + d="m 52300,19040 -190,190" + id="path1490" /> + <path + d="m 52490,19370 h 120 v -90 l -50,-30 -50,-50 -20,-70 v -120 l 20,-70 50,-40 70,-30 h 100 l 70,30 50,40 20,70 v 120 l -20,70 -50,50 -50,30 v 90 h 120" + id="path1492" /> + <text + x="39500" + y="17400" + textLength="4060" + font-size="1330px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text1494">Rotor</text> + <path + d="m 40330,17350 -330,-480" + id="path1496" /> + <path + d="m 39760,17350 v -1000 h 380 l 100,50 50,40 40,100 v 140 l -40,100 -50,40 -100,50 h -380" + id="path1498" /> + <path + d="m 40910,17350 -100,-50 -50,-50 -40,-90 v -290 l 40,-90 50,-50 100,-50 h 140 l 90,50 50,50 50,90 v 290 l -50,90 -50,50 -90,50 h -140" + id="path1500" /> + <path + d="m 41530,16680 h 380" + id="path1502" /> + <path + d="m 41670,16350 v 850 l 50,100 90,50 h 100" + id="path1504" /> + <path + d="m 42380,17350 -90,-50 -50,-50 -50,-90 v -290 l 50,-90 50,-50 90,-50 h 150 l 90,50 50,50 50,90 v 290 l -50,90 -50,50 -90,50 h -150" + id="path1506" /> + <path + d="m 43140,17350 v -670" + id="path1508" /> + <path + d="m 43140,16870 50,-90 50,-50 90,-50 h 100" + id="path1510" /> + <text + x="37500" + y="17400" + textLength="4580" + font-size="1330px" + lengthAdjust="spacingAndGlyphs" + text-anchor="end" + opacity="0" + id="text1512">Stator</text> + <path + d="m 33130,17300 140,50 h 240 l 100,-50 50,-50 40,-90 v -100 l -40,-90 -50,-50 -100,-50 -190,-50 -90,-40 -50,-50 -50,-100 v -90 l 50,-100 50,-40 90,-50 h 240 l 140,50" + id="path1514" /> + <path + d="m 33990,16680 h 380" + id="path1516" /> + <path + d="m 34130,16350 v 850 l 50,100 90,50 h 100" + id="path1518" /> + <path + d="m 35130,17350 v -530 l -50,-90 -90,-50 h -190 l -100,50" + id="path1520" /> + <path + d="m 35130,17300 -90,50 h -240 l -100,-50 -40,-100 v -90 l 40,-100 100,-40 h 240 l 90,-50" + id="path1522" /> + <path + d="m 35470,16680 h 380" + id="path1524" /> + <path + d="m 35610,16350 v 850 l 50,100 90,50 h 100" + id="path1526" /> + <path + d="m 36320,17350 -90,-50 -50,-50 -50,-90 v -290 l 50,-90 50,-50 90,-50 h 150 l 90,50 50,50 50,90 v 290 l -50,90 -50,50 -90,50 h -150" + id="path1528" /> + <path + d="m 37080,17350 v -670" + id="path1530" /> + <path + d="m 37080,16870 50,-90 50,-50 90,-50 h 100" + id="path1532" /> + <text + x="29000" + y="26900" + textLength="2540" + font-size="660px" + lengthAdjust="spacingAndGlyphs" + text-anchor="start" + opacity="0" + id="text1534">IR link</text> + <path + d="m 29140,26870 v -500" + id="path1536" /> + <path + d="m 29670,26870 -170,-240" + id="path1538" /> + <path + d="m 29380,26870 v -500 h 190 l 50,30 20,20 30,50 v 70 l -30,50 -20,20 -50,20 h -190" + id="path1540" /> + <path + d="m 30330,26870 -40,-20 -30,-50 v -430" + id="path1542" /> + <path + d="m 30530,26870 v -330" + id="path1544" /> + <path + d="m 30530,26370 -30,30 30,20 20,-20 -20,-30 v 50" + id="path1546" /> + <path + d="m 30760,26540 v 330" + id="path1548" /> + <path + d="m 30760,26590 30,-30 40,-20 h 80 l 40,20 30,50 v 260" + id="path1550" /> + <path + d="m 31220,26870 v -500" + id="path1552" /> + <path + d="m 31260,26680 150,190" + id="path1554" /> + <path + d="m 31410,26540 -190,190" + id="path1556" /> + </g> + <g + style="fill:#0000c2;fill-opacity:0;stroke:#0000c2;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1560" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:0;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1562" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1566" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="46000" + cy="30500" + r="200" + id="circle1564" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1568" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1572" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="64000" + cy="37500" + r="200" + id="circle1570" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1574" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1578" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="46000" + cy="26500" + r="200" + id="circle1576" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1580" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1584" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="43500" + cy="47500" + r="200" + id="circle1582" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1586" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1590" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="43500" + cy="52500" + r="200" + id="circle1588" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1592" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1596" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="81000" + cy="37500" + r="200" + id="circle1594" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1598" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1602" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="46500" + cy="47500" + r="200" + id="circle1600" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1604" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1608" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="81000" + cy="32500" + r="200" + id="circle1606" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1610" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1614" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="57000" + cy="46500" + r="200" + id="circle1612" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1616" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1620" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="55000" + cy="31500" + r="200" + id="circle1618" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1622" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1626" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="55000" + cy="26500" + r="200" + id="circle1624" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1628" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1632" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="76000" + cy="32500" + r="200" + id="circle1630" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1634" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1638" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="64000" + cy="31500" + r="200" + id="circle1636" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1640" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1644" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="66500" + cy="37500" + r="200" + id="circle1642" /> + </g> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1646" + transform="translate(-24788.898,-14288.898)" /> + <g + style="fill:#008400;fill-opacity:1;stroke:#008400;stroke-width:100;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + id="g1650" + transform="translate(-24788.898,-14288.898)"> + <circle + cx="59500" + cy="37500" + r="200" + id="circle1648" /> + </g> +</svg> diff --git a/doc/quick-tech-report/proto_3d_design.jpg b/doc/quick-tech-report/proto_3d_design.jpg Binary files differnew file mode 100644 index 0000000..f527828 --- /dev/null +++ b/doc/quick-tech-report/proto_3d_design.jpg diff --git a/doc/quick-tech-report/prototype_early_comms_small.jpg b/doc/quick-tech-report/prototype_early_comms_small.jpg Binary files differnew file mode 100644 index 0000000..506da48 --- /dev/null +++ b/doc/quick-tech-report/prototype_early_comms_small.jpg diff --git a/doc/quick-tech-report/rotohsm_tech_report.pdf b/doc/quick-tech-report/rotohsm_tech_report.pdf Binary files differnew file mode 100644 index 0000000..a7d2162 --- /dev/null +++ b/doc/quick-tech-report/rotohsm_tech_report.pdf diff --git a/doc/quick-tech-report/rotohsm_tech_report.tex b/doc/quick-tech-report/rotohsm_tech_report.tex index 76b5d8f..bf51a87 100644 --- a/doc/quick-tech-report/rotohsm_tech_report.tex +++ b/doc/quick-tech-report/rotohsm_tech_report.tex @@ -315,18 +315,6 @@ In our design with a stationary payload where only the security mesh and sensors reports and a high-frequency alarm trigger heartbeat signal have to pass from rotor to stator. For this, a simple optocoupler close to the axis of rotation is a good solution. -% FIXME note prototype implementation here - -\subsection{Hardware prototype} - -% FIXME expand & update below w/ hw proto findings - -We are currently working on a hardware prototype that demonstrates the fundamental components of our concept. The -prototype will be based on a security mesh made with a commercial printed circuit board manufacturing process. In our -prototype we intend to use two commercially available hollow-shaft brushless DC (BLDC) motors originally intended for -quadcopter-mounted camera gimbals, one for driving and one for power transfer. The prototype will have a usable internal -volume sufficient to house a small form factor PC ($\approx\SI{2}{\liter}$). - \section{Attacks} \subsection{Attacks on the mesh} @@ -382,7 +370,134 @@ If the rate of rotation is set to change on a schedule, it is trivially detectab \section{Prototype implementation} %FIXME -FIXME +To validate our theoretical design, we have implemented a prototype rotary HSM. The main engineering challenges we +solved in our prototype are: +\begin{enumerate} + \item Fundamental mechanical design suitable for rapid prototyping that can withstand a rotation of $\SI{500}{rpm}$. + \item Automatic generation of security mesh PCB layouts for quick adaption to new form factors. + \item Non-contact power transmission to rotor. + \item Non-contact bidirectional data communication between stator and rotor. +\end{enumerate} + +\subsection{Mechanical design} + +We sized our prototype to have space for one or two full-size Raspberry Pi boards. Each one of these boards is already +more powerful than an ordinary HSM, but they are small enough to simplify our prototype's design. For low-cost +prototyping we designed our prototype to use printed circuit boards as its main structural material. The interlocking +parts were designed in FreeCAD mechanical CAD as shown in Figure \ref{proto_3d_design}. The mechanical designs were +exported to KiCAD for electrical design before being sent to a commercial PCB manufacturer. Rotor and stator are built +from interlocking, soldered PCBs. The components are mounted to a $\SI{6}{\milli\meter}$ brass tube using FDM 3D printed +flanges. The rotor is driven by a small hobby quadcopter motor. + +Security is provided by a PCB security mesh enveloping the entire system and extending to within a few millimeters of +the shaft. For security it is not necessary to cover the entire circumference of the module with mesh, so we opted to +use only three narrow longitudinal struts to save weight. + +To mount the entire HSM, we chose to use ``2020'' modular aluminium profile. + +\begin{figure} + \center + \includegraphics[height=7cm]{proto_3d_design.jpg} + \caption{The 3D CAD design of the prototype.} + \label{proto_3d_design} +\end{figure} + +\subsection{PCB security mesh generation} + +To allow a quick iteration of our design while producing results with a realistic level of security, we wrote a plugin +for the KiCAD EDA suite that automatically generates parametrized security meshes. When KiCAD is used in conjunction +with FreeCAD through FreeCAD's KiCAD StepUp plugin, this ends up in an efficient toolchain from mechanical CAD design to +security mesh PCB gerber files. The mesh generation plugin can be found at its +website\footnote{\url{https://blog.jaseg.de/posts/kicad-mesh-plugin/}}. + +Our mesh generation plugin overlays a grid on the target area and then produces a randomized tree covering this grid. +The individual mesh traces are then traced along a depth-first search through this tree. A visualization of the steps is +shown in Figure \ref{mesh_gen_viz}. A sample of the production results from our prototype is shown in Figure +\ref{mesh_gen_sample}. + +\begin{figure} + \center + \includegraphics[width=9cm]{mesh_gen_viz.pdf} + \caption{Overview of the automatic security mesh generation process. 1 - the blob is the example target area. 2 - A + grid is overlayed. 3 - Grid cells outside of the target area are removed. 4 - A random tree covering the remaining + cells is generated. 5 - The mesh traces are traced along a depth-first walk of the tree. 6 - Result.} + \label{mesh_gen_viz} +\end{figure} + +\begin{figure} + \center + \includegraphics[width=6cm]{mesh_scan_crop.jpg} + \caption{A section of the security mesh PCB we produced with our toolchain for the prototype HSM.} + \label{mesh_gen_sample} +\end{figure} + +\subsection{Data transmission through rotating joint} + +As a baseline solution for data transmission, we settled on a $\SI{115}{\kilo\baud}$ UART signal sent through a simple +bidirectional infrared link. In the transmitter, the UART TX line on-off modulates a $\SI{920}{\nano\meter}$ IR LED +through a common-emitter driver transistor. In the receiver, an IR PIN photodiode reverse-biased to +$\frac{1}{2}V_\text{CC}$ is connected to a reasonably wideband transimpedance amplifier (TIA) with a +$\SI{100}{\kilo\ohm}$ transimpedance. As shown in Figure \ref{photolink_schematic}, the output of this TIA is fed +through another $G=100$ amplifier whose output is then squared up by a comparator. We used an \textsf{MCP6494} quad +CMOS op-amp. At a specified $\SI{2}{\milli\ampere}$ current consumption it is within our rotor's power budget, and its +Gain Bandwidth Product of $\SI{7.5}{\mega\hertz}$ yields a useful transimpedance in the photodiode-facing TIA stage. + +To reduce the requirements on power transmission to the rotor, we have tried to reduce power consumption of the +rotor-side receiver/transmitter pair trading off stator-side power consumption. One part of this is that we use +a wide-angle photodiode and IR LED on the stator, but use narrow-angle components on the rotor. The two rx/tx pairs are +arranged next to the motor on opposite sides. By placing the narrow-angle rotor rx/tx components on the outside as +shown in Figure \ref{ir_tx_schema}, the motor shields both IR links from crosstalk. The rotor transmitter LED is +driven at $\SI{1}{\milli\ampere}$ while the stator transmitter LED is driven at $\SI{20}{\milli\ampere}$. + +\begin{figure} + \center + \includegraphics{ir_tx_schema.pdf} + \caption{Schema of our bidirectional IR communication link between rotor and stator, view along axis of rotation. 1 + - Rotor base PCB. 2 - Stator IR link PCB. 3 - Motor. 4 - receiver PIN photodiode. 5 - transmitter IR LED.} + \label{ir_tx_schema} +\end{figure} + +\begin{figure} + \center + \includegraphics[width=9cm]{photolink_schematic.pdf} + \caption{Schematic of the IR communication link. Component values are only examples. In particular C2 depends highly + on the photodiode used and stray capacitances due to the component layout.} + \label{photolink_schematic} +\end{figure} + +\subsection{Power transmission through rotating joint} + +Since this prototype serves only demonstration purposes, we chose to use the simplest possible method of power +transmission: Solar cells. We mounted six series-connected solar cells made up from three commercially available modules +on the circular PCB at the end of our cylindrical rotor. The solar cells direclty feed the rotor's logic supply with +buffering by a large $\SI{33}{\micro\farad}$ ceramic capacitor. With six cells in series, they provide around +$\SI{3.0}{\volt}$ at several tens of $\si{\milli\ampere}$ given sufficient illumination. + +For simplicity and weight reduction, at this point we chose to forego large buffer capacitors on the rotor. This means +variations in solar cell illumination directly couple into the microcontroller's supply rail. Initially, we experimented +with regular residential LED light bulbs, but those turned out to have too much flicker and lead to our microcontroller +frequently rebooting. Trials using an incandecent light produced a stable supply, but the large amount of infrared light +emitted by the incandecent light bulb severely disturbed our near-infrared communication link. As a consequence of +this, we settled on a small LED light made for photography applications that provdided us with mostly flicker-free +light, leading to a sufficiently stable microcontroller VCC rail without any disturbance to the IR link. + +\subsection{Evaluation} + +During experiments, our prototype performed as intended. After some experimentation, we got both power and data +transmission through the rotating joint working reliably. Figure \ref{prototype_early_comms} shows our prototype +performing reliably at maximum speed for the first time. Our improvised IR link is open in both directions for about +$\SI{60}{\degree}$ of the rotation, which allows us to reliably transfer several tens of bytes in each direction during +each receiver's fly-by even at high speed of rotation. As a result of our prototype experiments, we consider a +larger-scale implementation of the inertial HSM concept practical. + +\begin{figure} + \center + \includegraphics[width=8cm]{prototype_early_comms_small.jpg} + \caption{The protoype when we first achieved reliable power transfer and bidirectional communication between stator + and rotor. In the picture, the prototype was communicating reliably up to the maximum $\approx\SI{1500}{rpm}$ that + we could get out of its hobby quadcopter parts.} + \label{prototype_early_comms} +\end{figure} \section{Future Work} @@ -416,9 +531,10 @@ or courier services after spin-up. \section{Conclusion} In this paper, we have presented inertial hardware security modules, a novel concept for the construction of highly secure hardware security modules from inexpensive, commonly available parts. We have elaborated the engineering -considerations underlying a practical implementation of this concept. We have analyzed the concept for its security -properties and highlighted its ability to significantly strengthen otherwise weak tamper detection barriers. We have -laid out some ideas for future research on the concept. +considerations underlying a practical implementation of this concept. We have implemented a prototype demonstrating +practical solutions to the significant engineering challenges of this concept. We have analyzed the concept for its +security properties and highlighted its ability to significantly strengthen otherwise weak tamper detection barriers. We +have laid out some ideas for future research on the concept. \printbibliography[heading=bibintoc] \appendix diff --git a/prototype/fw/src/main.c b/prototype/fw/src/main.c index 0998fce..42c1ea7 100644 --- a/prototype/fw/src/main.c +++ b/prototype/fw/src/main.c @@ -73,7 +73,7 @@ int main(void) { int i = 0; while (23) { if (tx_st.remaining_bytes == 0) { - if (i > 1000) { + if (i > 100) { res_buf.req_seq = req_seq; res_buf.res_seq = res_seq; res_seq += 1; @@ -118,7 +118,7 @@ int main(void) { } else { if (rc == sizeof(req_buf)) { crc32_t check_crc = pkt_crc(&req_buf, &req_buf.trailer); - if (check_crc != req_buf.trailer.crc32) { + if (check_crc != req_buf.trailer.crc32 || check_crc == 0 || check_crc == -1) { rx_crc_error += 1; } else { req_seq = req_buf.req_seq; diff --git a/prototype/fw/tools/ser_test.py b/prototype/fw/tools/ser_test.py index 8680f46..ebd95ed 100644 --- a/prototype/fw/tools/ser_test.py +++ b/prototype/fw/tools/ser_test.py @@ -32,15 +32,15 @@ if __name__ == '__main__': while True: data = ser.read() for c in data: - if byte_count == 0: - print(f'\033[38;5;244m{time.time() - start_time: 8.3f} \033[0m', end='') + #if byte_count == 0: + #print(f'\033[38;5;244m{time.time() - start_time: 8.3f} \033[0m', end='') col = '\033[91m' if c == 0 else '\033[0m' # if c == (lastc - 1) % 256 else '\033[92m') - print(f'{col}{c:02x}', end=' ') + #print(f'{col}{c:02x}', end=' ') line += bytes([c]) byte_count += 1 if c == 0: - print(' ' * (16 - byte_count), end='\033[0m\n') + #print(' ' * (16 - byte_count), end='\033[0m\n') byte_count = 16 try: payload = cobs.decode(packet) @@ -51,7 +51,8 @@ if __name__ == '__main__': else: crc_ok = False ref_crc = '' - print(' '.join(f'{col if col else ""}{c if c else 0:02x}' for col, c in itertools.zip_longest(field_colors, + if len(payload) == 12: + print(' '.join(f'{col if col else ""}{c if c else 0:02x}' for col, c in itertools.zip_longest(field_colors, payload)), 'OK' if crc_ok else f'WRONG') except cobs.DecodeError: print('COBS framing error') @@ -61,7 +62,7 @@ if __name__ == '__main__': isprint = lambda c: c in b'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ ' if byte_count == 16: printable = ''.join( chr(c) if isprint(c) else '.' for c in line ) - print(f'\033[93m | {printable}\033[0m') + #print(f'\033[93m | {printable}\033[0m') byte_count = 0 line = b'' lastc = c |