@tscircuit/schematic-trace-solver 0.0.122 → 0.0.123
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.
- package/dist/index.js +51 -3
- package/lib/solvers/SameNetJunctionAlignmentSolver/alignSameNetJunctions.ts +50 -5
- package/lib/solvers/SameNetJunctionAlignmentSolver/pathIntersectsAnyNetLabel.ts +29 -0
- package/package.json +1 -1
- package/site/bug-reports/bug-report-20260804T171919Z.page.tsx +4 -0
- package/site/bug-reports/bug-report-20260804T225912Z.page.tsx +4 -0
- package/tests/bug-reports/bug-report-20260804T171919Z/__snapshots__/bug-report-20260804T171919Z.snap.svg +355 -0
- package/tests/bug-reports/bug-report-20260804T171919Z/bug-report-20260804T171919Z.json +1775 -0
- package/tests/bug-reports/bug-report-20260804T171919Z/bug-report-20260804T171919Z.test.ts +12 -0
- package/tests/bug-reports/bug-report-20260804T225912Z/__snapshots__/bug-report-20260804T225912Z.snap.svg +60 -0
- package/tests/bug-reports/bug-report-20260804T225912Z/bug-report-20260804T225912Z.json +148 -0
- package/tests/bug-reports/bug-report-20260804T225912Z/bug-report-20260804T225912Z.test.ts +12 -0
- package/tests/repros/__snapshots__/repro161-power-section-autolayout.snap.svg +112 -0
- package/tests/repros/assets/repro161-power-section-autolayout.input.json +578 -0
- package/tests/repros/repro161-power-section-autolayout.test.ts +34 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { expect, test } from "bun:test"
|
|
2
|
+
import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
|
|
3
|
+
import inputProblem from "./bug-report-20260804T171919Z.json"
|
|
4
|
+
import "tests/fixtures/matcher"
|
|
5
|
+
|
|
6
|
+
test("bug-report-20260804T171919Z", () => {
|
|
7
|
+
const solver = new SchematicTracePipelineSolver(inputProblem as any)
|
|
8
|
+
|
|
9
|
+
solver.solve()
|
|
10
|
+
|
|
11
|
+
expect(solver).toMatchSolverSnapshot(import.meta.path)
|
|
12
|
+
})
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.2000000000000002,0.30000000000000004 -3.79,0.39" data-type="line" data-label="" points="357.4007220216606,371.0469314079422 95.5956678700361,361.9494584837545" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.2000000000000002,0.30000000000000004 -2.22,0.38000000000000006" data-type="line" data-label="" points="357.4007220216606,371.0469314079422 254.29602888086637,362.96028880866425" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.79,-0.3899999999999999 -2.22,-0.37999999999999995" data-type="line" data-label="" points="95.5956678700361,440.79422382671476 254.29602888086637,439.783393501805" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.22,0.3800000000000002 -2.22,0.5900000000000002 -3.79,0.5900000000000002 -3.79,0.39" data-type="line" data-label="" points="254.29602888086637,362.9602888086642 254.29602888086637,341.7328519855595 95.5956678700361,341.7328519855595 95.5956678700361,361.9494584837545" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2000000000000002,0.3 -1.4125,0.3 -1.4125,1.78 -2.22,1.78 -2.22,0.38000000000000006" data-type="line" data-label="" points="357.4007220216606,371.0469314079422 335.9205776173285,371.0469314079422 335.9205776173285,221.4440433212996 254.29602888086637,221.4440433212996 254.29602888086637,362.96028880866425" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.79,-0.3899999999999999 -3.79,-0.5900000000000001 -2.22,-0.5900000000000001 -2.22,-0.3800000000000001" data-type="line" data-label="" points="95.5956678700361,440.79422382671476 95.5956678700361,461.0108303249097 254.29602888086637,461.0108303249097 254.29602888086637,439.78339350180505" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-3.675" data-y="5.551115123125783e-17" x="40" y="361.9494584837545" width="134.44043321299637" height="78.84476534296027" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.085" data-y="5.551115123125783e-17" x="221.44404332129963" y="362.96028880866425" width="92.99638989169677" height="76.82310469314075" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="357.4007220216606" y="350.8303249097473" width="242.5992779783394" height="101.08303249097469" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.615" x="391.76895306859205" y="326.5703971119133" width="36.38989169675091" height="25.270758122743644" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
2
|
+
globalConnNetId: connectivity_net1" data-x="-3.79" data-y="-0.8" x="71.33574007220213" y="461.01083032490976" width="48.519855595667934" height="42.454873646209364" fill="#00000066" stroke="#000000" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="netId: .U1 > .pin1 to .C2 > .pin1
|
|
3
|
+
globalConnNetId: connectivity_net0" data-x="-2.22" data-y="2.2" x="244.18772563176887" y="136.53429602888082" width="20.216606498195006" height="84.90974729241876" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009892857142857142"/></g><g><circle data-type="point" data-label="schematic_port_0
|
|
4
|
+
y-" data-x="-3.79" data-y="-0.3899999999999999" cx="95.5956678700361" cy="440.79422382671476" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_1
|
|
5
|
+
y+" data-x="-3.79" data-y="0.39" cx="95.5956678700361" cy="361.9494584837545" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_2
|
|
6
|
+
y+" data-x="-2.22" data-y="0.38000000000000006" cx="254.29602888086637" cy="362.96028880866425" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_3
|
|
7
|
+
y-" data-x="-2.22" data-y="-0.37999999999999995" cx="254.29602888086637" cy="439.783393501805" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_4
|
|
8
|
+
x-" data-x="-1.2000000000000002" data-y="0.30000000000000004" cx="357.4007220216606" cy="371.0469314079422" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_5
|
|
9
|
+
x-" data-x="-1.2000000000000002" data-y="0.10000000000000003" cx="357.4007220216606" cy="391.2635379061371" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_6
|
|
10
|
+
x-" data-x="-1.2000000000000002" data-y="-0.09999999999999998" cx="357.4007220216606" cy="411.48014440433207" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_7
|
|
11
|
+
x-" data-x="-1.2000000000000002" data-y="-0.30000000000000004" cx="357.4007220216606" cy="431.696750902527" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_8
|
|
12
|
+
x+" data-x="1.2000000000000002" data-y="-0.30000000000000004" cx="600" cy="431.696750902527" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_9
|
|
13
|
+
x+" data-x="1.2000000000000002" data-y="-0.10000000000000003" cx="600" cy="411.4801444043321" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_10
|
|
14
|
+
x+" data-x="1.2000000000000002" data-y="0.09999999999999998" cx="600" cy="391.2635379061372" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_11
|
|
15
|
+
x+" data-x="1.2000000000000002" data-y="0.30000000000000004" cx="600" cy="371.0469314079422" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
16
|
+
orientation: y-" data-x="-3.79" data-y="-0.5900000000000001" cx="95.5956678700361" cy="461.0108303249097" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
17
|
+
orientation: y+" data-x="-2.22" data-y="1.78" cx="254.29602888086637" cy="221.4440433212996" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></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[
|
|
18
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
19
|
+
const svg = e.currentTarget;
|
|
20
|
+
const rect = svg.getBoundingClientRect();
|
|
21
|
+
const x = e.clientX - rect.left;
|
|
22
|
+
const y = e.clientY - rect.top;
|
|
23
|
+
const crosshair = svg.getElementById('crosshair');
|
|
24
|
+
const h = svg.getElementById('crosshair-h');
|
|
25
|
+
const v = svg.getElementById('crosshair-v');
|
|
26
|
+
const coords = svg.getElementById('coordinates');
|
|
27
|
+
|
|
28
|
+
crosshair.style.display = 'block';
|
|
29
|
+
h.setAttribute('x1', '0');
|
|
30
|
+
h.setAttribute('x2', '640');
|
|
31
|
+
h.setAttribute('y1', y);
|
|
32
|
+
h.setAttribute('y2', y);
|
|
33
|
+
v.setAttribute('x1', x);
|
|
34
|
+
v.setAttribute('x2', x);
|
|
35
|
+
v.setAttribute('y1', '0');
|
|
36
|
+
v.setAttribute('y2', '640');
|
|
37
|
+
|
|
38
|
+
// Calculate real coordinates using inverse transformation
|
|
39
|
+
const matrix = {"a":101.08303249097473,"c":0,"e":478.7003610108303,"b":0,"d":-101.08303249097473,"f":401.3718411552346};
|
|
40
|
+
// Manually invert and apply the affine transform
|
|
41
|
+
// Since we only use translate and scale, we can directly compute:
|
|
42
|
+
// x' = (x - tx) / sx
|
|
43
|
+
// y' = (y - ty) / sy
|
|
44
|
+
const sx = matrix.a;
|
|
45
|
+
const sy = matrix.d;
|
|
46
|
+
const tx = matrix.e;
|
|
47
|
+
const ty = matrix.f;
|
|
48
|
+
const realPoint = {
|
|
49
|
+
x: (x - tx) / sx,
|
|
50
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
54
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
55
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
56
|
+
});
|
|
57
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
58
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
59
|
+
});
|
|
60
|
+
]]></script></svg>
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chips": [
|
|
3
|
+
{
|
|
4
|
+
"chipId": "schematic_component_0",
|
|
5
|
+
"center": {
|
|
6
|
+
"x": -3.675,
|
|
7
|
+
"y": 5.551115123125783e-17
|
|
8
|
+
},
|
|
9
|
+
"width": 1.3299999999999996,
|
|
10
|
+
"height": 0.7799999999999999,
|
|
11
|
+
"pins": [
|
|
12
|
+
{
|
|
13
|
+
"pinId": "schematic_port_0",
|
|
14
|
+
"x": -3.79,
|
|
15
|
+
"y": -0.3899999999999999,
|
|
16
|
+
"_facingDirection": "y-"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"pinId": "schematic_port_1",
|
|
20
|
+
"x": -3.79,
|
|
21
|
+
"y": 0.39,
|
|
22
|
+
"_facingDirection": "y+"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"chipId": "schematic_component_1",
|
|
28
|
+
"center": {
|
|
29
|
+
"x": -2.085,
|
|
30
|
+
"y": 5.551115123125783e-17
|
|
31
|
+
},
|
|
32
|
+
"width": 0.9200000000000004,
|
|
33
|
+
"height": 0.76,
|
|
34
|
+
"pins": [
|
|
35
|
+
{
|
|
36
|
+
"pinId": "schematic_port_2",
|
|
37
|
+
"x": -2.22,
|
|
38
|
+
"y": 0.38000000000000006,
|
|
39
|
+
"_facingDirection": "y+"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"pinId": "schematic_port_3",
|
|
43
|
+
"x": -2.22,
|
|
44
|
+
"y": -0.37999999999999995,
|
|
45
|
+
"_facingDirection": "y-"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"chipId": "schematic_component_2",
|
|
51
|
+
"center": {
|
|
52
|
+
"x": 0,
|
|
53
|
+
"y": 0
|
|
54
|
+
},
|
|
55
|
+
"width": 2.4000000000000004,
|
|
56
|
+
"height": 1,
|
|
57
|
+
"pins": [
|
|
58
|
+
{
|
|
59
|
+
"pinId": "schematic_port_4",
|
|
60
|
+
"x": -1.2000000000000002,
|
|
61
|
+
"y": 0.30000000000000004
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"pinId": "schematic_port_5",
|
|
65
|
+
"x": -1.2000000000000002,
|
|
66
|
+
"y": 0.10000000000000003
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"pinId": "schematic_port_6",
|
|
70
|
+
"x": -1.2000000000000002,
|
|
71
|
+
"y": -0.09999999999999998
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"pinId": "schematic_port_7",
|
|
75
|
+
"x": -1.2000000000000002,
|
|
76
|
+
"y": -0.30000000000000004
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"pinId": "schematic_port_8",
|
|
80
|
+
"x": 1.2000000000000002,
|
|
81
|
+
"y": -0.30000000000000004
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"pinId": "schematic_port_9",
|
|
85
|
+
"x": 1.2000000000000002,
|
|
86
|
+
"y": -0.10000000000000003
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"pinId": "schematic_port_10",
|
|
90
|
+
"x": 1.2000000000000002,
|
|
91
|
+
"y": 0.09999999999999998
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"pinId": "schematic_port_11",
|
|
95
|
+
"x": 1.2000000000000002,
|
|
96
|
+
"y": 0.30000000000000004
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"directConnections": [
|
|
102
|
+
{
|
|
103
|
+
"netId": ".U1 > .pin1 to .C1 > .pin1",
|
|
104
|
+
"netLabelWidth": 0.84,
|
|
105
|
+
"pinIds": [
|
|
106
|
+
"schematic_port_4",
|
|
107
|
+
"schematic_port_1"
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"netId": ".U1 > .pin1 to .C2 > .pin1",
|
|
112
|
+
"pinIds": [
|
|
113
|
+
"schematic_port_4",
|
|
114
|
+
"schematic_port_2"
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"netConnections": [
|
|
119
|
+
{
|
|
120
|
+
"netId": "GND",
|
|
121
|
+
"netLabelWidth": 0.42,
|
|
122
|
+
"netLabelHeight": 0.48,
|
|
123
|
+
"pinIds": [
|
|
124
|
+
"schematic_port_0",
|
|
125
|
+
"schematic_port_3"
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
"textBoxes": [
|
|
130
|
+
{
|
|
131
|
+
"chipId": "schematic_component_2",
|
|
132
|
+
"center": {
|
|
133
|
+
"x": -0.68,
|
|
134
|
+
"y": 0.615
|
|
135
|
+
},
|
|
136
|
+
"width": 0.3600000000000001,
|
|
137
|
+
"height": 0.25,
|
|
138
|
+
"text": "U1"
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"availableNetLabelOrientations": {
|
|
142
|
+
"GND": [
|
|
143
|
+
"y-"
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
"maxMspPairDistance": 2.4,
|
|
147
|
+
"_hideRatsNet": false
|
|
148
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { expect, test } from "bun:test"
|
|
2
|
+
import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
|
|
3
|
+
import inputProblem from "./bug-report-20260804T225912Z.json"
|
|
4
|
+
import "tests/fixtures/matcher"
|
|
5
|
+
|
|
6
|
+
test("bug-report-20260804T225912Z", () => {
|
|
7
|
+
const solver = new SchematicTracePipelineSolver(inputProblem as any)
|
|
8
|
+
|
|
9
|
+
solver.solve()
|
|
10
|
+
|
|
11
|
+
expect(solver).toMatchSolverSnapshot(import.meta.path)
|
|
12
|
+
})
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="3.65,-3.3050000000000015 4.72,-3.4250000000000007" data-type="line" data-label="" points="277.90193063386295,375.58858704937643 329.0893558858705,381.3292328720314" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="9.62,-4.105000000000002 9.62,-4.780000000000001" data-type="line" data-label="" points="563.4990603109517,413.8595592004101 563.4990603109517,446.15069195284474" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.25,1.4000000000000001 1.25,1.2" data-type="line" data-label="" points="163.08901418076195,150.5074320861096 163.08901418076195,160.075175123868" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.4000000000000001 5.545,-0.8650000000000013" data-type="line" data-label="" points="163.08901418076195,150.5074320861096 368.556295916624,258.86212198872374" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.4000000000000001 2.46,-0.7500000000000013" data-type="line" data-label="" points="163.08901418076195,150.5074320861096 220.97385955920038,253.36066974201265" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.4000000000000001 2.795,1.7099999999999986" data-type="line" data-label="" points="163.08901418076195,150.5074320861096 236.99982914744572,135.67743037758413" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.2 5.545,-0.8650000000000013" data-type="line" data-label="" points="163.08901418076195,160.075175123868 368.556295916624,258.86212198872374" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.2 2.46,-0.7500000000000013" data-type="line" data-label="" points="163.08901418076195,160.075175123868 220.97385955920038,253.36066974201265" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.2 2.795,1.7099999999999986" data-type="line" data-label="" points="163.08901418076195,160.075175123868 236.99982914744572,135.67743037758413" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5.545,-0.8650000000000013 2.46,-0.7500000000000013" data-type="line" data-label="" points="368.556295916624,258.86212198872374 220.97385955920038,253.36066974201265" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5.545,-0.8650000000000013 2.795,1.7099999999999986" data-type="line" data-label="" points="368.556295916624,258.86212198872374 236.99982914744572,135.67743037758413" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.46,-0.7500000000000013 2.795,1.7099999999999986" data-type="line" data-label="" points="220.97385955920038,253.36066974201265 236.99982914744572,135.67743037758413" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,0.2999999999999998 1.25,0.09999999999999987" data-type="line" data-label="" points="163.08901418076195,203.1300187937809 163.08901418076195,212.6977618315393" fill="none" stroke="hsl(28, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-0.10000000000000009 1.25,-0.30000000000000004" data-type="line" data-label="" points="163.08901418076195,222.26550486929773 163.08901418076195,231.83324790705615" fill="none" stroke="hsl(25, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 1.25,-1.4000000000000001" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 163.08901418076195,284.45583461472745" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 -0.37500000000000006,-2" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 85.3511019989748,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 -0.17500000000000004,-2" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 94.91884503673322,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 0.024999999999999967,-2" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 104.48658807449164,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 0.22500000000000003,-2" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 2.795,1.1099999999999985" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 1.65,-3.2050000000000014" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 4.92,0.5999999999999988" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 4.72,-4.185000000000002" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 9.62,-5.910000000000002" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 -0.37500000000000006,-2" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 85.3511019989748,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 -0.17500000000000004,-2" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 94.91884503673322,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 0.024999999999999967,-2" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 104.48658807449164,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 0.22500000000000003,-2" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 2.795,1.1099999999999985" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 1.65,-3.2050000000000014" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 4.92,0.5999999999999988" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 4.72,-4.185000000000002" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 9.62,-5.910000000000002" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 -0.17500000000000004,-2" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 94.91884503673322,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 0.024999999999999967,-2" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 104.48658807449164,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 0.22500000000000003,-2" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 2.795,1.1099999999999985" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 1.65,-3.2050000000000014" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 4.92,0.5999999999999988" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 4.72,-4.185000000000002" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 9.62,-5.910000000000002" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 0.024999999999999967,-2" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 104.48658807449164,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 0.22500000000000003,-2" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 2.795,1.1099999999999985" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 1.65,-3.2050000000000014" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 4.92,0.5999999999999988" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 4.72,-4.185000000000002" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 9.62,-5.910000000000002" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 0.22500000000000003,-2" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 2.795,1.1099999999999985" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 1.65,-3.2050000000000014" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 4.92,0.5999999999999988" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 4.72,-4.185000000000002" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 9.62,-5.910000000000002" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 2.795,1.1099999999999985" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 1.65,-3.2050000000000014" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 4.92,0.5999999999999988" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 4.72,-4.185000000000002" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 9.62,-5.910000000000002" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 1.65,-3.2050000000000014" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 4.92,0.5999999999999988" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 4.72,-4.185000000000002" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 9.62,-5.910000000000002" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 4.92,0.5999999999999988" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 4.72,-4.185000000000002" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 9.62,-5.910000000000002" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 4.72,-4.185000000000002" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 9.62,-5.910000000000002" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.72,-4.185000000000002 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.72,-4.185000000000002 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.72,-4.185000000000002 9.62,-5.910000000000002" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.72,-4.185000000000002 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-4.195000000000001 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="404.196138732274,418.16504356740137 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-4.195000000000001 9.62,-5.910000000000002" data-type="line" data-label="" points="404.196138732274,418.16504356740137 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-4.195000000000001 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="404.196138732274,418.16504356740137 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="7.659999999999999,-4.185000000000002 9.62,-5.910000000000002" data-type="line" data-label="" points="469.73517854091915,417.68665641551354 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="7.659999999999999,-4.185000000000002 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="469.73517854091915,417.68665641551354 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.62,-5.910000000000002 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="563.4990603109517,500.2084401161798 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.504999999999999,-0.8650000000000013 3.19,-1.2000000000000015" data-type="line" data-label="" points="318.8040321202801,258.86212198872374 255.8961216470186,274.8880915769691" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.504999999999999,-0.8650000000000013 1.65,-3.0050000000000012" data-type="line" data-label="" points="318.8040321202801,258.86212198872374 182.22450025627876,361.2369724927388" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.504999999999999,-0.8650000000000013 4.92,1.3599999999999988" data-type="line" data-label="" points="318.8040321202801,258.86212198872374 338.6570989236289,152.42098069366133" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.504999999999999,-0.8650000000000013 4.675,3.089999999999998" data-type="line" data-label="" points="318.8040321202801,258.86212198872374 326.93661370237487,69.66000341705106" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.19,-1.2000000000000015 1.65,-3.0050000000000012" data-type="line" data-label="" points="255.8961216470186,274.8880915769691 182.22450025627876,361.2369724927388" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.19,-1.2000000000000015 4.92,1.3599999999999988" data-type="line" data-label="" points="255.8961216470186,274.8880915769691 338.6570989236289,152.42098069366133" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.19,-1.2000000000000015 4.675,3.089999999999998" data-type="line" data-label="" points="255.8961216470186,274.8880915769691 326.93661370237487,69.66000341705106" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.0050000000000012 4.92,1.3599999999999988" data-type="line" data-label="" points="182.22450025627876,361.2369724927388 338.6570989236289,152.42098069366133" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.0050000000000012 4.675,3.089999999999998" data-type="line" data-label="" points="182.22450025627876,361.2369724927388 326.93661370237487,69.66000341705106" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,1.3599999999999988 4.675,3.089999999999998" data-type="line" data-label="" points="338.6570989236289,152.42098069366133 326.93661370237487,69.66000341705106" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.4050000000000016 0.1950000000000003,-6.814999999999999" data-type="line" data-label="" points="182.22450025627876,380.37245856825564 112.61916965658631,543.5024773620365" fill="none" stroke="hsl(345, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.65,-3.1050000000000013 6.289999999999999,-3.415000000000002" data-type="line" data-label="" points="277.90193063386295,366.020844011618 404.196138732274,380.8508457201436" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.65,-3.1050000000000013 7.659999999999999,-3.4250000000000007" data-type="line" data-label="" points="277.90193063386295,366.020844011618 469.73517854091915,381.3292328720314" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.65,-3.1050000000000013 9.62,-3.505000000000001" data-type="line" data-label="" points="277.90193063386295,366.020844011618 563.4990603109517,385.15633008713485" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-3.415000000000002 7.659999999999999,-3.4250000000000007" data-type="line" data-label="" points="404.196138732274,380.8508457201436 469.73517854091915,381.3292328720314" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-3.415000000000002 9.62,-3.505000000000001" data-type="line" data-label="" points="404.196138732274,380.8508457201436 563.4990603109517,385.15633008713485" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="7.659999999999999,-3.4250000000000007 9.62,-3.505000000000001" data-type="line" data-label="" points="469.73517854091915,381.3292328720314 563.4990603109517,385.15633008713485" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.65,-3.3050000000000015 4.72,-3.3050000000000015 4.72,-3.4250000000000007" data-type="line" data-label="" points="277.90193063386295,375.58858704937643 329.0893558858705,375.58858704937643 329.0893558858705,381.3292328720314" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.62,-4.105000000000002 9.62,-4.780000000000001" data-type="line" data-label="" points="563.4990603109517,413.8595592004101 563.4990603109517,446.15069195284474" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.25,1.2 1.45,1.2 1.45,1.4000000000000001 1.25,1.4000000000000001" data-type="line" data-label="" points="163.08901418076195,160.075175123868 172.65675721852034,160.075175123868 172.65675721852034,150.5074320861096 163.08901418076195,150.5074320861096" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.795,1.7099999999999986 2.795,1.9099999999999986 1.45,1.9099999999999986 1.45,1.4000000000000001 1.25,1.4000000000000001" data-type="line" data-label="" points="236.99982914744572,135.67743037758413 236.99982914744572,126.1096873398257 172.65675721852034,126.1096873398257 172.65675721852034,150.5074320861096 163.08901418076195,150.5074320861096" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.46,-0.7500000000000013 2.1599999999999997,-0.7500000000000013 2.1599999999999997,1.9099999999999986 2.795,1.9099999999999986 2.795,1.7099999999999986" data-type="line" data-label="" points="220.97385955920038,253.36066974201265 206.62224500256272,253.36066974201265 206.62224500256272,126.1096873398257 236.99982914744572,126.1096873398257 236.99982914744572,135.67743037758413" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="5.545,-0.8650000000000013 5.745,-0.8650000000000013 5.745,-1.3350000000000013 2.1599999999999997,-1.3350000000000013 2.1599999999999997,-0.7500000000000013 2.46,-0.7500000000000013" data-type="line" data-label="" points="368.556295916624,258.86212198872374 378.1240389543824,258.86212198872374 378.1240389543824,281.346318127456 206.62224500256272,281.346318127456 206.62224500256272,253.36066974201265 220.97385955920038,253.36066974201265" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.25,0.2999999999999998 1.45,0.2999999999999998 1.45,0.09999999999999987 1.25,0.09999999999999987" data-type="line" data-label="" points="163.08901418076195,203.1300187937809 172.65675721852034,203.1300187937809 172.65675721852034,212.6977618315393 163.08901418076195,212.6977618315393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.25,-0.10000000000000009 1.45,-0.10000000000000009 1.45,-0.30000000000000004 1.25,-0.30000000000000004" data-type="line" data-label="" points="163.08901418076195,222.26550486929773 172.65675721852034,222.26550486929773 172.65675721852034,231.83324790705615 163.08901418076195,231.83324790705615" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.25,-1.4000000000000001 1.45,-1.4000000000000001 1.45,-1.2000000000000002 1.25,-1.2000000000000002" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 172.65675721852034,284.45583461472745 172.65675721852034,274.88809157696903 163.08901418076195,274.88809157696903" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.22500000000000003,-2 0.22500000000000003,-2.2 1.35,-2.2 1.35,-1.4000000000000004 1.25,-1.4000000000000004" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 114.05433111225005,322.7268067657611 167.87288569964116,322.7268067657611 167.87288569964116,284.45583461472745 163.08901418076195,284.45583461472745" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.024999999999999967,-2 0.024999999999999967,-2.2 0.22500000000000014,-2.2 0.22500000000000014,-2" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 104.48658807449164,322.7268067657611 114.05433111225005,322.7268067657611 114.05433111225005,313.1590637280027" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.17500000000000004,-2 -0.17500000000000004,-2.2 0.025000000000000133,-2.2 0.025000000000000133,-2" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 94.91884503673322,322.7268067657611 104.48658807449164,322.7268067657611 104.48658807449164,313.1590637280027" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.37500000000000006,-2 -0.37500000000000006,-2.2 -0.17499999999999988,-2.2 -0.17499999999999988,-2" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 85.3511019989748,322.7268067657611 94.91884503673322,322.7268067657611 94.91884503673322,313.1590637280027" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.65,-3.2050000000000014 1.45,-3.2050000000000014 1.45,-1.4000000000000001 1.25,-1.4000000000000001" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 172.65675721852034,370.8047155304972 172.65675721852034,284.45583461472745 163.08901418076195,284.45583461472745" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.795,1.1099999999999985 2.795,0.5049999999999986 2.36,0.5049999999999986 2.36,-1.2000000000000002 1.25,-1.2000000000000002" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 236.99982914744572,193.3230821800786 216.18998804032117,193.3230821800786 216.18998804032117,274.88809157696903 163.08901418076195,274.88809157696903" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.72,-4.185000000000002 4.72,-4.3850000000000025 1.45,-4.3850000000000025 1.45,-3.2050000000000014 1.65,-3.2050000000000014" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 329.0893558858705,427.25439945327196 172.65675721852034,427.25439945327196 172.65675721852034,370.8047155304972 182.22450025627876,370.8047155304972" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.289999999999999,-4.195000000000001 6.289999999999999,-4.395000000000001 4.72,-4.395000000000001 4.72,-4.185000000000002" data-type="line" data-label="" points="404.196138732274,418.16504356740137 404.196138732274,427.73278660515984 329.0893558858705,427.73278660515984 329.0893558858705,417.68665641551354" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="7.659999999999999,-4.185000000000002 7.659999999999999,-4.395000000000001 6.289999999999999,-4.395000000000001 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="469.73517854091915,417.68665641551354 469.73517854091915,427.73278660515984 404.196138732274,427.73278660515984 404.196138732274,418.16504356740137" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.62,-5.910000000000001 9.62,-6.11 7.659999999999999,-6.11 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="563.4990603109517,500.2084401161798 563.4990603109517,509.7761831539382 469.73517854091915,509.7761831539382 469.73517854091915,417.68665641551354" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.19,-1.2000000000000015 3.19,-1.4000000000000017 4.304999999999999,-1.4000000000000017 4.304999999999999,-0.8650000000000011 4.504999999999999,-0.8650000000000011" data-type="line" data-label="" points="255.8961216470186,274.8880915769691 255.8961216470186,284.4558346147275 309.2362890825217,284.4558346147275 309.2362890825217,258.86212198872374 318.8040321202801,258.86212198872374" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.92,1.3599999999999988 4.92,1.5599999999999987 4.304999999999999,1.5599999999999987 4.304999999999999,-0.8650000000000013 4.504999999999999,-0.8650000000000013" data-type="line" data-label="" points="338.6570989236289,152.42098069366133 338.6570989236289,142.85323765590294 309.2362890825217,142.85323765590294 309.2362890825217,258.86212198872374 318.8040321202801,258.86212198872374" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.65,-3.0050000000000012 1.55,-3.0050000000000012 1.55,-1.4000000000000017 3.19,-1.4000000000000017 3.19,-1.2000000000000015" data-type="line" data-label="" points="182.22450025627876,361.2369724927388 177.44062873739955,361.2369724927388 177.44062873739955,284.4558346147275 255.8961216470186,284.4558346147275 255.8961216470186,274.8880915769691" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6499999999999995,-3.4050000000000016 0.1950000000000003,-3.4050000000000016 0.1950000000000003,-6.814999999999999" data-type="line" data-label="" points="182.22450025627876,380.37245856825564 112.61916965658631,380.37245856825564 112.61916965658631,543.5024773620365" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.289999999999999,-3.415000000000002 6.289999999999999,-3.1050000000000013 3.65,-3.1050000000000013" data-type="line" data-label="" points="404.196138732274,380.8508457201436 404.196138732274,366.020844011618 277.90193063386295,366.020844011618" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="7.659999999999999,-3.4250000000000007 7.659999999999999,-3.1050000000000013 6.289999999999999,-3.1050000000000013 6.289999999999999,-3.415000000000002" data-type="line" data-label="" points="469.73517854091915,381.3292328720314 469.73517854091915,366.020844011618 404.196138732274,366.020844011618 404.196138732274,380.8508457201436" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.62,-3.505000000000001 9.62,-3.1050000000000013 7.659999999999999,-3.1050000000000013 7.659999999999999,-3.4250000000000007" data-type="line" data-label="" points="563.4990603109517,385.15633008713485 563.4990603109517,366.020844011618 469.73517854091915,366.020844011618 469.73517854091915,381.3292328720314" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.675,3.089999999999998 4.675,3.2899999999999983 4.304999999999999,3.2899999999999983 4.304999999999999,1.5599999999999987" data-type="line" data-label="" points="326.93661370237487,69.66000341705106 326.93661370237487,60.09226037929264 309.2362890825217,60.09226037929264 309.2362890825217,142.85323765590294" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.92,0.5999999999999988 4.92,0.3999999999999986 3.38,0.3999999999999986 3.38,0.5049999999999986 2.795,0.5049999999999986 2.795,1.1099999999999985" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 338.6570989236289,198.34614727490174 264.9854775328891,198.34614727490174 264.9854775328891,193.3230821800786 236.99982914744572,193.3230821800786 236.99982914744572,164.3806594908594" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.1799999999999997,-0.10000000000000131 3.1799999999999997,0.0509999999999987 3.129,0.0509999999999987" data-type="line" data-label="" points="255.41773449513065,222.26550486929779 255.41773449513065,215.04185887579018 252.97796002050228,215.04185887579018" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="43.492226208781716" y="121.80420297283433" width="119.59678797198023" height="191.35486075516837" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="5.0249999999999995" data-y="-0.7950000000000014" x="318.8040321202801" y="239.24824876131902" width="49.75226379634387" height="32.53032632837861" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="2.88" data-y="-0.6500000000000015" x="220.97385955920038" y="222.26550486929779" width="40.184520758585336" height="52.6225867076713" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="3.0125" data-y="1.4099999999999986" x="221.45224671108826" y="135.67743037758413" width="51.90500597983947" height="28.703229113275256" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="2.65" data-y="-3.2050000000000014" x="182.22450025627876" y="351.6692294549804" width="95.67743037758419" height="38.270972151033675" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="5.055" data-y="0.9799999999999988" x="323.10951648727143" y="152.42098069366136" width="44.01161797368877" height="36.357423543481985" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="4.914999999999999" data-y="-3.8050000000000015" x="313.541773449513" y="381.3292328720314" width="49.752263796343755" height="36.35742354348213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="6.464999999999999" data-y="-3.8050000000000015" x="377.8848453784384" y="380.8508457201436" width="69.36613702374848" height="37.31419784725779" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="7.794999999999999" data-y="-3.8050000000000015" x="454.1875961045618" y="381.3292328720314" width="44.01161797368866" height="36.35742354348213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="9.8025" data-y="-5.3450000000000015" x="547.9514778745943" y="446.15069195284474" width="48.55629591662398" height="54.05774816333508" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_10" data-x="9.7775" data-y="-3.8050000000000015" x="547.9514778745943" y="385.15633008713485" width="46.16436015718432" height="28.703229113275256" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_11" data-x="0.19500000000000028" data-y="-7.1949999999999985" x="100.65949085938828" y="543.5024773620364" width="23.919357594396047" height="36.357423543482014" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_12" data-x="4.8925" data-y="2.7899999999999983" x="311.38903126601735" y="69.66000341705106" width="51.90500597983953" height="28.703229113275242" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="J1" data-x="1.07" data-y="1.7149999999999999" x="145.8670767127968" y="129.4583974030411" width="17.221937467965148" height="11.959678797198023" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="MIC5219_3_3YM5_TR" data-x="3.07" data-y="-3.735000000000001" x="201.35998633179557" y="391.8537502135657" width="97.5909789851359" height="8.610968733982588" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="U3" data-x="2.17" data-y="-2.6900000000000013" x="198.48966342046805" y="340.1879378096703" width="17.221937467965148" height="11.959678797197967" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: V5
|
|
2
|
+
globalConnNetId: connectivity_net2" data-x="2.795" data-y="2.1199999999999988" x="228.38886041346314" y="106.01742696053302" width="17.221937467965148" height="20.092260379292682" fill="#ef444466" stroke="#ef4444" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: DP
|
|
3
|
+
globalConnNetId: connectivity_net3" data-x="1.63" data-y="0.2999999999999998" x="172.65675721852034" y="198.34614727490168" width="17.221937467965176" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: DM
|
|
4
|
+
globalConnNetId: connectivity_net4" data-x="1.63" data-y="-0.10000000000000009" x="172.65675721852034" y="217.48163335041852" width="17.221937467965176" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
5
|
+
globalConnNetId: connectivity_net5" data-x="9.62" data-y="-6.32" x="552.0177686656416" y="509.7761831539381" width="22.96258329062016" height="20.092260379292725" fill="#00000066" stroke="#000000" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
6
|
+
globalConnNetId: connectivity_net5" data-x="0.19500000000000026" data-y="-7.785999999999999" x="101.1378780112762" y="579.9077396207073" width="22.962583290620202" height="20.09226037929261" fill="#00000066" stroke="#000000" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
7
|
+
globalConnNetId: connectivity_net6" data-x="4.675" data-y="3.4999999999999982" x="312.58499914573724" y="39.99999999999997" width="28.7032291132752" height="20.092260379292668" fill="#ef444466" stroke="#ef4444" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: BATT
|
|
8
|
+
globalConnNetId: connectivity_net7" data-x="2.829" data-y="0.0509999999999987" x="224.27473090722702" y="210.25798735691097" width="28.703229113275256" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: LDO_EN
|
|
9
|
+
globalConnNetId: connectivity_net8" data-x="-0.22499999999999967" data-y="-3.4050000000000016" x="72.43464889800094" y="375.58858704937643" width="40.184520758585364" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: .U3 > .BYP to .C2 > .pin1
|
|
10
|
+
globalConnNetId: connectivity_net0" data-x="4.944999999999999" data-y="-3.3050000000000015" x="329.0893558858705" y="370.8047155304972" width="21.527421834956385" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
11
|
+
globalConnNetId: connectivity_net9" data-x="6.289999999999999" data-y="-2.8950000000000014" x="389.84452417563637" y="345.9285836323254" width="28.703229113275256" height="20.092260379292668" fill="#ef444466" stroke="#ef4444" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: .R1 > .pin1 to .LED1 > .cathode
|
|
12
|
+
globalConnNetId: connectivity_net1" data-x="9.844999999999999" data-y="-4.442500000000002" x="563.4990603109517" y="425.2212540577483" width="21.527421834956385" height="9.567743037758362" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: LDO_H
|
|
13
|
+
globalConnNetId: connectivity_net10" data-x="4.675" data-y="2.1289999999999987" x="322.15274218349566" y="98.4110712455151" width="9.567743037758362" height="34.44387493593028" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><circle data-type="point" data-label="schematic_port_0
|
|
14
|
+
x+" data-x="1.25" data-y="1.4000000000000001" cx="163.08901418076195" cy="150.5074320861096" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_1
|
|
15
|
+
x+" data-x="1.25" data-y="1.2" cx="163.08901418076195" cy="160.075175123868" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_2
|
|
16
|
+
x+" data-x="1.25" data-y="0.8499999999999999" cx="163.08901418076195" cy="176.81872543994524" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_3
|
|
17
|
+
x+" data-x="1.25" data-y="0.6499999999999997" cx="163.08901418076195" cy="186.3864684777037" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_4
|
|
18
|
+
x+" data-x="1.25" data-y="0.2999999999999998" cx="163.08901418076195" cy="203.1300187937809" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_5
|
|
19
|
+
x+" data-x="1.25" data-y="0.09999999999999987" cx="163.08901418076195" cy="212.6977618315393" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_6
|
|
20
|
+
x+" data-x="1.25" data-y="-0.10000000000000009" cx="163.08901418076195" cy="222.26550486929773" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_7
|
|
21
|
+
x+" data-x="1.25" data-y="-0.30000000000000004" cx="163.08901418076195" cy="231.83324790705615" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_8
|
|
22
|
+
x+" data-x="1.25" data-y="-0.6500000000000001" cx="163.08901418076195" cy="248.57679822313338" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_9
|
|
23
|
+
x+" data-x="1.25" data-y="-0.8500000000000001" cx="163.08901418076195" cy="258.1445412608918" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_10
|
|
24
|
+
x+" data-x="1.25" data-y="-1.2000000000000002" cx="163.08901418076195" cy="274.88809157696903" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_11
|
|
25
|
+
x+" data-x="1.25" data-y="-1.4000000000000001" cx="163.08901418076195" cy="284.45583461472745" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_12
|
|
26
|
+
y-" data-x="-0.37500000000000006" data-y="-2" cx="85.3511019989748" cy="313.1590637280027" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_13
|
|
27
|
+
y-" data-x="-0.17500000000000004" data-y="-2" cx="94.91884503673322" cy="313.1590637280027" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_14
|
|
28
|
+
y-" data-x="0.024999999999999967" data-y="-2" cx="104.48658807449164" cy="313.1590637280027" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_15
|
|
29
|
+
y-" data-x="0.22500000000000003" data-y="-2" cx="114.05433111225005" cy="313.1590637280027" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_16
|
|
30
|
+
x-" data-x="4.504999999999999" data-y="-0.8650000000000013" cx="318.8040321202801" cy="258.86212198872374" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_17
|
|
31
|
+
x+" data-x="5.545" data-y="-0.8650000000000013" cx="368.556295916624" cy="258.86212198872374" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_18
|
|
32
|
+
y+" data-x="3.1799999999999997" data-y="-0.10000000000000131" cx="255.41773449513065" cy="222.26550486929779" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_19
|
|
33
|
+
y-" data-x="3.19" data-y="-1.2000000000000015" cx="255.8961216470186" cy="274.8880915769691" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_20
|
|
34
|
+
x-" data-x="2.46" data-y="-0.7500000000000013" cx="220.97385955920038" cy="253.36066974201265" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_21
|
|
35
|
+
y+" data-x="2.795" data-y="1.7099999999999986" cx="236.99982914744572" cy="135.67743037758413" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_22
|
|
36
|
+
y-" data-x="2.795" data-y="1.1099999999999985" cx="236.99982914744572" cy="164.3806594908594" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_23
|
|
37
|
+
x-" data-x="1.65" data-y="-3.0050000000000012" cx="182.22450025627876" cy="361.2369724927388" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_24
|
|
38
|
+
x-" data-x="1.65" data-y="-3.2050000000000014" cx="182.22450025627876" cy="370.8047155304972" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_25
|
|
39
|
+
x-" data-x="1.65" data-y="-3.4050000000000016" cx="182.22450025627876" cy="380.37245856825564" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_26
|
|
40
|
+
x+" data-x="3.65" data-y="-3.3050000000000015" cx="277.90193063386295" cy="375.58858704937643" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_27
|
|
41
|
+
x+" data-x="3.65" data-y="-3.1050000000000013" cx="277.90193063386295" cy="366.020844011618" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_28
|
|
42
|
+
y+" data-x="4.92" data-y="1.3599999999999988" cx="338.6570989236289" cy="152.42098069366133" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_29
|
|
43
|
+
y-" data-x="4.92" data-y="0.5999999999999988" cx="338.6570989236289" cy="188.77840423714332" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_30
|
|
44
|
+
y+" data-x="4.72" data-y="-3.4250000000000007" cx="329.0893558858705" cy="381.3292328720314" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_31
|
|
45
|
+
y-" data-x="4.72" data-y="-4.185000000000002" cx="329.0893558858705" cy="417.68665641551354" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_32
|
|
46
|
+
y-" data-x="6.289999999999999" data-y="-4.195000000000001" cx="404.196138732274" cy="418.16504356740137" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_33
|
|
47
|
+
y+" data-x="6.289999999999999" data-y="-3.415000000000002" cx="404.196138732274" cy="380.8508457201436" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_34
|
|
48
|
+
y+" data-x="7.659999999999999" data-y="-3.4250000000000007" cx="469.73517854091915" cy="381.3292328720314" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_35
|
|
49
|
+
y-" data-x="7.659999999999999" data-y="-4.185000000000002" cx="469.73517854091915" cy="417.68665641551354" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_36
|
|
50
|
+
y-" data-x="9.62" data-y="-5.910000000000002" cx="563.4990603109517" cy="500.2084401161798" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_37
|
|
51
|
+
y+" data-x="9.62" data-y="-4.780000000000001" cx="563.4990603109517" cy="446.15069195284474" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_38
|
|
52
|
+
y-" data-x="9.62" data-y="-4.105000000000002" cx="563.4990603109517" cy="413.8595592004101" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_39
|
|
53
|
+
y+" data-x="9.62" data-y="-3.505000000000001" cx="563.4990603109517" cy="385.15633008713485" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_40
|
|
54
|
+
y-" data-x="0.19500000000000026" data-y="-7.574999999999998" cx="112.61916965658631" cy="579.8599009055185" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_41
|
|
55
|
+
y+" data-x="0.1950000000000003" data-y="-6.814999999999999" cx="112.61916965658631" cy="543.5024773620365" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_42
|
|
56
|
+
y+" data-x="4.675" data-y="3.089999999999998" cx="326.93661370237487" cy="69.66000341705106" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_43
|
|
57
|
+
y-" data-x="4.675" data-y="2.4899999999999984" cx="326.93661370237487" cy="98.3632325303263" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
58
|
+
orientation: y+" data-x="2.795" data-y="1.9099999999999986" cx="236.99982914744572" cy="126.1096873398257" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
59
|
+
orientation: x+" data-x="1.45" data-y="0.2999999999999998" cx="172.65675721852034" cy="203.1300187937809" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
60
|
+
orientation: x+" data-x="1.45" data-y="-0.10000000000000009" cx="172.65675721852034" cy="222.26550486929773" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
61
|
+
orientation: y-" data-x="9.62" data-y="-6.11" cx="563.4990603109517" cy="509.7761831539382" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
62
|
+
orientation: y-" data-x="0.19500000000000026" data-y="-7.574999999999998" cx="112.61916965658631" cy="579.8599009055185" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
63
|
+
orientation: y+" data-x="4.675" data-y="3.2899999999999983" cx="326.93661370237487" cy="60.09226037929264" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
64
|
+
orientation: x-" data-x="3.129" data-y="0.0509999999999987" cx="252.97796002050228" cy="215.04185887579018" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
65
|
+
orientation: x-" data-x="0.1950000000000003" data-y="-3.4050000000000016" cx="112.61916965658631" cy="380.37245856825564" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
66
|
+
orientation: x+" data-x="4.72" data-y="-3.3050000000000015" cx="329.0893558858705" cy="375.58858704937643" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
67
|
+
orientation: y+" data-x="6.289999999999999" data-y="-3.1050000000000013" cx="404.196138732274" cy="366.020844011618" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
68
|
+
orientation: x+" data-x="9.62" data-y="-4.442500000000002" cx="563.4990603109517" cy="430.00512557662745" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
69
|
+
orientation: y-" data-x="4.675" data-y="2.4899999999999984" cx="326.93661370237487" cy="98.3632325303263" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></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[
|
|
70
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
71
|
+
const svg = e.currentTarget;
|
|
72
|
+
const rect = svg.getBoundingClientRect();
|
|
73
|
+
const x = e.clientX - rect.left;
|
|
74
|
+
const y = e.clientY - rect.top;
|
|
75
|
+
const crosshair = svg.getElementById('crosshair');
|
|
76
|
+
const h = svg.getElementById('crosshair-h');
|
|
77
|
+
const v = svg.getElementById('crosshair-v');
|
|
78
|
+
const coords = svg.getElementById('coordinates');
|
|
79
|
+
|
|
80
|
+
crosshair.style.display = 'block';
|
|
81
|
+
h.setAttribute('x1', '0');
|
|
82
|
+
h.setAttribute('x2', '640');
|
|
83
|
+
h.setAttribute('y1', y);
|
|
84
|
+
h.setAttribute('y2', y);
|
|
85
|
+
v.setAttribute('x1', x);
|
|
86
|
+
v.setAttribute('x2', x);
|
|
87
|
+
v.setAttribute('y1', '0');
|
|
88
|
+
v.setAttribute('y2', '640');
|
|
89
|
+
|
|
90
|
+
// Calculate real coordinates using inverse transformation
|
|
91
|
+
const matrix = {"a":47.83871518879209,"c":0,"e":103.29062019477183,"b":0,"d":-47.83871518879209,"f":217.48163335041852};
|
|
92
|
+
// Manually invert and apply the affine transform
|
|
93
|
+
// Since we only use translate and scale, we can directly compute:
|
|
94
|
+
// x' = (x - tx) / sx
|
|
95
|
+
// y' = (y - ty) / sy
|
|
96
|
+
const sx = matrix.a;
|
|
97
|
+
const sy = matrix.d;
|
|
98
|
+
const tx = matrix.e;
|
|
99
|
+
const ty = matrix.f;
|
|
100
|
+
const realPoint = {
|
|
101
|
+
x: (x - tx) / sx,
|
|
102
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
106
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
107
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
108
|
+
});
|
|
109
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
110
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
111
|
+
});
|
|
112
|
+
]]></script></svg>
|