@tscircuit/schematic-trace-solver 0.0.41 → 0.0.43

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 (58) hide show
  1. package/dist/index.d.ts +118 -8
  2. package/dist/index.js +1067 -748
  3. package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +48 -16
  4. package/lib/solvers/TraceCleanupSolver/TraceCleanupSolver.ts +133 -0
  5. package/lib/solvers/TraceCleanupSolver/balanceZShapes.ts +200 -0
  6. package/lib/solvers/{TraceLabelOverlapAvoidanceSolver → TraceCleanupSolver}/hasCollisions.ts +1 -1
  7. package/lib/solvers/{TraceLabelOverlapAvoidanceSolver → TraceCleanupSolver}/hasCollisionsWithLabels.ts +1 -1
  8. package/lib/solvers/TraceCleanupSolver/minimizeTurnsWithFilteredLabels.ts +76 -0
  9. package/lib/solvers/{TraceLabelOverlapAvoidanceSolver → TraceCleanupSolver}/simplifyPath.ts +1 -1
  10. package/lib/solvers/{TraceLabelOverlapAvoidanceSolver → TraceCleanupSolver}/turnMinimization.ts +0 -2
  11. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/TraceLabelOverlapAvoidanceSolver.ts +74 -192
  12. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/rerouteCollidingTrace.ts +13 -24
  13. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/LabelMergingSolver/LabelMergingSolver.ts +205 -0
  14. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/OverlapAvoidanceStepSolver/OverlapAvoidanceStepSolver.ts +144 -0
  15. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/SingleOverlapSolver/SingleOverlapSolver.ts +117 -0
  16. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/tryFourPointDetour.ts +104 -0
  17. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/trySnipAndReconnect.ts +24 -154
  18. package/package.json +1 -1
  19. package/site/examples/example26.page.tsx +4 -0
  20. package/tests/assets/1.input.json +379 -0
  21. package/tests/assets/2.input.json +330 -0
  22. package/tests/assets/3.input.json +388 -0
  23. package/tests/assets/MergedNetLabelObstacles.test.input.json +154 -0
  24. package/tests/assets/OverlapAvoidanceStepSolver.test.input.json +682 -0
  25. package/tests/assets/SingleOverlapSolver.test.input.json +170 -0
  26. package/tests/assets/TraceCleanupSolver.test.input.json +216 -0
  27. package/tests/assets/TraceLabelOverlapAvoidanceSolver.test.input.json +424 -0
  28. package/tests/assets/example26.json +1206 -0
  29. package/tests/examples/__snapshots__/example02.snap.svg +1 -1
  30. package/tests/examples/__snapshots__/example09.snap.svg +34 -34
  31. package/tests/examples/__snapshots__/example11.snap.svg +13 -13
  32. package/tests/examples/__snapshots__/example12.snap.svg +3 -3
  33. package/tests/examples/__snapshots__/example13.snap.svg +12 -12
  34. package/tests/examples/__snapshots__/example16.snap.svg +4 -4
  35. package/tests/examples/__snapshots__/example19.snap.svg +9 -9
  36. package/tests/examples/__snapshots__/example28.snap.svg +3 -3
  37. package/tests/examples/__snapshots__/example29.snap.svg +1208 -0
  38. package/tests/examples/example29.test.ts +13 -0
  39. package/tests/solvers/TraceCleanupSolver/TraceCleanupSolver.test.ts +19 -0
  40. package/tests/solvers/TraceCleanupSolver/__snapshots__/TraceCleanupSolver.snap.svg +119 -0
  41. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/TraceLabelOverlapAvoidanceSolver.test.ts +18 -0
  42. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/__snapshots__/TraceLabelOverlapAvoidanceSolver.snap.svg +243 -0
  43. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView01.snap.svg +223 -0
  44. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView02.snap.svg +205 -0
  45. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView03.snap.svg +184 -0
  46. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/renderComparisonView01.test.ts +29 -0
  47. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/renderComparisonView02.test.ts +27 -0
  48. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/renderComparisonView03.test.ts +39 -0
  49. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/MergedNetLabelObstacles.test.ts +14 -0
  50. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/OverlapAvoidanceStepSolver.test.ts +20 -0
  51. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/SingleOverlapSolver.test.ts +10 -0
  52. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/MergedNetLabelObstacles.snap.svg +140 -0
  53. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/OverlapAvoidanceStepSolver.snap.svg +216 -0
  54. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/SingleOverlapSolver.snap.svg +125 -0
  55. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/balanceLShapes.ts +0 -207
  56. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/minimizeTurnsWithFilteredLabels.ts +0 -66
  57. /package/lib/solvers/{TraceLabelOverlapAvoidanceSolver → TraceCleanupSolver}/countTurns.ts +0 -0
  58. /package/lib/solvers/{TraceLabelOverlapAvoidanceSolver → TraceCleanupSolver}/tryConnectPoints.ts +0 -0
@@ -0,0 +1,1208 @@
1
+ <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="100%" height="100%" fill="white" />
3
+ <g>
4
+ <circle data-type="point" data-label="R2.1
5
+ x-" data-x="-5.550000000000001" data-y="0" cx="249.31655223710416" cy="95.47308558607014" r="3" fill="hsl(107, 100%, 50%, 0.8)" />
6
+ </g>
7
+ <g>
8
+ <circle data-type="point" data-label="R2.2
9
+ x+" data-x="-4.449999999999999" data-y="0" cx="269.00055034829035" cy="95.47308558607014" r="3" fill="hsl(108, 100%, 50%, 0.8)" />
10
+ </g>
11
+ <g>
12
+ <circle data-type="point" data-label="C4.1
13
+ y+" data-x="-3" data-y="-0.44999999999999996" cx="294.9476387675812" cy="103.52563026791903" r="3" fill="hsl(124, 100%, 50%, 0.8)" />
14
+ </g>
15
+ <g>
16
+ <circle data-type="point" data-label="C4.2
17
+ y-" data-x="-3" data-y="-1.55" cx="294.9476387675812" cy="123.2096283791052" r="3" fill="hsl(125, 100%, 50%, 0.8)" />
18
+ </g>
19
+ <g>
20
+ <circle data-type="point" data-label="R3.1
21
+ x-" data-x="-5.550000000000001" data-y="-1.9999999999999998" cx="249.31655223710416" cy="131.26217306095407" r="3" fill="hsl(348, 100%, 50%, 0.8)" />
22
+ </g>
23
+ <g>
24
+ <circle data-type="point" data-label="R3.2
25
+ x+" data-x="-4.449999999999999" data-y="-1.9999999999999998" cx="269.00055034829035" cy="131.26217306095407" r="3" fill="hsl(349, 100%, 50%, 0.8)" />
26
+ </g>
27
+ <g>
28
+ <circle data-type="point" data-label="C5.1
29
+ y+" data-x="-4" data-y="-2.45" cx="277.0530950301392" cy="139.314717742803" r="3" fill="hsl(5, 100%, 50%, 0.8)" />
30
+ </g>
31
+ <g>
32
+ <circle data-type="point" data-label="C5.2
33
+ y-" data-x="-4" data-y="-3.55" cx="277.0530950301392" cy="158.99871585398915" r="3" fill="hsl(6, 100%, 50%, 0.8)" />
34
+ </g>
35
+ <g>
36
+ <circle data-type="point" data-label="R4.1
37
+ x-" data-x="-5.550000000000001" data-y="-4" cx="249.31655223710416" cy="167.05126053583803" r="3" fill="hsl(229, 100%, 50%, 0.8)" />
38
+ </g>
39
+ <g>
40
+ <circle data-type="point" data-label="R4.2
41
+ x+" data-x="-4.449999999999999" data-y="-4" cx="269.00055034829035" cy="167.05126053583803" r="3" fill="hsl(230, 100%, 50%, 0.8)" />
42
+ </g>
43
+ <g>
44
+ <circle data-type="point" data-label="C6.1
45
+ y+" data-x="-3" data-y="-4.449999999999999" cx="294.9476387675812" cy="175.1038052176869" r="3" fill="hsl(246, 100%, 50%, 0.8)" />
46
+ </g>
47
+ <g>
48
+ <circle data-type="point" data-label="C6.2
49
+ y-" data-x="-3" data-y="-5.550000000000001" cx="294.9476387675812" cy="194.7878033288731" r="3" fill="hsl(247, 100%, 50%, 0.8)" />
50
+ </g>
51
+ <g>
52
+ <circle data-type="point" data-label="R7.1
53
+ x-" data-x="-5.550000000000001" data-y="-6" cx="249.31655223710416" cy="202.84034801072198" r="3" fill="hsl(232, 100%, 50%, 0.8)" />
54
+ </g>
55
+ <g>
56
+ <circle data-type="point" data-label="R7.2
57
+ x+" data-x="-4.449999999999999" data-y="-6" cx="269.00055034829035" cy="202.84034801072198" r="3" fill="hsl(233, 100%, 50%, 0.8)" />
58
+ </g>
59
+ <g>
60
+ <circle data-type="point" data-label="C7.1
61
+ y+" data-x="-4" data-y="-6.449999999999999" cx="277.0530950301392" cy="210.89289269257085" r="3" fill="hsl(127, 100%, 50%, 0.8)" />
62
+ </g>
63
+ <g>
64
+ <circle data-type="point" data-label="C7.2
65
+ y-" data-x="-4" data-y="-7.550000000000001" cx="277.0530950301392" cy="230.57689080375707" r="3" fill="hsl(128, 100%, 50%, 0.8)" />
66
+ </g>
67
+ <g>
68
+ <circle data-type="point" data-label="R8.1
69
+ x-" data-x="-5.550000000000001" data-y="-8" cx="249.31655223710416" cy="238.62943548560594" r="3" fill="hsl(113, 100%, 50%, 0.8)" />
70
+ </g>
71
+ <g>
72
+ <circle data-type="point" data-label="R8.2
73
+ x+" data-x="-4.449999999999999" data-y="-8" cx="269.00055034829035" cy="238.62943548560594" r="3" fill="hsl(114, 100%, 50%, 0.8)" />
74
+ </g>
75
+ <g>
76
+ <circle data-type="point" data-label="C8.1
77
+ y+" data-x="-3" data-y="-8.45" cx="294.9476387675812" cy="246.6819801674548" r="3" fill="hsl(8, 100%, 50%, 0.8)" />
78
+ </g>
79
+ <g>
80
+ <circle data-type="point" data-label="C8.2
81
+ y-" data-x="-3" data-y="-9.55" cx="294.9476387675812" cy="266.365978278641" r="3" fill="hsl(9, 100%, 50%, 0.8)" />
82
+ </g>
83
+ <g>
84
+ <circle data-type="point" data-label="R11.1
85
+ x-" data-x="-5.550000000000001" data-y="-10" cx="249.31655223710416" cy="274.4185229604899" r="3" fill="hsl(125, 100%, 50%, 0.8)" />
86
+ </g>
87
+ <g>
88
+ <circle data-type="point" data-label="R11.2
89
+ x+" data-x="-4.449999999999999" data-y="-10" cx="269.00055034829035" cy="274.4185229604899" r="3" fill="hsl(126, 100%, 50%, 0.8)" />
90
+ </g>
91
+ <g>
92
+ <circle data-type="point" data-label="C9.1
93
+ y+" data-x="-4" data-y="-10.45" cx="277.0530950301392" cy="282.47106764233877" r="3" fill="hsl(249, 100%, 50%, 0.8)" />
94
+ </g>
95
+ <g>
96
+ <circle data-type="point" data-label="C9.2
97
+ y-" data-x="-4" data-y="-11.55" cx="277.0530950301392" cy="302.1550657535249" r="3" fill="hsl(250, 100%, 50%, 0.8)" />
98
+ </g>
99
+ <g>
100
+ <circle data-type="point" data-label="R12.1
101
+ x-" data-x="-5.550000000000001" data-y="-12" cx="249.31655223710416" cy="310.2076104353738" r="3" fill="hsl(6, 100%, 50%, 0.8)" />
102
+ </g>
103
+ <g>
104
+ <circle data-type="point" data-label="R12.2
105
+ x+" data-x="-4.449999999999999" data-y="-12" cx="269.00055034829035" cy="310.2076104353738" r="3" fill="hsl(7, 100%, 50%, 0.8)" />
106
+ </g>
107
+ <g>
108
+ <circle data-type="point" data-label="C10.1
109
+ y+" data-x="-3" data-y="-12.45" cx="294.9476387675812" cy="318.2601551172227" r="3" fill="hsl(229, 100%, 50%, 0.8)" />
110
+ </g>
111
+ <g>
112
+ <circle data-type="point" data-label="C10.2
113
+ y-" data-x="-3" data-y="-13.55" cx="294.9476387675812" cy="337.94415322840894" r="3" fill="hsl(230, 100%, 50%, 0.8)" />
114
+ </g>
115
+ <g>
116
+ <circle data-type="point" data-label="R13.1
117
+ x-" data-x="-5.550000000000001" data-y="-14" cx="249.31655223710416" cy="345.9966979102578" r="3" fill="hsl(247, 100%, 50%, 0.8)" />
118
+ </g>
119
+ <g>
120
+ <circle data-type="point" data-label="R13.2
121
+ x+" data-x="-4.449999999999999" data-y="-14" cx="269.00055034829035" cy="345.9966979102578" r="3" fill="hsl(248, 100%, 50%, 0.8)" />
122
+ </g>
123
+ <g>
124
+ <circle data-type="point" data-label="C11.1
125
+ y+" data-x="-4" data-y="-14.45" cx="277.0530950301392" cy="354.0492425921067" r="3" fill="hsl(110, 100%, 50%, 0.8)" />
126
+ </g>
127
+ <g>
128
+ <circle data-type="point" data-label="C11.2
129
+ y-" data-x="-4" data-y="-15.55" cx="277.0530950301392" cy="373.73324070329284" r="3" fill="hsl(111, 100%, 50%, 0.8)" />
130
+ </g>
131
+ <g>
132
+ <circle data-type="point" data-label="R14.1
133
+ x-" data-x="-5.550000000000001" data-y="-16" cx="249.31655223710416" cy="381.7857853851417" r="3" fill="hsl(128, 100%, 50%, 0.8)" />
134
+ </g>
135
+ <g>
136
+ <circle data-type="point" data-label="R14.2
137
+ x+" data-x="-4.449999999999999" data-y="-16" cx="269.00055034829035" cy="381.7857853851417" r="3" fill="hsl(129, 100%, 50%, 0.8)" />
138
+ </g>
139
+ <g>
140
+ <circle data-type="point" data-label="C14.1
141
+ y+" data-x="-3" data-y="-16.45" cx="294.9476387675812" cy="389.8383300669906" r="3" fill="hsl(113, 100%, 50%, 0.8)" />
142
+ </g>
143
+ <g>
144
+ <circle data-type="point" data-label="C14.2
145
+ y-" data-x="-3" data-y="-17.55" cx="294.9476387675812" cy="409.52232817817685" r="3" fill="hsl(114, 100%, 50%, 0.8)" />
146
+ </g>
147
+ <g>
148
+ <circle data-type="point" data-label="R16.1
149
+ x-" data-x="-5.550000000000001" data-y="-18" cx="249.31655223710416" cy="417.5748728600257" r="3" fill="hsl(250, 100%, 50%, 0.8)" />
150
+ </g>
151
+ <g>
152
+ <circle data-type="point" data-label="R16.2
153
+ x+" data-x="-4.449999999999999" data-y="-18" cx="269.00055034829035" cy="417.5748728600257" r="3" fill="hsl(251, 100%, 50%, 0.8)" />
154
+ </g>
155
+ <g>
156
+ <circle data-type="point" data-label="C16.1
157
+ y+" data-x="-4" data-y="-18.45" cx="277.0530950301392" cy="425.6274175418746" r="3" fill="hsl(235, 100%, 50%, 0.8)" />
158
+ </g>
159
+ <g>
160
+ <circle data-type="point" data-label="C16.2
161
+ y-" data-x="-4" data-y="-19.55" cx="277.0530950301392" cy="445.31141565306075" r="3" fill="hsl(236, 100%, 50%, 0.8)" />
162
+ </g>
163
+ <g>
164
+ <circle data-type="point" data-label="R17.1
165
+ x-" data-x="-5.550000000000001" data-y="-20" cx="249.31655223710416" cy="453.3639603349096" r="3" fill="hsl(131, 100%, 50%, 0.8)" />
166
+ </g>
167
+ <g>
168
+ <circle data-type="point" data-label="R17.2
169
+ x+" data-x="-4.449999999999999" data-y="-20" cx="269.00055034829035" cy="453.3639603349096" r="3" fill="hsl(132, 100%, 50%, 0.8)" />
170
+ </g>
171
+ <g>
172
+ <circle data-type="point" data-label="C17.1
173
+ y+" data-x="-3" data-y="-20.45" cx="294.9476387675812" cy="461.4165050167585" r="3" fill="hsl(116, 100%, 50%, 0.8)" />
174
+ </g>
175
+ <g>
176
+ <circle data-type="point" data-label="C17.2
177
+ y-" data-x="-3" data-y="-21.55" cx="294.9476387675812" cy="481.10050312794476" r="3" fill="hsl(117, 100%, 50%, 0.8)" />
178
+ </g>
179
+ <g>
180
+ <circle data-type="point" data-label="R18.1
181
+ x-" data-x="-5.550000000000001" data-y="-22" cx="249.31655223710416" cy="489.15304780979363" r="3" fill="hsl(12, 100%, 50%, 0.8)" />
182
+ </g>
183
+ <g>
184
+ <circle data-type="point" data-label="R18.2
185
+ x+" data-x="-4.449999999999999" data-y="-22" cx="269.00055034829035" cy="489.15304780979363" r="3" fill="hsl(13, 100%, 50%, 0.8)" />
186
+ </g>
187
+ <g>
188
+ <circle data-type="point" data-label="C18.1
189
+ y+" data-x="-4" data-y="-22.45" cx="277.0530950301392" cy="497.2055924916425" r="3" fill="hsl(357, 100%, 50%, 0.8)" />
190
+ </g>
191
+ <g>
192
+ <circle data-type="point" data-label="C18.2
193
+ y-" data-x="-4" data-y="-23.55" cx="277.0530950301392" cy="516.8895906028287" r="3" fill="hsl(358, 100%, 50%, 0.8)" />
194
+ </g>
195
+ <g>
196
+ <circle data-type="point" data-label="R19.1
197
+ x-" data-x="-5.550000000000001" data-y="-24" cx="249.31655223710416" cy="524.9421352846775" r="3" fill="hsl(253, 100%, 50%, 0.8)" />
198
+ </g>
199
+ <g>
200
+ <circle data-type="point" data-label="R19.2
201
+ x+" data-x="-4.449999999999999" data-y="-24" cx="269.00055034829035" cy="524.9421352846775" r="3" fill="hsl(254, 100%, 50%, 0.8)" />
202
+ </g>
203
+ <g>
204
+ <circle data-type="point" data-label="C19.1
205
+ y+" data-x="-3" data-y="-24.45" cx="294.9476387675812" cy="532.9946799665264" r="3" fill="hsl(238, 100%, 50%, 0.8)" />
206
+ </g>
207
+ <g>
208
+ <circle data-type="point" data-label="C19.2
209
+ y-" data-x="-3" data-y="-25.55" cx="294.9476387675812" cy="552.6786780777126" r="3" fill="hsl(239, 100%, 50%, 0.8)" />
210
+ </g>
211
+ <g>
212
+ <circle data-type="point" data-label="R21.1
213
+ x-" data-x="-5.550000000000001" data-y="-26" cx="249.31655223710416" cy="560.7312227595614" r="3" fill="hsl(36, 100%, 50%, 0.8)" />
214
+ </g>
215
+ <g>
216
+ <circle data-type="point" data-label="R21.2
217
+ x+" data-x="-4.449999999999999" data-y="-26" cx="269.00055034829035" cy="560.7312227595614" r="3" fill="hsl(37, 100%, 50%, 0.8)" />
218
+ </g>
219
+ <g>
220
+ <circle data-type="point" data-label="C21.1
221
+ y+" data-x="-4" data-y="-26.45" cx="277.0530950301392" cy="568.7837674414103" r="3" fill="hsl(21, 100%, 50%, 0.8)" />
222
+ </g>
223
+ <g>
224
+ <circle data-type="point" data-label="C21.2
225
+ y-" data-x="-4" data-y="-27.55" cx="277.0530950301392" cy="588.4677655525966" r="3" fill="hsl(22, 100%, 50%, 0.8)" />
226
+ </g>
227
+ <g>
228
+ <circle data-type="point" data-label="R22.1
229
+ x-" data-x="-5.550000000000001" data-y="-28" cx="249.31655223710416" cy="596.5203102344454" r="3" fill="hsl(277, 100%, 50%, 0.8)" />
230
+ </g>
231
+ <g>
232
+ <circle data-type="point" data-label="R22.2
233
+ x+" data-x="-4.449999999999999" data-y="-28" cx="269.00055034829035" cy="596.5203102344454" r="3" fill="hsl(278, 100%, 50%, 0.8)" />
234
+ </g>
235
+ <g>
236
+ <circle data-type="point" data-label="U1.1
237
+ x-" data-x="3.5999999999999996" data-y="1.7000000000000013" cx="413.0516274346982" cy="65.05236123241876" r="3" fill="hsl(319, 100%, 50%, 0.8)" />
238
+ </g>
239
+ <g>
240
+ <circle data-type="point" data-label="U1.2
241
+ x-" data-x="3.5999999999999996" data-y="1.5000000000000013" cx="413.0516274346982" cy="68.63126997990716" r="3" fill="hsl(320, 100%, 50%, 0.8)" />
242
+ </g>
243
+ <g>
244
+ <circle data-type="point" data-label="U1.3
245
+ x-" data-x="3.5999999999999996" data-y="1.3000000000000014" cx="413.0516274346982" cy="72.21017872739554" r="3" fill="hsl(321, 100%, 50%, 0.8)" />
246
+ </g>
247
+ <g>
248
+ <circle data-type="point" data-label="U1.4
249
+ x-" data-x="3.5999999999999996" data-y="1.1000000000000014" cx="413.0516274346982" cy="75.78908747488394" r="3" fill="hsl(322, 100%, 50%, 0.8)" />
250
+ </g>
251
+ <g>
252
+ <circle data-type="point" data-label="U1.5
253
+ x-" data-x="3.5999999999999996" data-y="0.9000000000000015" cx="413.0516274346982" cy="79.36799622237234" r="3" fill="hsl(323, 100%, 50%, 0.8)" />
254
+ </g>
255
+ <g>
256
+ <circle data-type="point" data-label="U1.6
257
+ x-" data-x="3.5999999999999996" data-y="0.7000000000000015" cx="413.0516274346982" cy="82.94690496986073" r="3" fill="hsl(324, 100%, 50%, 0.8)" />
258
+ </g>
259
+ <g>
260
+ <circle data-type="point" data-label="U1.7
261
+ x-" data-x="3.5999999999999996" data-y="0.5000000000000013" cx="413.0516274346982" cy="86.52581371734914" r="3" fill="hsl(325, 100%, 50%, 0.8)" />
262
+ </g>
263
+ <g>
264
+ <circle data-type="point" data-label="U1.8
265
+ x-" data-x="3.5999999999999996" data-y="0.30000000000000115" cx="413.0516274346982" cy="90.10472246483752" r="3" fill="hsl(326, 100%, 50%, 0.8)" />
266
+ </g>
267
+ <g>
268
+ <circle data-type="point" data-label="U1.9
269
+ x-" data-x="3.5999999999999996" data-y="0.10000000000000098" cx="413.0516274346982" cy="93.68363121232592" r="3" fill="hsl(327, 100%, 50%, 0.8)" />
270
+ </g>
271
+ <g>
272
+ <circle data-type="point" data-label="U1.10
273
+ x-" data-x="3.5999999999999996" data-y="-0.0999999999999992" cx="413.0516274346982" cy="97.26253995981432" r="3" fill="hsl(217, 100%, 50%, 0.8)" />
274
+ </g>
275
+ <g>
276
+ <circle data-type="point" data-label="U1.11
277
+ x-" data-x="3.5999999999999996" data-y="-0.2999999999999994" cx="413.0516274346982" cy="100.84144870730272" r="3" fill="hsl(218, 100%, 50%, 0.8)" />
278
+ </g>
279
+ <g>
280
+ <circle data-type="point" data-label="U1.12
281
+ x-" data-x="3.5999999999999996" data-y="-0.49999999999999956" cx="413.0516274346982" cy="104.42035745479112" r="3" fill="hsl(219, 100%, 50%, 0.8)" />
282
+ </g>
283
+ <g>
284
+ <circle data-type="point" data-label="U1.13
285
+ x-" data-x="3.5999999999999996" data-y="-0.6999999999999997" cx="413.0516274346982" cy="107.99926620227951" r="3" fill="hsl(220, 100%, 50%, 0.8)" />
286
+ </g>
287
+ <g>
288
+ <circle data-type="point" data-label="U1.14
289
+ x-" data-x="3.5999999999999996" data-y="-0.8999999999999999" cx="413.0516274346982" cy="111.57817494976791" r="3" fill="hsl(221, 100%, 50%, 0.8)" />
290
+ </g>
291
+ <g>
292
+ <circle data-type="point" data-label="U1.15
293
+ x-" data-x="3.5999999999999996" data-y="-1.0999999999999996" cx="413.0516274346982" cy="115.15708369725631" r="3" fill="hsl(222, 100%, 50%, 0.8)" />
294
+ </g>
295
+ <g>
296
+ <circle data-type="point" data-label="U1.16
297
+ x-" data-x="3.5999999999999996" data-y="-1.2999999999999998" cx="413.0516274346982" cy="118.73599244474471" r="3" fill="hsl(223, 100%, 50%, 0.8)" />
298
+ </g>
299
+ <g>
300
+ <circle data-type="point" data-label="U1.17
301
+ x+" data-x="6.4" data-y="-2.600000000000001" cx="463.15634989953577" cy="141.9988993034193" r="3" fill="hsl(224, 100%, 50%, 0.8)" />
302
+ </g>
303
+ <g>
304
+ <circle data-type="point" data-label="U1.18
305
+ x-" data-x="3.5999999999999996" data-y="-1.7000000000000002" cx="413.0516274346982" cy="125.8938099397215" r="3" fill="hsl(225, 100%, 50%, 0.8)" />
306
+ </g>
307
+ <g>
308
+ <circle data-type="point" data-label="U1.19
309
+ x-" data-x="3.5999999999999996" data-y="-1.9000000000000004" cx="413.0516274346982" cy="129.4727186872099" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
310
+ </g>
311
+ <g>
312
+ <circle data-type="point" data-label="U1.20
313
+ x-" data-x="3.5999999999999996" data-y="-2.1000000000000005" cx="413.0516274346982" cy="133.0516274346983" r="3" fill="hsl(248, 100%, 50%, 0.8)" />
314
+ </g>
315
+ <g>
316
+ <circle data-type="point" data-label="U1.21
317
+ x-" data-x="3.5999999999999996" data-y="-2.3000000000000007" cx="413.0516274346982" cy="136.6305361821867" r="3" fill="hsl(249, 100%, 50%, 0.8)" />
318
+ </g>
319
+ <g>
320
+ <circle data-type="point" data-label="U1.22
321
+ x-" data-x="3.5999999999999996" data-y="-2.500000000000001" cx="413.0516274346982" cy="140.2094449296751" r="3" fill="hsl(250, 100%, 50%, 0.8)" />
322
+ </g>
323
+ <g>
324
+ <circle data-type="point" data-label="U1.23
325
+ x-" data-x="3.5999999999999996" data-y="-2.700000000000001" cx="413.0516274346982" cy="143.78835367716349" r="3" fill="hsl(251, 100%, 50%, 0.8)" />
326
+ </g>
327
+ <g>
328
+ <circle data-type="point" data-label="U1.24
329
+ x-" data-x="3.5999999999999996" data-y="-2.9000000000000012" cx="413.0516274346982" cy="147.3672624246519" r="3" fill="hsl(252, 100%, 50%, 0.8)" />
330
+ </g>
331
+ <g>
332
+ <circle data-type="point" data-label="U1.25
333
+ x+" data-x="6.4" data-y="-2.200000000000001" cx="463.15634989953577" cy="134.8410818084425" r="3" fill="hsl(253, 100%, 50%, 0.8)" />
334
+ </g>
335
+ <g>
336
+ <circle data-type="point" data-label="U1.26
337
+ x+" data-x="6.4" data-y="-2.000000000000001" cx="463.15634989953577" cy="131.2621730609541" r="3" fill="hsl(254, 100%, 50%, 0.8)" />
338
+ </g>
339
+ <g>
340
+ <circle data-type="point" data-label="U1.27
341
+ x+" data-x="6.4" data-y="-1.800000000000001" cx="463.15634989953577" cy="127.68326431346571" r="3" fill="hsl(255, 100%, 50%, 0.8)" />
342
+ </g>
343
+ <g>
344
+ <circle data-type="point" data-label="U1.28
345
+ x+" data-x="6.4" data-y="-1.400000000000001" cx="463.15634989953577" cy="120.52544681848892" r="3" fill="hsl(256, 100%, 50%, 0.8)" />
346
+ </g>
347
+ <g>
348
+ <circle data-type="point" data-label="U1.29
349
+ x+" data-x="6.4" data-y="-1.000000000000001" cx="463.15634989953577" cy="113.36762932351213" r="3" fill="hsl(257, 100%, 50%, 0.8)" />
350
+ </g>
351
+ <g>
352
+ <circle data-type="point" data-label="U1.30
353
+ x+" data-x="6.4" data-y="-0.6000000000000012" cx="463.15634989953577" cy="106.20981182853535" r="3" fill="hsl(279, 100%, 50%, 0.8)" />
354
+ </g>
355
+ <g>
356
+ <circle data-type="point" data-label="U1.31
357
+ x+" data-x="6.4" data-y="-0.20000000000000107" cx="463.15634989953577" cy="99.05199433355855" r="3" fill="hsl(280, 100%, 50%, 0.8)" />
358
+ </g>
359
+ <g>
360
+ <circle data-type="point" data-label="U1.32
361
+ x+" data-x="6.4" data-y="-8.881784197001252e-16" cx="463.15634989953577" cy="95.47308558607016" r="3" fill="hsl(281, 100%, 50%, 0.8)" />
362
+ </g>
363
+ <g>
364
+ <circle data-type="point" data-label="U1.33
365
+ x+" data-x="6.4" data-y="0.1999999999999993" cx="463.15634989953577" cy="91.89417683858176" r="3" fill="hsl(282, 100%, 50%, 0.8)" />
366
+ </g>
367
+ <g>
368
+ <circle data-type="point" data-label="U1.34
369
+ x+" data-x="6.4" data-y="0.39999999999999947" cx="463.15634989953577" cy="88.31526809109336" r="3" fill="hsl(283, 100%, 50%, 0.8)" />
370
+ </g>
371
+ <g>
372
+ <circle data-type="point" data-label="U1.35
373
+ x+" data-x="6.4" data-y="0.5999999999999996" cx="463.15634989953577" cy="84.73635934360496" r="3" fill="hsl(284, 100%, 50%, 0.8)" />
374
+ </g>
375
+ <g>
376
+ <circle data-type="point" data-label="U1.36
377
+ x+" data-x="6.4" data-y="0.7999999999999998" cx="463.15634989953577" cy="81.15745059611656" r="3" fill="hsl(285, 100%, 50%, 0.8)" />
378
+ </g>
379
+ <g>
380
+ <circle data-type="point" data-label="U1.37
381
+ x+" data-x="6.4" data-y="1" cx="463.15634989953577" cy="77.57854184862816" r="3" fill="hsl(286, 100%, 50%, 0.8)" />
382
+ </g>
383
+ <g>
384
+ <circle data-type="point" data-label="U1.38
385
+ x+" data-x="6.4" data-y="1.2000000000000002" cx="463.15634989953577" cy="73.99963310113976" r="3" fill="hsl(287, 100%, 50%, 0.8)" />
386
+ </g>
387
+ <g>
388
+ <circle data-type="point" data-label="U1.39
389
+ x+" data-x="6.4" data-y="1.4" cx="463.15634989953577" cy="70.42072435365138" r="3" fill="hsl(288, 100%, 50%, 0.8)" />
390
+ </g>
391
+ <g>
392
+ <circle data-type="point" data-label="U1.40
393
+ x+" data-x="6.4" data-y="1.6" cx="463.15634989953577" cy="66.84181560616298" r="3" fill="hsl(310, 100%, 50%, 0.8)" />
394
+ </g>
395
+ <g>
396
+ <circle data-type="point" data-label="U1.41
397
+ x+" data-x="6.4" data-y="1.8000000000000003" cx="463.15634989953577" cy="63.26290685867458" r="3" fill="hsl(311, 100%, 50%, 0.8)" />
398
+ </g>
399
+ <g>
400
+ <circle data-type="point" data-label="U1.42
401
+ x+" data-x="6.4" data-y="2.0000000000000004" cx="463.15634989953577" cy="59.683998111186185" r="3" fill="hsl(312, 100%, 50%, 0.8)" />
402
+ </g>
403
+ <g>
404
+ <circle data-type="point" data-label="U1.43
405
+ x+" data-x="6.4" data-y="2.2000000000000006" cx="463.15634989953577" cy="56.105089363697786" r="3" fill="hsl(313, 100%, 50%, 0.8)" />
406
+ </g>
407
+ <g>
408
+ <circle data-type="point" data-label="U1.45
409
+ x+" data-x="6.4" data-y="2.600000000000001" cx="463.15634989953577" cy="48.94727186872099" r="3" fill="hsl(315, 100%, 50%, 0.8)" />
410
+ </g>
411
+ <g>
412
+ <circle data-type="point" data-label="U1.46
413
+ x-" data-x="3.5999999999999996" data-y="2.700000000000001" cx="413.0516274346982" cy="47.15781749497679" r="3" fill="hsl(316, 100%, 50%, 0.8)" />
414
+ </g>
415
+ <g>
416
+ <circle data-type="point" data-label="U1.47
417
+ x-" data-x="3.5999999999999996" data-y="2.300000000000001" cx="413.0516274346982" cy="54.31563498995358" r="3" fill="hsl(317, 100%, 50%, 0.8)" />
418
+ </g>
419
+ <g>
420
+ <circle data-type="point" data-label="U1.48
421
+ x-" data-x="3.5999999999999996" data-y="1.9000000000000012" cx="413.0516274346982" cy="61.47345248493037" r="3" fill="hsl(318, 100%, 50%, 0.8)" />
422
+ </g>
423
+ <g>
424
+ <circle data-type="point" data-label="J1.1
425
+ x+" data-x="-8.4" data-y="-3" cx="198.31710258539454" cy="149.15671679839608" r="3" fill="hsl(218, 100%, 50%, 0.8)" />
426
+ </g>
427
+ <g>
428
+ <circle data-type="point" data-label="J1.2
429
+ x+" data-x="-8.4" data-y="-3.4" cx="198.31710258539454" cy="156.31453429337284" r="3" fill="hsl(219, 100%, 50%, 0.8)" />
430
+ </g>
431
+ <g>
432
+ <circle data-type="point" data-label="J1.3
433
+ x+" data-x="-8.4" data-y="-3.8" cx="198.31710258539454" cy="163.47235178834964" r="3" fill="hsl(220, 100%, 50%, 0.8)" />
434
+ </g>
435
+ <g>
436
+ <circle data-type="point" data-label="J1.4
437
+ x+" data-x="-8.4" data-y="-4.2" cx="198.31710258539454" cy="170.63016928332644" r="3" fill="hsl(221, 100%, 50%, 0.8)" />
438
+ </g>
439
+ <g>
440
+ <circle data-type="point" data-label="J1.5
441
+ x+" data-x="-8.4" data-y="-4.6" cx="198.31710258539454" cy="177.7879867783032" r="3" fill="hsl(222, 100%, 50%, 0.8)" />
442
+ </g>
443
+ <g>
444
+ <circle data-type="point" data-label="J1.6
445
+ x+" data-x="-8.4" data-y="-5" cx="198.31710258539454" cy="184.94580427328003" r="3" fill="hsl(223, 100%, 50%, 0.8)" />
446
+ </g>
447
+ <g>
448
+ <circle data-type="point" data-label="J3.1
449
+ x+" data-x="-8.4" data-y="-9.2" cx="198.31710258539454" cy="260.1028879705363" r="3" fill="hsl(340, 100%, 50%, 0.8)" />
450
+ </g>
451
+ <g>
452
+ <circle data-type="point" data-label="J3.2
453
+ x+" data-x="-8.4" data-y="-9.6" cx="198.31710258539454" cy="267.26070546551307" r="3" fill="hsl(341, 100%, 50%, 0.8)" />
454
+ </g>
455
+ <g>
456
+ <circle data-type="point" data-label="J3.3
457
+ x+" data-x="-8.4" data-y="-10" cx="198.31710258539454" cy="274.4185229604899" r="3" fill="hsl(342, 100%, 50%, 0.8)" />
458
+ </g>
459
+ <g>
460
+ <circle data-type="point" data-label="J3.4
461
+ x+" data-x="-8.4" data-y="-10.4" cx="198.31710258539454" cy="281.5763404554667" r="3" fill="hsl(343, 100%, 50%, 0.8)" />
462
+ </g>
463
+ <g>
464
+ <circle data-type="point" data-label="J3.5
465
+ x+" data-x="-8.4" data-y="-10.8" cx="198.31710258539454" cy="288.7341579504435" r="3" fill="hsl(344, 100%, 50%, 0.8)" />
466
+ </g>
467
+ <g>
468
+ <circle data-type="point" data-label="J4.1
469
+ x+" data-x="-8.4" data-y="-15" cx="198.31710258539454" cy="363.89124164769976" r="3" fill="hsl(221, 100%, 50%, 0.8)" />
470
+ </g>
471
+ <g>
472
+ <circle data-type="point" data-label="J4.2
473
+ x+" data-x="-8.4" data-y="-15.4" cx="198.31710258539454" cy="371.0490591426766" r="3" fill="hsl(222, 100%, 50%, 0.8)" />
474
+ </g>
475
+ <g>
476
+ <circle data-type="point" data-label="J4.3
477
+ x+" data-x="-8.4" data-y="-15.8" cx="198.31710258539454" cy="378.2068766376534" r="3" fill="hsl(223, 100%, 50%, 0.8)" />
478
+ </g>
479
+ <g>
480
+ <circle data-type="point" data-label="J4.4
481
+ x+" data-x="-8.4" data-y="-16.2" cx="198.31710258539454" cy="385.3646941326301" r="3" fill="hsl(224, 100%, 50%, 0.8)" />
482
+ </g>
483
+ <g>
484
+ <circle data-type="point" data-label="J4.5
485
+ x+" data-x="-8.4" data-y="-16.6" cx="198.31710258539454" cy="392.52251162760695" r="3" fill="hsl(225, 100%, 50%, 0.8)" />
486
+ </g>
487
+ <g>
488
+ <circle data-type="point" data-label="J4.6
489
+ x+" data-x="-8.4" data-y="-17" cx="198.31710258539454" cy="399.68032912258366" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
490
+ </g>
491
+ <g>
492
+ <circle data-type="point" data-label="" data-x="-6.262500000000001" data-y="0" cx="236.56668982417676" cy="95.47308558607014" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
493
+ </g>
494
+ <g>
495
+ <circle data-type="point" data-label="" data-x="0.2999999999999998" data-y="1.9000000000000015" cx="353.9996331011397" cy="61.47345248493036" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
496
+ </g>
497
+ <g>
498
+ <circle data-type="point" data-label="" data-x="1.9500000000000006" data-y="1.7000000000000017" cx="383.525630267919" cy="65.05236123241875" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
499
+ </g>
500
+ <g>
501
+ <circle data-type="point" data-label="" data-x="-5.750000000000001" data-y="-1.9999999999999998" cx="245.73764348961578" cy="131.26217306095407" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
502
+ </g>
503
+ <g>
504
+ <circle data-type="point" data-label="" data-x="-3" data-y="-4.225" cx="294.9476387675812" cy="171.07753287676246" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
505
+ </g>
506
+ <g>
507
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="1.5000000000000013" cx="413.0516274346982" cy="68.63126997990716" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
508
+ </g>
509
+ <g>
510
+ <circle data-type="point" data-label="" data-x="-6.262500000000001" data-y="-4" cx="236.56668982417676" cy="167.05126053583803" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
511
+ </g>
512
+ <g>
513
+ <circle data-type="point" data-label="" data-x="-4" data-y="-6.225" cx="277.0530950301392" cy="206.86662035164642" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
514
+ </g>
515
+ <g>
516
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="1.3000000000000014" cx="413.0516274346982" cy="72.21017872739554" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
517
+ </g>
518
+ <g>
519
+ <circle data-type="point" data-label="" data-x="-5.750000000000001" data-y="-6" cx="245.73764348961578" cy="202.84034801072198" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
520
+ </g>
521
+ <g>
522
+ <circle data-type="point" data-label="" data-x="-4.225" data-y="-8" cx="273.0268226892148" cy="238.62943548560594" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
523
+ </g>
524
+ <g>
525
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="1.1000000000000014" cx="413.0516274346982" cy="75.78908747488394" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
526
+ </g>
527
+ <g>
528
+ <circle data-type="point" data-label="" data-x="-6.262500000000001" data-y="-8" cx="236.56668982417676" cy="238.62943548560594" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
529
+ </g>
530
+ <g>
531
+ <circle data-type="point" data-label="" data-x="-4" data-y="-10.225" cx="277.0530950301392" cy="278.44479530141433" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
532
+ </g>
533
+ <g>
534
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="0.7000000000000015" cx="413.0516274346982" cy="82.94690496986073" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
535
+ </g>
536
+ <g>
537
+ <circle data-type="point" data-label="" data-x="-5.750000000000001" data-y="-10.1" cx="245.73764348961578" cy="276.2079773342341" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
538
+ </g>
539
+ <g>
540
+ <circle data-type="point" data-label="" data-x="-4" data-y="-11.775" cx="277.0530950301392" cy="306.1813380944494" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
541
+ </g>
542
+ <g>
543
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="0.5000000000000013" cx="413.0516274346982" cy="86.52581371734914" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
544
+ </g>
545
+ <g>
546
+ <circle data-type="point" data-label="" data-x="-6.262500000000001" data-y="-12" cx="236.56668982417676" cy="310.2076104353738" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
547
+ </g>
548
+ <g>
549
+ <circle data-type="point" data-label="" data-x="-4" data-y="-14.225" cx="277.0530950301392" cy="350.0229702511822" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
550
+ </g>
551
+ <g>
552
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="0.30000000000000115" cx="413.0516274346982" cy="90.10472246483752" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
553
+ </g>
554
+ <g>
555
+ <circle data-type="point" data-label="" data-x="-6.162500000000001" data-y="-14" cx="238.35614419792094" cy="345.9966979102578" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
556
+ </g>
557
+ <g>
558
+ <circle data-type="point" data-label="" data-x="-4.225" data-y="-16" cx="273.0268226892148" cy="381.7857853851417" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
559
+ </g>
560
+ <g>
561
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="-0.0999999999999992" cx="413.0516274346982" cy="97.26253995981432" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
562
+ </g>
563
+ <g>
564
+ <circle data-type="point" data-label="" data-x="-6.2125" data-y="-16" cx="237.46141701104887" cy="381.7857853851417" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
565
+ </g>
566
+ <g>
567
+ <circle data-type="point" data-label="" data-x="-4" data-y="-18.225" cx="277.0530950301392" cy="421.6011452009501" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
568
+ </g>
569
+ <g>
570
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="-0.2999999999999994" cx="413.0516274346982" cy="100.84144870730272" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
571
+ </g>
572
+ <g>
573
+ <circle data-type="point" data-label="" data-x="-5.550000000000001" data-y="-18" cx="249.31655223710416" cy="417.5748728600257" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
574
+ </g>
575
+ <g>
576
+ <circle data-type="point" data-label="" data-x="-8.4" data-y="-10.4" cx="198.31710258539454" cy="281.5763404554667" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
577
+ </g>
578
+ <g>
579
+ <circle data-type="point" data-label="" data-x="-4.225" data-y="-20" cx="273.0268226892148" cy="453.3639603349096" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
580
+ </g>
581
+ <g>
582
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="-0.49999999999999956" cx="413.0516274346982" cy="104.42035745479112" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
583
+ </g>
584
+ <g>
585
+ <circle data-type="point" data-label="" data-x="-5.550000000000001" data-y="-20" cx="249.31655223710416" cy="453.3639603349096" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
586
+ </g>
587
+ <g>
588
+ <circle data-type="point" data-label="" data-x="-8.4" data-y="-10.8" cx="198.31710258539454" cy="288.7341579504435" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
589
+ </g>
590
+ <g>
591
+ <circle data-type="point" data-label="" data-x="-4" data-y="-22.225" cx="277.0530950301392" cy="493.179320150718" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
592
+ </g>
593
+ <g>
594
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="-0.6999999999999997" cx="413.0516274346982" cy="107.99926620227951" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
595
+ </g>
596
+ <g>
597
+ <circle data-type="point" data-label="" data-x="-6.262500000000001" data-y="-22" cx="236.56668982417676" cy="489.15304780979363" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
598
+ </g>
599
+ <g>
600
+ <circle data-type="point" data-label="" data-x="-4.225" data-y="-24" cx="273.0268226892148" cy="524.9421352846775" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
601
+ </g>
602
+ <g>
603
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="-0.8999999999999999" cx="413.0516274346982" cy="111.57817494976791" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
604
+ </g>
605
+ <g>
606
+ <circle data-type="point" data-label="" data-x="-5.550000000000001" data-y="-24" cx="249.31655223710416" cy="524.9421352846775" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
607
+ </g>
608
+ <g>
609
+ <circle data-type="point" data-label="" data-x="-8.4" data-y="-15.4" cx="198.31710258539454" cy="371.0490591426766" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
610
+ </g>
611
+ <g>
612
+ <circle data-type="point" data-label="" data-x="-4" data-y="-26.225" cx="277.0530950301392" cy="564.7574951004859" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
613
+ </g>
614
+ <g>
615
+ <circle data-type="point" data-label="" data-x="3.5999999999999996" data-y="-1.0999999999999996" cx="413.0516274346982" cy="115.15708369725631" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
616
+ </g>
617
+ <g>
618
+ <circle data-type="point" data-label="" data-x="-5.550000000000001" data-y="-26" cx="249.31655223710416" cy="560.7312227595614" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
619
+ </g>
620
+ <g>
621
+ <circle data-type="point" data-label="" data-x="-8.4" data-y="-15.8" cx="198.31710258539454" cy="378.2068766376534" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
622
+ </g>
623
+ <g>
624
+ <circle data-type="point" data-label="" data-x="-5.550000000000001" data-y="-28" cx="249.31655223710416" cy="596.5203102344454" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
625
+ </g>
626
+ <g>
627
+ <circle data-type="point" data-label="" data-x="-8.4" data-y="-16.2" cx="198.31710258539454" cy="385.3646941326301" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
628
+ </g>
629
+ <g>
630
+ <polyline data-points="-5.550000000000001,0 -8.4,-3" data-type="line" data-label="" points="249.31655223710416,95.47308558607014 198.31710258539454,149.15671679839608" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1" />
631
+ </g>
632
+ <g>
633
+ <polyline data-points="-4.449999999999999,0 -3,-0.44999999999999996" data-type="line" data-label="" points="269.00055034829035,95.47308558607014 294.9476387675812,103.52563026791903" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1" />
634
+ </g>
635
+ <g>
636
+ <polyline data-points="-3,-0.44999999999999996 3.5999999999999996,1.9000000000000012" data-type="line" data-label="" points="294.9476387675812,103.52563026791903 413.0516274346982,61.47345248493037" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
637
+ </g>
638
+ <g>
639
+ <polyline data-points="-3,-1.55 -4,-2.45" data-type="line" data-label="" points="294.9476387675812,123.2096283791052 277.0530950301392,139.314717742803" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
640
+ </g>
641
+ <g>
642
+ <polyline data-points="-5.550000000000001,-1.9999999999999998 -8.4,-3.4" data-type="line" data-label="" points="249.31655223710416,131.26217306095407 198.31710258539454,156.31453429337284" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1" />
643
+ </g>
644
+ <g>
645
+ <polyline data-points="-4.449999999999999,-1.9999999999999998 -4,-2.45" data-type="line" data-label="" points="269.00055034829035,131.26217306095407 277.0530950301392,139.314717742803" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1" />
646
+ </g>
647
+ <g>
648
+ <polyline data-points="-4,-2.45 3.5999999999999996,1.7000000000000013" data-type="line" data-label="" points="277.0530950301392,139.314717742803 413.0516274346982,65.05236123241876" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1" />
649
+ </g>
650
+ <g>
651
+ <polyline data-points="-4,-3.55 -3,-4.449999999999999" data-type="line" data-label="" points="277.0530950301392,158.99871585398915 294.9476387675812,175.1038052176869" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1" />
652
+ </g>
653
+ <g>
654
+ <polyline data-points="-5.550000000000001,-4 -8.4,-3.8" data-type="line" data-label="" points="249.31655223710416,167.05126053583803 198.31710258539454,163.47235178834964" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1" />
655
+ </g>
656
+ <g>
657
+ <polyline data-points="-4.449999999999999,-4 -3,-4.449999999999999" data-type="line" data-label="" points="269.00055034829035,167.05126053583803 294.9476387675812,175.1038052176869" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1" />
658
+ </g>
659
+ <g>
660
+ <polyline data-points="-3,-4.449999999999999 3.5999999999999996,1.5000000000000013" data-type="line" data-label="" points="294.9476387675812,175.1038052176869 413.0516274346982,68.63126997990716" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1" />
661
+ </g>
662
+ <g>
663
+ <polyline data-points="-3,-5.550000000000001 -4,-6.449999999999999" data-type="line" data-label="" points="294.9476387675812,194.7878033288731 277.0530950301392,210.89289269257085" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1" />
664
+ </g>
665
+ <g>
666
+ <polyline data-points="-5.550000000000001,-6 -8.4,-4.2" data-type="line" data-label="" points="249.31655223710416,202.84034801072198 198.31710258539454,170.63016928332644" fill="none" stroke="hsl(296, 100%, 50%, 0.8)" stroke-width="1" />
667
+ </g>
668
+ <g>
669
+ <polyline data-points="-4.449999999999999,-6 -4,-6.449999999999999" data-type="line" data-label="" points="269.00055034829035,202.84034801072198 277.0530950301392,210.89289269257085" fill="none" stroke="hsl(296, 100%, 50%, 0.8)" stroke-width="1" />
670
+ </g>
671
+ <g>
672
+ <polyline data-points="-4,-6.449999999999999 3.5999999999999996,1.3000000000000014" data-type="line" data-label="" points="277.0530950301392,210.89289269257085 413.0516274346982,72.21017872739554" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1" />
673
+ </g>
674
+ <g>
675
+ <polyline data-points="-4,-7.550000000000001 -3,-8.45" data-type="line" data-label="" points="277.0530950301392,230.57689080375707 294.9476387675812,246.6819801674548" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1" />
676
+ </g>
677
+ <g>
678
+ <polyline data-points="-5.550000000000001,-8 -8.4,-4.6" data-type="line" data-label="" points="249.31655223710416,238.62943548560594 198.31710258539454,177.7879867783032" fill="none" stroke="hsl(80, 100%, 50%, 0.8)" stroke-width="1" />
679
+ </g>
680
+ <g>
681
+ <polyline data-points="-4.449999999999999,-8 -3,-8.45" data-type="line" data-label="" points="269.00055034829035,238.62943548560594 294.9476387675812,246.6819801674548" fill="none" stroke="hsl(80, 100%, 50%, 0.8)" stroke-width="1" />
682
+ </g>
683
+ <g>
684
+ <polyline data-points="-3,-8.45 3.5999999999999996,1.1000000000000014" data-type="line" data-label="" points="294.9476387675812,246.6819801674548 413.0516274346982,75.78908747488394" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1" />
685
+ </g>
686
+ <g>
687
+ <polyline data-points="-3,-9.55 -4,-10.45" data-type="line" data-label="" points="294.9476387675812,266.365978278641 277.0530950301392,282.47106764233877" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1" />
688
+ </g>
689
+ <g>
690
+ <polyline data-points="-5.550000000000001,-10 -8.4,-5" data-type="line" data-label="" points="249.31655223710416,274.4185229604899 198.31710258539454,184.94580427328003" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1" />
691
+ </g>
692
+ <g>
693
+ <polyline data-points="-4.449999999999999,-10 -4,-10.45" data-type="line" data-label="" points="269.00055034829035,274.4185229604899 277.0530950301392,282.47106764233877" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1" />
694
+ </g>
695
+ <g>
696
+ <polyline data-points="-4,-10.45 3.5999999999999996,0.7000000000000015" data-type="line" data-label="" points="277.0530950301392,282.47106764233877 413.0516274346982,82.94690496986073" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1" />
697
+ </g>
698
+ <g>
699
+ <polyline data-points="-4,-11.55 -3,-12.45" data-type="line" data-label="" points="277.0530950301392,302.1550657535249 294.9476387675812,318.2601551172227" fill="none" stroke="hsl(120, 100%, 50%, 0.8)" stroke-width="1" />
700
+ </g>
701
+ <g>
702
+ <polyline data-points="-5.550000000000001,-12 -8.4,-9.2" data-type="line" data-label="" points="249.31655223710416,310.2076104353738 198.31710258539454,260.1028879705363" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1" />
703
+ </g>
704
+ <g>
705
+ <polyline data-points="-4.449999999999999,-12 -3,-12.45" data-type="line" data-label="" points="269.00055034829035,310.2076104353738 294.9476387675812,318.2601551172227" fill="none" stroke="hsl(152, 100%, 50%, 0.8)" stroke-width="1" />
706
+ </g>
707
+ <g>
708
+ <polyline data-points="-3,-12.45 3.5999999999999996,0.5000000000000013" data-type="line" data-label="" points="294.9476387675812,318.2601551172227 413.0516274346982,86.52581371734914" fill="none" stroke="hsl(120, 100%, 50%, 0.8)" stroke-width="1" />
709
+ </g>
710
+ <g>
711
+ <polyline data-points="-3,-13.55 -4,-14.45" data-type="line" data-label="" points="294.9476387675812,337.94415322840894 277.0530950301392,354.0492425921067" fill="none" stroke="hsl(328, 100%, 50%, 0.8)" stroke-width="1" />
712
+ </g>
713
+ <g>
714
+ <polyline data-points="-5.550000000000001,-14 -8.4,-9.6" data-type="line" data-label="" points="249.31655223710416,345.9966979102578 198.31710258539454,267.26070546551307" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1" />
715
+ </g>
716
+ <g>
717
+ <polyline data-points="-4.449999999999999,-14 -4,-14.45" data-type="line" data-label="" points="269.00055034829035,345.9966979102578 277.0530950301392,354.0492425921067" fill="none" stroke="hsl(208, 100%, 50%, 0.8)" stroke-width="1" />
718
+ </g>
719
+ <g>
720
+ <polyline data-points="-4,-14.45 3.5999999999999996,0.30000000000000115" data-type="line" data-label="" points="277.0530950301392,354.0492425921067 413.0516274346982,90.10472246483752" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1" />
721
+ </g>
722
+ <g>
723
+ <polyline data-points="-4,-15.55 -3,-16.45" data-type="line" data-label="" points="277.0530950301392,373.73324070329284 294.9476387675812,389.8383300669906" fill="none" stroke="hsl(152, 100%, 50%, 0.8)" stroke-width="1" />
724
+ </g>
725
+ <g>
726
+ <polyline data-points="-5.550000000000001,-16 -8.4,-10" data-type="line" data-label="" points="249.31655223710416,381.7857853851417 198.31710258539454,274.4185229604899" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1" />
727
+ </g>
728
+ <g>
729
+ <polyline data-points="-4.449999999999999,-16 -3,-16.45" data-type="line" data-label="" points="269.00055034829035,381.7857853851417 294.9476387675812,389.8383300669906" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1" />
730
+ </g>
731
+ <g>
732
+ <polyline data-points="-3,-16.45 3.5999999999999996,-0.0999999999999992" data-type="line" data-label="" points="294.9476387675812,389.8383300669906 413.0516274346982,97.26253995981432" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1" />
733
+ </g>
734
+ <g>
735
+ <polyline data-points="-3,-17.55 -4,-18.45" data-type="line" data-label="" points="294.9476387675812,409.52232817817685 277.0530950301392,425.6274175418746" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1" />
736
+ </g>
737
+ <g>
738
+ <polyline data-points="-5.550000000000001,-18 -8.4,-10.4" data-type="line" data-label="" points="249.31655223710416,417.5748728600257 198.31710258539454,281.5763404554667" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
739
+ </g>
740
+ <g>
741
+ <polyline data-points="-4.449999999999999,-18 -4,-18.45" data-type="line" data-label="" points="269.00055034829035,417.5748728600257 277.0530950301392,425.6274175418746" fill="none" stroke="hsl(144, 100%, 50%, 0.8)" stroke-width="1" />
742
+ </g>
743
+ <g>
744
+ <polyline data-points="-4,-18.45 3.5999999999999996,-0.2999999999999994" data-type="line" data-label="" points="277.0530950301392,425.6274175418746 413.0516274346982,100.84144870730272" fill="none" stroke="hsl(296, 100%, 50%, 0.8)" stroke-width="1" />
745
+ </g>
746
+ <g>
747
+ <polyline data-points="-4,-19.55 -3,-20.45" data-type="line" data-label="" points="277.0530950301392,445.31141565306075 294.9476387675812,461.4165050167585" fill="none" stroke="hsl(328, 100%, 50%, 0.8)" stroke-width="1" />
748
+ </g>
749
+ <g>
750
+ <polyline data-points="-5.550000000000001,-20 -8.4,-10.8" data-type="line" data-label="" points="249.31655223710416,453.3639603349096 198.31710258539454,288.7341579504435" fill="none" stroke="hsl(240, 100%, 50%, 0.8)" stroke-width="1" />
751
+ </g>
752
+ <g>
753
+ <polyline data-points="-4.449999999999999,-20 -3,-20.45" data-type="line" data-label="" points="269.00055034829035,453.3639603349096 294.9476387675812,461.4165050167585" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1" />
754
+ </g>
755
+ <g>
756
+ <polyline data-points="-3,-20.45 3.5999999999999996,-0.49999999999999956" data-type="line" data-label="" points="294.9476387675812,461.4165050167585 413.0516274346982,104.42035745479112" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1" />
757
+ </g>
758
+ <g>
759
+ <polyline data-points="-3,-21.55 -4,-22.45" data-type="line" data-label="" points="294.9476387675812,481.10050312794476 277.0530950301392,497.2055924916425" fill="none" stroke="hsl(152, 100%, 50%, 0.8)" stroke-width="1" />
760
+ </g>
761
+ <g>
762
+ <polyline data-points="-5.550000000000001,-22 -8.4,-15" data-type="line" data-label="" points="249.31655223710416,489.15304780979363 198.31710258539454,363.89124164769976" fill="none" stroke="hsl(232, 100%, 50%, 0.8)" stroke-width="1" />
763
+ </g>
764
+ <g>
765
+ <polyline data-points="-4.449999999999999,-22 -4,-22.45" data-type="line" data-label="" points="269.00055034829035,489.15304780979363 277.0530950301392,497.2055924916425" fill="none" stroke="hsl(48, 100%, 50%, 0.8)" stroke-width="1" />
766
+ </g>
767
+ <g>
768
+ <polyline data-points="-4,-22.45 3.5999999999999996,-0.6999999999999997" data-type="line" data-label="" points="277.0530950301392,497.2055924916425 413.0516274346982,107.99926620227951" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1" />
769
+ </g>
770
+ <g>
771
+ <polyline data-points="-4,-23.55 -3,-24.45" data-type="line" data-label="" points="277.0530950301392,516.8895906028287 294.9476387675812,532.9946799665264" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1" />
772
+ </g>
773
+ <g>
774
+ <polyline data-points="-5.550000000000001,-24 -8.4,-15.4" data-type="line" data-label="" points="249.31655223710416,524.9421352846775 198.31710258539454,371.0490591426766" fill="none" stroke="hsl(208, 100%, 50%, 0.8)" stroke-width="1" />
775
+ </g>
776
+ <g>
777
+ <polyline data-points="-4.449999999999999,-24 -3,-24.45" data-type="line" data-label="" points="269.00055034829035,524.9421352846775 294.9476387675812,532.9946799665264" fill="none" stroke="hsl(208, 100%, 50%, 0.8)" stroke-width="1" />
778
+ </g>
779
+ <g>
780
+ <polyline data-points="-3,-24.45 3.5999999999999996,-0.8999999999999999" data-type="line" data-label="" points="294.9476387675812,532.9946799665264 413.0516274346982,111.57817494976791" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1" />
781
+ </g>
782
+ <g>
783
+ <polyline data-points="-3,-25.55 -4,-26.45" data-type="line" data-label="" points="294.9476387675812,552.6786780777126 277.0530950301392,568.7837674414103" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1" />
784
+ </g>
785
+ <g>
786
+ <polyline data-points="-5.550000000000001,-26 -8.4,-15.8" data-type="line" data-label="" points="249.31655223710416,560.7312227595614 198.31710258539454,378.2068766376534" fill="none" stroke="hsl(256, 100%, 50%, 0.8)" stroke-width="1" />
787
+ </g>
788
+ <g>
789
+ <polyline data-points="-4.449999999999999,-26 -4,-26.45" data-type="line" data-label="" points="269.00055034829035,560.7312227595614 277.0530950301392,568.7837674414103" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1" />
790
+ </g>
791
+ <g>
792
+ <polyline data-points="-4,-26.45 3.5999999999999996,-1.0999999999999996" data-type="line" data-label="" points="277.0530950301392,568.7837674414103 413.0516274346982,115.15708369725631" fill="none" stroke="hsl(208, 100%, 50%, 0.8)" stroke-width="1" />
793
+ </g>
794
+ <g>
795
+ <polyline data-points="-5.550000000000001,-28 -8.4,-16.2" data-type="line" data-label="" points="249.31655223710416,596.5203102344454 198.31710258539454,385.3646941326301" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
796
+ </g>
797
+ <g>
798
+ <polyline data-points="-5.550000000000001,0 -6.9750000000000005,0 -6.9750000000000005,-3 -8.4,-3" data-type="line" data-label="" points="249.31655223710416,95.47308558607014 223.81682741124934,95.47308558607014 223.81682741124934,149.15671679839608 198.31710258539454,149.15671679839608" fill="none" stroke="purple" stroke-width="1" />
799
+ </g>
800
+ <g>
801
+ <polyline data-points="-4.449999999999999,0 -3,0 -3,-0.44999999999999996" data-type="line" data-label="" points="269.00055034829035,95.47308558607014 294.9476387675812,95.47308558607014 294.9476387675812,103.52563026791903" fill="none" stroke="purple" stroke-width="1" />
802
+ </g>
803
+ <g>
804
+ <polyline data-points="3.5999999999999996,1.9000000000000015 -3,1.9000000000000015 -3,-0.44999999999999996" data-type="line" data-label="" points="413.0516274346982,61.47345248493036 294.9476387675812,61.47345248493036 294.9476387675812,103.52563026791903" fill="none" stroke="purple" stroke-width="1" />
805
+ </g>
806
+ <g>
807
+ <polyline data-points="-4.449999999999999,-1.9999999999999998 -3,-1.9999999999999998 -3,-1.55" data-type="line" data-label="" points="269.00055034829035,131.26217306095407 294.9476387675812,131.26217306095407 294.9476387675812,123.2096283791052" fill="none" stroke="purple" stroke-width="1" />
808
+ </g>
809
+ <g>
810
+ <polyline data-points="-4,-2.45 -4,-1.9999999999999998 -4.449999999999999,-1.9999999999999998" data-type="line" data-label="" points="277.0530950301392,139.314717742803 277.0530950301392,131.26217306095407 269.00055034829035,131.26217306095407" fill="none" stroke="purple" stroke-width="1" />
811
+ </g>
812
+ <g>
813
+ <polyline data-points="3.6000000000000005,1.7000000000000017 0.3000000000000007,1.7000000000000017 0.3000000000000007,-1.7500000000000002 -3,-1.7500000000000002 -3,-1.55" data-type="line" data-label="" points="413.0516274346983,65.05236123241875 353.99963310113975,65.05236123241875 353.99963310113975,126.7885371265936 294.9476387675812,126.7885371265936 294.9476387675812,123.2096283791052" fill="none" stroke="purple" stroke-width="1" />
814
+ </g>
815
+ <g>
816
+ <polyline data-points="-5.550000000000001,-1.9999999999999998 -5.750000000000001,-1.9999999999999998 -5.750000000000001,-3.4 -8.4,-3.4" data-type="line" data-label="" points="249.31655223710416,131.26217306095407 245.73764348961578,131.26217306095407 245.73764348961578,156.31453429337284 198.31710258539454,156.31453429337284" fill="none" stroke="purple" stroke-width="1" />
817
+ </g>
818
+ <g>
819
+ <polyline data-points="-4.449999999999999,-4 -4,-4 -4,-3.55" data-type="line" data-label="" points="269.00055034829035,167.05126053583803 277.0530950301392,167.05126053583803 277.0530950301392,158.99871585398915" fill="none" stroke="purple" stroke-width="1" />
820
+ </g>
821
+ <g>
822
+ <polyline data-points="-3,-4.449999999999999 -3,-4 -4.449999999999999,-4" data-type="line" data-label="" points="294.9476387675812,175.1038052176869 294.9476387675812,167.05126053583803 269.00055034829035,167.05126053583803" fill="none" stroke="purple" stroke-width="1" />
823
+ </g>
824
+ <g>
825
+ <polyline data-points="-5.550000000000001,-4 -6.9750000000000005,-4 -6.9750000000000005,-3.8 -8.4,-3.8" data-type="line" data-label="" points="249.31655223710416,167.05126053583803 223.81682741124934,167.05126053583803 223.81682741124934,163.47235178834964 198.31710258539454,163.47235178834964" fill="none" stroke="purple" stroke-width="1" />
826
+ </g>
827
+ <g>
828
+ <polyline data-points="-4,-6.449999999999999 -4,-6 -3,-6 -3,-5.550000000000001" data-type="line" data-label="" points="277.0530950301392,210.89289269257085 277.0530950301392,202.84034801072198 294.9476387675812,202.84034801072198 294.9476387675812,194.7878033288731" fill="none" stroke="purple" stroke-width="1" />
829
+ </g>
830
+ <g>
831
+ <polyline data-points="-4.449999999999999,-6 -4,-6 -4,-6.449999999999999" data-type="line" data-label="" points="269.00055034829035,202.84034801072198 277.0530950301392,202.84034801072198 277.0530950301392,210.89289269257085" fill="none" stroke="purple" stroke-width="1" />
832
+ </g>
833
+ <g>
834
+ <polyline data-points="-5.550000000000001,-6 -5.750000000000001,-6 -5.750000000000001,-4.2 -8.4,-4.2" data-type="line" data-label="" points="249.31655223710416,202.84034801072198 245.73764348961578,202.84034801072198 245.73764348961578,170.63016928332644 198.31710258539454,170.63016928332644" fill="none" stroke="purple" stroke-width="1" />
835
+ </g>
836
+ <g>
837
+ <polyline data-points="-4.449999999999999,-8 -4,-8 -4,-7.550000000000001" data-type="line" data-label="" points="269.00055034829035,238.62943548560594 277.0530950301392,238.62943548560594 277.0530950301392,230.57689080375707" fill="none" stroke="purple" stroke-width="1" />
838
+ </g>
839
+ <g>
840
+ <polyline data-points="-3,-8.45 -3,-8 -4,-8 -4,-7.550000000000001" data-type="line" data-label="" points="294.9476387675812,246.6819801674548 294.9476387675812,238.62943548560594 277.0530950301392,238.62943548560594 277.0530950301392,230.57689080375707" fill="none" stroke="purple" stroke-width="1" />
841
+ </g>
842
+ <g>
843
+ <polyline data-points="-5.550000000000001,-8 -6.9750000000000005,-8 -6.9750000000000005,-4.6 -8.4,-4.6" data-type="line" data-label="" points="249.31655223710416,238.62943548560594 223.81682741124934,238.62943548560594 223.81682741124934,177.7879867783032 198.31710258539454,177.7879867783032" fill="none" stroke="purple" stroke-width="1" />
844
+ </g>
845
+ <g>
846
+ <polyline data-points="-4,-10.45 -4,-10 -3,-10 -3,-9.55" data-type="line" data-label="" points="277.0530950301392,282.47106764233877 277.0530950301392,274.4185229604899 294.9476387675812,274.4185229604899 294.9476387675812,266.365978278641" fill="none" stroke="purple" stroke-width="1" />
847
+ </g>
848
+ <g>
849
+ <polyline data-points="-4.449999999999999,-10 -4,-10 -4,-10.45" data-type="line" data-label="" points="269.00055034829035,274.4185229604899 277.0530950301392,274.4185229604899 277.0530950301392,282.47106764233877" fill="none" stroke="purple" stroke-width="1" />
850
+ </g>
851
+ <g>
852
+ <polyline data-points="-5.550000000000001,-10 -5.750000000000001,-10.1 -7.075,-10.1 -7.075,-5 -8.4,-5" data-type="line" data-label="" points="249.31655223710416,274.4185229604899 245.73764348961578,276.2079773342341 222.02737303750516,276.2079773342341 222.02737303750516,184.94580427328003 198.31710258539454,184.94580427328003" fill="none" stroke="purple" stroke-width="1" />
853
+ </g>
854
+ <g>
855
+ <polyline data-points="-4,-11.55 -4,-12 -3,-12 -3,-12.45" data-type="line" data-label="" points="277.0530950301392,302.1550657535249 277.0530950301392,310.2076104353738 294.9476387675812,310.2076104353738 294.9476387675812,318.2601551172227" fill="none" stroke="purple" stroke-width="1" />
856
+ </g>
857
+ <g>
858
+ <polyline data-points="-4.449999999999999,-12 -4,-12 -4,-11.55" data-type="line" data-label="" points="269.00055034829035,310.2076104353738 277.0530950301392,310.2076104353738 277.0530950301392,302.1550657535249" fill="none" stroke="purple" stroke-width="1" />
859
+ </g>
860
+ <g>
861
+ <polyline data-points="-5.550000000000001,-12 -6.9750000000000005,-12 -6.9750000000000005,-9.2 -8.4,-9.2" data-type="line" data-label="" points="249.31655223710416,310.2076104353738 223.81682741124934,310.2076104353738 223.81682741124934,260.1028879705363 198.31710258539454,260.1028879705363" fill="none" stroke="purple" stroke-width="1" />
862
+ </g>
863
+ <g>
864
+ <polyline data-points="-4,-14.45 -4,-14 -3,-14 -3,-13.55" data-type="line" data-label="" points="277.0530950301392,354.0492425921067 277.0530950301392,345.9966979102578 294.9476387675812,345.9966979102578 294.9476387675812,337.94415322840894" fill="none" stroke="purple" stroke-width="1" />
865
+ </g>
866
+ <g>
867
+ <polyline data-points="-4.449999999999999,-14 -4,-14 -4,-14.45" data-type="line" data-label="" points="269.00055034829035,345.9966979102578 277.0530950301392,345.9966979102578 277.0530950301392,354.0492425921067" fill="none" stroke="purple" stroke-width="1" />
868
+ </g>
869
+ <g>
870
+ <polyline data-points="-5.550000000000001,-14 -6.775000000000001,-14 -6.775000000000001,-9.6 -8.4,-9.6" data-type="line" data-label="" points="249.31655223710416,345.9966979102578 227.39573615873775,345.9966979102578 227.39573615873775,267.26070546551307 198.31710258539454,267.26070546551307" fill="none" stroke="purple" stroke-width="1" />
871
+ </g>
872
+ <g>
873
+ <polyline data-points="-4.449999999999999,-16 -4,-16 -4,-15.55" data-type="line" data-label="" points="269.00055034829035,381.7857853851417 277.0530950301392,381.7857853851417 277.0530950301392,373.73324070329284" fill="none" stroke="purple" stroke-width="1" />
874
+ </g>
875
+ <g>
876
+ <polyline data-points="-3,-16.45 -3,-16 -4,-16 -4,-15.55" data-type="line" data-label="" points="294.9476387675812,389.8383300669906 294.9476387675812,381.7857853851417 277.0530950301392,381.7857853851417 277.0530950301392,373.73324070329284" fill="none" stroke="purple" stroke-width="1" />
877
+ </g>
878
+ <g>
879
+ <polyline data-points="-5.550000000000001,-16 -6.875000000000001,-16 -6.875000000000001,-9.9 -8.200000000000001,-9.9 -8.4,-10" data-type="line" data-label="" points="249.31655223710416,381.7857853851417 225.60628178499354,381.7857853851417 225.60628178499354,272.6290685867457 201.89601133288292,272.6290685867457 198.31710258539454,274.4185229604899" fill="none" stroke="purple" stroke-width="1" />
880
+ </g>
881
+ <g>
882
+ <polyline data-points="-4,-18.45 -4,-18 -3,-18 -3,-17.55" data-type="line" data-label="" points="277.0530950301392,425.6274175418746 277.0530950301392,417.5748728600257 294.9476387675812,417.5748728600257 294.9476387675812,409.52232817817685" fill="none" stroke="purple" stroke-width="1" />
883
+ </g>
884
+ <g>
885
+ <polyline data-points="-4.449999999999999,-18 -4,-18 -4,-18.45" data-type="line" data-label="" points="269.00055034829035,417.5748728600257 277.0530950301392,417.5748728600257 277.0530950301392,425.6274175418746" fill="none" stroke="purple" stroke-width="1" />
886
+ </g>
887
+ <g>
888
+ <polyline data-points="-4.449999999999999,-20 -4,-20 -4,-19.55" data-type="line" data-label="" points="269.00055034829035,453.3639603349096 277.0530950301392,453.3639603349096 277.0530950301392,445.31141565306075" fill="none" stroke="purple" stroke-width="1" />
889
+ </g>
890
+ <g>
891
+ <polyline data-points="-3,-20.45 -3,-20 -4,-20 -4,-19.55" data-type="line" data-label="" points="294.9476387675812,461.4165050167585 294.9476387675812,453.3639603349096 277.0530950301392,453.3639603349096 277.0530950301392,445.31141565306075" fill="none" stroke="purple" stroke-width="1" />
892
+ </g>
893
+ <g>
894
+ <polyline data-points="-4,-22.45 -4,-22 -3,-22 -3,-21.55" data-type="line" data-label="" points="277.0530950301392,497.2055924916425 277.0530950301392,489.15304780979363 294.9476387675812,489.15304780979363 294.9476387675812,481.10050312794476" fill="none" stroke="purple" stroke-width="1" />
895
+ </g>
896
+ <g>
897
+ <polyline data-points="-4.449999999999999,-22 -4,-22 -4,-22.45" data-type="line" data-label="" points="269.00055034829035,489.15304780979363 277.0530950301392,489.15304780979363 277.0530950301392,497.2055924916425" fill="none" stroke="purple" stroke-width="1" />
898
+ </g>
899
+ <g>
900
+ <polyline data-points="-5.550000000000001,-22 -6.9750000000000005,-22 -6.9750000000000005,-15 -8.4,-15" data-type="line" data-label="" points="249.31655223710416,489.15304780979363 223.81682741124934,489.15304780979363 223.81682741124934,363.89124164769976 198.31710258539454,363.89124164769976" fill="none" stroke="purple" stroke-width="1" />
901
+ </g>
902
+ <g>
903
+ <polyline data-points="-4.449999999999999,-24 -4,-24 -4,-23.55" data-type="line" data-label="" points="269.00055034829035,524.9421352846775 277.0530950301392,524.9421352846775 277.0530950301392,516.8895906028287" fill="none" stroke="purple" stroke-width="1" />
904
+ </g>
905
+ <g>
906
+ <polyline data-points="-3,-24.45 -3,-24 -4,-24 -4,-23.55" data-type="line" data-label="" points="294.9476387675812,532.9946799665264 294.9476387675812,524.9421352846775 277.0530950301392,524.9421352846775 277.0530950301392,516.8895906028287" fill="none" stroke="purple" stroke-width="1" />
907
+ </g>
908
+ <g>
909
+ <polyline data-points="-4,-26.45 -4,-26 -3,-26 -3,-25.55" data-type="line" data-label="" points="277.0530950301392,568.7837674414103 277.0530950301392,560.7312227595614 294.9476387675812,560.7312227595614 294.9476387675812,552.6786780777126" fill="none" stroke="purple" stroke-width="1" />
910
+ </g>
911
+ <g>
912
+ <polyline data-points="-4.449999999999999,-26 -4,-26 -4,-26.45" data-type="line" data-label="" points="269.00055034829035,560.7312227595614 277.0530950301392,560.7312227595614 277.0530950301392,568.7837674414103" fill="none" stroke="purple" stroke-width="1" />
913
+ </g>
914
+ <g>
915
+ <rect data-type="rect" data-label="schematic_component_0" data-x="-5" data-y="0" x="249.31655223710416" y="91.99339582051556" width="19.683998111186185" height="6.959379531109164" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
916
+ </g>
917
+ <g>
918
+ <rect data-type="rect" data-label="schematic_component_1" data-x="-3" data-y="-1" x="290.2055846771591" y="103.52563026791903" width="9.48410818084426" height="19.68399811118617" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
919
+ </g>
920
+ <g>
921
+ <rect data-type="rect" data-label="schematic_component_2" data-x="-5" data-y="-2" x="249.31655223710416" y="127.78248329539952" width="19.683998111186185" height="6.959379531109164" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
922
+ </g>
923
+ <g>
924
+ <rect data-type="rect" data-label="schematic_component_3" data-x="-4" data-y="-3" x="272.31104093971715" y="139.314717742803" width="9.484108180844203" height="19.683998111186156" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
925
+ </g>
926
+ <g>
927
+ <rect data-type="rect" data-label="schematic_component_4" data-x="-5" data-y="-4" x="249.31655223710416" y="163.57157077028347" width="19.683998111186185" height="6.9593795311091355" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
928
+ </g>
929
+ <g>
930
+ <rect data-type="rect" data-label="schematic_component_5" data-x="-3" data-y="-5" x="290.2055846771591" y="175.1038052176869" width="9.48410818084426" height="19.683998111186213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
931
+ </g>
932
+ <g>
933
+ <rect data-type="rect" data-label="schematic_component_6" data-x="-5" data-y="-6" x="249.31655223710416" y="199.36065824516743" width="19.683998111186185" height="6.9593795311091355" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
934
+ </g>
935
+ <g>
936
+ <rect data-type="rect" data-label="schematic_component_7" data-x="-4" data-y="-7" x="272.31104093971715" y="210.89289269257085" width="9.484108180844203" height="19.683998111186213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
937
+ </g>
938
+ <g>
939
+ <rect data-type="rect" data-label="schematic_component_8" data-x="-5" data-y="-8" x="249.31655223710416" y="235.14974572005136" width="19.683998111186185" height="6.959379531109164" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
940
+ </g>
941
+ <g>
942
+ <rect data-type="rect" data-label="schematic_component_9" data-x="-3" data-y="-9" x="290.2055846771591" y="246.6819801674548" width="9.48410818084426" height="19.683998111186213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
943
+ </g>
944
+ <g>
945
+ <rect data-type="rect" data-label="schematic_component_10" data-x="-5" data-y="-10" x="249.31655223710416" y="270.9388331949353" width="19.683998111186185" height="6.959379531109164" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
946
+ </g>
947
+ <g>
948
+ <rect data-type="rect" data-label="schematic_component_11" data-x="-4" data-y="-11" x="272.31104093971715" y="282.47106764233877" width="9.484108180844203" height="19.683998111186156" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
949
+ </g>
950
+ <g>
951
+ <rect data-type="rect" data-label="schematic_component_12" data-x="-5" data-y="-12" x="249.31655223710416" y="306.72792066981924" width="19.683998111186185" height="6.959379531109221" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
952
+ </g>
953
+ <g>
954
+ <rect data-type="rect" data-label="schematic_component_13" data-x="-3" data-y="-13" x="290.2055846771591" y="318.2601551172227" width="9.48410818084426" height="19.683998111186213" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
955
+ </g>
956
+ <g>
957
+ <rect data-type="rect" data-label="schematic_component_14" data-x="-5" data-y="-14" x="249.31655223710416" y="342.5170081447032" width="19.683998111186185" height="6.959379531109164" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
958
+ </g>
959
+ <g>
960
+ <rect data-type="rect" data-label="schematic_component_15" data-x="-4" data-y="-15" x="272.31104093971715" y="354.0492425921067" width="9.484108180844203" height="19.683998111186156" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
961
+ </g>
962
+ <g>
963
+ <rect data-type="rect" data-label="schematic_component_16" data-x="-5" data-y="-16" x="249.31655223710416" y="378.30609561958715" width="19.683998111186185" height="6.959379531109107" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
964
+ </g>
965
+ <g>
966
+ <rect data-type="rect" data-label="schematic_component_17" data-x="-3" data-y="-17" x="290.2055846771591" y="389.8383300669906" width="9.48410818084426" height="19.68399811118627" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
967
+ </g>
968
+ <g>
969
+ <rect data-type="rect" data-label="schematic_component_18" data-x="-5" data-y="-18" x="249.31655223710416" y="414.09518309447117" width="19.683998111186185" height="6.959379531109107" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
970
+ </g>
971
+ <g>
972
+ <rect data-type="rect" data-label="schematic_component_19" data-x="-4" data-y="-19" x="272.31104093971715" y="425.6274175418746" width="9.484108180844203" height="19.683998111186156" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
973
+ </g>
974
+ <g>
975
+ <rect data-type="rect" data-label="schematic_component_20" data-x="-5" data-y="-20" x="249.31655223710416" y="449.88427056935507" width="19.683998111186185" height="6.959379531109107" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
976
+ </g>
977
+ <g>
978
+ <rect data-type="rect" data-label="schematic_component_21" data-x="-3" data-y="-21" x="290.2055846771591" y="461.4165050167585" width="9.48410818084426" height="19.68399811118627" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
979
+ </g>
980
+ <g>
981
+ <rect data-type="rect" data-label="schematic_component_22" data-x="-5" data-y="-22" x="249.31655223710416" y="485.6733580442391" width="19.683998111186185" height="6.959379531109107" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
982
+ </g>
983
+ <g>
984
+ <rect data-type="rect" data-label="schematic_component_23" data-x="-4" data-y="-23" x="272.31104093971715" y="497.2055924916425" width="9.484108180844203" height="19.683998111186156" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
985
+ </g>
986
+ <g>
987
+ <rect data-type="rect" data-label="schematic_component_24" data-x="-5" data-y="-24" x="249.31655223710416" y="521.462445519123" width="19.683998111186185" height="6.959379531109107" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
988
+ </g>
989
+ <g>
990
+ <rect data-type="rect" data-label="schematic_component_25" data-x="-3" data-y="-25" x="290.2055846771591" y="532.9946799665264" width="9.48410818084426" height="19.683998111186156" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
991
+ </g>
992
+ <g>
993
+ <rect data-type="rect" data-label="schematic_component_26" data-x="-5" data-y="-26" x="249.31655223710416" y="557.2515329940069" width="19.683998111186185" height="6.959379531109107" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
994
+ </g>
995
+ <g>
996
+ <rect data-type="rect" data-label="schematic_component_27" data-x="-4" data-y="-27" x="272.31104093971715" y="568.7837674414103" width="9.484108180844203" height="19.68399811118627" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
997
+ </g>
998
+ <g>
999
+ <rect data-type="rect" data-label="schematic_component_28" data-x="-5" data-y="-28" x="249.31655223710416" y="593.0406204688909" width="19.683998111186185" height="6.959379531109107" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
1000
+ </g>
1001
+ <g>
1002
+ <rect data-type="rect" data-label="schematic_component_29" data-x="5" data-y="0" x="413.0516274346982" y="39.99999999999999" width="50.10472246483755" height="110.94617117214028" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
1003
+ </g>
1004
+ <g>
1005
+ <rect data-type="rect" data-label="schematic_component_30" data-x="-9" data-y="-4" x="176.84365010046417" y="145.57780805090766" width="21.473452484930363" height="42.94690496986075" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
1006
+ </g>
1007
+ <g>
1008
+ <rect data-type="rect" data-label="schematic_component_31" data-x="-9" data-y="-10" x="176.84365010046417" y="256.52397922304795" width="21.473452484930363" height="35.7890874748839" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
1009
+ </g>
1010
+ <g>
1011
+ <rect data-type="rect" data-label="schematic_component_32" data-x="-9" data-y="-16" x="176.84365010046417" y="360.31233290021135" width="21.473452484930363" height="42.946904969860725" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.05588295598214286" />
1012
+ </g>
1013
+ <g>
1014
+ <rect data-type="rect" data-label="" data-x="-6.262500000000001" data-y="0.225" x="234.77723545043256" y="87.42054090422126" width="3.5789087474883843" height="8.052544681848886" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1015
+ </g>
1016
+ <g>
1017
+ <rect data-type="rect" data-label="" data-x="0.2999999999999998" data-y="2.1250000000000013" x="352.21017872739554" y="53.42090780308148" width="3.578908747488356" height="8.052544681848893" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1018
+ </g>
1019
+ <g>
1020
+ <rect data-type="rect" data-label="" data-x="1.9500000000000006" data-y="1.4750000000000016" x="381.7361758941748" y="65.05236123241875" width="3.5789087474884127" height="8.0525446818489" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1021
+ </g>
1022
+ <g>
1023
+ <rect data-type="rect" data-label="" data-x="-5.750000000000001" data-y="-1.7749999999999997" x="243.94818911587157" y="123.2096283791052" width="3.5789087474883843" height="8.052544681848872" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1024
+ </g>
1025
+ <g>
1026
+ <rect data-type="rect" data-label="" data-x="-2.775" data-y="-4.225" x="294.9476387675812" y="169.28807850301828" width="8.052544681848872" height="3.5789087474883843" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1027
+ </g>
1028
+ <g>
1029
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="1.5000000000000013" x="404.9811882091119" y="66.84181560616295" width="8.052544681848872" height="3.5789087474883985" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1030
+ </g>
1031
+ <g>
1032
+ <rect data-type="rect" data-label="" data-x="-6.262500000000001" data-y="-3.775" x="234.77723545043256" y="158.99871585398915" width="3.5789087474883843" height="8.052544681848872" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1033
+ </g>
1034
+ <g>
1035
+ <rect data-type="rect" data-label="" data-x="-3.775" data-y="-6.225" x="277.0530950301392" y="205.07716597790224" width="8.052544681848929" height="3.5789087474883843" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1036
+ </g>
1037
+ <g>
1038
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="1.3000000000000014" x="404.9811882091119" y="70.42072435365135" width="8.052544681848872" height="3.5789087474883985" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1039
+ </g>
1040
+ <g>
1041
+ <rect data-type="rect" data-label="" data-x="-5.750000000000001" data-y="-6.225" x="243.94818911587157" y="202.84034801072198" width="3.5789087474883843" height="8.052544681848872" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1042
+ </g>
1043
+ <g>
1044
+ <rect data-type="rect" data-label="" data-x="-4.225" data-y="-8.225" x="271.2373683154706" y="238.62943548560594" width="3.5789087474884127" height="8.052544681848872" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1045
+ </g>
1046
+ <g>
1047
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="1.1000000000000014" x="404.9811882091119" y="73.99963310113975" width="8.052544681848872" height="3.5789087474883843" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1048
+ </g>
1049
+ <g>
1050
+ <rect data-type="rect" data-label="" data-x="-6.262500000000001" data-y="-7.775" x="234.77723545043256" y="230.57689080375707" width="3.5789087474883843" height="8.052544681848872" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1051
+ </g>
1052
+ <g>
1053
+ <rect data-type="rect" data-label="" data-x="-3.775" data-y="-10.225" x="277.0530950301392" y="276.6553409276701" width="8.052544681848929" height="3.578908747488356" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1054
+ </g>
1055
+ <g>
1056
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="0.7000000000000015" x="404.9811882091119" y="81.15745059611653" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1057
+ </g>
1058
+ <g>
1059
+ <rect data-type="rect" data-label="" data-x="-5.750000000000001" data-y="-9.875" x="243.94818911587157" y="268.15543265238523" width="3.5789087474883843" height="8.052544681848872" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1060
+ </g>
1061
+ <g>
1062
+ <rect data-type="rect" data-label="" data-x="-3.775" data-y="-11.775" x="277.0530950301392" y="304.3918837207052" width="8.052544681848929" height="3.5789087474884127" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1063
+ </g>
1064
+ <g>
1065
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="0.5000000000000013" x="404.9811882091119" y="84.73635934360493" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1066
+ </g>
1067
+ <g>
1068
+ <rect data-type="rect" data-label="" data-x="-6.262500000000001" data-y="-11.775" x="234.77723545043256" y="302.1550657535249" width="3.5789087474883843" height="8.052544681848872" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1069
+ </g>
1070
+ <g>
1071
+ <rect data-type="rect" data-label="" data-x="-3.775" data-y="-14.225" x="277.0530950301392" y="348.23351587743804" width="8.052544681848929" height="3.578908747488356" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1072
+ </g>
1073
+ <g>
1074
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="0.30000000000000115" x="404.9811882091119" y="88.31526809109333" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1075
+ </g>
1076
+ <g>
1077
+ <rect data-type="rect" data-label="" data-x="-6.162500000000001" data-y="-13.775" x="236.56668982417676" y="337.94415322840894" width="3.578908747488356" height="8.052544681848872" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1078
+ </g>
1079
+ <g>
1080
+ <rect data-type="rect" data-label="" data-x="-4.225" data-y="-16.225" x="271.2373683154706" y="381.7857853851417" width="3.5789087474884127" height="8.052544681848985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1081
+ </g>
1082
+ <g>
1083
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="-0.0999999999999992" x="404.9811882091119" y="95.47308558607013" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1084
+ </g>
1085
+ <g>
1086
+ <rect data-type="rect" data-label="" data-x="-6.2125" data-y="-15.775" x="235.67196263730466" y="373.73324070329284" width="3.5789087474883843" height="8.052544681848872" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1087
+ </g>
1088
+ <g>
1089
+ <rect data-type="rect" data-label="" data-x="-3.775" data-y="-18.225" x="277.0530950301392" y="419.8116908272059" width="8.052544681848929" height="3.5789087474885264" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1090
+ </g>
1091
+ <g>
1092
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="-0.2999999999999994" x="404.9811882091119" y="99.05199433355853" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1093
+ </g>
1094
+ <g>
1095
+ <rect data-type="rect" data-label="" data-x="-5.776000000000001" data-y="-18" x="241.24611301151782" y="415.7854184862815" width="8.052544681848872" height="3.5789087474884127" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1096
+ </g>
1097
+ <g>
1098
+ <rect data-type="rect" data-label="" data-x="-8.174000000000001" data-y="-10.4" x="198.33499712913198" y="279.7868860817225" width="8.052544681848872" height="3.578908747488356" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1099
+ </g>
1100
+ <g>
1101
+ <rect data-type="rect" data-label="" data-x="-4.225" data-y="-20.225" x="271.2373683154706" y="453.3639603349096" width="3.5789087474884127" height="8.052544681848985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1102
+ </g>
1103
+ <g>
1104
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="-0.49999999999999956" x="404.9811882091119" y="102.63090308104692" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1105
+ </g>
1106
+ <g>
1107
+ <rect data-type="rect" data-label="" data-x="-5.776000000000001" data-y="-20" x="241.24611301151782" y="451.5745059611654" width="8.052544681848872" height="3.5789087474884127" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1108
+ </g>
1109
+ <g>
1110
+ <rect data-type="rect" data-label="" data-x="-8.174000000000001" data-y="-10.8" x="198.33499712913198" y="286.9447035766993" width="8.052544681848872" height="3.578908747488356" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1111
+ </g>
1112
+ <g>
1113
+ <rect data-type="rect" data-label="" data-x="-3.775" data-y="-22.225" x="277.0530950301392" y="491.3898657769738" width="8.052544681848929" height="3.5789087474885264" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1114
+ </g>
1115
+ <g>
1116
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="-0.6999999999999997" x="404.9811882091119" y="106.20981182853532" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1117
+ </g>
1118
+ <g>
1119
+ <rect data-type="rect" data-label="" data-x="-6.262500000000001" data-y="-21.775" x="234.77723545043256" y="481.10050312794465" width="3.5789087474883843" height="8.052544681848985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1120
+ </g>
1121
+ <g>
1122
+ <rect data-type="rect" data-label="" data-x="-4.225" data-y="-24.225" x="271.2373683154706" y="524.9421352846775" width="3.5789087474884127" height="8.052544681848985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1123
+ </g>
1124
+ <g>
1125
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="-0.8999999999999999" x="404.9811882091119" y="109.78872057602372" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1126
+ </g>
1127
+ <g>
1128
+ <rect data-type="rect" data-label="" data-x="-5.776000000000001" data-y="-24" x="241.24611301151782" y="523.1526809109333" width="8.052544681848872" height="3.5789087474884127" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1129
+ </g>
1130
+ <g>
1131
+ <rect data-type="rect" data-label="" data-x="-8.174000000000001" data-y="-15.4" x="198.33499712913198" y="369.2596047689324" width="8.052544681848872" height="3.5789087474884127" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1132
+ </g>
1133
+ <g>
1134
+ <rect data-type="rect" data-label="" data-x="-3.775" data-y="-26.225" x="277.0530950301392" y="562.9680407267417" width="8.052544681848929" height="3.5789087474884127" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1135
+ </g>
1136
+ <g>
1137
+ <rect data-type="rect" data-label="" data-x="3.3739999999999997" data-y="-1.0999999999999996" x="404.9811882091119" y="113.3676293235121" width="8.052544681848872" height="3.5789087474883985" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1138
+ </g>
1139
+ <g>
1140
+ <rect data-type="rect" data-label="" data-x="-5.776000000000001" data-y="-26" x="241.24611301151782" y="558.9417683858172" width="8.052544681848872" height="3.5789087474885264" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1141
+ </g>
1142
+ <g>
1143
+ <rect data-type="rect" data-label="" data-x="-8.174000000000001" data-y="-15.8" x="198.33499712913198" y="376.4174222639092" width="8.052544681848872" height="3.578908747488299" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1144
+ </g>
1145
+ <g>
1146
+ <rect data-type="rect" data-label="" data-x="-5.776000000000001" data-y="-28" x="241.24611301151782" y="594.7308558607012" width="8.052544681848872" height="3.5789087474884127" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1147
+ </g>
1148
+ <g>
1149
+ <rect data-type="rect" data-label="" data-x="-8.174000000000001" data-y="-16.2" x="198.33499712913198" y="383.5752397588859" width="8.052544681848872" height="3.5789087474884127" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05588295598214286" />
1150
+ </g>
1151
+ <g id="crosshair" style="display: none">
1152
+ <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
1153
+ <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>
1154
+ </g>
1155
+ <script>
1156
+ <![CDATA[
1157
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
1158
+ const svg = e.currentTarget;
1159
+ const rect = svg.getBoundingClientRect();
1160
+ const x = e.clientX - rect.left;
1161
+ const y = e.clientY - rect.top;
1162
+ const crosshair = svg.getElementById('crosshair');
1163
+ const h = svg.getElementById('crosshair-h');
1164
+ const v = svg.getElementById('crosshair-v');
1165
+ const coords = svg.getElementById('coordinates');
1166
+
1167
+ crosshair.style.display = 'block';
1168
+ h.setAttribute('x1', '0');
1169
+ h.setAttribute('x2', '640');
1170
+ h.setAttribute('y1', y);
1171
+ h.setAttribute('y2', y);
1172
+ v.setAttribute('x1', x);
1173
+ v.setAttribute('x2', x);
1174
+ v.setAttribute('y1', '0');
1175
+ v.setAttribute('y2', '640');
1176
+
1177
+ // Calculate real coordinates using inverse transformation
1178
+ const matrix = {
1179
+ "a": 17.894543737441975,
1180
+ "c": 0,
1181
+ "e": 348.63126997990713,
1182
+ "b": 0,
1183
+ "d": -17.894543737441975,
1184
+ "f": 95.47308558607014
1185
+ };
1186
+ // Manually invert and apply the affine transform
1187
+ // Since we only use translate and scale, we can directly compute:
1188
+ // x' = (x - tx) / sx
1189
+ // y' = (y - ty) / sy
1190
+ const sx = matrix.a;
1191
+ const sy = matrix.d;
1192
+ const tx = matrix.e;
1193
+ const ty = matrix.f;
1194
+ const realPoint = {
1195
+ x: (x - tx) / sx,
1196
+ y: (y - ty) / sy // Flip y back since we used negative scale
1197
+ }
1198
+
1199
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
1200
+ coords.setAttribute('x', (x + 5).toString());
1201
+ coords.setAttribute('y', (y - 5).toString());
1202
+ });
1203
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
1204
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
1205
+ });
1206
+ ]]>
1207
+ </script>
1208
+ </svg>