@tscircuit/schematic-trace-solver 0.0.170 → 0.0.172

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/dist/index.js +52 -14
  2. package/lib/solvers/AvailableNetOrientationSolver/AvailableNetOrientationSolver.ts +6 -1
  3. package/lib/solvers/NetLabelToTraceSolver/NetLabelToTraceSolver.ts +68 -14
  4. package/package.json +1 -1
  5. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +10 -10
  6. package/tests/bug-reports/bug-report-20260825T103621Z/__snapshots__/bug-report-20260825T103621Z.snap.svg +10 -10
  7. package/tests/bug-reports/bug-report-20260826T072956Z/__snapshots__/bug-report-20260826T072956Z.snap.svg +10 -10
  8. package/tests/repros/__snapshots__/repro-battery-management-bq24073.snap.svg +191 -0
  9. package/tests/repros/__snapshots__/repro-hdc3020-ground-label-alignment.snap.svg +110 -0
  10. package/tests/repros/__snapshots__/repro-powerbank-3v-system-power.snap.svg +11 -29
  11. package/tests/repros/__snapshots__/repro-tida-01389-hbridge.snap.svg +216 -0
  12. package/tests/repros/__snapshots__/repro-tmp1075-ground-label-overlap.snap.svg +166 -0
  13. package/tests/repros/assets/repro-battery-management-bq24073.input.json +721 -0
  14. package/tests/repros/assets/repro-hdc3020-ground-label-alignment.input.json +282 -0
  15. package/tests/repros/assets/repro-tida-01389-hbridge.input.json +780 -0
  16. package/tests/repros/assets/repro-tmp1075-ground-label-overlap.input.json +305 -0
  17. package/tests/repros/repro-battery-management-bq24073.test.ts +62 -0
  18. package/tests/repros/repro-hdc3020-ground-label-alignment.test.ts +25 -0
  19. package/tests/repros/repro-tida-01389-hbridge.test.ts +23 -0
  20. package/tests/repros/repro-tmp1075-ground-label-overlap.test.ts +18 -0
@@ -0,0 +1,110 @@
1
+ <svg width="1200" height="2016" viewBox="0 0 1200 2016" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on top and Circuit JSON schematic on the bottom">
2
+ <g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
3
+ <rect width="100%" height="100%" fill="white"/><g><polyline data-points="1.5,2.45 1.5,2.6500000000000004 0.7,2.6500000000000004 0.7,2.45" data-type="line" data-label="" points="335.84905660377353,205.0943396226415 335.84905660377353,194.52830188679243 293.58490566037733,194.52830188679243 293.58490566037733,205.0943396226415" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.10000000000000009,0.3250000000000002 0.7,0.3250000000000002 0.7,1.8499999999999996" data-type="line" data-label="" points="251.3207547169811,317.35849056603774 293.58490566037733,317.35849056603774 293.58490566037733,236.79245283018872" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.10000000000000009,-2.075 0.09999999999999992,-2.075 0.09999999999999992,-1.8750000000000002 -0.10000000000000009,-1.8750000000000002" data-type="line" data-label="" points="251.3207547169811,444.15094339622647 261.88679245283015,444.15094339622647 261.88679245283015,433.5849056603774 251.3207547169811,433.5849056603774" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.10000000000000009,-1.4250000000000003 0.09999999999999992,-1.4250000000000003 0.09999999999999992,-1.8750000000000002 -0.10000000000000009,-1.8750000000000002" data-type="line" data-label="" points="251.3207547169811,409.81132075471703 261.88679245283015,409.81132075471703 261.88679245283015,433.5849056603774 251.3207547169811,433.5849056603774" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.5,-0.125 1.5,-0.125 1.5,1.8499999999999996" data-type="line" data-label="" points="388.6792452830189,341.1320754716981 335.84905660377353,341.1320754716981 335.84905660377353,236.79245283018872" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.5,-0.525 2.209,-0.525 2.209,-0.5760000000000001" data-type="line" data-label="" points="388.6792452830189,362.26415094339626 373.30566037735844,362.26415094339626 373.30566037735844,364.95849056603777" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.5,0.525 -0.10000000000000009,0.5250000000000004" data-type="line" data-label="" points="388.6792452830189,306.79245283018867 251.3207547169811,306.79245283018867" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.5,0.325 1.82,0.325" data-type="line" data-label="" points="388.6792452830189,317.35849056603774 352.75471698113205,317.35849056603774" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.10000000000000009,-0.12500000000000022 0.5799999999999998,-0.12500000000000022" data-type="line" data-label="" points="251.3207547169811,341.13207547169816 287.2452830188679,341.13207547169816" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.5,-0.32500000000000007 1.82,-0.32500000000000007" data-type="line" data-label="" points="388.6792452830189,351.6981132075472 352.75471698113205,351.6981132075472" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.10000000000000009,-0.3250000000000002 0.5799999999999998,-0.3250000000000002" data-type="line" data-label="" points="251.3207547169811,351.6981132075472 287.2452830188679,351.6981132075472" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.5,0.525 -0.10000000000000009,0.5250000000000004" data-type="line" data-label="recovered from net labels: schematic_port_0 -&gt; schematic_port_9" points="388.6792452830189,306.79245283018867 251.3207547169811,306.79245283018867" fill="none" stroke="green" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="4.5" data-y="0" x="388.6792452830189" y="213.0188679245283" width="211.32075471698113" height="243.0188679245283" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.1" data-y="0" x="39.999999999999986" y="213.0188679245283" width="211.3207547169811" height="243.0188679245283" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0.735" data-y="2.15" x="269.811320754717" y="205.09433962264154" width="51.245283018867894" height="31.69811320754721" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.5350000000000001" data-y="2.15" x="312.07547169811323" y="205.09433962264154" width="51.24528301886795" height="31.69811320754721" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="MCU" data-x="3.08" data-y="-2.4299999999999997" x="409.81132075471703" y="458.15094339622635" width="19.01886792452825" height="9.509433962264154" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="U2" data-x="3.0199999999999996" data-y="2.415" x="406.64150943396226" y="200.33962264150944" width="19.01886792452825" height="13.207547169811335" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="HDC3020DEFR" data-x="-3.04" data-y="-2.4299999999999997" x="61.13207547169807" y="458.15094339622635" width="69.7358490566038" height="9.509433962264154" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="U1" data-x="-3.58" data-y="2.415" x="57.96226415094337" y="200.33962264150944" width="19.018867924528337" height="13.207547169811335" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="netId: VDD
4
+ globalConnNetId: connectivity_net0" data-x="1.5" data-y="2.8600000000000003" x="323.16981132075466" y="172.33962264150944" width="25.358490566037744" height="22.188679245282998" fill="#ef444466" stroke="#ef4444" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="netId: GND
5
+ globalConnNetId: connectivity_net4" data-x="2.209" data-y="-0.786" x="360.62641509433956" y="364.95849056603777" width="25.358490566037688" height="22.18867924528297" fill="#00000066" stroke="#000000" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="netId: GND
6
+ globalConnNetId: connectivity_net4" data-x="0.09999999999999992" data-y="-2.285" x="249.20754716981128" y="444.15094339622647" width="25.358490566037716" height="22.18867924528297" fill="#00000066" stroke="#000000" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="INLINE netId: SCL
7
+ axis: x
8
+ side: y+" data-x="2.2" data-y="0.435" x="364.37735849056605" y="308.37735849056605" width="16.905660377358515" height="6.339622641509436" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="INLINE netId: SCL
9
+ axis: y
10
+ side: x-" data-x="0.59" data-y="1.0875" x="284.60377358490564" y="268.62264150943395" width="6.339622641509436" height="16.905660377358515" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="INLINE netId: SDA
11
+ axis: y
12
+ side: x-" data-x="1.39" data-y="0.8624999999999998" x="326.86792452830184" y="280.5094339622642" width="6.339622641509436" height="16.905660377358515" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="INLINE netId: SDA
13
+ axis: x
14
+ side: y+" data-x="0.1999999999999999" data-y="-0.015000000000000221" x="258.7169811320754" y="332.1509433962264" width="16.905660377358515" height="6.339622641509436" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="INLINE netId: ALERT
15
+ axis: x
16
+ side: y+" data-x="2.16" data-y="-0.21500000000000008" x="358.0377358490566" y="342.7169811320755" width="25.358490566037744" height="6.339622641509436" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="INLINE netId: ALERT
17
+ axis: x
18
+ side: y+" data-x="0.23999999999999988" data-y="-0.2150000000000002" x="256.60377358490564" y="342.7169811320755" width="25.358490566037744" height="6.339622641509436" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><text data-type="text" data-label="SCL" data-x="2.3600000000000003" data-y="0.435" x="381.2830188679245" y="311.54716981132077" fill="green" font-size="6.339622641509433" font-family="sans-serif" text-anchor="end" dominant-baseline="central">SCL</text><text data-type="text" data-label="SCL" data-x="0.59" data-y="1.0875" x="287.77358490566036" y="277.07547169811323" fill="green" font-size="6.339622641509433" font-family="sans-serif" text-anchor="middle" dominant-baseline="central" transform="rotate(-90, 287.77358490566036, 277.07547169811323)">SCL</text><text data-type="text" data-label="SDA" data-x="1.39" data-y="0.8624999999999998" x="330.03773584905656" y="288.96226415094344" fill="green" font-size="6.339622641509433" font-family="sans-serif" text-anchor="middle" dominant-baseline="central" transform="rotate(-90, 330.03773584905656, 288.96226415094344)">SDA</text><text data-type="text" data-label="SDA" data-x="0.0399999999999999" data-y="-0.015000000000000221" x="258.71698113207543" y="335.3207547169811" fill="green" font-size="6.339622641509433" font-family="sans-serif" text-anchor="start" dominant-baseline="central">SDA</text><text data-type="text" data-label="ALERT" data-x="2.4000000000000004" data-y="-0.21500000000000008" x="383.39622641509436" y="345.8867924528302" fill="green" font-size="6.339622641509433" font-family="sans-serif" text-anchor="end" dominant-baseline="central">ALERT</text><text data-type="text" data-label="ALERT" data-x="-1.1102230246251565e-16" data-y="-0.2150000000000002" x="256.60377358490564" y="345.8867924528302" fill="green" font-size="6.339622641509433" font-family="sans-serif" text-anchor="start" dominant-baseline="central">ALERT</text><g><circle data-type="point" data-label="VDD
19
+ x-" data-x="2.5" data-y="0.525" cx="388.6792452830189" cy="306.79245283018867" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SCL
20
+ x-" data-x="2.5" data-y="0.325" cx="388.6792452830189" cy="317.35849056603774" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SDA
21
+ x-" data-x="2.5" data-y="-0.125" cx="388.6792452830189" cy="341.1320754716981" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="GPIO
22
+ x-" data-x="2.5" data-y="-0.32500000000000007" cx="388.6792452830189" cy="351.6981132075472" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="GND
23
+ x-" data-x="2.5" data-y="-0.525" cx="388.6792452830189" cy="362.26415094339626" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="I2C_SDA
24
+ x+" data-x="-0.10000000000000009" data-y="-0.12500000000000022" cx="251.3207547169811" cy="341.13207547169816" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="I2C_ADDR
25
+ x+" data-x="-0.10000000000000009" data-y="-1.4250000000000003" cx="251.3207547169811" cy="409.81132075471703" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="ALERT
26
+ x+" data-x="-0.10000000000000009" data-y="-0.3250000000000002" cx="251.3207547169811" cy="351.6981132075472" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="I2C_SCL
27
+ x+" data-x="-0.10000000000000009" data-y="0.3250000000000002" cx="251.3207547169811" cy="317.35849056603774" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="VDD
28
+ x+" data-x="-0.10000000000000009" data-y="0.5250000000000004" cx="251.3207547169811" cy="306.79245283018867" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="RESET
29
+ x+" data-x="-0.10000000000000009" data-y="-0.7750000000000001" cx="251.3207547169811" cy="375.4716981132076" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="I2C_ADDR1
30
+ x+" data-x="-0.10000000000000009" data-y="-1.8750000000000002" cx="251.3207547169811" cy="433.5849056603774" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="GND
31
+ x+" data-x="-0.10000000000000009" data-y="-2.075" cx="251.3207547169811" cy="444.15094339622647" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anode
32
+ y+" data-x="0.7" data-y="2.45" cx="293.58490566037733" cy="205.0943396226415" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="cathode
33
+ y-" data-x="0.7" data-y="1.8499999999999996" cx="293.58490566037733" cy="236.79245283018872" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anode
34
+ y+" data-x="1.5" data-y="2.45" cx="335.84905660377353" cy="205.0943396226415" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="cathode
35
+ y-" data-x="1.5" data-y="1.8499999999999996" cx="335.84905660377353" cy="236.79245283018872" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
36
+ orientation: y+" data-x="1.5" data-y="2.6500000000000004" cx="335.84905660377353" cy="194.52830188679243" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
37
+ orientation: y-" data-x="2.209" data-y="-0.5760000000000001" cx="373.30566037735844" cy="364.95849056603777" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
38
+ orientation: y-" data-x="0.09999999999999992" data-y="-2.075" cx="261.88679245283015" cy="444.15094339622647" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="inline anchor
39
+ SCL" data-x="2.16" data-y="0.325" cx="370.7169811320755" cy="317.35849056603774" r="3" fill="green"/></g><g><circle data-type="point" data-label="inline anchor
40
+ SCL" data-x="0.7" data-y="1.0875" cx="293.58490566037733" cy="277.07547169811323" r="3" fill="green"/></g><g><circle data-type="point" data-label="inline anchor
41
+ SDA" data-x="1.5" data-y="0.8624999999999998" cx="335.84905660377353" cy="288.96226415094344" r="3" fill="green"/></g><g><circle data-type="point" data-label="inline anchor
42
+ SDA" data-x="0.23999999999999988" data-y="-0.12500000000000022" cx="269.2830188679245" cy="341.13207547169816" r="3" fill="green"/></g><g><circle data-type="point" data-label="inline anchor
43
+ ALERT" data-x="2.16" data-y="-0.32500000000000007" cx="370.7169811320755" cy="351.6981132075472" r="3" fill="green"/></g><g><circle data-type="point" data-label="inline anchor
44
+ ALERT" data-x="0.23999999999999988" data-y="-0.3250000000000002" cx="269.2830188679245" cy="351.6981132075472" r="3" fill="green"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
45
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
46
+ const svg = e.currentTarget;
47
+ const rect = svg.getBoundingClientRect();
48
+ const x = e.clientX - rect.left;
49
+ const y = e.clientY - rect.top;
50
+ const crosshair = svg.getElementById('crosshair');
51
+ const h = svg.getElementById('crosshair-h');
52
+ const v = svg.getElementById('crosshair-v');
53
+ const coords = svg.getElementById('coordinates');
54
+
55
+ crosshair.style.display = 'block';
56
+ h.setAttribute('x1', '0');
57
+ h.setAttribute('x2', '640');
58
+ h.setAttribute('y1', y);
59
+ h.setAttribute('y2', y);
60
+ v.setAttribute('x1', x);
61
+ v.setAttribute('x2', x);
62
+ v.setAttribute('y1', '0');
63
+ v.setAttribute('y2', '640');
64
+
65
+ // Calculate real coordinates using inverse transformation
66
+ const matrix = {"a":52.83018867924528,"c":0,"e":256.60377358490564,"b":0,"d":-52.83018867924528,"f":334.52830188679246};
67
+ // Manually invert and apply the affine transform
68
+ // Since we only use translate and scale, we can directly compute:
69
+ // x' = (x - tx) / sx
70
+ // y' = (y - ty) / sy
71
+ const sx = matrix.a;
72
+ const sy = matrix.d;
73
+ const tx = matrix.e;
74
+ const ty = matrix.f;
75
+ const realPoint = {
76
+ x: (x - tx) / sx,
77
+ y: (y - ty) / sy // Flip y back since we used negative scale
78
+ }
79
+
80
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
81
+ coords.setAttribute('x', (x + 5).toString());
82
+ coords.setAttribute('y', (y - 5).toString());
83
+ });
84
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
85
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
86
+ });
87
+ ]]></script>
88
+ </g>
89
+ <g transform="translate(0, 1216)">
90
+ <style>
91
+ .boundary { fill: rgb(245, 241, 237); }
92
+ .schematic-boundary { fill: none; stroke: #fff; }
93
+ .component { fill: none; stroke: rgb(132, 0, 0); }
94
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
95
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
96
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
97
+ .pin-number { fill: rgb(169, 0, 0); }
98
+ .port-label { fill: rgb(0, 100, 100); }
99
+ .component-name { fill: rgb(0, 100, 100); }
100
+
101
+ </style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 650.13477088945 164.25516621746493 L 650.13477088945 142.69182389940494 L 563.88140161721 142.69182389940494 L 563.88140161721 164.25516621746493" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 650.13477088945 164.25516621746493 L 650.13477088945 142.69182389940494 L 563.88140161721 142.69182389940494 L 563.88140161721 164.25516621746493" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 477.62803234497 393.36567834685246 L 563.88140161721 393.36567834685246 L 563.88140161721 228.945193171645" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 477.62803234497 393.36567834685246 L 563.88140161721 393.36567834685246 L 563.88140161721 228.945193171645" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><path d="M 477.62803234497 652.1257861635725 L 499.19137466303 652.1257861635725 L 499.19137466303 630.5624438455125 L 477.62803234497 630.5624438455125" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 477.62803234497 652.1257861635725 L 499.19137466303 652.1257861635725 L 499.19137466303 630.5624438455125 L 477.62803234497 630.5624438455125" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 477.62803234497 582.0449236298775 L 499.19137466303 582.0449236298775 L 499.19137466303 630.5624438455125 L 477.62803234497 630.5624438455125" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 477.62803234497 582.0449236298775 L 499.19137466303 582.0449236298775 L 499.19137466303 630.5624438455125 L 477.62803234497 630.5624438455125" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 757.95148247975 441.8831985624875 L 650.13477088945 441.8831985624875 L 650.13477088945 228.945193171645" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 757.95148247975 441.8831985624875 L 650.13477088945 441.8831985624875 L 650.13477088945 228.945193171645" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"><path d="M 757.95148247975 485.0098831986075 L 726.5768194069727 485.0098831986075 L 726.5768194069727 490.5085354897128" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 757.95148247975 485.0098831986075 L 726.5768194069727 485.0098831986075 L 726.5768194069727 490.5085354897128" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_6__stack1"><path d="M 757.95148247975 371.80233602879247 L 477.62803234497 371.80233602879247" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 757.95148247975 371.80233602879247 L 477.62803234497 371.80233602879247" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_7__stack1"><path d="M 757.95148247975 393.36567834685246 L 684.636118598346 393.36567834685246" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 757.95148247975 393.36567834685246 L 684.636118598346 393.36567834685246" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_8__stack1"><path d="M 477.62803234497 441.8831985624875 L 550.943396226374 441.8831985624875" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 477.62803234497 441.8831985624875 L 550.943396226374 441.8831985624875" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_9__stack1"><path d="M 757.95148247975 463.4465408805475 L 684.636118598346 463.4465408805475" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 757.95148247975 463.4465408805475 L 684.636118598346 463.4465408805475" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_10__stack1"><path d="M 477.62803234497 463.4465408805475 L 550.943396226374 463.4465408805475" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.250673854448px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 477.62803234497 463.4465408805475 L 550.943396226374 463.4465408805475" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><circle cx="499.19137466303" cy="630.5624438455125" r="3.234501347709" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/><circle cx="477.62803234497" cy="630.5624438455125" r="3.234501347709" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_6__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_7__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_8__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_9__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_10__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="801.07816711587" y="180.42767295600999" width="345.0134770889599" height="495.95687331538005" stroke-width="2.156334231806px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="801.07816711587" y="180.42767295600999" width="345.0134770889599" height="495.95687331538005" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="801.07816711587" y1="371.80233602879247" x2="757.95148247975" y2="371.80233602879247" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="755.795148247944" y="369.64600179698647" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="779.51482479781" y="369.64600179698647" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="811.8598382749001" y="371.80233602879247" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.172506738545px" transform="">VDD</text><line class="component-pin sch-component-pin sch-port-line" x1="801.07816711587" y1="393.36567834685246" x2="757.95148247975" y2="393.36567834685246" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="755.795148247944" y="391.20934411504646" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="779.51482479781" y="391.20934411504646" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="811.8598382749001" y="393.36567834685246" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.172506738545px" transform="">SCL</text><line class="component-pin sch-component-pin sch-port-line" x1="801.07816711587" y1="441.8831985624875" x2="757.95148247975" y2="441.8831985624875" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><rect x="755.795148247944" y="439.7268643306815" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="779.51482479781" y="439.7268643306815" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="811.8598382749001" y="441.8831985624875" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.172506738545px" transform="">SDA</text><line class="component-pin sch-component-pin sch-port-line" x1="801.07816711587" y1="463.4465408805475" x2="757.95148247975" y2="463.4465408805475" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><rect x="755.795148247944" y="461.2902066487415" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="779.51482479781" y="461.2902066487415" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="811.8598382749001" y="463.4465408805475" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.172506738545px" transform="">GPIO</text><line class="component-pin sch-component-pin sch-port-line" x1="801.07816711587" y1="485.0098831986075" x2="757.95148247975" y2="485.0098831986075" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><rect x="755.795148247944" y="482.8535489668015" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="779.51482479781" y="482.8535489668015" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="811.8598382749001" y="485.0098831986075" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.172506738545px" transform="">GND</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component chip sch-component-body" x="89.48787061988997" y="180.42767295600999" width="345.01347708896003" height="495.95687331538005" stroke-width="2.156334231806px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="89.48787061988997" y="180.42767295600999" width="345.01347708896003" height="495.95687331538005" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="434.50134770885" y1="441.8831985624875" x2="477.62803234497" y2="441.8831985624875" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="475.471698113164" y="439.7268643306815" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="456.06469002691" y="439.7268643306815" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="423.71967654982" y="441.8831985624875" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="">I2C_SDA</text><line class="component-pin sch-component-pin sch-port-line" x1="434.50134770885" y1="582.0449236298775" x2="477.62803234497" y2="582.0449236298775" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="475.471698113164" y="579.8885893980715" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="456.06469002691" y="579.8885893980715" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="423.71967654982" y="582.0449236298775" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="">I2C_ADDR</text><line class="component-pin sch-component-pin sch-port-line" x1="434.50134770885" y1="463.4465408805475" x2="477.62803234497" y2="463.4465408805475" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_1_2__stack1"><rect x="475.471698113164" y="461.2902066487415" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="456.06469002691" y="461.2902066487415" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="423.71967654982" y="463.4465408805475" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="">ALERT</text><line class="component-pin sch-component-pin sch-port-line" x1="434.50134770885" y1="393.36567834685246" x2="477.62803234497" y2="393.36567834685246" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_1_3__stack1"><rect x="475.471698113164" y="391.20934411504646" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="456.06469002691" y="391.20934411504646" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="423.71967654982" y="393.36567834685246" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="">I2C_SCL</text><line class="component-pin sch-component-pin sch-port-line" x1="434.50134770885" y1="371.80233602879247" x2="477.62803234497" y2="371.80233602879247" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_1_4__stack1"><rect x="475.471698113164" y="369.64600179698647" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="456.06469002691" y="369.6460017969864" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="423.71967654982" y="371.80233602879247" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="">VDD</text><line class="component-pin sch-component-pin sch-port-line" x1="434.50134770885" y1="511.9640610961825" x2="475.471698113164" y2="511.9640610961825" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_1_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="477.62803234497" cy="511.9640610961825" r="2.156334231806" stroke-width="2.156334231806px"/><rect x="475.471698113164" y="509.8077268643765" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="456.06469002691" y="509.8077268643765" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="423.71967654982" y="511.9640610961825" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="">RESET</text><line class="component-pin sch-component-pin sch-port-line" x1="434.50134770885" y1="630.5624438455125" x2="477.62803234497" y2="630.5624438455125" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_1_6__stack1"><rect x="475.471698113164" y="628.4061096137065" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="456.06469002691" y="628.4061096137066" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="423.71967654982" y="630.5624438455125" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="">I2C_ADDR1</text><line class="component-pin sch-component-pin sch-port-line" x1="434.50134770885" y1="652.1257861635725" x2="477.62803234497" y2="652.1257861635725" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_1_7__stack1"><rect x="475.471698113164" y="649.9694519317665" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="456.06469002691" y="649.9694519317666" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform=""></text><text class="pin-number sch-pin-label" x="423.71967654982" y="652.1257861635725" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="">GND</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component chip sch-component-body" x="515.363881401575" y="191.20934411504" width="104.58221024259103" height="10.781671159029969" stroke-width="2.156334231806px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="515.363881401575" y="191.20934411504" width="104.58221024259103" height="10.781671159029969" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="563.88140161721" y1="191.20934411504" x2="563.88140161721" y2="164.25516621746493" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="561.725067385404" y="162.09883198565893" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="561.725067385404" y="177.73225516625246" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform="rotate(-90 561.725067385404 177.73225516625246)"></text><text class="pin-number sch-pin-label" x="563.88140161721" y="201.99101527407" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="rotate(-90 563.88140161721 201.99101527407)">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="563.88140161721" y1="201.99101527406998" x2="563.88140161721" y2="228.945193171645" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><rect x="561.725067385404" y="226.788858939839" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="561.725067385404" y="215.4681042228575" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform="rotate(-90 561.725067385404 215.4681042228575)"></text><text class="pin-number sch-pin-label" x="563.88140161721" y="191.20934411503995" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.172506738545px" transform="rotate(-90 563.88140161721 191.20934411503995)">cathode</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3__stack1"><rect class="component chip sch-component-body" x="601.6172506738151" y="191.20934411504" width="104.58221024259092" height="10.781671159029969" stroke-width="2.156334231806px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="601.6172506738151" y="191.20934411504" width="104.58221024259092" height="10.781671159029969" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="650.13477088945" y1="191.20934411504" x2="650.13477088945" y2="164.25516621746493" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_3_0__stack1"><rect x="647.978436657644" y="162.09883198565893" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="647.978436657644" y="177.73225516625246" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform="rotate(-90 647.978436657644 177.73225516625246)"></text><text class="pin-number sch-pin-label" x="650.13477088945" y="201.99101527407" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.172506738545px" transform="rotate(-90 650.13477088945 201.99101527407)">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="650.13477088945" y1="201.99101527406998" x2="650.13477088945" y2="228.945193171645" stroke-width="2.156334231806px"/><g class="sch-port" data-schematic-port-id="source_port_3_1__stack1"><rect x="647.978436657644" y="226.788858939839" width="4.312668463612" height="4.312668463612" opacity="0"/></g><text class="pin-number sch-pin-number" x="647.978436657644" y="215.4681042228575" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.172506738545px" transform="rotate(-90 647.978436657644 215.4681042228575)"></text><text class="pin-number sch-pin-label" x="650.13477088945" y="191.20934411503995" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.172506738545px" transform="rotate(-90 650.13477088945 191.20934411503995)">cathode</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="757.95148247975" cy="371.80233602879247" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="757.95148247975" cy="393.36567834685246" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="757.95148247975" cy="441.8831985624875" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="757.95148247975" cy="463.4465408805475" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="757.95148247975" cy="485.0098831986075" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="477.62803234497" cy="441.8831985624875" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="477.62803234497" cy="582.0449236298775" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_2__stack1"><circle cx="477.62803234497" cy="463.4465408805475" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_3__stack1"><circle cx="477.62803234497" cy="393.36567834685246" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_4__stack1"><circle cx="477.62803234497" cy="371.80233602879247" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_5__stack1"><circle cx="477.62803234497" cy="511.9640610961825" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_6__stack1"><circle cx="477.62803234497" cy="630.5624438455125" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_7__stack1"><circle cx="477.62803234497" cy="652.1257861635725" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="563.88140161721" cy="164.25516621746493" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="563.88140161721" cy="228.945193171645" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="650.13477088945" cy="164.25516621746493" r="4.312668463612" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_1__stack1"><circle cx="650.13477088945" cy="228.945193171645" r="4.312668463612" fill="red" opacity="0"/></g><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="
102
+ M 650.13477088945,142.69182389940494
103
+ L 639.35309973042,136.86972147352873
104
+ L 639.35309973042,99.89577717882852
105
+ L 660.91644204848,99.89577717882852
106
+ L 660.91644204848,136.86972147352873
107
+ Z
108
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.156334231806px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="650.13477088945" y="132.98831985627794" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.407008086254px" transform="rotate(-90 650.13477088945 132.98831985627794)">XX</text><rect class="component-overlay sch-component-overlay sch-net-label-overlay" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="713.6388140161367" y="490.50853548971276" width="25.876010781671994" height="19.407008086253995" fill="transparent"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="M 713.6388140161367 509.91554357596675 L 739.5148247978087 509.91554357596675" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="M 726.5768194069727 509.91554357596675 L 726.5768194069727 490.50853548971276" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round"/><text class="sch-net-label-symbol-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="726.5768194069727" y="515.3063791554817" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="19.407008086254px">XX</text><rect class="component-overlay sch-component-overlay sch-net-label-overlay" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="486.253369272194" y="652.1257861635725" width="25.87601078167205" height="19.40700808625411" fill="transparent"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="M 486.253369272194 671.5327942498266 L 512.129380053866 671.5327942498266" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="M 499.19137466303 671.5327942498266 L 499.19137466303 652.1257861635725" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.156334231806px" stroke-linecap="round"/><text class="sch-net-label-symbol-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="499.19137466303" y="676.9236298293415" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="19.407008086254px">XX</text><text class="sch-text" x="820.4851752021241" y="690.400718778129" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.40700808625397px" transform="rotate(0, 820.4851752021241, 690.400718778129)">MCU</text><text class="sch-text" x="814.016172506706" y="168.02875112312546" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.407008086254px" transform="rotate(0, 814.016172506706, 168.02875112312546)">U2</text><text class="sch-text" x="160.64690026948796" y="690.400718778129" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.40700808625397px" transform="rotate(0, 160.64690026948796, 690.400718778129)">HDC3020DEFR</text><text class="sch-text" x="102.42587601072597" y="168.02875112312546" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.407008086254px" transform="rotate(0, 102.42587601072597, 168.02875112312546)">U1</text><text class="sch-text" x="725.60646900266" y="381.50584007191947" fill="#047857" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="12.938005390836px" transform="rotate(0, 725.60646900266, 381.50584007191947)">XXX</text><text class="sch-text" x="552.021563342277" y="311.15543575924875" fill="#047857" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="12.938005390836px" transform="rotate(-90, 552.021563342277, 311.15543575924875)">XXX</text><text class="sch-text" x="638.274932614517" y="335.41419586706627" fill="#047857" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="12.938005390836px" transform="rotate(-90, 638.274932614517, 335.41419586706627)">XXX</text><text class="sch-text" x="509.97304582206" y="430.0233602875545" fill="#047857" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="12.938005390836px" transform="rotate(0, 509.97304582206, 430.0233602875545)">XXX</text><text class="sch-text" x="721.293800539048" y="451.5867026056145" fill="#047857" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="12.938005390836px" transform="rotate(0, 721.293800539048, 451.5867026056145)">XXXXX</text><text class="sch-text" x="514.2857142856719" y="451.5867026056145" fill="#047857" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="12.938005390836px" transform="rotate(0, 514.2857142856719, 451.5867026056145)">XXXXX</text><rect class="schematic-box sch-box" x="801.07816711587" y="680.697214735002" width="38.81401617250799" height="19.40700808625388" stroke-width="2.156334231806px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.250673854448 8.625336927224"/><rect class="schematic-box sch-box" x="794.609164420452" y="154.55166217433805" width="38.81401617250799" height="26.954177897574937" stroke-width="2.156334231806px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.250673854448 8.625336927224"/><rect class="schematic-box sch-box" x="89.48787061988997" y="680.697214735002" width="142.31805929919597" height="19.40700808625388" stroke-width="2.156334231806px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.250673854448 8.625336927224"/><rect class="schematic-box sch-box" x="83.01886792447198" y="154.55166217433805" width="38.81401617250799" height="26.954177897574937" stroke-width="2.156334231806px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.250673854448 8.625336927224"/>
109
+ </g>
110
+ </svg>