diff options
Diffstat (limited to 'chapter11/docs/graph5.svg')
| -rw-r--r-- | chapter11/docs/graph5.svg | 659 |
1 files changed, 187 insertions, 472 deletions
diff --git a/chapter11/docs/graph5.svg b/chapter11/docs/graph5.svg index 9336ac3e..1669e008 100644 --- a/chapter11/docs/graph5.svg +++ b/chapter11/docs/graph5.svg @@ -1,472 +1,187 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" - "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Generated by graphviz version 12.2.0 (20241103.1931) - --> -<!-- Title: chapter11 Pages: 1 --> -<svg width="526pt" height="689pt" - viewBox="0.00 0.00 526.00 688.57" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> -<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 684.57)"> -<title>chapter11</title> -<polygon fill="white" stroke="none" points="-4,4 -4,-684.57 522,-684.57 522,4 -4,4"/> -<g id="clust1" class="cluster"> -<title>cluster_Nodes</title> -<polygon fill="none" stroke="black" points="8,-23.57 8,-672.57 510,-672.57 510,-23.57 8,-23.57"/> -</g> -<!-- Start2 --> -<g id="node1" class="node"> -<title>Start2</title> -<polygon fill="yellow" stroke="none" points="146.38,-634.07 146.38,-660.57 251.62,-660.57 251.62,-634.07 146.38,-634.07"/> -<polygon fill="none" stroke="black" points="146.38,-634.07 146.38,-660.57 251.62,-660.57 251.62,-634.07 146.38,-634.07"/> -<text text-anchor="start" x="186.25" y="-642.27" font-family="Times New Roman,serif" font-size="14.00">Start</text> -<polygon fill="none" stroke="black" points="146.38,-601.57 146.38,-634.07 251.62,-634.07 251.62,-601.57 146.38,-601.57"/> -<polygon fill="yellow" stroke="none" points="151.38,-606.57 151.38,-629.07 182.12,-629.07 182.12,-606.57 151.38,-606.57"/> -<polygon fill="none" stroke="black" points="151.38,-606.57 151.38,-629.07 182.12,-629.07 182.12,-606.57 151.38,-606.57"/> -<text text-anchor="start" x="154.38" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">$ctrl</text> -<polygon fill="none" stroke="black" points="182.12,-606.57 182.12,-629.07 223.38,-629.07 223.38,-606.57 182.12,-606.57"/> -<text text-anchor="start" x="185.12" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">$mem</text> -<polygon fill="none" stroke="black" points="223.38,-606.57 223.38,-629.07 246.62,-629.07 246.62,-606.57 223.38,-606.57"/> -<text text-anchor="start" x="226.38" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">arg</text> -</g> -<!-- MemMerge --> -<g id="node2" class="node"> -<title>MemMerge</title> -<polygon fill="none" stroke="black" points="190,-345.57 108,-345.57 108,-309.57 190,-309.57 190,-345.57"/> -<text text-anchor="middle" x="149" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">MemMerge</text> -</g> -<!-- MemMerge->Start2 --> -<g id="edge43" class="edge"> -<title>MemMerge->Start2:p1</title> -<path fill="none" stroke="blue" d="M157.48,-345.84C162.13,-356.02 167.63,-369.27 171,-381.57 196.5,-474.76 202.31,-502.84 202.73,-594.11"/> -<polygon fill="blue" stroke="blue" points="199.22,-594.06 202.75,-604.05 206.22,-594.04 199.22,-594.06"/> -<text text-anchor="middle" x="155.23" y="-347.99" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Loop11 --> -<g id="node7" class="node"> -<title>Loop11</title> -<polygon fill="yellow" stroke="black" points="274,-417.57 220,-417.57 220,-381.57 274,-381.57 274,-417.57"/> -<text text-anchor="middle" x="247" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">Loop</text> -</g> -<!-- MemMerge->Loop11 --> -<g id="edge45" class="edge"> -<title>MemMerge->Loop11</title> -<path fill="none" stroke="green" d="M173.48,-346.05C185.61,-354.72 200.45,-365.32 213.61,-374.72"/> -<polygon fill="green" stroke="green" points="211.43,-377.46 221.6,-380.43 215.5,-371.76 211.43,-377.46"/> -<text text-anchor="middle" x="171.23" y="-348.2" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Phi_230 --> -<g id="node16" class="node"> -<title>Phi_230</title> -<ellipse fill="lightyellow" stroke="black" cx="109" cy="-399.57" rx="52.89" ry="18"/> -<text text-anchor="middle" x="109" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> -</g> -<!-- MemMerge->Phi_230 --> -<g id="edge44" class="edge"> -<title>MemMerge->Phi_230</title> -<path fill="none" stroke="blue" d="M139.11,-345.87C134.66,-353.67 129.29,-363.06 124.33,-371.74"/> -<polygon fill="blue" stroke="blue" points="121.45,-369.73 119.52,-380.15 127.53,-373.2 121.45,-369.73"/> -<text text-anchor="middle" x="136.86" y="-348.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Stop3 --> -<g id="node3" class="node"> -<title>Stop3</title> -<polygon fill="yellow" stroke="black" points="194,-67.57 140,-67.57 140,-31.57 194,-31.57 194,-67.57"/> -<text text-anchor="middle" x="167" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">Stop</text> -</g> -<!-- Return37 --> -<g id="node22" class="node"> -<title>Return37</title> -<polygon fill="yellow" stroke="black" points="183,-155.07 129,-155.07 129,-119.07 183,-119.07 183,-155.07"/> -<text text-anchor="middle" x="156" y="-132.02" font-family="Times New Roman,serif" font-size="14.00">Return</text> -</g> -<!-- Stop3->Return37 --> -<g id="edge1" class="edge"> -<title>Stop3->Return37</title> -<path fill="none" stroke="red" d="M164.77,-67.87C163.31,-79.22 161.37,-94.35 159.68,-107.47"/> -<polygon fill="red" stroke="red" points="156.22,-106.92 158.42,-117.29 163.16,-107.82 156.22,-106.92"/> -<text text-anchor="middle" x="162.52" y="-70.02" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Con_4 --> -<g id="node4" class="node"> -<title>Con_4</title> -<ellipse fill="none" stroke="black" cx="241" cy="-543.57" rx="27" ry="18"/> -<text text-anchor="middle" x="241" y="-538.52" font-family="Times New Roman,serif" font-size="14.00">#0</text> -</g> -<!-- new9 --> -<g id="node5" class="node"> -<title>new9</title> -<ellipse fill="none" stroke="black" cx="122" cy="-543.57" rx="33.95" ry="18"/> -<text text-anchor="middle" x="122" y="-538.52" font-family="Times New Roman,serif" font-size="14.00">new S</text> -</g> -<!-- new9->Start2 --> -<g id="edge2" class="edge"> -<title>new9->Start2:p0</title> -<path fill="none" stroke="green" d="M140.72,-558.99C150.49,-567.91 161.22,-580.35 165.17,-594.47"/> -<polygon fill="green" stroke="green" points="161.67,-594.66 166.54,-604.07 168.6,-593.67 161.67,-594.66"/> -<text text-anchor="middle" x="138.47" y="-561.14" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Store10 --> -<g id="node6" class="node"> -<title>Store10</title> -<ellipse fill="none" stroke="black" cx="128" cy="-471.57" rx="27" ry="18"/> -<text text-anchor="middle" x="128" y="-466.52" font-family="Times New Roman,serif" font-size="14.00">.f =</text> -</g> -<!-- Store10->Start2 --> -<g id="edge3" class="edge"> -<title>Store10->Start2:p0</title> -<path fill="none" stroke="red" d="M142.02,-487.46C150.41,-497.42 160.33,-511.27 165,-525.57 174.79,-555.54 168.59,-567.3 167.06,-594.37"/> -<polygon fill="red" stroke="red" points="163.57,-593.96 166.79,-604.05 170.57,-594.15 163.57,-593.96"/> -<text text-anchor="middle" x="144.27" y="-489.61" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Store10->Con_4 --> -<g id="edge6" class="edge"> -<title>Store10->Con_4</title> -<path fill="none" stroke="black" d="M147.43,-484.6C165.24,-495.63 191.86,-512.12 212.15,-524.7"/> -<polygon fill="black" stroke="black" points="210.2,-527.6 220.54,-529.89 213.88,-521.65 210.2,-527.6"/> -<text text-anchor="middle" x="149.68" y="-486.75" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> -</g> -<!-- Store10->new9 --> -<g id="edge5" class="edge"> -<title>Store10->new9</title> -<path fill="none" stroke="black" d="M126.52,-489.87C125.89,-497.16 125.15,-505.84 124.45,-514.03"/> -<polygon fill="black" stroke="black" points="120.96,-513.69 123.6,-523.95 127.94,-514.29 120.96,-513.69"/> -<text text-anchor="middle" x="124.27" y="-492.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Loop11->Start2 --> -<g id="edge7" class="edge"> -<title>Loop11->Start2:p0</title> -<path fill="none" stroke="red" d="M257.71,-417.74C275.77,-449.11 307.46,-516.61 277,-561.57 249.83,-601.66 179.64,-560.76 168.31,-594.59"/> -<polygon fill="red" stroke="red" points="164.9,-593.67 166.96,-604.07 171.83,-594.66 164.9,-593.67"/> -<text text-anchor="middle" x="255.46" y="-419.89" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Region32 --> -<g id="node18" class="node"> -<title>Region32</title> -<polygon fill="yellow" stroke="black" points="277.5,-67.57 222.5,-67.57 222.5,-31.57 277.5,-31.57 277.5,-67.57"/> -<text text-anchor="middle" x="250" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">Region</text> -</g> -<!-- Loop11->Region32 --> -<g id="edge8" class="edge"> -<title>Loop11->Region32</title> -<path fill="none" stroke="red" d="M259.49,-381.16C271.43,-362.17 285.63,-331.55 271,-309.57 248.04,-275.07 216.63,-300.33 185,-273.57 123.24,-221.32 74.87,-170.7 120,-103.57 122.76,-99.46 174.37,-79.22 211.72,-64.98"/> -<polygon fill="red" stroke="red" points="212.79,-68.32 220.89,-61.49 210.3,-61.77 212.79,-68.32"/> -<text text-anchor="middle" x="257.24" y="-373.56" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Phi_arg13 --> -<g id="node8" class="node"> -<title>Phi_arg13</title> -<ellipse fill="lightyellow" stroke="black" cx="325" cy="-399.57" rx="32.93" ry="18"/> -<text text-anchor="middle" x="325" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">φ_arg</text> -</g> -<!-- Phi_arg13->Start2 --> -<g id="edge10" class="edge"> -<title>Phi_arg13->Start2:p2</title> -<path fill="none" stroke="black" d="M326.47,-417.98C329.72,-467.11 332.08,-604.13 258.97,-616.86"/> -<polygon fill="black" stroke="black" points="258.81,-613.36 249.13,-617.69 259.39,-620.34 258.81,-613.36"/> -<text text-anchor="middle" x="324.22" y="-420.13" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Phi_arg13->Loop11 --> -<g id="edge9" class="edge"> -<title>Phi_arg13->Loop11</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M291.81,-399.57C289.82,-399.57 287.82,-399.57 285.83,-399.57"/> -<polygon fill="black" stroke="black" points="285.94,-396.07 275.94,-399.57 285.94,-403.07 285.94,-396.07"/> -<text text-anchor="middle" x="289.56" y="-391.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Sub35 --> -<g id="node20" class="node"> -<title>Sub35</title> -<ellipse fill="none" stroke="black" cx="439" cy="-327.57" rx="27" ry="18"/> -<text text-anchor="middle" x="439" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">-</text> -</g> -<!-- LT14 --> -<g id="node9" class="node"> -<title>LT14</title> -<ellipse fill="none" stroke="black" cx="235" cy="-327.57" rx="27" ry="18"/> -<text text-anchor="middle" x="235" y="-322.52" font-family="Times New Roman,serif" font-size="14.00"><</text> -</g> -<!-- LT14->Con_4 --> -<g id="edge13" class="edge"> -<title>LT14->Con_4</title> -<path fill="none" stroke="black" d="M225.54,-344.65C220.11,-354.85 213.81,-368.53 211,-381.57 200.86,-428.55 217.2,-483.7 229.46,-515.73"/> -<polygon fill="black" stroke="black" points="226.06,-516.65 233.02,-524.64 232.56,-514.06 226.06,-516.65"/> -<text text-anchor="middle" x="223.29" y="-346.8" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- LT14->Loop11 --> -<g id="edge12" class="edge"> -<title>LT14->Loop11</title> -<path fill="none" stroke="red" d="M237.97,-345.87C239.23,-353.24 240.74,-362.04 242.16,-370.32"/> -<polygon fill="red" stroke="red" points="238.67,-370.7 243.81,-379.97 245.57,-369.52 238.67,-370.7"/> -<text text-anchor="middle" x="235.72" y="-348.02" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- LT14->Phi_arg13 --> -<g id="edge14" class="edge"> -<title>LT14->Phi_arg13</title> -<path fill="none" stroke="black" d="M251.93,-341.73C264.83,-351.77 282.86,-365.79 297.78,-377.4"/> -<polygon fill="black" stroke="black" points="295.36,-379.95 305.4,-383.32 299.66,-374.42 295.36,-379.95"/> -<text text-anchor="middle" x="249.68" y="-343.88" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- If16 --> -<g id="node10" class="node"> -<title>If16</title> -<polygon fill="yellow" stroke="none" points="202,-243.07 202,-269.57 278,-269.57 278,-243.07 202,-243.07"/> -<polygon fill="none" stroke="black" points="202,-243.07 202,-269.57 278,-269.57 278,-243.07 202,-243.07"/> -<text text-anchor="start" x="235.5" y="-251.27" font-family="Times New Roman,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="202,-210.57 202,-243.07 278,-243.07 278,-210.57 202,-210.57"/> -<polygon fill="yellow" stroke="none" points="207,-215.57 207,-238.07 238.5,-238.07 238.5,-215.57 207,-215.57"/> -<polygon fill="none" stroke="black" points="207,-215.57 207,-238.07 238.5,-238.07 238.5,-215.57 207,-215.57"/> -<text text-anchor="start" x="210" y="-221.77" font-family="Times New Roman,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="none" points="238.5,-215.57 238.5,-238.07 273,-238.07 273,-215.57 238.5,-215.57"/> -<polygon fill="none" stroke="black" points="238.5,-215.57 238.5,-238.07 273,-238.07 273,-215.57 238.5,-215.57"/> -<text text-anchor="start" x="241.5" y="-221.77" font-family="Times New Roman,serif" font-size="14.00">False</text> -</g> -<!-- If16->Loop11 --> -<g id="edge15" class="edge"> -<title>If16->Loop11</title> -<path fill="none" stroke="red" d="M267.48,-273.51C274.99,-284.3 282.12,-296.82 286,-309.57 290.66,-324.87 290.99,-330.36 286,-345.57 282.88,-355.08 277.32,-364.3 271.36,-372.3"/> -<polygon fill="red" stroke="red" points="268.78,-369.92 265.24,-379.91 274.24,-374.31 268.78,-369.92"/> -<text text-anchor="middle" x="265.23" y="-275.66" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- If16->LT14 --> -<g id="edge16" class="edge"> -<title>If16->LT14</title> -<path fill="none" stroke="black" d="M238.11,-273.39C237.63,-281.55 237.12,-290.26 236.66,-298.21"/> -<polygon fill="black" stroke="black" points="233.17,-297.84 236.08,-308.03 240.16,-298.25 233.17,-297.84"/> -<text text-anchor="middle" x="235.86" y="-275.54" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Div21 --> -<g id="node11" class="node"> -<title>Div21</title> -<ellipse fill="none" stroke="black" cx="43" cy="-543.57" rx="27" ry="18"/> -<text text-anchor="middle" x="43" y="-538.52" font-family="Times New Roman,serif" font-size="14.00">//</text> -</g> -<!-- Div21->Start2 --> -<g id="edge17" class="edge"> -<title>Div21->Start2</title> -<path fill="none" stroke="red" d="M63.39,-555.74C80.45,-565.09 105.82,-578.99 130.01,-592.25"/> -<polygon fill="red" stroke="red" points="128.14,-595.22 138.59,-596.96 131.5,-589.08 128.14,-595.22"/> -<text text-anchor="middle" x="65.64" y="-557.89" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Div21->Start2 --> -<g id="edge18" class="edge"> -<title>Div21->Start2:p2</title> -<path fill="none" stroke="black" d="M64.07,-555.23C68.91,-557.48 74.08,-559.72 79,-561.57 142.52,-585.33 224.7,-539.5 234.11,-594.15"/> -<polygon fill="black" stroke="black" points="230.62,-594.36 234.88,-604.06 237.59,-593.81 230.62,-594.36"/> -<text text-anchor="middle" x="66.32" y="-547.63" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Con_22 --> -<g id="node12" class="node"> -<title>Con_22</title> -<ellipse fill="none" stroke="black" cx="43" cy="-631.07" rx="27" ry="18"/> -<text text-anchor="middle" x="43" y="-626.02" font-family="Times New Roman,serif" font-size="14.00">#3</text> -</g> -<!-- Div21->Con_22 --> -<g id="edge19" class="edge"> -<title>Div21->Con_22</title> -<path fill="none" stroke="black" d="M43,-561.87C43,-573.22 43,-588.35 43,-601.47"/> -<polygon fill="black" stroke="black" points="39.5,-601.28 43,-611.28 46.5,-601.28 39.5,-601.28"/> -<text text-anchor="middle" x="40.75" y="-564.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- EQ23 --> -<g id="node13" class="node"> -<title>EQ23</title> -<ellipse fill="none" stroke="black" cx="367" cy="-327.57" rx="27" ry="18"/> -<text text-anchor="middle" x="367" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">==</text> -</g> -<!-- EQ23->Loop11 --> -<g id="edge20" class="edge"> -<title>EQ23->Loop11</title> -<path fill="none" stroke="red" d="M347.18,-340.12C330.14,-350.07 305.08,-364.69 284.29,-376.81"/> -<polygon fill="red" stroke="red" points="282.66,-373.71 275.79,-381.77 286.19,-379.76 282.66,-373.71"/> -<text text-anchor="middle" x="349.43" y="-342.27" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- EQ23->Phi_arg13 --> -<g id="edge21" class="edge"> -<title>EQ23->Phi_arg13</title> -<path fill="none" stroke="black" d="M357.26,-344.8C352.4,-352.9 346.4,-362.9 340.89,-372.07"/> -<polygon fill="black" stroke="black" points="337.9,-370.26 335.76,-380.63 343.9,-373.86 337.9,-370.26"/> -<text text-anchor="middle" x="355.01" y="-346.95" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Con_24 --> -<g id="node14" class="node"> -<title>Con_24</title> -<ellipse fill="none" stroke="black" cx="403" cy="-399.57" rx="27" ry="18"/> -<text text-anchor="middle" x="403" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">#5</text> -</g> -<!-- EQ23->Con_24 --> -<g id="edge22" class="edge"> -<title>EQ23->Con_24</title> -<path fill="none" stroke="black" d="M375.35,-344.8C379.58,-353.02 384.81,-363.19 389.58,-372.47"/> -<polygon fill="black" stroke="black" points="386.32,-373.78 394,-381.07 392.54,-370.58 386.32,-373.78"/> -<text text-anchor="middle" x="373.1" y="-346.95" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- If25 --> -<g id="node15" class="node"> -<title>If25</title> -<polygon fill="yellow" stroke="none" points="229,-140.07 229,-166.57 305,-166.57 305,-140.07 229,-140.07"/> -<polygon fill="none" stroke="black" points="229,-140.07 229,-166.57 305,-166.57 305,-140.07 229,-140.07"/> -<text text-anchor="start" x="262.5" y="-148.27" font-family="Times New Roman,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="229,-107.57 229,-140.07 305,-140.07 305,-107.57 229,-107.57"/> -<polygon fill="yellow" stroke="none" points="234,-112.57 234,-135.07 265.5,-135.07 265.5,-112.57 234,-112.57"/> -<polygon fill="none" stroke="black" points="234,-112.57 234,-135.07 265.5,-135.07 265.5,-112.57 234,-112.57"/> -<text text-anchor="start" x="237" y="-118.77" font-family="Times New Roman,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="none" points="265.5,-112.57 265.5,-135.07 300,-135.07 300,-112.57 265.5,-112.57"/> -<polygon fill="none" stroke="black" points="265.5,-112.57 265.5,-135.07 300,-135.07 300,-112.57 265.5,-112.57"/> -<text text-anchor="start" x="268.5" y="-118.77" font-family="Times New Roman,serif" font-size="14.00">False</text> -</g> -<!-- If25->If16 --> -<g id="edge23" class="edge"> -<title>If25->If16:p0</title> -<path fill="none" stroke="red" d="M238.48,-170.44C231.99,-180.18 226.3,-191.42 223.93,-203.17"/> -<polygon fill="red" stroke="red" points="220.45,-202.75 222.91,-213.06 227.42,-203.47 220.45,-202.75"/> -<text text-anchor="middle" x="236.23" y="-172.59" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- If25->EQ23 --> -<g id="edge24" class="edge"> -<title>If25->EQ23</title> -<path fill="none" stroke="black" d="M295.16,-170.52C303.84,-181.5 312.95,-194.14 320,-206.57 336.96,-236.47 350.49,-273.71 358.6,-298.71"/> -<polygon fill="black" stroke="black" points="355.23,-299.66 361.58,-308.14 361.91,-297.55 355.23,-299.66"/> -<text text-anchor="middle" x="292.91" y="-172.67" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Phi_230->Store10 --> -<g id="edge26" class="edge"> -<title>Phi_230->Store10</title> -<path fill="none" stroke="blue" d="M113.7,-417.87C115.72,-425.33 118.14,-434.24 120.41,-442.6"/> -<polygon fill="blue" stroke="blue" points="116.96,-443.27 122.96,-452 123.72,-441.43 116.96,-443.27"/> -<text text-anchor="middle" x="111.45" y="-420.02" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Phi_230->Loop11 --> -<g id="edge25" class="edge"> -<title>Phi_230->Loop11</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M162.37,-399.57C177.71,-399.57 193.05,-399.57 208.39,-399.57"/> -<polygon fill="black" stroke="black" points="208.05,-403.07 218.05,-399.57 208.05,-396.07 208.05,-403.07"/> -<text text-anchor="middle" x="164.62" y="-391.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Phi_233 --> -<g id="node19" class="node"> -<title>Phi_233</title> -<ellipse fill="lightyellow" stroke="black" cx="69" cy="-49.57" rx="52.89" ry="18"/> -<text text-anchor="middle" x="69" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> -</g> -<!-- Store31 --> -<g id="node17" class="node"> -<title>Store31</title> -<ellipse fill="none" stroke="black" cx="43" cy="-327.57" rx="27" ry="18"/> -<text text-anchor="middle" x="43" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">.f =</text> -</g> -<!-- Store31->new9 --> -<g id="edge30" class="edge"> -<title>Store31->new9</title> -<path fill="none" stroke="black" d="M30,-472.57C39.38,-497.6 63.9,-515.54 85.27,-526.98"/> -<polygon fill="black" stroke="black" points="83.57,-530.04 94.08,-531.4 86.71,-523.79 83.57,-530.04"/> -<text text-anchor="middle" x="27.75" y="-464.97" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Store31->Loop11 --> -<g id="edge28" class="edge"> -<title>Store31->Loop11</title> -<path fill="none" stroke="red" d="M66.8,-336.73C101.75,-348.72 167.31,-371.22 208.98,-385.52"/> -<polygon fill="red" stroke="red" points="207.77,-388.8 218.36,-388.74 210.04,-382.18 207.77,-388.8"/> -<text text-anchor="middle" x="64.55" y="-338.88" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Store31->Div21 --> -<g id="edge31" class="edge"> -<title>Store31->Div21</title> -<path fill="none" stroke="black" d="M36.55,-345.12C26.96,-372.45 11.89,-428.23 30,-470.57"/> -<path fill="none" stroke="black" d="M30,-472.57C34.94,-485.77 38.06,-501.11 40,-514.05"/> -<polygon fill="black" stroke="black" points="36.49,-514.19 41.27,-523.64 43.43,-513.27 36.49,-514.19"/> -<text text-anchor="middle" x="34.3" y="-347.27" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> -</g> -<!-- Store31->Phi_230 --> -<g id="edge29" class="edge"> -<title>Store31->Phi_230</title> -<path fill="none" stroke="blue" d="M57,-343.41C65.39,-352.32 76.28,-363.86 85.92,-374.08"/> -<polygon fill="blue" stroke="blue" points="83.2,-376.3 92.6,-381.17 88.29,-371.5 83.2,-376.3"/> -<text text-anchor="middle" x="54.75" y="-345.56" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Region32->If25 --> -<g id="edge32" class="edge"> -<title>Region32->If25:p0</title> -<path fill="none" stroke="red" d="M249.89,-67.92C249.84,-77.07 249.79,-88.77 249.76,-100.25"/> -<polygon fill="red" stroke="red" points="246.26,-100.05 249.75,-110.05 253.26,-100.06 246.26,-100.05"/> -<text text-anchor="middle" x="247.64" y="-70.07" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Region32->If25 --> -<g id="edge33" class="edge"> -<title>Region32->If25:p1</title> -<path fill="none" stroke="red" d="M265.22,-67.95C271.77,-76.79 278.57,-88.22 281.39,-100.32"/> -<polygon fill="red" stroke="red" points="277.9,-100.55 282.57,-110.06 284.84,-99.72 277.9,-100.55"/> -<text text-anchor="middle" x="262.97" y="-70.1" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Phi_233->Phi_230 --> -<g id="edge36" class="edge"> -<title>Phi_233->Phi_230</title> -<path fill="none" stroke="blue" d="M117.06,-66.52C146.85,-77.29 181.4,-91.65 192,-103.57 212.65,-126.78 191.37,-147.32 212,-170.57 238.69,-200.64 272.94,-172.95 295,-206.57 329.4,-258.98 315.45,-301.36 271,-345.57 244.42,-372 204.48,-385.25 170.9,-391.89"/> -<polygon fill="blue" stroke="blue" points="118.37,-63.28 107.78,-63.24 116.04,-69.87 118.37,-63.28"/> -<polygon fill="blue" stroke="blue" points="170.5,-388.41 161.28,-393.63 171.74,-395.3 170.5,-388.41"/> -<text text-anchor="middle" x="108.6" y="-64.88" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Phi_233->Store31 --> -<g id="edge35" class="edge"> -<title>Phi_233->Store31</title> -<path fill="none" stroke="blue" d="M67.37,-67.83C63.02,-114.01 51.09,-240.72 45.7,-297.9"/> -<polygon fill="blue" stroke="blue" points="42.22,-297.52 44.77,-307.8 49.19,-298.17 42.22,-297.52"/> -<text text-anchor="middle" x="65.12" y="-69.98" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Phi_233->Region32 --> -<g id="edge34" class="edge"> -<title>Phi_233->Region32</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M89.57,-32.51C103.01,-22.52 121.45,-10.85 140,-5.57 163.08,1.01 171.32,2.28 194,-5.57 205.22,-9.45 215.9,-16.6 224.86,-24.03"/> -<polygon fill="black" stroke="black" points="222.28,-26.42 232.09,-30.44 226.93,-21.19 222.28,-26.42"/> -<text text-anchor="middle" x="87.32" y="-24.91" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Sub35->Loop11 --> -<g id="edge37" class="edge"> -<title>Sub35->Loop11</title> -<path fill="none" stroke="red" d="M417.91,-339.17C413.07,-341.42 407.9,-343.68 403,-345.57 354.16,-364.3 337.06,-362 284.88,-381.16"/> -<polygon fill="red" stroke="red" points="283.87,-377.8 275.75,-384.61 286.34,-384.35 283.87,-377.8"/> -<text text-anchor="middle" x="415.66" y="-341.32" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Sub35->Phi_arg13 --> -<g id="edge38" class="edge"> -<title>Sub35->Phi_arg13</title> -<path fill="none" stroke="black" d="M409.92,-346.42C393.35,-356.59 372.61,-369.33 355.78,-379.67"/> -<polygon fill="black" stroke="black" points="411.68,-349.45 418.37,-341.23 408.02,-343.48 411.68,-349.45"/> -<polygon fill="black" stroke="black" points="354.36,-376.43 347.67,-384.65 358.02,-382.4 354.36,-376.43"/> -<text text-anchor="middle" x="419.66" y="-342.59" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Con_36 --> -<g id="node21" class="node"> -<title>Con_36</title> -<ellipse fill="none" stroke="black" cx="475" cy="-399.57" rx="27" ry="18"/> -<text text-anchor="middle" x="475" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">#1</text> -</g> -<!-- Sub35->Con_36 --> -<g id="edge39" class="edge"> -<title>Sub35->Con_36</title> -<path fill="none" stroke="black" d="M447.35,-344.8C451.58,-353.02 456.81,-363.19 461.58,-372.47"/> -<polygon fill="black" stroke="black" points="458.32,-373.78 466,-381.07 464.54,-370.58 458.32,-373.78"/> -<text text-anchor="middle" x="445.1" y="-346.95" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Return37->MemMerge --> -<g id="edge42" class="edge"> -<title>Return37->MemMerge</title> -<path fill="none" stroke="blue" d="M89,-241.07C86.12,-264.36 101.49,-285.96 117.39,-301.62"/> -<polygon fill="blue" stroke="blue" points="114.82,-304.01 124.55,-308.22 119.57,-298.86 114.82,-304.01"/> -<text text-anchor="middle" x="86.75" y="-233.47" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Return37->new9 --> -<g id="edge41" class="edge"> -<title>Return37->new9</title> -<path fill="none" stroke="black" d="M137.23,-155.23C118.91,-173.78 93.19,-205.24 89,-239.07"/> -<path fill="none" stroke="black" d="M89,-241.07C83.27,-287.37 97.64,-302.79 79,-345.57 70.45,-365.19 54.61,-361.56 47,-381.57 41.31,-396.52 42.73,-402.15 47,-417.57 57.57,-455.72 83.23,-493.93 101.59,-517.87"/> -<polygon fill="black" stroke="black" points="98.84,-520.03 107.77,-525.73 104.34,-515.7 98.84,-520.03"/> -<text text-anchor="middle" x="134.98" y="-157.38" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Return37->If16 --> -<g id="edge40" class="edge"> -<title>Return37->If16:p1</title> -<path fill="none" stroke="red" d="M177.62,-155.38C183.85,-160.32 190.67,-165.69 197,-170.57 219.31,-187.76 246.88,-183.75 254.01,-203.32"/> -<polygon fill="red" stroke="red" points="250.53,-203.72 255.52,-213.07 257.45,-202.65 250.53,-203.72"/> -<text text-anchor="middle" x="175.37" y="-157.53" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -</g> -</svg> +<svg aria-label="Compiler graph" width="1045" height="1366" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1045 1366" style="font-family: sans-serif;"><style> + html, body { height:100%; margin:0; font-family:sans-serif; } + .viewer { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr) auto; } + .source { padding:8px; border-bottom:1px solid #ccc; } + #program { width:min(600px,80vw); vertical-align:middle; } + #status { margin-top:4px; } + #graph { min-height:0; overflow:hidden; position:relative; background:#fafbfc; } + #elk { width:100%; height:100%; } + #graph svg { display:block; } + .tools { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:8px; font-size:12px; } + .hint { color:#616c78; } + .ctrl { color:#b63838; } .mem { color:#2867b2; } .data { color:#536477; } + .edge { fill:none; stroke-width:1.5; } + .edge.CTRL { stroke-width:2; } + .edge.ASSOC { stroke-dasharray:4 4; } + .edge.PARSER { stroke-dasharray:5 4; } + .parser rect { fill:#f6f0ff; stroke:#7956a5; stroke-width:1.5; stroke-dasharray:5 4; } + .edge.selected { stroke-width:3.5; } + .edge.bundle { stroke-width:4; } + .edge.bundle.selected { stroke-width:6; } + .edge-hit { fill:none; stroke:transparent; stroke-width:12; vector-effect:non-scaling-stroke; pointer-events:stroke; cursor:pointer; } + .edge-jump { fill:transparent; pointer-events:all; cursor:pointer; } + .node { cursor:pointer; } + .box { stroke:#758191; stroke-width:1; } + .node.held .box { stroke-dasharray:5 3; } + .node.near .box { stroke:#c18221; stroke-width:2; } + .node.focus .box { stroke:#9c4900; stroke-width:3; } + .node.selected .box { stroke:#1569b9; stroke-width:3; } + .node.folded .box { stroke-width:4; } + .node.folding .box { fill:#f4ccd7; } + .fold-tag { font-size:9px; font-weight:700; fill:#963751; } + .peep-area { fill:#fff3d9; fill-opacity:.8; stroke:#c18221; stroke-width:2; pointer-events:none; } + .node.peep-edit .box { stroke:#9c4900; stroke-width:3; } + .node.error .box { stroke:#b42318; stroke-width:4; } + #event.error { color:#b42318; font-weight:600; white-space:pre-wrap; overflow-wrap:anywhere; } + .peep-ghosts { pointer-events:none; } + .region-box { stroke:#9da9b8; stroke-width:1.5; } + .fold-btn { cursor:pointer; } + .fold-btn rect { fill:white; stroke:#596674; } + .fold-btn text { font-size:14px; fill:#152330; } + .fold-btn:focus rect { stroke:#1569b9; stroke-width:2; } + .shortcut { cursor:pointer; } + .shortcut path { fill:none; stroke-width:1.5; } + .shortcut rect { fill:#fff8ec; stroke:#b63838; stroke-dasharray:3 2; } + .shortcut text { font-size:11px; fill:#783030; } + .shortcut.selected rect, .shortcut:focus rect { stroke-width:2.5; } + .label { font-size:12px; fill:#152330; font-weight:600; } + .node-id { font-size:10px; fill:#596674; font-weight:400; } + .type { font-size:11px; fill:#455768; } + .port { stroke:#536477; stroke-width:1; } + .row { stroke:#b6afcf; stroke-width:1; } + .bind { font-size:12px; fill:#152330; } + .slot { font-size:10px; fill:#364352; paint-order:stroke; stroke:#fafbfc; stroke-width:3; } + #detail { position:absolute; top:8px; right:8px; margin:0; padding:12px; max-width:320px; + max-height:45%; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; + background:#fffffff2; border:1px solid #bac5d0; border-radius:4px; font-size:12px; } + .controls { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; padding:6px; } + .button { color:white; background:black; font-size:20px; min-width:30px; } + .button:disabled { background:grey; } + .count { font-size:20px; min-width:35px; text-align:center; } + #N { width:6ch; } + #scrub { width:clamp(120px,35vw,600px); } + </style><defs><marker id="arrow-CTRL" viewBox="0 -4 8 8" refX="8" refY="0" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,-4L8,0L0,4Z" fill="#b63838"/></marker><marker id="arrow-DATA" viewBox="0 -4 8 8" refX="8" refY="0" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,-4L8,0L0,4Z" fill="#536477"/></marker><marker id="arrow-MEM" viewBox="0 -4 8 8" refX="8" refY="0" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,-4L8,0L0,4Z" fill="#2867b2"/></marker><marker id="arrow-ASSOC" viewBox="0 -4 8 8" refX="8" refY="0" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,-4L8,0L0,4Z" fill="#9396a3"/></marker><marker id="arrow-PARSER" viewBox="0 -4 8 8" refX="8" refY="0" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,-4L8,0L0,4Z" fill="#7956a5"/></marker></defs><rect width="100%" height="100%" fill="rgb(250, 251, 252)"/><g><g class="regions" style="opacity: 1;"><g class="region" transform="translate(24,379)"><rect class="region-box" rx="8" width="951" height="780" fill="#f1f6fc"/></g><g class="region" transform="translate(243,862)"><rect class="region-box" rx="8" width="360" height="250" fill="#f2f7ef"/></g></g><rect class="peep-area" rx="36" style="opacity: 0;"/><g class="edges"><path class="edge CTRL" id="e1i0" d="M513,533 L513,593 L706,593 L706,603" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#1[0] → #11 · CTRL</title></path><path class="edge MEM" id="e1i1" d="M655,118 L655,128 L991,128 L991,336 L920,336 L920,593 L736,593 L736,603" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#1[1] → #6 · MEM</title></path><path class="edge MEM" id="e1i2" d="M817,533 L817,573 L766,573 L766,603" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#1[2] → #230 · MEM</title></path><path class="edge CTRL" id="e3i0" d="M643,1265 C643,1289 522.5,1292 522.5,1316" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#3[0] → #37 · CTRL</title></path><path class="edge CTRL" id="e9i0" d="M535,118 L535,148 L769,148 L769,166" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#9[0] → #5 · CTRL</title></path><path class="edge CTRL" id="e10i0" d="M535,118 L535,242 L559,242 L559,270" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#10[0] → #5 · CTRL</title></path><path class="edge MEM" id="e10i1" d="M655,118 L655,128 L546,128 L546,232 L583,232 L583,270" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#10[1] → #6 · MEM</title></path><path class="edge DATA" id="e10i2" d="M769,222 L769,232 L607,232 L607,270" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#10[2] → #9 · DATA</title></path><path class="edge DATA" id="e10i3" d="M617,222 L617,252 L631,252 L631,270" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#10[3] → #4 · DATA</title></path><path class="edge CTRL" id="e11i1" d="M535,118 L535,148 L513,148 L513,477" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#11[1] → #5 · CTRL</title></path><path class="edge CTRL" id="e11i2" d="M379,1097 L379,1107 L963,1107 L963,452 L543,452 L543,480" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#11[2] → #32 · CTRL</title></path><path class="edge DATA" id="e13i1" d="M775,118 L775,138 L524,138 L524,356 L645,356 L645,477" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#13[1] → #7 · DATA</title></path><path class="edge DATA" id="e13i2" d="M128,656 L128,666 L953,666 L953,460 L685,460 L685,480" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#13[2] → #35 · DATA</title></path><path class="edge CTRL" id="e14i0" d="M513,533 L513,593 L554,593 L554,603" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#14[0] → #11 · CTRL</title></path><path class="edge DATA" id="e14i1" d="M617,222 L617,252 L909,252 L909,583 L584,583 L584,603" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#14[1] → #4 · DATA</title></path><path class="edge DATA" id="e14i2" d="M665,533 L665,543 L614,543 L614,603" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#14[2] → #13 · DATA</title></path><path class="edge CTRL" id="e16i0" d="M513,533 L513,707" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#16[0] → #11 · CTRL</title></path><path class="edge DATA" id="e16i1" d="M584,659 L584,669 L593,669 L593,707" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#16[1] → #14 · DATA</title></path><path class="edge CTRL" id="e21i0" d="M841,46 L891,46 L891,166" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#21[0] → #2 · CTRL</title></path><path class="edge DATA" id="e21i1" d="M775,118 L775,138 L921,138 L921,166" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#21[1] → #7 · DATA</title></path><path class="edge DATA" id="e21i2" d="M961,118 L961,138 L951,138 L951,166" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#21[2] → #22 · DATA</title></path><path class="edge CTRL" id="e23i0" d="M513,533 L513,593 L250,593 L250,603" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#23[0] → #11 · CTRL</title></path><path class="edge DATA" id="e23i1" d="M665,533 L665,543 L280,543 L280,603" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#23[1] → #13 · DATA</title></path><path class="edge DATA" id="e23i2" d="M310,326 L310,603" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#23[2] → #24 · DATA</title></path><path class="edge CTRL" id="e25i0" d="M493,807 L493,837 L335,837 L335,896" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#25[0] → #8 · CTRL</title></path><path class="edge DATA" id="e25i1" d="M280,659 L280,847 L415,847 L415,896" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#25[1] → #23 · DATA</title></path><path class="edge CTRL" id="e31i0" d="M513,533 L513,593 L396,593 L396,603" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#31[0] → #11 · CTRL</title></path><path class="edge MEM" id="e31i1" d="M817,533 L817,573 L420,573 L420,603" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#31[1] → #230 · MEM</title></path><path class="edge DATA" id="e31i2" d="M769,222 L769,336 L887,336 L887,553 L444,553 L444,603" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#31[2] → #9 · DATA</title></path><path class="edge DATA" id="e31i3" d="M921,222 L921,242 L898,242 L898,563 L468,563 L468,603" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#31[3] → #21 · DATA</title></path><path class="edge CTRL" id="e32i1" d="M315,996 L315,1006 L379,1006 L379,1044" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#32[1] → #15 · CTRL</title></path><path class="edge CTRL" id="e32i2" d="M435,996 L435,1006 L409,1006 L409,1044" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#32[2] → #17 · CTRL</title></path><path class="edge CTRL" id="e35i0" d="M513,533 L513,593 L98,593 L98,603" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#35[0] → #11 · CTRL</title></path><path class="edge DATA" id="e35i1" d="M665,533 L665,543 L128,543 L128,603" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#35[1] → #13 · DATA</title></path><path class="edge DATA" id="e35i2" d="M158,326 L158,603" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#35[2] → #36 · DATA</title></path><path class="edge CTRL" id="e37i0" d="M613,807 L613,1212" stroke="#b63838" marker-start="url(#arrow-CTRL)" style="opacity: 1;"><title>#37[0] → #12 · CTRL</title></path><path class="edge MEM" id="e37i1" d="M736,659 L736,1174 L643,1174 L643,1212" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#37[1] → #1 · MEM</title></path><path class="edge DATA" id="e37i2" d="M769,222 L769,232 L1002,232 L1002,1184 L673,1184 L673,1212" stroke="#536477" marker-start="url(#arrow-DATA)" style="opacity: 1;"><title>#37[2] → #9 · DATA</title></path><path class="edge MEM" id="e230i1" d="M595,326 L595,346 L797,346 L797,477" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#230[1] → #10 · MEM</title></path><path class="edge MEM" id="e230i2" d="M531,1097 L531,1107 L943,1107 L943,468 L837,468 L837,480" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#230[2] → #233 · MEM</title></path><path class="edge MEM" id="e233i1" d="M432,659 L432,669 L411,669 L411,827 L511,827 L511,1044" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#233[1] → #31 · MEM</title></path><path class="edge MEM" id="e233i2" d="M817,533 L817,573 L502,573 L502,679 L422,679 L422,817 L551,817 L551,1044" stroke="#2867b2" marker-start="url(#arrow-MEM)" style="opacity: 1;"><title>#233[2] → #230 · MEM</title></path></g><g class="edge-hits"/><g class="parser" style="opacity: 1;"/><g class="nodes"><g class="node" id="n1" data-id="1" transform="translate(676,609)" style="opacity: 1;"><path class="box" d="M10,0H110L120,10V34L110,44H10L0,34V10Z" fill="#dcecff"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>MemMerge</tspan><tspan class="node-id"> #1</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#1 MemMerge +Type not computed + +[0] → #11 CTRL +[1] → #6 MEM +[2] → #230 MEM</title><circle class="port" cx="30" cy="-3" r="3" fill="#536477"/><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><circle class="port" cx="90" cy="-3" r="3" fill="#536477"/><text class="slot" x="30" y="-10" text-anchor="middle">0</text><text class="slot" x="60" y="-10" text-anchor="middle">1</text><text class="slot" x="90" y="-10" text-anchor="middle">2</text></g><g class="node" id="n2" data-id="2" transform="translate(475,24)" style="opacity: 1;"><path class="box" d="M0,0H360V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="180" y="18"><tspan>Start</tspan><tspan class="node-id"> #2</tspan></text><text class="type" text-anchor="middle" y="35" x="180"/><title>#2 Start +Type not computed + +</title></g><g class="node" id="n3" data-id="3" transform="translate(486.5,1316)" style="opacity: 1;"><path class="box" d="M0,0H72V26H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="36" y="17"><tspan>Stop</tspan><tspan class="node-id"> #3</tspan></text><text class="type" text-anchor="middle" y="35" x="36"/><title>#3 Stop +Type not computed + +[0] → #37 CTRL</title><circle class="port" cx="36" cy="0" r="3" fill="#536477"/><text class="slot" x="36" y="-7" text-anchor="middle">0</text></g><g class="node" id="n4" data-id="4" transform="translate(557,172)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>#0</tspan><tspan class="node-id"> #4</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#4 #0 +Type not computed + +</title></g><g class="node" id="n5" data-id="5" transform="translate(475,68)" style="opacity: 1;"><path class="box" d="M0,0H120V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>$ctrl</tspan><tspan class="node-id"> #5/0</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#5 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRL</title></g><g class="node" id="n6" data-id="6" transform="translate(595,68)" style="opacity: 1;"><path class="box" d="M0,0H120V44H0Z" fill="#dcecff"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>$mem</tspan><tspan class="node-id"> #6/1</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#6 $mem +Projection 1 of #2 +Type not computed + +[0] → #2 MEM</title></g><g class="node" id="n7" data-id="7" transform="translate(715,68)" style="opacity: 1;"><path class="box" d="M0,0H120V44H0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>arg</tspan><tspan class="node-id"> #7/2</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#7 arg +Projection 2 of #2 +Type not computed + +[0] → #2 DATA</title></g><g class="node" id="n8" data-id="8" transform="translate(433,757)" style="opacity: 1;"><path class="box" d="M0,0H120V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>True</tspan><tspan class="node-id"> #8/0</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#8 True +Projection 0 of #16 +Type not computed + +[0] → #16 CTRL</title></g><g class="node" id="n9" data-id="9" transform="translate(709,172)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>new S</tspan><tspan class="node-id"> #9</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#9 new S +Type not computed + +[0] → #5 CTRL</title><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><text class="slot" x="60" y="-10" text-anchor="middle">0</text></g><g class="node" id="n10" data-id="10" transform="translate(535,276)" style="opacity: 1;"><path class="box" d="M10,0H110L120,10V34L110,44H10L0,34V10Z" fill="#dcecff"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>.f =</tspan><tspan class="node-id"> #10</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#10 .f = +Type not computed + +[0] → #5 CTRL +[1] → #6 MEM +[2] → #9 DATA +[3] → #4 DATA</title><circle class="port" cx="24" cy="-3" r="3" fill="#536477"/><circle class="port" cx="48" cy="-3" r="3" fill="#536477"/><circle class="port" cx="72" cy="-3" r="3" fill="#536477"/><circle class="port" cx="96" cy="-3" r="3" fill="#536477"/><text class="slot" x="24" y="-10" text-anchor="middle">0</text><text class="slot" x="48" y="-10" text-anchor="middle">1</text><text class="slot" x="72" y="-10" text-anchor="middle">2</text><text class="slot" x="96" y="-10" text-anchor="middle">3</text></g><g class="node" id="n11" data-id="11" transform="translate(453,483)" style="opacity: 1;"><path class="box" d="M20,0H100Q120,0 120,20V24Q120,44 100,44H20Q0,44 0,24V20Q0,0 20,0Z" fill="#ffe0ab"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>Loop</tspan><tspan class="node-id"> #11</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#11 Loop +Type not computed + +[0] → — DATA +[1] → #5 CTRL +[2] → #32 CTRL</title><circle class="port" cx="30" cy="-3" r="3" fill="white"/><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><circle class="port" cx="90" cy="-3" r="3" fill="#536477"/><text class="slot" x="30" y="-10" text-anchor="middle">0</text><text class="slot" x="60" y="-10" text-anchor="middle">1</text><text class="slot" x="90" y="-10" text-anchor="middle">2</text></g><g class="node" id="n12" data-id="12" transform="translate(553,757)" style="opacity: 1;"><path class="box" d="M0,0H120V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>False</tspan><tspan class="node-id"> #12/1</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#12 False +Projection 1 of #16 +Type not computed + +[0] → #16 CTRL</title></g><g class="node" id="n13" data-id="13" transform="translate(605,483)" style="opacity: 1;"><path class="box" d="M12,0H108L120,22L108,44H12L0,22Z" fill="#f5e4fa"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>φ_arg</tspan><tspan class="node-id"> #13</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#13 φ_arg +Type not computed + +[0] → #11 ASSOC +[1] → #7 DATA +[2] → #35 DATA</title><circle class="port" cx="-3" cy="22" r="3" fill="#536477"/><circle class="port" cx="40" cy="-3" r="3" fill="#536477"/><circle class="port" cx="80" cy="-3" r="3" fill="#536477"/><path class="reg" fill="none" stroke="#b63838" d="M-3,22H-18m4,-3l-4,3l4,3"><title>[0] → #11</title></path><text class="slot" x="-10" y="15" text-anchor="middle">0</text><text class="slot" x="40" y="-10" text-anchor="middle">1</text><text class="slot" x="80" y="-10" text-anchor="middle">2</text></g><g class="node" id="n14" data-id="14" transform="translate(524,609)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan><</tspan><tspan class="node-id"> #14</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#14 < +Type not computed + +[0] → #11 CTRL +[1] → #4 DATA +[2] → #13 DATA</title><circle class="port" cx="30" cy="-3" r="3" fill="#536477"/><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><circle class="port" cx="90" cy="-3" r="3" fill="#536477"/><text class="slot" x="30" y="-10" text-anchor="middle">0</text><text class="slot" x="60" y="-10" text-anchor="middle">1</text><text class="slot" x="90" y="-10" text-anchor="middle">2</text></g><g class="node" id="n15" data-id="15" transform="translate(255,946)" style="opacity: 1;"><path class="box" d="M0,0H120V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>True</tspan><tspan class="node-id"> #15/0</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#15 True +Projection 0 of #25 +Type not computed + +[0] → #25 CTRL</title></g><g class="node" id="n16" data-id="16" transform="translate(433,713)" style="opacity: 1;"><path class="box" d="M0,0H240V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="120" y="18"><tspan>If</tspan><tspan class="node-id"> #16</tspan></text><text class="type" text-anchor="middle" y="35" x="120"/><title>#16 If +Type not computed + +[0] → #11 CTRL +[1] → #14 DATA</title><circle class="port" cx="80" cy="-3" r="3" fill="#536477"/><circle class="port" cx="160" cy="-3" r="3" fill="#536477"/><text class="slot" x="80" y="-10" text-anchor="middle">0</text><text class="slot" x="160" y="-10" text-anchor="middle">1</text></g><g class="node" id="n17" data-id="17" transform="translate(375,946)" style="opacity: 1;"><path class="box" d="M0,0H120V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>False</tspan><tspan class="node-id"> #17/1</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#17 False +Projection 1 of #25 +Type not computed + +[0] → #25 CTRL</title></g><g class="node" id="n21" data-id="21" transform="translate(861,172)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>//</tspan><tspan class="node-id"> #21</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#21 // +Type not computed + +[0] → #2 CTRL +[1] → #7 DATA +[2] → #22 DATA</title><circle class="port" cx="30" cy="-3" r="3" fill="#536477"/><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><circle class="port" cx="90" cy="-3" r="3" fill="#536477"/><text class="slot" x="30" y="-10" text-anchor="middle">0</text><text class="slot" x="60" y="-10" text-anchor="middle">1</text><text class="slot" x="90" y="-10" text-anchor="middle">2</text></g><g class="node" id="n22" data-id="22" transform="translate(901,68)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>#3</tspan><tspan class="node-id"> #22</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#22 #3 +Type not computed + +</title></g><g class="node" id="n23" data-id="23" transform="translate(220,609)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>==</tspan><tspan class="node-id"> #23</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#23 == +Type not computed + +[0] → #11 CTRL +[1] → #13 DATA +[2] → #24 DATA</title><circle class="port" cx="30" cy="-3" r="3" fill="#536477"/><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><circle class="port" cx="90" cy="-3" r="3" fill="#536477"/><text class="slot" x="30" y="-10" text-anchor="middle">0</text><text class="slot" x="60" y="-10" text-anchor="middle">1</text><text class="slot" x="90" y="-10" text-anchor="middle">2</text></g><g class="node" id="n24" data-id="24" transform="translate(250,276)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>#5</tspan><tspan class="node-id"> #24</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#24 #5 +Type not computed + +</title></g><g class="node" id="n25" data-id="25" transform="translate(255,902)" style="opacity: 1;"><path class="box" d="M0,0H240V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="120" y="18"><tspan>If</tspan><tspan class="node-id"> #25</tspan></text><text class="type" text-anchor="middle" y="35" x="120"/><title>#25 If +Type not computed + +[0] → #8 CTRL +[1] → #23 DATA</title><circle class="port" cx="80" cy="-3" r="3" fill="#536477"/><circle class="port" cx="160" cy="-3" r="3" fill="#536477"/><text class="slot" x="80" y="-10" text-anchor="middle">0</text><text class="slot" x="160" y="-10" text-anchor="middle">1</text></g><g class="node" id="n31" data-id="31" transform="translate(372,609)" style="opacity: 1;"><path class="box" d="M10,0H110L120,10V34L110,44H10L0,34V10Z" fill="#dcecff"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>.f =</tspan><tspan class="node-id"> #31</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#31 .f = +Type not computed + +[0] → #11 CTRL +[1] → #230 MEM +[2] → #9 DATA +[3] → #21 DATA</title><circle class="port" cx="24" cy="-3" r="3" fill="#536477"/><circle class="port" cx="48" cy="-3" r="3" fill="#536477"/><circle class="port" cx="72" cy="-3" r="3" fill="#536477"/><circle class="port" cx="96" cy="-3" r="3" fill="#536477"/><text class="slot" x="24" y="-10" text-anchor="middle">0</text><text class="slot" x="48" y="-10" text-anchor="middle">1</text><text class="slot" x="72" y="-10" text-anchor="middle">2</text><text class="slot" x="96" y="-10" text-anchor="middle">3</text></g><g class="node" id="n32" data-id="32" transform="translate(319,1050)" style="opacity: 1;"><path class="box" d="M12,0H108L120,44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>Region</tspan><tspan class="node-id"> #32</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#32 Region +Type not computed + +[0] → — DATA +[1] → #15 CTRL +[2] → #17 CTRL</title><circle class="port" cx="30" cy="-3" r="3" fill="white"/><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><circle class="port" cx="90" cy="-3" r="3" fill="#536477"/><text class="slot" x="30" y="-10" text-anchor="middle">0</text><text class="slot" x="60" y="-10" text-anchor="middle">1</text><text class="slot" x="90" y="-10" text-anchor="middle">2</text></g><g class="node" id="n35" data-id="35" transform="translate(68,609)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>-</tspan><tspan class="node-id"> #35</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#35 - +Type not computed + +[0] → #11 CTRL +[1] → #13 DATA +[2] → #36 DATA</title><circle class="port" cx="30" cy="-3" r="3" fill="#536477"/><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><circle class="port" cx="90" cy="-3" r="3" fill="#536477"/><text class="slot" x="30" y="-10" text-anchor="middle">0</text><text class="slot" x="60" y="-10" text-anchor="middle">1</text><text class="slot" x="90" y="-10" text-anchor="middle">2</text></g><g class="node" id="n36" data-id="36" transform="translate(98,276)" style="opacity: 1;"><path class="box" d="M14,0H106Q120,0 120,14V30Q120,44 106,44H14Q0,44 0,30V14Q0,0 14,0Z" fill="#edf3f7"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>#1</tspan><tspan class="node-id"> #36</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#36 #1 +Type not computed + +</title></g><g class="node" id="n37" data-id="37" transform="translate(583,1218)" style="opacity: 1;"><path class="box" d="M0,0H120V44H0Z" fill="#fff1c4"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>Return</tspan><tspan class="node-id"> #37</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#37 Return +Type not computed + +[0] → #12 CTRL +[1] → #1 MEM +[2] → #9 DATA</title><circle class="port" cx="30" cy="-3" r="3" fill="#536477"/><circle class="port" cx="60" cy="-3" r="3" fill="#536477"/><circle class="port" cx="90" cy="-3" r="3" fill="#536477"/><text class="slot" x="30" y="-10" text-anchor="middle">0</text><text class="slot" x="60" y="-10" text-anchor="middle">1</text><text class="slot" x="90" y="-10" text-anchor="middle">2</text></g><g class="node" id="n230" data-id="230" transform="translate(757,483)" style="opacity: 1;"><path class="box" d="M12,0H108L120,22L108,44H12L0,22Z" fill="#f5e4fa"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>MemPhi_2</tspan><tspan class="node-id"> #230</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#230 MemPhi_2 +Type not computed + +[0] → #11 ASSOC +[1] → #10 MEM +[2] → #233 MEM</title><circle class="port" cx="-3" cy="22" r="3" fill="#536477"/><circle class="port" cx="40" cy="-3" r="3" fill="#536477"/><circle class="port" cx="80" cy="-3" r="3" fill="#536477"/><path class="reg" fill="none" stroke="#b63838" d="M-3,22H-18m4,-3l-4,3l4,3"><title>[0] → #11</title></path><text class="slot" x="-10" y="15" text-anchor="middle">0</text><text class="slot" x="40" y="-10" text-anchor="middle">1</text><text class="slot" x="80" y="-10" text-anchor="middle">2</text></g><g class="node" id="n233" data-id="233" transform="translate(471,1050)" style="opacity: 1;"><path class="box" d="M12,0H108L120,22L108,44H12L0,22Z" fill="#f5e4fa"/><text class="label" text-anchor="middle" x="60" y="18"><tspan>MemPhi_2</tspan><tspan class="node-id"> #233</tspan></text><text class="type" text-anchor="middle" y="35" x="60"/><title>#233 MemPhi_2 +Type not computed + +[0] → #32 ASSOC +[1] → #31 MEM +[2] → #230 MEM</title><circle class="port" cx="-3" cy="22" r="3" fill="#536477"/><circle class="port" cx="40" cy="-3" r="3" fill="#536477"/><circle class="port" cx="80" cy="-3" r="3" fill="#536477"/><path class="reg" fill="none" stroke="#b63838" d="M-3,22H-18m4,-3l-4,3l4,3"><title>[0] → #32</title></path><text class="slot" x="-10" y="15" text-anchor="middle">0</text><text class="slot" x="40" y="-10" text-anchor="middle">1</text><text class="slot" x="80" y="-10" text-anchor="middle">2</text></g></g><g class="region-heads" style="opacity: 1;"><g class="region-head" transform="translate(24,379)"><text class="label" x="26" y="17"><tspan>Loop</tspan><tspan class="node-id"> #11</tspan></text><title>Loop · 16 nodes</title><g class="fold-btn" role="button" tabindex="0" transform="translate(4,4)" aria-label="Fold region #11"><rect width="16" height="16" rx="2"/><text x="8" y="12" text-anchor="middle">−</text><title>Fold region</title></g></g><g class="region-head" transform="translate(243,862)"><text class="label" x="26" y="17"><tspan>If</tspan><tspan class="node-id"> #25</tspan></text><title>If · 5 nodes</title><g class="fold-btn" role="button" tabindex="0" transform="translate(4,4)" aria-label="Fold region #25"><rect width="16" height="16" rx="2"/><text x="8" y="12" text-anchor="middle">−</text><title>Fold region</title></g></g></g><g class="shortcuts" style="opacity: 1;"/><g class="peep-ghosts" pointer-events="none"/></g></svg> |
