Files
modeling-app/rust/kcl-lib/tests/kcl_samples/gridfinity-bins-stacking-lip/artifact_graph_flowchart.snap.md
Adam Chalmers 85ccc6900c Do multiple chamfer/fillet in one API call (#6750)
KCL's `fillet` function takes an array of edges to fillet. Previously this would do `n` fillet API commands, one per edge. This PR combines them all into one call, which should improve performance. You can see the effect in the  artifact_commands snapshots, e.g. `rust/kcl-lib/tests/kcl_samples/axial-fan/artifact_commands.snap` 

Besides performance, this should fix a bug where some KCL fillets would fail, when they should have succeeded. Example from @max-mrgrsk:

```kcl
sketch001 = startSketchOn(XY)
  |> startProfile(at = [-12, -6])
  |> line(end = [0, 12], tag = $seg04)
  |> line(end = [24, 0], tag = $seg03)
  |> line(end = [0, -12], tag = $seg02)
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg01)
  |> close()
extrude001 = extrude(
       sketch001,
       length = 12,
       tagEnd = $capEnd001,
       tagStart = $capStart001,
     )
  |> fillet(
       radius = 5,
       tags = [
         getCommonEdge(faces = [seg02, capEnd001]),
         getCommonEdge(faces = [seg01, capEnd001]),
         getCommonEdge(faces = [seg03, capEnd001]),
         getCommonEdge(faces = [seg04, capEnd001])
       ],
     )
```

This program fails on main, but succeeds on this branch.
2025-05-22 21:25:55 +00:00

36 KiB

flowchart LR
  subgraph path13 [Path]
    13["Path<br>[1206, 1252, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    22["Segment<br>[1260, 1282, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    25["Segment<br>[1290, 1320, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    26["Segment<br>[1328, 1372, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    28["Segment<br>[1380, 1407, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    30["Segment<br>[1415, 1459, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    32["Segment<br>[1467, 1474, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    80[Solid2d]
  end
  subgraph path14 [Path]
    14["Path<br>[1206, 1252, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    23["Segment<br>[1260, 1282, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    24["Segment<br>[1290, 1320, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    27["Segment<br>[1328, 1372, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    29["Segment<br>[1380, 1407, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    31["Segment<br>[1415, 1459, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    33["Segment<br>[1467, 1474, 0]"]
      %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    83[Solid2d]
  end
  subgraph path15 [Path]
    15["Path<br>[2515, 2603, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    34["Segment<br>[2609, 2673, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    35["Segment<br>[2679, 2743, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    36["Segment<br>[2749, 2802, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    37["Segment<br>[2808, 2829, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    79[Solid2d]
  end
  subgraph path16 [Path]
    16["Path<br>[3160, 3326, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    38["Segment<br>[3160, 3326, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    82[Solid2d]
  end
  subgraph path17 [Path]
    17["Path<br>[4610, 4635, 0]"]
      %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    39["Segment<br>[4641, 4713, 0]"]
      %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    40["Segment<br>[4719, 4792, 0]"]
      %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    41["Segment<br>[4798, 4851, 0]"]
      %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    42["Segment<br>[4857, 4878, 0]"]
      %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    75[Solid2d]
  end
  subgraph path18 [Path]
    18["Path<br>[5346, 5371, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    43["Segment<br>[5431, 5474, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    50["Segment<br>[5482, 5602, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    53["Segment<br>[5665, 5714, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    57["Segment<br>[5722, 5747, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    60["Segment<br>[5755, 5798, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    63["Segment<br>[5806, 5831, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    69["Segment<br>[5839, 5883, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    71["Segment<br>[5891, 5898, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    76[Solid2d]
  end
  subgraph path19 [Path]
    19["Path<br>[5346, 5371, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    46["Segment<br>[5431, 5474, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    48["Segment<br>[5482, 5602, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    54["Segment<br>[5665, 5714, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    56["Segment<br>[5722, 5747, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    59["Segment<br>[5755, 5798, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    66["Segment<br>[5806, 5831, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    68["Segment<br>[5839, 5883, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    74["Segment<br>[5891, 5898, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    77[Solid2d]
  end
  subgraph path20 [Path]
    20["Path<br>[5346, 5371, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    44["Segment<br>[5431, 5474, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    47["Segment<br>[5482, 5602, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    52["Segment<br>[5665, 5714, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    55["Segment<br>[5722, 5747, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    62["Segment<br>[5755, 5798, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    65["Segment<br>[5806, 5831, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    70["Segment<br>[5839, 5883, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    73["Segment<br>[5891, 5898, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    78[Solid2d]
  end
  subgraph path21 [Path]
    21["Path<br>[5346, 5371, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    45["Segment<br>[5431, 5474, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    49["Segment<br>[5482, 5602, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    51["Segment<br>[5665, 5714, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    58["Segment<br>[5722, 5747, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    61["Segment<br>[5755, 5798, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    64["Segment<br>[5806, 5831, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    67["Segment<br>[5839, 5883, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    72["Segment<br>[5891, 5898, 0]"]
      %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    81[Solid2d]
  end
  1["Plane<br>[1560, 1607, 0]"]
    %% [ProgramBodyItem { index: 24 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwUnlabeledArg, CallKwUnlabeledArg]
  2["Plane<br>[2139, 2186, 0]"]
    %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwUnlabeledArg, CallKwUnlabeledArg]
  3["Plane<br>[2492, 2509, 0]"]
    %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  4["Plane<br>[4571, 4603, 0]"]
    %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  5["Plane<br>[5318, 5338, 0]"]
    %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  6["Plane<br>[5318, 5338, 0]"]
    %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  7["Plane<br>[5318, 5338, 0]"]
    %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  8["Plane<br>[5318, 5338, 0]"]
    %% [ProgramBodyItem { index: 35 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  9["StartSketchOnPlane<br>[1178, 1198, 0]"]
    %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  10["StartSketchOnPlane<br>[1178, 1198, 0]"]
    %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  11["StartSketchOnPlane<br>[4557, 4604, 0]"]
    %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  12["StartSketchOnFace<br>[3112, 3154, 0]"]
    %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  84["Sweep Extrusion<br>[1547, 1650, 0]"]
    %% [ProgramBodyItem { index: 24 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  85["Sweep Revolve<br>[2126, 2217, 0]"]
    %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  86["Sweep Extrusion<br>[2835, 2859, 0]"]
    %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
  87["Sweep Extrusion<br>[3548, 3575, 0]"]
    %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  88["Sweep Extrusion<br>[3548, 3575, 0]"]
    %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  89["Sweep Extrusion<br>[3548, 3575, 0]"]
    %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  90["Sweep Extrusion<br>[3548, 3575, 0]"]
    %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  91["Sweep Extrusion<br>[4884, 4928, 0]"]
    %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
  92["Sweep Extrusion<br>[6536, 6648, 0]"]
    %% [ProgramBodyItem { index: 39 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  93["Sweep Extrusion<br>[6714, 6828, 0]"]
    %% [ProgramBodyItem { index: 40 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  94["Sweep Revolve<br>[7654, 7709, 0]"]
    %% [ProgramBodyItem { index: 44 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  95["Sweep Revolve<br>[7771, 7825, 0]"]
    %% [ProgramBodyItem { index: 45 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  96[Wall]
    %% face_code_ref=Missing NodePath
  97[Wall]
    %% face_code_ref=Missing NodePath
  98[Wall]
    %% face_code_ref=Missing NodePath
  99[Wall]
    %% face_code_ref=Missing NodePath
  100[Wall]
    %% face_code_ref=Missing NodePath
  101[Wall]
    %% face_code_ref=Missing NodePath
  102[Wall]
    %% face_code_ref=Missing NodePath
  103[Wall]
    %% face_code_ref=Missing NodePath
  104[Wall]
    %% face_code_ref=Missing NodePath
  105[Wall]
    %% face_code_ref=Missing NodePath
  106[Wall]
    %% face_code_ref=Missing NodePath
  107[Wall]
    %% face_code_ref=Missing NodePath
  108[Wall]
    %% face_code_ref=Missing NodePath
  109[Wall]
    %% face_code_ref=Missing NodePath
  110[Wall]
    %% face_code_ref=Missing NodePath
  111[Wall]
    %% face_code_ref=Missing NodePath
  112[Wall]
    %% face_code_ref=Missing NodePath
  113[Wall]
    %% face_code_ref=Missing NodePath
  114[Wall]
    %% face_code_ref=Missing NodePath
  115[Wall]
    %% face_code_ref=Missing NodePath
  116[Wall]
    %% face_code_ref=Missing NodePath
  117[Wall]
    %% face_code_ref=Missing NodePath
  118[Wall]
    %% face_code_ref=Missing NodePath
  119[Wall]
    %% face_code_ref=Missing NodePath
  120[Wall]
    %% face_code_ref=Missing NodePath
  121[Wall]
    %% face_code_ref=Missing NodePath
  122[Wall]
    %% face_code_ref=Missing NodePath
  123[Wall]
    %% face_code_ref=Missing NodePath
  124[Wall]
    %% face_code_ref=Missing NodePath
  125[Wall]
    %% face_code_ref=Missing NodePath
  126[Wall]
    %% face_code_ref=Missing NodePath
  127[Wall]
    %% face_code_ref=Missing NodePath
  128[Wall]
    %% face_code_ref=Missing NodePath
  129[Wall]
    %% face_code_ref=Missing NodePath
  130[Wall]
    %% face_code_ref=Missing NodePath
  131[Wall]
    %% face_code_ref=Missing NodePath
  132[Wall]
    %% face_code_ref=Missing NodePath
  133[Wall]
    %% face_code_ref=Missing NodePath
  134[Wall]
    %% face_code_ref=Missing NodePath
  135[Wall]
    %% face_code_ref=Missing NodePath
  136[Wall]
    %% face_code_ref=Missing NodePath
  137[Wall]
    %% face_code_ref=Missing NodePath
  138[Wall]
    %% face_code_ref=Missing NodePath
  139[Wall]
    %% face_code_ref=Missing NodePath
  140[Wall]
    %% face_code_ref=Missing NodePath
  141[Wall]
    %% face_code_ref=Missing NodePath
  142[Wall]
    %% face_code_ref=Missing NodePath
  143[Wall]
    %% face_code_ref=Missing NodePath
  144[Wall]
    %% face_code_ref=Missing NodePath
  145[Wall]
    %% face_code_ref=Missing NodePath
  146[Wall]
    %% face_code_ref=Missing NodePath
  147["Cap Start"]
    %% face_code_ref=Missing NodePath
  148["Cap Start"]
    %% face_code_ref=Missing NodePath
  149["Cap Start"]
    %% face_code_ref=Missing NodePath
  150["Cap Start"]
    %% face_code_ref=[ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  151["Cap Start"]
    %% face_code_ref=Missing NodePath
  152["Cap Start"]
    %% face_code_ref=Missing NodePath
  153["Cap Start"]
    %% face_code_ref=Missing NodePath
  154["Cap Start"]
    %% face_code_ref=Missing NodePath
  155["Cap Start"]
    %% face_code_ref=Missing NodePath
  156["Cap End"]
    %% face_code_ref=Missing NodePath
  157["Cap End"]
    %% face_code_ref=Missing NodePath
  158["Cap End"]
    %% face_code_ref=Missing NodePath
  159["Cap End"]
    %% face_code_ref=Missing NodePath
  160["Cap End"]
    %% face_code_ref=Missing NodePath
  161["Cap End"]
    %% face_code_ref=Missing NodePath
  162["Cap End"]
    %% face_code_ref=Missing NodePath
  163["Cap End"]
    %% face_code_ref=Missing NodePath
  164["SweepEdge Opposite"]
  165["SweepEdge Opposite"]
  166["SweepEdge Opposite"]
  167["SweepEdge Opposite"]
  168["SweepEdge Opposite"]
  169["SweepEdge Opposite"]
  170["SweepEdge Opposite"]
  171["SweepEdge Opposite"]
  172["SweepEdge Opposite"]
  173["SweepEdge Opposite"]
  174["SweepEdge Opposite"]
  175["SweepEdge Opposite"]
  176["SweepEdge Opposite"]
  177["SweepEdge Opposite"]
  178["SweepEdge Opposite"]
  179["SweepEdge Opposite"]
  180["SweepEdge Opposite"]
  181["SweepEdge Opposite"]
  182["SweepEdge Opposite"]
  183["SweepEdge Opposite"]
  184["SweepEdge Opposite"]
  185["SweepEdge Opposite"]
  186["SweepEdge Opposite"]
  187["SweepEdge Opposite"]
  188["SweepEdge Opposite"]
  189["SweepEdge Opposite"]
  190["SweepEdge Opposite"]
  191["SweepEdge Opposite"]
  192["SweepEdge Opposite"]
  193["SweepEdge Opposite"]
  194["SweepEdge Opposite"]
  195["SweepEdge Opposite"]
  196["SweepEdge Opposite"]
  197["SweepEdge Opposite"]
  198["SweepEdge Opposite"]
  199["SweepEdge Opposite"]
  200["SweepEdge Opposite"]
  201["SweepEdge Opposite"]
  202["SweepEdge Opposite"]
  203["SweepEdge Opposite"]
  204["SweepEdge Opposite"]
  205["SweepEdge Opposite"]
  206["SweepEdge Opposite"]
  207["SweepEdge Opposite"]
  208["SweepEdge Opposite"]
  209["SweepEdge Opposite"]
  210["SweepEdge Opposite"]
  211["SweepEdge Opposite"]
  212["SweepEdge Opposite"]
  213["SweepEdge Opposite"]
  214["SweepEdge Opposite"]
  215["SweepEdge Adjacent"]
  216["SweepEdge Adjacent"]
  217["SweepEdge Adjacent"]
  218["SweepEdge Adjacent"]
  219["SweepEdge Adjacent"]
  220["SweepEdge Adjacent"]
  221["SweepEdge Adjacent"]
  222["SweepEdge Adjacent"]
  223["SweepEdge Adjacent"]
  224["SweepEdge Adjacent"]
  225["SweepEdge Adjacent"]
  226["SweepEdge Adjacent"]
  227["SweepEdge Adjacent"]
  228["SweepEdge Adjacent"]
  229["SweepEdge Adjacent"]
  230["SweepEdge Adjacent"]
  231["SweepEdge Adjacent"]
  232["SweepEdge Adjacent"]
  233["SweepEdge Adjacent"]
  234["SweepEdge Adjacent"]
  235["SweepEdge Adjacent"]
  236["SweepEdge Adjacent"]
  237["SweepEdge Adjacent"]
  238["SweepEdge Adjacent"]
  239["SweepEdge Adjacent"]
  240["SweepEdge Adjacent"]
  241["SweepEdge Adjacent"]
  242["SweepEdge Adjacent"]
  243["SweepEdge Adjacent"]
  244["SweepEdge Adjacent"]
  245["SweepEdge Adjacent"]
  246["SweepEdge Adjacent"]
  247["SweepEdge Adjacent"]
  248["SweepEdge Adjacent"]
  249["SweepEdge Adjacent"]
  250["SweepEdge Adjacent"]
  251["SweepEdge Adjacent"]
  252["SweepEdge Adjacent"]
  253["SweepEdge Adjacent"]
  254["SweepEdge Adjacent"]
  255["SweepEdge Adjacent"]
  256["SweepEdge Adjacent"]
  257["SweepEdge Adjacent"]
  258["SweepEdge Adjacent"]
  259["SweepEdge Adjacent"]
  260["SweepEdge Adjacent"]
  261["SweepEdge Adjacent"]
  262["SweepEdge Adjacent"]
  263["SweepEdge Adjacent"]
  264["SweepEdge Adjacent"]
  265["SweepEdge Adjacent"]
  266["EdgeCut Fillet<br>[2865, 3095, 0]"]
    %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
  267["EdgeCut Fillet<br>[4934, 5167, 0]"]
    %% [ProgramBodyItem { index: 34 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
  1 <--x 10
  1 --- 14
  2 <--x 9
  2 --- 13
  3 --- 15
  4 <--x 11
  4 --- 17
  5 --- 18
  6 --- 20
  7 --- 19
  8 --- 21
  150 x--> 12
  13 --- 22
  13 --- 25
  13 --- 26
  13 --- 28
  13 --- 30
  13 --- 32
  13 --- 80
  13 ---- 85
  14 --- 23
  14 --- 24
  14 --- 27
  14 --- 29
  14 --- 31
  14 --- 33
  14 --- 83
  14 ---- 84
  15 --- 34
  15 --- 35
  15 --- 36
  15 --- 37
  15 --- 79
  15 ---- 86
  16 --- 38
  16 --- 82
  16 ---- 89
  150 --- 16
  17 --- 39
  17 --- 40
  17 --- 41
  17 --- 42
  17 --- 75
  17 ---- 91
  18 --- 43
  18 --- 50
  18 --- 53
  18 --- 57
  18 --- 60
  18 --- 63
  18 --- 69
  18 --- 71
  18 --- 76
  18 ---- 93
  19 --- 46
  19 --- 48
  19 --- 54
  19 --- 56
  19 --- 59
  19 --- 66
  19 --- 68
  19 --- 74
  19 --- 77
  19 ---- 92
  20 --- 44
  20 --- 47
  20 --- 52
  20 --- 55
  20 --- 62
  20 --- 65
  20 --- 70
  20 --- 73
  20 --- 78
  20 ---- 94
  21 --- 45
  21 --- 49
  21 --- 51
  21 --- 58
  21 --- 61
  21 --- 64
  21 --- 67
  21 --- 72
  21 --- 81
  21 ---- 95
  22 --- 127
  22 x--> 162
  22 --- 193
  22 --- 244
  23 --- 114
  23 x--> 151
  23 --- 180
  23 --- 231
  24 --- 113
  24 x--> 151
  24 --- 181
  24 --- 232
  25 --- 128
  25 x--> 162
  25 --- 194
  25 --- 245
  26 --- 125
  26 x--> 162
  26 --- 195
  26 --- 246
  27 --- 112
  27 x--> 151
  27 --- 182
  27 --- 233
  28 --- 129
  28 x--> 162
  28 --- 196
  28 --- 247
  29 --- 115
  29 x--> 151
  29 --- 183
  29 --- 234
  30 --- 126
  30 x--> 162
  30 --- 197
  30 --- 248
  31 --- 116
  31 x--> 151
  31 --- 184
  31 --- 235
  34 --- 133
  34 x--> 150
  34 --- 198
  34 --- 249
  35 --- 130
  35 x--> 150
  35 --- 199
  35 --- 250
  36 --- 132
  36 x--> 150
  36 --- 200
  36 --- 251
  37 --- 131
  37 x--> 150
  37 --- 201
  37 --- 252
  38 --- 134
  38 x--> 150
  38 --- 202
  38 --- 253
  39 --- 135
  39 x--> 149
  39 --- 203
  39 --- 254
  40 --- 138
  40 x--> 149
  40 --- 204
  40 --- 255
  41 --- 137
  41 x--> 149
  41 --- 205
  41 --- 256
  42 --- 136
  42 x--> 149
  42 --- 206
  42 --- 257
  43 --- 141
  43 x--> 155
  43 --- 214
  43 --- 265
  44 --- 101
  44 x--> 157
  44 --- 164
  44 --- 215
  45 --- 110
  45 x--> 152
  45 --- 172
  45 --- 223
  46 --- 123
  46 x--> 147
  46 --- 192
  46 --- 243
  47 --- 96
  47 x--> 157
  47 --- 165
  47 --- 216
  48 --- 119
  48 x--> 147
  48 --- 191
  48 --- 242
  49 --- 108
  49 x--> 152
  49 --- 173
  49 --- 224
  50 --- 145
  50 x--> 155
  50 --- 213
  50 --- 264
  51 --- 106
  51 x--> 152
  51 --- 174
  51 --- 225
  52 --- 98
  52 x--> 157
  52 --- 166
  52 --- 217
  53 --- 143
  53 x--> 155
  53 --- 212
  53 --- 263
  54 --- 122
  54 x--> 147
  54 --- 190
  54 --- 241
  55 --- 97
  55 x--> 157
  55 --- 167
  55 --- 218
  56 --- 124
  56 x--> 147
  56 --- 189
  56 --- 240
  57 --- 146
  57 x--> 155
  57 --- 211
  57 --- 262
  58 --- 111
  58 x--> 152
  58 --- 175
  58 --- 226
  59 --- 118
  59 x--> 147
  59 --- 188
  59 --- 239
  60 --- 144
  60 x--> 155
  60 --- 210
  60 --- 261
  61 --- 109
  61 x--> 152
  61 --- 176
  61 --- 227
  62 --- 103
  62 x--> 157
  62 --- 168
  62 --- 219
  63 --- 139
  63 x--> 155
  63 --- 209
  63 --- 260
  64 --- 107
  64 x--> 152
  64 --- 177
  64 --- 228
  65 --- 100
  65 x--> 157
  65 --- 169
  65 --- 220
  66 --- 121
  66 x--> 147
  66 --- 187
  66 --- 238
  67 --- 104
  67 x--> 152
  67 --- 178
  67 --- 229
  68 --- 117
  68 x--> 147
  68 --- 186
  68 --- 237
  69 --- 142
  69 x--> 155
  69 --- 208
  69 --- 259
  70 --- 102
  70 x--> 157
  70 --- 170
  70 --- 221
  71 --- 140
  71 x--> 155
  71 --- 207
  71 --- 258
  72 --- 105
  72 x--> 152
  72 --- 179
  72 --- 230
  73 --- 99
  73 x--> 157
  73 --- 171
  73 --- 222
  74 --- 120
  74 x--> 147
  74 --- 185
  74 --- 236
  84 --- 112
  84 --- 113
  84 --- 114
  84 --- 115
  84 --- 116
  84 --- 151
  84 --- 160
  84 --- 180
  84 --- 181
  84 --- 182
  84 --- 183
  84 --- 184
  84 --- 231
  84 --- 232
  84 --- 233
  84 --- 234
  84 --- 235
  85 --- 125
  85 --- 126
  85 --- 127
  85 --- 128
  85 --- 129
  85 --- 153
  85 --- 162
  85 --- 193
  85 --- 194
  85 --- 195
  85 --- 196
  85 --- 197
  85 --- 244
  85 --- 245
  85 --- 246
  85 --- 247
  85 --- 248
  86 --- 130
  86 --- 131
  86 --- 132
  86 --- 133
  86 --- 150
  86 --- 159
  86 --- 198
  86 --- 199
  86 --- 200
  86 --- 201
  86 --- 249
  86 --- 250
  86 --- 251
  86 --- 252
  89 --- 134
  89 --- 154
  89 --- 202
  89 --- 253
  91 --- 135
  91 --- 136
  91 --- 137
  91 --- 138
  91 --- 149
  91 --- 158
  91 --- 203
  91 --- 204
  91 --- 205
  91 --- 206
  91 --- 254
  91 --- 255
  91 --- 256
  91 --- 257
  92 --- 117
  92 --- 118
  92 --- 119
  92 --- 120
  92 --- 121
  92 --- 122
  92 --- 123
  92 --- 124
  92 --- 147
  92 --- 156
  92 --- 185
  92 --- 186
  92 --- 187
  92 --- 188
  92 --- 189
  92 --- 190
  92 --- 191
  92 --- 192
  92 --- 236
  92 --- 237
  92 --- 238
  92 --- 239
  92 --- 240
  92 --- 241
  92 --- 242
  92 --- 243
  93 --- 139
  93 --- 140
  93 --- 141
  93 --- 142
  93 --- 143
  93 --- 144
  93 --- 145
  93 --- 146
  93 --- 155
  93 --- 163
  93 --- 207
  93 --- 208
  93 --- 209
  93 --- 210
  93 --- 211
  93 --- 212
  93 --- 213
  93 --- 214
  93 --- 258
  93 --- 259
  93 --- 260
  93 --- 261
  93 --- 262
  93 --- 263
  93 --- 264
  93 --- 265
  94 --- 96
  94 --- 97
  94 --- 98
  94 --- 99
  94 --- 100
  94 --- 101
  94 --- 102
  94 --- 103
  94 --- 148
  94 --- 157
  94 --- 164
  94 --- 165
  94 --- 166
  94 --- 167
  94 --- 168
  94 --- 169
  94 --- 170
  94 --- 171
  94 --- 215
  94 --- 216
  94 --- 217
  94 --- 218
  94 --- 219
  94 --- 220
  94 --- 221
  94 --- 222
  95 --- 104
  95 --- 105
  95 --- 106
  95 --- 107
  95 --- 108
  95 --- 109
  95 --- 110
  95 --- 111
  95 --- 152
  95 --- 161
  95 --- 172
  95 --- 173
  95 --- 174
  95 --- 175
  95 --- 176
  95 --- 177
  95 --- 178
  95 --- 179
  95 --- 223
  95 --- 224
  95 --- 225
  95 --- 226
  95 --- 227
  95 --- 228
  95 --- 229
  95 --- 230
  96 --- 165
  215 <--x 96
  96 --- 216
  97 --- 167
  217 <--x 97
  97 --- 218
  98 --- 166
  216 <--x 98
  98 --- 217
  99 --- 171
  221 <--x 99
  99 --- 222
  100 --- 169
  219 <--x 100
  100 --- 220
  101 --- 164
  101 --- 215
  222 <--x 101
  102 --- 170
  220 <--x 102
  102 --- 221
  103 --- 168
  218 <--x 103
  103 --- 219
  104 --- 178
  228 <--x 104
  104 --- 229
  105 --- 179
  229 <--x 105
  105 --- 230
  106 --- 174
  224 <--x 106
  106 --- 225
  107 --- 177
  227 <--x 107
  107 --- 228
  108 --- 173
  223 <--x 108
  108 --- 224
  109 --- 176
  226 <--x 109
  109 --- 227
  110 --- 172
  110 --- 223
  230 <--x 110
  111 --- 175
  225 <--x 111
  111 --- 226
  112 --- 182
  232 <--x 112
  112 --- 233
  113 --- 181
  231 <--x 113
  113 --- 232
  114 --- 180
  114 --- 231
  235 <--x 114
  115 --- 183
  233 <--x 115
  115 --- 234
  116 --- 184
  234 <--x 116
  116 --- 235
  117 --- 186
  117 --- 237
  238 <--x 117
  118 --- 188
  118 --- 239
  240 <--x 118
  119 --- 191
  119 --- 242
  243 <--x 119
  120 --- 185
  120 --- 236
  237 <--x 120
  121 --- 187
  121 --- 238
  239 <--x 121
  122 --- 190
  122 --- 241
  242 <--x 122
  123 --- 192
  236 <--x 123
  123 --- 243
  124 --- 189
  124 --- 240
  241 <--x 124
  125 --- 195
  245 <--x 125
  125 --- 246
  126 --- 197
  247 <--x 126
  126 --- 248
  127 --- 193
  127 --- 244
  248 <--x 127
  128 --- 194
  244 <--x 128
  128 --- 245
  129 --- 196
  246 <--x 129
  129 --- 247
  130 --- 199
  249 <--x 130
  130 --- 250
  131 --- 201
  251 <--x 131
  131 --- 252
  132 --- 200
  250 <--x 132
  132 --- 251
  133 --- 198
  133 --- 249
  252 <--x 133
  134 --- 202
  134 --- 253
  135 --- 203
  135 --- 254
  257 <--x 135
  136 --- 206
  256 <--x 136
  136 --- 257
  137 --- 205
  255 <--x 137
  137 --- 256
  138 --- 204
  254 <--x 138
  138 --- 255
  139 --- 209
  139 --- 260
  261 <--x 139
  140 --- 207
  140 --- 258
  259 <--x 140
  141 --- 214
  258 <--x 141
  141 --- 265
  142 --- 208
  142 --- 259
  260 <--x 142
  143 --- 212
  143 --- 263
  264 <--x 143
  144 --- 210
  144 --- 261
  262 <--x 144
  145 --- 213
  145 --- 264
  265 <--x 145
  146 --- 211
  146 --- 262
  263 <--x 146
  164 <--x 148
  165 <--x 148
  166 <--x 148
  167 <--x 148
  168 <--x 148
  169 <--x 148
  170 <--x 148
  171 <--x 148
  193 <--x 153
  194 <--x 153
  195 <--x 153
  196 <--x 153
  197 <--x 153
  202 <--x 154
  185 <--x 156
  186 <--x 156
  187 <--x 156
  188 <--x 156
  189 <--x 156
  190 <--x 156
  191 <--x 156
  192 <--x 156
  203 <--x 158
  204 <--x 158
  205 <--x 158
  206 <--x 158
  198 <--x 159
  199 <--x 159
  200 <--x 159
  201 <--x 159
  180 <--x 160
  181 <--x 160
  182 <--x 160
  183 <--x 160
  184 <--x 160
  172 <--x 161
  173 <--x 161
  174 <--x 161
  175 <--x 161
  176 <--x 161
  177 <--x 161
  178 <--x 161
  179 <--x 161
  207 <--x 163
  208 <--x 163
  209 <--x 163
  210 <--x 163
  211 <--x 163
  212 <--x 163
  213 <--x 163
  214 <--x 163
  249 <--x 266
  254 <--x 267