Current File : //usr/local/apps/share/doc/freetds/reference/a00387_ga7bf3670d3d6dabed469b9eb117298079_cgraph.svg |
<?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 2.38.0 (20140413.2041)
-->
<!-- Title: tds_submit_begin_tran Pages: 1 -->
<svg width="928pt" height="682pt"
viewBox="0.00 0.00 928.00 681.78" 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 677.779)">
<title>tds_submit_begin_tran</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-677.779 924,-677.779 924,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-597.279 0,-616.279 122,-616.279 122,-597.279 0,-597.279"/>
<text text-anchor="middle" x="61" y="-604.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_begin_tran</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="a00387.html#ga5a29ae7f99d089dc3cea85ec6ee5f3ab" target="_top" xlink:title="tds_submit_query() sends a language string to the database server for processing. ...">
<polygon fill="white" stroke="black" points="158,-442.279 158,-461.279 256,-461.279 256,-442.279 158,-442.279"/>
<text text-anchor="middle" x="207" y="-449.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_query</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge1" class="edge"><title>Node1->Node2</title>
<path fill="none" stroke="midnightblue" d="M71.0078,-597.083C94.8479,-571.422 159.83,-501.476 190.095,-468.899"/>
<polygon fill="midnightblue" stroke="midnightblue" points="192.753,-471.18 196.996,-461.471 187.625,-466.415 192.753,-471.18"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="a00217.html#a16db200d2281f76fe46fc1cbe37ca9df" target="_top" xlink:title="Set state of TDS connection, with logging and checking. ">
<polygon fill="white" stroke="red" points="675.5,-587.279 675.5,-606.279 755.5,-606.279 755.5,-587.279 675.5,-587.279"/>
<text text-anchor="middle" x="715.5" y="-594.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_set_state</text>
</a>
</g>
</g>
<!-- Node1->Node4 -->
<g id="edge30" class="edge"><title>Node1->Node4</title>
<path fill="none" stroke="midnightblue" d="M122.153,-610.393C134.03,-610.971 146.405,-611.477 158,-611.779 283.342,-615.041 533.101,-611.456 615,-606.779 631.351,-605.845 649.163,-604.242 665.138,-602.589"/>
<polygon fill="midnightblue" stroke="midnightblue" points="665.765,-606.042 675.338,-601.502 665.023,-599.081 665.765,-606.042"/>
</g>
<!-- Node19 -->
<g id="node19" class="node"><title>Node19</title>
<g id="a_node19"><a xlink:href="a00387.html#gada27f4cfce925240ad33b71b63ca692d" target="_top" xlink:title="Flush query packet. ">
<polygon fill="white" stroke="red" points="477.5,-578.279 477.5,-597.279 605.5,-597.279 605.5,-578.279 477.5,-578.279"/>
<text text-anchor="middle" x="541.5" y="-585.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_query_flush_packet</text>
</a>
</g>
</g>
<!-- Node1->Node19 -->
<g id="edge33" class="edge"><title>Node1->Node19</title>
<path fill="none" stroke="midnightblue" d="M122.118,-604.392C209.788,-600.911 372.545,-594.448 467.145,-590.692"/>
<polygon fill="midnightblue" stroke="midnightblue" points="467.355,-594.186 477.208,-590.292 467.077,-587.192 467.355,-594.186"/>
</g>
<!-- Node20 -->
<g id="node20" class="node"><title>Node20</title>
<g id="a_node20"><a xlink:href="a00387.html#ga0da385231bfa3dc49377e1fb2bea2c07" target="_top" xlink:title="Start query packet of a given type. ">
<polygon fill="white" stroke="black" points="317,-654.279 317,-673.279 407,-673.279 407,-654.279 317,-654.279"/>
<text text-anchor="middle" x="362" y="-661.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_start_query</text>
</a>
</g>
</g>
<!-- Node1->Node20 -->
<g id="edge31" class="edge"><title>Node1->Node20</title>
<path fill="none" stroke="midnightblue" d="M85.2639,-616.344C104.458,-623.852 132.571,-633.975 158,-639.779 207.757,-651.135 265.674,-657.306 306.88,-660.534"/>
<polygon fill="midnightblue" stroke="midnightblue" points="306.747,-664.034 316.981,-661.293 307.271,-657.053 306.747,-664.034"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="a00387.html#ga95e0fccedc459a4404f496eec74a369a" target="_top" xlink:title="tds_submit_query_params() sends a language string to the database server for processing. ">
<polygon fill="white" stroke="black" points="292,-344.279 292,-363.279 432,-363.279 432,-344.279 292,-344.279"/>
<text text-anchor="middle" x="362" y="-351.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_query_params</text>
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id="edge2" class="edge"><title>Node2->Node3</title>
<path fill="none" stroke="midnightblue" d="M222.949,-442.204C249.503,-425.196 305.101,-389.584 337.046,-369.122"/>
<polygon fill="midnightblue" stroke="midnightblue" points="339.231,-371.879 345.764,-363.538 335.455,-365.984 339.231,-371.879"/>
</g>
<!-- Node3->Node4 -->
<g id="edge3" class="edge"><title>Node3->Node4</title>
<path fill="none" stroke="midnightblue" d="M366.476,-363.638C377.027,-392.133 411.464,-475.329 468,-518.779 476.332,-525.182 604.408,-563.965 672.56,-584.322"/>
<polygon fill="midnightblue" stroke="midnightblue" points="671.576,-587.681 682.159,-587.186 673.577,-580.973 671.576,-587.681"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="a00387.html#ga6455b2991afbf7da90270787f2059d31" target="_top" xlink:title="Get position of next placeholder. ">
<polygon fill="white" stroke="red" points="656,-80.2789 656,-99.2789 775,-99.2789 775,-80.2789 656,-80.2789"/>
<text text-anchor="middle" x="715.5" y="-87.2789" font-family="Helvetica,sans-Serif" font-size="10.00">tds_next_placeholder</text>
</a>
</g>
</g>
<!-- Node3->Node5 -->
<g id="edge4" class="edge"><title>Node3->Node5</title>
<path fill="none" stroke="midnightblue" d="M363.281,-344.029C365.025,-303.951 377.589,-151.12 468,-89.7789 530.417,-47.4315 623.73,-63.3945 675.81,-77.4498"/>
<polygon fill="midnightblue" stroke="midnightblue" points="675.081,-80.8805 685.655,-80.2176 676.976,-74.1418 675.081,-80.8805"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="a00387.html#ga3a5d1771cacc947521c4077551f0d3a4" target="_top" xlink:title="Substitute ?-style placeholders with named (@param) ones. ">
<polygon fill="white" stroke="red" points="488,-99.2789 488,-118.279 595,-118.279 595,-99.2789 488,-99.2789"/>
<text text-anchor="middle" x="541.5" y="-106.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds5_fix_dot_query</text>
</a>
</g>
</g>
<!-- Node3->Node6 -->
<g id="edge5" class="edge"><title>Node3->Node6</title>
<path fill="none" stroke="midnightblue" d="M364.758,-344.203C371.505,-310.164 398.911,-193.8 468,-132.779 472.695,-128.632 478.127,-125.198 483.864,-122.355"/>
<polygon fill="midnightblue" stroke="midnightblue" points="485.29,-125.552 493.068,-118.358 482.501,-119.132 485.29,-125.552"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="a00387.html#ga28264995cf9616661f1fa788ac0d246d" target="_top" xlink:title="Send parameters to server. ">
<polygon fill="white" stroke="red" points="495.5,-464.279 495.5,-483.279 587.5,-483.279 587.5,-464.279 495.5,-464.279"/>
<text text-anchor="middle" x="541.5" y="-471.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_params</text>
</a>
</g>
</g>
<!-- Node3->Node7 -->
<g id="edge7" class="edge"><title>Node3->Node7</title>
<path fill="none" stroke="midnightblue" d="M370.966,-363.385C387.275,-382.471 426.447,-425.423 468,-449.779 475.399,-454.116 483.688,-457.794 491.945,-460.868"/>
<polygon fill="midnightblue" stroke="midnightblue" points="490.973,-464.235 501.567,-464.204 493.265,-457.621 490.973,-464.235"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="a00387.html#gafd74652c4722ddce4d642cc4209449d4" target="_top" xlink:title="Put data information to wire. ">
<polygon fill="white" stroke="red" points="665,-492.279 665,-511.279 766,-511.279 766,-492.279 665,-492.279"/>
<text text-anchor="middle" x="715.5" y="-499.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_data_info</text>
</a>
</g>
</g>
<!-- Node3->Node8 -->
<g id="edge26" class="edge"><title>Node3->Node8</title>
<path fill="none" stroke="midnightblue" d="M366.806,-363.542C377.762,-390.12 412.208,-463.721 468,-492.779 527.286,-523.657 605.919,-520.226 658.263,-512.845"/>
<polygon fill="midnightblue" stroke="midnightblue" points="659,-516.274 668.368,-511.325 657.959,-509.351 659,-516.274"/>
</g>
<!-- Node9 -->
<g id="node9" class="node"><title>Node9</title>
<g id="a_node9"><a xlink:href="a00387.html#ga024bc5482366735070befd6f4af59f71" target="_top" xlink:title="Convert a string in an allocated buffer. ">
<polygon fill="white" stroke="red" points="816,-492.279 816,-511.279 920,-511.279 920,-492.279 816,-492.279"/>
<text text-anchor="middle" x="868" y="-499.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_convert_string</text>
</a>
</g>
</g>
<!-- Node3->Node9 -->
<g id="edge16" class="edge"><title>Node3->Node9</title>
<path fill="none" stroke="midnightblue" d="M362.847,-344.109C362.76,-301.416 368.721,-128.823 468,-58.7789 581.389,21.2198 675.866,20.9431 780,-70.7789 842.932,-126.209 861.926,-403.986 866.045,-481.604"/>
<polygon fill="midnightblue" stroke="midnightblue" points="862.566,-482.107 866.566,-491.918 869.557,-481.754 862.566,-482.107"/>
</g>
<!-- Node10 -->
<g id="node10" class="node"><title>Node10</title>
<g id="a_node10"><a xlink:href="a00387.html#ga9fcc0a3932dcad530511395ef8a767fb" target="_top" xlink:title="Write data to wire. ">
<polygon fill="white" stroke="black" points="676.5,-435.279 676.5,-454.279 754.5,-454.279 754.5,-435.279 676.5,-435.279"/>
<text text-anchor="middle" x="715.5" y="-442.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_data</text>
</a>
</g>
</g>
<!-- Node3->Node10 -->
<g id="edge27" class="edge"><title>Node3->Node10</title>
<path fill="none" stroke="midnightblue" d="M384.34,-363.366C405.293,-372.478 438.338,-386.05 468,-394.779 535.8,-414.731 616.398,-429.44 666.512,-437.561"/>
<polygon fill="midnightblue" stroke="midnightblue" points="665.994,-441.022 676.421,-439.145 667.099,-434.11 665.994,-441.022"/>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<g id="a_node11"><a xlink:href="a00389.html#gae6d3d12bd1f5f0c56df934a377c245d3" target="_top" xlink:title="test if string is empty ">
<polygon fill="white" stroke="black" points="667,-366.279 667,-385.279 764,-385.279 764,-366.279 667,-366.279"/>
<text text-anchor="middle" x="715.5" y="-373.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_dstr_isempty</text>
</a>
</g>
</g>
<!-- Node3->Node11 -->
<g id="edge11" class="edge"><title>Node3->Node11</title>
<path fill="none" stroke="midnightblue" d="M396.244,-363.393C416.734,-368.812 443.658,-375.032 468,-377.779 532.254,-385.029 606.527,-383.024 656.611,-380.164"/>
<polygon fill="midnightblue" stroke="midnightblue" points="656.835,-383.657 666.607,-379.563 656.415,-376.669 656.835,-383.657"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><a xlink:href="a00387.html#ga9ad2e6defce530a8778791cce0166ccd" target="_top" xlink:title="Start query packet of a given type. ">
<polygon fill="white" stroke="black" points="481.5,-654.279 481.5,-673.279 601.5,-673.279 601.5,-654.279 481.5,-654.279"/>
<text text-anchor="middle" x="541.5" y="-661.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_start_query_head</text>
</a>
</g>
</g>
<!-- Node3->Node12 -->
<g id="edge12" class="edge"><title>Node3->Node12</title>
<path fill="none" stroke="midnightblue" d="M365.112,-363.388C373.258,-398.793 405.345,-524.181 468,-606.779 480.861,-623.734 499.911,-638.448 515.256,-648.678"/>
<polygon fill="midnightblue" stroke="midnightblue" points="513.484,-651.7 523.788,-654.166 517.271,-645.812 513.484,-651.7"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<g id="a_node13"><a xlink:href="a00388.html#ga1fcaf8d488cc1390f106ce3ad0bf37b4" target="_top" xlink:title="Output a string to wire automatic translate string to unicode if needed. ">
<polygon fill="white" stroke="red" points="674,-172.279 674,-191.279 757,-191.279 757,-172.279 674,-172.279"/>
<text text-anchor="middle" x="715.5" y="-179.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_string</text>
</a>
</g>
</g>
<!-- Node3->Node13 -->
<g id="edge15" class="edge"><title>Node3->Node13</title>
<path fill="none" stroke="midnightblue" d="M364.883,-343.987C371.735,-311.414 398.68,-206.462 468,-165.779 535.474,-126.179 631.962,-151.144 681.846,-168.763"/>
<polygon fill="midnightblue" stroke="midnightblue" points="680.874,-172.134 691.467,-172.277 683.275,-165.559 680.874,-172.134"/>
</g>
<!-- Node14 -->
<g id="node14" class="node"><title>Node14</title>
<g id="a_node14"><a xlink:href="a00387.html#ga0cd19215e9169ea299a6c9cbf5b2fb60" target="_top" xlink:title="Count number of placeholders (?) in a query. ">
<polygon fill="white" stroke="red" points="651,-245.779 651,-275.779 780,-275.779 780,-245.779 651,-245.779"/>
<text text-anchor="start" x="659" y="-263.779" font-family="Helvetica,sans-Serif" font-size="10.00">tds_count_placeholders</text>
<text text-anchor="middle" x="715.5" y="-252.779" font-family="Helvetica,sans-Serif" font-size="10.00">_ucs2le</text>
</a>
</g>
</g>
<!-- Node3->Node14 -->
<g id="edge17" class="edge"><title>Node3->Node14</title>
<path fill="none" stroke="midnightblue" d="M372.662,-344.158C390.009,-327.584 428.34,-294.05 468,-279.779 523.542,-259.792 590.547,-255.796 640.67,-256.378"/>
<polygon fill="midnightblue" stroke="midnightblue" points="640.718,-259.88 650.78,-256.56 640.844,-252.881 640.718,-259.88"/>
</g>
<!-- Node15 -->
<g id="node15" class="node"><title>Node15</title>
<g id="a_node15"><a xlink:href="a00387.html#gac8d5497c2d1b9fadb724111660bd03bd" target="_top" xlink:title="Return string with parameters definition, useful for TDS7+. ">
<polygon fill="white" stroke="red" points="481,-338.779 481,-368.779 602,-368.779 602,-338.779 481,-338.779"/>
<text text-anchor="start" x="489" y="-356.779" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_build_param_def</text>
<text text-anchor="middle" x="541.5" y="-345.779" font-family="Helvetica,sans-Serif" font-size="10.00">_from_params</text>
</a>
</g>
</g>
<!-- Node3->Node15 -->
<g id="edge18" class="edge"><title>Node3->Node15</title>
<path fill="none" stroke="midnightblue" d="M432.134,-353.779C444.808,-353.779 458.043,-353.779 470.735,-353.779"/>
<polygon fill="midnightblue" stroke="midnightblue" points="470.776,-357.279 480.776,-353.779 470.776,-350.279 470.776,-357.279"/>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<g id="a_node16"><a xlink:href="a00387.html#gab775332d378c7fe083750d624441b303" target="_top" xlink:title="Return string with parameters definition, useful for TDS7+ Looks like "@P1 INT, @P2 VARCHAR(100)"...">
<polygon fill="white" stroke="red" points="481,-289.779 481,-319.779 602,-319.779 602,-289.779 481,-289.779"/>
<text text-anchor="start" x="489" y="-307.779" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_build_param_def</text>
<text text-anchor="middle" x="541.5" y="-296.779" font-family="Helvetica,sans-Serif" font-size="10.00">_from_query</text>
</a>
</g>
</g>
<!-- Node3->Node16 -->
<g id="edge20" class="edge"><title>Node3->Node16</title>
<path fill="none" stroke="midnightblue" d="M397.645,-344.215C419.921,-338.066 449.55,-329.886 476.049,-322.571"/>
<polygon fill="midnightblue" stroke="midnightblue" points="477.321,-325.851 486.029,-319.816 475.459,-319.103 477.321,-325.851"/>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<g id="a_node17"><a xlink:href="a00387.html#ga6e42b4a1d1d3898229ea2fe4afc2ecec" target="_top" xlink:title="Output params types and query (required by sp_prepare/sp_executesql/sp_prepexec) ">
<polygon fill="white" stroke="red" points="476,-213.279 476,-232.279 607,-232.279 607,-213.279 476,-213.279"/>
<text text-anchor="middle" x="541.5" y="-220.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_put_query_params</text>
</a>
</g>
</g>
<!-- Node3->Node17 -->
<g id="edge22" class="edge"><title>Node3->Node17</title>
<path fill="none" stroke="midnightblue" d="M369.992,-343.987C385.37,-323.136 424.264,-274.032 468,-246.779 474.96,-242.442 482.789,-238.8 490.661,-235.77"/>
<polygon fill="midnightblue" stroke="midnightblue" points="491.976,-239.017 500.228,-232.372 489.633,-232.42 491.976,-239.017"/>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<g id="a_node18"><a xlink:href="a00387.html#ga0f0b6bf447e9672e3b1ea8453ddeb113" target="_top" xlink:title="Send parameter definition to server. ">
<polygon fill="white" stroke="black" points="468,-175.279 468,-194.279 615,-194.279 615,-175.279 468,-175.279"/>
<text text-anchor="middle" x="541.5" y="-182.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_put_params_definition</text>
</a>
</g>
</g>
<!-- Node3->Node18 -->
<g id="edge25" class="edge"><title>Node3->Node18</title>
<path fill="none" stroke="midnightblue" d="M366.967,-343.921C378.335,-316.969 413.737,-241.558 468,-203.779 470.863,-201.785 473.922,-200.001 477.104,-198.404"/>
<polygon fill="midnightblue" stroke="midnightblue" points="478.568,-201.584 486.337,-194.381 475.772,-195.167 478.568,-201.584"/>
</g>
<!-- Node3->Node19 -->
<g id="edge28" class="edge"><title>Node3->Node19</title>
<path fill="none" stroke="midnightblue" d="M365.013,-363.337C372.445,-396.271 401.426,-506.16 468,-563.779 472.803,-567.936 478.347,-571.377 484.187,-574.225"/>
<polygon fill="midnightblue" stroke="midnightblue" points="482.972,-577.513 493.543,-578.231 485.727,-571.077 482.972,-577.513"/>
</g>
<!-- Node6->Node5 -->
<g id="edge6" class="edge"><title>Node6->Node5</title>
<path fill="none" stroke="midnightblue" d="M595.04,-102.975C610.994,-101.213 628.767,-99.2494 645.626,-97.3871"/>
<polygon fill="midnightblue" stroke="midnightblue" points="646.425,-100.82 655.98,-96.2433 645.656,-93.8626 646.425,-100.82"/>
</g>
<!-- Node7->Node8 -->
<g id="edge8" class="edge"><title>Node7->Node8</title>
<path fill="none" stroke="midnightblue" d="M587.691,-481.136C608.234,-484.48 632.82,-488.482 654.853,-492.069"/>
<polygon fill="midnightblue" stroke="midnightblue" points="654.34,-495.531 664.772,-493.684 655.464,-488.622 654.34,-495.531"/>
</g>
<!-- Node7->Node10 -->
<g id="edge10" class="edge"><title>Node7->Node10</title>
<path fill="none" stroke="midnightblue" d="M587.691,-466.159C611.923,-462.074 641.782,-457.04 666.438,-452.882"/>
<polygon fill="midnightblue" stroke="midnightblue" points="667.025,-456.333 676.304,-451.219 665.862,-449.43 667.025,-456.333"/>
</g>
<!-- Node8->Node9 -->
<g id="edge9" class="edge"><title>Node8->Node9</title>
<path fill="none" stroke="midnightblue" d="M766.196,-501.779C778.762,-501.779 792.407,-501.779 805.48,-501.779"/>
<polygon fill="midnightblue" stroke="midnightblue" points="805.81,-505.279 815.81,-501.779 805.81,-498.279 805.81,-505.279"/>
</g>
<!-- Node12->Node4 -->
<g id="edge14" class="edge"><title>Node12->Node4</title>
<path fill="none" stroke="midnightblue" d="M573.402,-654.213C586.346,-650.036 601.494,-644.921 615,-639.779 638.621,-630.785 664.844,-619.393 684.437,-610.594"/>
<polygon fill="midnightblue" stroke="midnightblue" points="686.086,-613.69 693.756,-606.381 683.202,-607.312 686.086,-613.69"/>
</g>
<!-- Node12->Node9 -->
<g id="edge13" class="edge"><title>Node12->Node9</title>
<path fill="none" stroke="midnightblue" d="M601.657,-663.229C652.475,-660.226 725.887,-649.643 780,-615.779 817.636,-592.227 845.054,-546.169 858.227,-520.389"/>
<polygon fill="midnightblue" stroke="midnightblue" points="861.428,-521.812 862.711,-511.295 855.15,-518.717 861.428,-521.812"/>
</g>
<!-- Node15->Node11 -->
<g id="edge19" class="edge"><title>Node15->Node11</title>
<path fill="none" stroke="midnightblue" d="M602.175,-361.412C619.856,-363.673 639.181,-366.145 656.739,-368.391"/>
<polygon fill="midnightblue" stroke="midnightblue" points="656.484,-371.887 666.847,-369.684 657.372,-364.943 656.484,-371.887"/>
</g>
<!-- Node16->Node14 -->
<g id="edge21" class="edge"><title>Node16->Node14</title>
<path fill="none" stroke="midnightblue" d="M601.212,-289.76C615.523,-286.098 630.96,-282.15 645.695,-278.38"/>
<polygon fill="midnightblue" stroke="midnightblue" points="646.941,-281.674 655.761,-275.805 645.206,-274.893 646.941,-281.674"/>
</g>
<!-- Node17->Node13 -->
<g id="edge24" class="edge"><title>Node17->Node13</title>
<path fill="none" stroke="midnightblue" d="M582.393,-213.27C606.944,-207.417 638.613,-199.868 664.789,-193.629"/>
<polygon fill="midnightblue" stroke="midnightblue" points="665.61,-197.031 674.526,-191.308 663.987,-190.222 665.61,-197.031"/>
</g>
<!-- Node17->Node14 -->
<g id="edge23" class="edge"><title>Node17->Node14</title>
<path fill="none" stroke="midnightblue" d="M585.903,-232.368C602.606,-236.058 622.176,-240.382 640.94,-244.527"/>
<polygon fill="midnightblue" stroke="midnightblue" points="640.438,-248.001 650.957,-246.74 641.948,-241.165 640.438,-248.001"/>
</g>
<!-- Node19->Node4 -->
<g id="edge29" class="edge"><title>Node19->Node4</title>
<path fill="none" stroke="midnightblue" d="M605.57,-591.079C625.308,-592.112 646.785,-593.236 665.412,-594.21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="665.268,-597.707 675.437,-594.735 665.634,-590.717 665.268,-597.707"/>
</g>
<!-- Node20->Node12 -->
<g id="edge32" class="edge"><title>Node20->Node12</title>
<path fill="none" stroke="midnightblue" d="M407.333,-663.779C426.658,-663.779 449.768,-663.779 471.27,-663.779"/>
<polygon fill="midnightblue" stroke="midnightblue" points="471.343,-667.279 481.343,-663.779 471.343,-660.279 471.343,-667.279"/>
</g>
</g>
</svg>