blob: 6bd00e7f7ca6a620229949bb3105cc614a9ffaae [file] [log] [blame]
<?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.34.0 (20130907.0228)
-->
<!-- Title: URLRequestRoot Pages: 1 -->
<svg width="1788pt" height="925pt"
viewBox="0.00 0.00 1788.00 925.00" 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 921)">
<title>URLRequestRoot</title>
<polygon fill="white" stroke="white" points="-4,4 -4,-921 1784,-921 1784,4 -4,4"/>
<g id="clust1" class="cluster"><title>cluster_legend</title>
<polygon fill="none" stroke="black" points="107,-746 107,-909 685,-909 685,-746 107,-746"/>
<text text-anchor="middle" x="396" y="-893.8" font-family="Times,serif" font-size="14.00">Legend</text>
</g>
<!-- BaseClass -->
<g id="node1" class="node"><title>BaseClass</title>
<ellipse fill="none" stroke="black" cx="473" cy="-772" rx="48.1437" ry="18"/>
<text text-anchor="middle" x="473" y="-768.3" font-family="Times,serif" font-size="14.00">BaseClass</text>
</g>
<!-- SubClass -->
<g id="node2" class="node"><title>SubClass</title>
<ellipse fill="none" stroke="black" cx="615" cy="-860" rx="61.6163" ry="18"/>
<text text-anchor="middle" x="615" y="-856.3" font-family="Times,serif" font-size="14.00">Derived Class</text>
</g>
<!-- SubClass&#45;&gt;BaseClass -->
<g id="edge1" class="edge"><title>SubClass&#45;&gt;BaseClass</title>
<path fill="none" stroke="black" d="M589.285,-843.426C565.835,-829.224 531.074,-808.172 505.666,-792.784"/>
<polygon fill="none" stroke="black" points="507.47,-789.784 497.103,-787.598 503.844,-795.772 507.47,-789.784"/>
</g>
<!-- Interface -->
<g id="node7" class="node"><title>Interface</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="608" cy="-772" rx="68.3417" ry="18"/>
<text text-anchor="middle" x="608" y="-768.3" font-family="Times,serif" font-size="14.00">Interface / ABC</text>
</g>
<!-- SubClass&#45;&gt;Interface -->
<g id="edge2" class="edge"><title>SubClass&#45;&gt;Interface</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M613.583,-841.597C612.619,-829.746 611.322,-813.817 610.221,-800.292"/>
<polygon fill="none" stroke="black" points="613.69,-799.767 609.391,-790.084 606.713,-800.335 613.69,-799.767"/>
</g>
<!-- Whole -->
<g id="node3" class="node"><title>Whole</title>
<ellipse fill="none" stroke="black" cx="372" cy="-772" rx="35.1455" ry="18"/>
<text text-anchor="middle" x="372" y="-768.3" font-family="Times,serif" font-size="14.00">Whole</text>
</g>
<!-- Part -->
<g id="node4" class="node"><title>Part</title>
<ellipse fill="none" stroke="black" cx="508" cy="-860" rx="27" ry="18"/>
<text text-anchor="middle" x="508" y="-856.3" font-family="Times,serif" font-size="14.00">Part</text>
</g>
<!-- Part&#45;&gt;Whole -->
<g id="edge3" class="edge"><title>Part&#45;&gt;Whole</title>
<path fill="none" stroke="black" d="M486.958,-848.263C482.117,-846.019 476.938,-843.792 472,-842 442.209,-831.187 428.423,-842.925 403,-824 395.025,-818.063 388.673,-809.412 383.848,-800.915"/>
<polygon fill="black" stroke="black" points="383.784,-800.788 377.509,-797.234 378.376,-790.076 384.651,-793.629 383.784,-800.788"/>
<text text-anchor="middle" x="432.5" y="-812.3" font-family="Times,serif" font-size="14.00">ownership</text>
</g>
<!-- Part&#45;&gt;Whole -->
<g id="edge4" class="edge"><title>Part&#45;&gt;Whole</title>
<path fill="none" stroke="black" d="M497.05,-843.387C488.566,-832.255 475.937,-817.615 462,-808 461.698,-807.792 434.867,-797.366 410.582,-787.948"/>
<polygon fill="none" stroke="black" points="410.539,-787.932 403.499,-789.492 399.351,-783.594 406.391,-782.033 410.539,-787.932"/>
<text text-anchor="middle" x="500" y="-812.3" font-family="Times,serif" font-size="14.00">pointer</text>
</g>
<!-- A -->
<g id="node5" class="node"><title>A</title>
<ellipse fill="none" stroke="black" cx="436" cy="-860" rx="27" ry="18"/>
<text text-anchor="middle" x="436" y="-856.3" font-family="Times,serif" font-size="14.00">A</text>
</g>
<!-- B -->
<g id="node6" class="node"><title>B</title>
<ellipse fill="none" stroke="black" cx="292" cy="-772" rx="27" ry="18"/>
<text text-anchor="middle" x="292" y="-768.3" font-family="Times,serif" font-size="14.00">B</text>
</g>
<!-- A&#45;&gt;B -->
<g id="edge5" class="edge"><title>A&#45;&gt;B</title>
<path fill="none" stroke="black" d="M415.171,-848.532C409.973,-846.171 404.352,-843.826 399,-842 365.327,-830.513 349.531,-845.255 321,-824 311.083,-816.612 304.05,-804.762 299.396,-794.342"/>
<polyline fill="none" stroke="black" points="297.423,-789.677 299.371,-794.282 "/>
<text text-anchor="middle" x="352.5" y="-812.3" font-family="Times,serif" font-size="14.00">association</text>
<text text-anchor="middle" x="287.423" y="-793.477" font-family="Times,serif" font-size="14.00">?..?</text>
<text text-anchor="middle" x="405.171" y="-837.332" font-family="Times,serif" font-size="14.00">?..?</text>
</g>
<!-- template_class -->
<g id="node8" class="node"><title>template_class</title>
<polygon fill="none" stroke="black" points="300,-878 209.505,-860 300,-842 390.495,-860 300,-878"/>
<text text-anchor="middle" x="300" y="-856.3" font-family="Times,serif" font-size="14.00">template_class</text>
</g>
<!-- Factory -->
<g id="node9" class="node"><title>Factory</title>
<ellipse fill="none" stroke="black" cx="153" cy="-860" rx="38.0212" ry="18"/>
<text text-anchor="middle" x="153" y="-856.3" font-family="Times,serif" font-size="14.00">Factory</text>
</g>
<!-- object -->
<g id="node10" class="node"><title>object</title>
<ellipse fill="none" stroke="black" cx="153" cy="-772" rx="33.2209" ry="18"/>
<text text-anchor="middle" x="153" y="-768.3" font-family="Times,serif" font-size="14.00">object</text>
</g>
<!-- Factory&#45;&gt;object -->
<g id="edge6" class="edge"><title>Factory&#45;&gt;object</title>
<path fill="none" stroke="black" d="M153,-841.597C153,-832.562 153,-821.157 153,-810.254"/>
<polygon fill="black" stroke="black" points="153,-790.084 157.5,-800.084 153,-795.084 153,-800.084 153,-800.084 153,-800.084 153,-795.084 148.5,-800.084 153,-790.084 153,-790.084"/>
<polygon fill="black" stroke="black" points="153,-800.084 157.5,-810.084 153,-805.084 153,-810.084 153,-810.084 153,-810.084 153,-805.084 148.5,-810.084 153,-800.084 153,-800.084"/>
</g>
<!-- URLRequestContext -->
<g id="node11" class="node"><title>URLRequestContext</title>
<ellipse fill="none" stroke="black" cx="198" cy="-18" rx="87.1385" ry="18"/>
<text text-anchor="middle" x="198" y="-14.3" font-family="Times,serif" font-size="14.00">URLRequestContext</text>
</g>
<!-- URLRequest -->
<g id="node12" class="node"><title>URLRequest</title>
<ellipse fill="none" stroke="black" cx="379" cy="-18" rx="58.2422" ry="18"/>
<text text-anchor="middle" x="379" y="-14.3" font-family="Times,serif" font-size="14.00">URLRequest</text>
</g>
<!-- URLRequestContext&#45;&gt;URLRequest -->
<g id="edge12" class="edge"><title>URLRequestContext&#45;&gt;URLRequest</title>
<path fill="none" stroke="black" d="M285.318,-18C290.35,-18 295.382,-18 300.414,-18"/>
<polygon fill="black" stroke="black" points="320.449,-18 310.449,-22.5 315.449,-18 310.449,-18 310.449,-18 310.449,-18 315.449,-18 310.449,-13.5 320.449,-18 320.449,-18"/>
<polygon fill="black" stroke="black" points="310.449,-18 300.449,-22.5001 305.449,-18.0001 300.449,-18.0001 300.449,-18.0001 300.449,-18.0001 305.449,-18.0001 300.449,-13.5001 310.449,-18 310.449,-18"/>
</g>
<!-- URLRequestJob -->
<g id="node13" class="node"><title>URLRequestJob</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="379" cy="-92" rx="70.2668" ry="18"/>
<text text-anchor="middle" x="379" y="-88.3" font-family="Times,serif" font-size="14.00">URLRequestJob</text>
</g>
<!-- URLRequestJob&#45;&gt;URLRequest -->
<g id="edge9" class="edge"><title>URLRequestJob&#45;&gt;URLRequest</title>
<path fill="none" stroke="black" d="M379,-73.937C379,-66.3374 379,-57.1638 379,-48.5081"/>
<polygon fill="black" stroke="black" points="379,-48.4407 375,-42.4407 379,-36.4407 383,-42.4406 379,-48.4407"/>
</g>
<!-- URLRequestJob_Others -->
<g id="node14" class="node"><title>URLRequestJob_Others</title>
<ellipse fill="none" stroke="black" cx="79" cy="-166" rx="78.4642" ry="18"/>
<text text-anchor="middle" x="79" y="-162.3" font-family="Times,serif" font-size="14.00">...other job types...</text>
</g>
<!-- URLRequestJob_Others&#45;&gt;URLRequestJob -->
<g id="edge7" class="edge"><title>URLRequestJob_Others&#45;&gt;URLRequestJob</title>
<path fill="none" stroke="black" d="M131.256,-152.459C183.725,-139.866 264.455,-120.491 319.39,-107.306"/>
<polygon fill="none" stroke="black" points="320.428,-110.657 329.335,-104.92 318.794,-103.85 320.428,-110.657"/>
</g>
<!-- URLRequestHttpJob -->
<g id="node15" class="node"><title>URLRequestHttpJob</title>
<ellipse fill="none" stroke="black" cx="379" cy="-166" rx="87.1385" ry="18"/>
<text text-anchor="middle" x="379" y="-162.3" font-family="Times,serif" font-size="14.00">URLRequestHttpJob</text>
</g>
<!-- URLRequestHttpJob&#45;&gt;URLRequestJob -->
<g id="edge8" class="edge"><title>URLRequestHttpJob&#45;&gt;URLRequestJob</title>
<path fill="none" stroke="black" d="M379,-147.937C379,-139.807 379,-129.876 379,-120.705"/>
<polygon fill="none" stroke="black" points="382.5,-120.441 379,-110.441 375.5,-120.441 382.5,-120.441"/>
</g>
<!-- Filter -->
<g id="node16" class="node"><title>Filter</title>
<ellipse fill="none" stroke="black" cx="532" cy="-166" rx="30.3206" ry="18"/>
<text text-anchor="middle" x="532" y="-162.3" font-family="Times,serif" font-size="14.00">Filter</text>
</g>
<!-- URLRequestHttpJob&#45;&gt;Filter -->
<g id="edge13" class="edge"><title>URLRequestHttpJob&#45;&gt;Filter</title>
<path fill="none" stroke="black" d="M466.258,-166C471.334,-166 476.41,-166 481.486,-166"/>
<polygon fill="black" stroke="black" points="501.697,-166 491.697,-170.5 496.697,-166 491.697,-166 491.697,-166 491.697,-166 496.697,-166 491.697,-161.5 501.697,-166 501.697,-166"/>
<polygon fill="black" stroke="black" points="491.697,-166 481.697,-170.5 486.697,-166 481.697,-166 481.697,-166 481.697,-166 486.697,-166 481.697,-161.5 491.697,-166 491.697,-166"/>
</g>
<!-- Filter&#45;&gt;URLRequestJob -->
<g id="edge10" class="edge"><title>Filter&#45;&gt;URLRequestJob</title>
<path fill="none" stroke="black" d="M509.094,-154.221C486.235,-143.463 450.544,-126.668 422.324,-113.388"/>
<polygon fill="black" stroke="black" points="421.996,-113.233 414.864,-114.298 411.138,-108.124 418.27,-107.059 421.996,-113.233"/>
</g>
<!-- Filter&#45;&gt;Filter -->
<g id="edge11" class="edge"><title>Filter&#45;&gt;Filter</title>
<path fill="none" stroke="black" d="M560.103,-172.724C570.969,-173.022 580,-170.781 580,-166 580,-163.236 576.981,-161.321 572.335,-160.254"/>
<polygon fill="black" stroke="black" points="572.065,-160.233 565.765,-163.742 560.103,-159.276 566.403,-155.767 572.065,-160.233"/>
<text text-anchor="middle" x="571.103" y="-176.524" font-family="Times,serif" font-size="14.00">0..1</text>
</g>
<!-- HttpTransactionFactory -->
<g id="node17" class="node"><title>HttpTransactionFactory</title>
<ellipse fill="none" stroke="black" cx="419" cy="-240" rx="97.237" ry="18"/>
<text text-anchor="middle" x="419" y="-236.3" font-family="Times,serif" font-size="14.00">HttpTransactionFactory</text>
</g>
<!-- HttpTransaction -->
<g id="node20" class="node"><title>HttpTransaction</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="734" cy="-240" rx="69.3156" ry="18"/>
<text text-anchor="middle" x="734" y="-236.3" font-family="Times,serif" font-size="14.00">HttpTransaction</text>
</g>
<!-- HttpTransactionFactory&#45;&gt;HttpTransaction -->
<g id="edge21" class="edge"><title>HttpTransactionFactory&#45;&gt;HttpTransaction</title>
<path fill="none" stroke="black" d="M516.515,-240C559.052,-240 601.589,-240 644.127,-240"/>
<polygon fill="black" stroke="black" points="664.337,-240 654.337,-244.5 659.337,-240 654.337,-240 654.337,-240 654.337,-240 659.337,-240 654.337,-235.5 664.337,-240 664.337,-240"/>
<polygon fill="black" stroke="black" points="654.337,-240 644.337,-244.5 649.337,-240 644.337,-240 644.337,-240 644.337,-240 649.337,-240 644.337,-235.5 654.337,-240 654.337,-240"/>
</g>
<!-- HttpCache -->
<g id="node18" class="node"><title>HttpCache</title>
<ellipse fill="none" stroke="black" cx="225" cy="-166" rx="49.0941" ry="18"/>
<text text-anchor="middle" x="225" y="-162.3" font-family="Times,serif" font-size="14.00">HttpCache</text>
</g>
<!-- HttpCache&#45;&gt;HttpTransactionFactory -->
<g id="edge16" class="edge"><title>HttpCache&#45;&gt;HttpTransactionFactory</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M258.184,-179.316C288.306,-190.495 333.185,-207.151 367.886,-220.03"/>
<polygon fill="none" stroke="black" points="366.789,-223.356 377.382,-223.554 369.225,-216.793 366.789,-223.356"/>
</g>
<!-- HttpCache_Transaction -->
<g id="node21" class="node"><title>HttpCache_Transaction</title>
<ellipse fill="none" stroke="black" cx="734" cy="-166" rx="97.237" ry="18"/>
<text text-anchor="middle" x="734" y="-162.3" font-family="Times,serif" font-size="14.00">HttpCache::Transaction</text>
</g>
<!-- HttpCache&#45;&gt;HttpCache_Transaction -->
<g id="edge20" class="edge"><title>HttpCache&#45;&gt;HttpCache_Transaction</title>
<path fill="none" stroke="black" d="M247.344,-182.086C259.827,-190.078 276.045,-198.887 292,-203 361.291,-220.861 543.243,-213.661 614,-203 633.473,-200.066 654.144,-194.596 672.743,-188.745"/>
<polygon fill="black" stroke="black" points="691.957,-182.348 683.891,-189.777 687.213,-183.928 682.469,-185.507 682.469,-185.507 682.469,-185.507 687.213,-183.928 681.048,-181.238 691.957,-182.348 691.957,-182.348"/>
<polygon fill="black" stroke="black" points="682.469,-185.507 674.403,-192.935 677.725,-187.086 672.981,-188.666 672.981,-188.666 672.981,-188.666 677.725,-187.086 671.56,-184.396 682.469,-185.507 682.469,-185.507"/>
</g>
<!-- HttpNetworkLayer -->
<g id="node19" class="node"><title>HttpNetworkLayer</title>
<ellipse fill="none" stroke="black" cx="419" cy="-314" rx="79.4147" ry="18"/>
<text text-anchor="middle" x="419" y="-310.3" font-family="Times,serif" font-size="14.00">HttpNetworkLayer</text>
</g>
<!-- HttpNetworkLayer&#45;&gt;HttpTransactionFactory -->
<g id="edge17" class="edge"><title>HttpNetworkLayer&#45;&gt;HttpTransactionFactory</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M419,-295.937C419,-287.807 419,-277.876 419,-268.705"/>
<polygon fill="none" stroke="black" points="422.5,-268.441 419,-258.441 415.5,-268.441 422.5,-268.441"/>
</g>
<!-- HttpNetworkTransaction -->
<g id="node22" class="node"><title>HttpNetworkTransaction</title>
<ellipse fill="none" stroke="black" cx="828" cy="-314" rx="101.087" ry="18"/>
<text text-anchor="middle" x="828" y="-310.3" font-family="Times,serif" font-size="14.00">HttpNetworkTransaction</text>
</g>
<!-- HttpNetworkLayer&#45;&gt;HttpNetworkTransaction -->
<g id="edge22" class="edge"><title>HttpNetworkLayer&#45;&gt;HttpNetworkTransaction</title>
<path fill="none" stroke="black" d="M498.483,-314C567.85,-314 637.216,-314 706.583,-314"/>
<polygon fill="black" stroke="black" points="726.635,-314 716.635,-318.5 721.635,-314 716.635,-314 716.635,-314 716.635,-314 721.635,-314 716.635,-309.5 726.635,-314 726.635,-314"/>
<polygon fill="black" stroke="black" points="716.635,-314 706.635,-318.5 711.635,-314 706.635,-314 706.635,-314 706.635,-314 711.635,-314 706.635,-309.5 716.635,-314 716.635,-314"/>
</g>
<!-- HttpTransaction&#45;&gt;URLRequestHttpJob -->
<g id="edge19" class="edge"><title>HttpTransaction&#45;&gt;URLRequestHttpJob</title>
<path fill="none" stroke="black" d="M681.236,-228.299C620.105,-215.9 519.061,-195.407 450.808,-181.564"/>
<polygon fill="black" stroke="black" points="450.645,-181.531 443.97,-184.259 438.885,-179.146 445.56,-176.418 450.645,-181.531"/>
</g>
<!-- HttpTransaction&#45;&gt;HttpCache_Transaction -->
<g id="edge18" class="edge"><title>HttpTransaction&#45;&gt;HttpCache_Transaction</title>
<path fill="none" stroke="black" d="M728.16,-221.937C727.354,-214.337 727.083,-205.164 727.349,-196.508"/>
<polygon fill="black" stroke="black" points="727.354,-196.416 723.746,-190.173 728.121,-184.441 731.729,-190.684 727.354,-196.416"/>
</g>
<!-- HttpCache_Transaction&#45;&gt;HttpTransaction -->
<g id="edge14" class="edge"><title>HttpCache_Transaction&#45;&gt;HttpTransaction</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M739.879,-184.441C740.723,-192.625 740.954,-202.572 740.571,-211.719"/>
<polygon fill="none" stroke="black" points="737.062,-211.713 739.84,-221.937 744.045,-212.212 737.062,-211.713"/>
</g>
<!-- HttpNetworkTransaction&#45;&gt;HttpTransaction -->
<g id="edge15" class="edge"><title>HttpNetworkTransaction&#45;&gt;HttpTransaction</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M806.198,-296.301C793.533,-286.599 777.401,-274.243 763.6,-263.672"/>
<polygon fill="none" stroke="black" points="765.427,-260.663 755.359,-257.36 761.17,-266.22 765.427,-260.663"/>
</g>
<!-- HttpStreamRequest_Delegate -->
<g id="node28" class="node"><title>HttpStreamRequest_Delegate</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="951" cy="-240" rx="119.384" ry="18"/>
<text text-anchor="middle" x="951" y="-236.3" font-family="Times,serif" font-size="14.00">HttpStreamRequest::Delegate</text>
</g>
<!-- HttpNetworkTransaction&#45;&gt;HttpStreamRequest_Delegate -->
<g id="edge23" class="edge"><title>HttpNetworkTransaction&#45;&gt;HttpStreamRequest_Delegate</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M855.911,-296.662C873.088,-286.607 895.308,-273.6 913.948,-262.689"/>
<polygon fill="none" stroke="black" points="915.912,-265.595 922.774,-257.522 912.376,-259.554 915.912,-265.595"/>
</g>
<!-- HttpStreamFactoryImpl -->
<g id="node23" class="node"><title>HttpStreamFactoryImpl</title>
<ellipse fill="none" stroke="black" cx="591" cy="-92" rx="97.237" ry="18"/>
<text text-anchor="middle" x="591" y="-88.3" font-family="Times,serif" font-size="14.00">HttpStreamFactoryImpl</text>
</g>
<!-- HttpStreamRequest -->
<g id="node24" class="node"><title>HttpStreamRequest</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="831" cy="-92" rx="81.3398" ry="18"/>
<text text-anchor="middle" x="831" y="-88.3" font-family="Times,serif" font-size="14.00">HttpStreamRequest</text>
</g>
<!-- HttpStreamFactoryImpl&#45;&gt;HttpStreamRequest -->
<g id="edge34" class="edge"><title>HttpStreamFactoryImpl&#45;&gt;HttpStreamRequest</title>
<path fill="none" stroke="black" d="M688.5,-92C701.992,-92 715.484,-92 728.976,-92"/>
<polygon fill="black" stroke="black" points="749.452,-92 739.452,-96.5 744.452,-92 739.452,-92 739.452,-92 739.452,-92 744.452,-92 739.452,-87.5 749.452,-92 749.452,-92"/>
<polygon fill="black" stroke="black" points="739.452,-92 729.452,-96.5001 734.452,-92.0001 729.452,-92.0001 729.452,-92.0001 729.452,-92.0001 734.452,-92.0001 729.452,-87.5001 739.452,-92 739.452,-92"/>
</g>
<!-- HttpStreamRequest&#45;&gt;HttpNetworkTransaction -->
<g id="edge28" class="edge"><title>HttpStreamRequest&#45;&gt;HttpNetworkTransaction</title>
<path fill="none" stroke="black" d="M763.969,-102.293C711.475,-111.106 644.641,-126.251 628,-148 597.411,-187.98 618.664,-223.16 655,-258 676.893,-278.992 706.776,-291.973 735.546,-300.001"/>
<polygon fill="black" stroke="black" points="735.731,-300.048 742.539,-297.673 747.351,-303.045 740.542,-305.42 735.731,-300.048"/>
</g>
<!-- HttpStream -->
<g id="node25" class="node"><title>HttpStream</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="1319" cy="-92" rx="52.4675" ry="18"/>
<text text-anchor="middle" x="1319" y="-88.3" font-family="Times,serif" font-size="14.00">HttpStream</text>
</g>
<!-- HttpStreamRequest&#45;&gt;HttpStream -->
<g id="edge35" class="edge"><title>HttpStreamRequest&#45;&gt;HttpStream</title>
<path fill="none" stroke="black" d="M912.492,-92C1023.84,-92 1135.19,-92 1246.54,-92"/>
<polygon fill="black" stroke="black" points="1266.6,-92 1256.6,-96.5 1261.6,-92 1256.6,-92 1256.6,-92 1256.6,-92 1261.6,-92 1256.6,-87.5 1266.6,-92 1266.6,-92"/>
<polygon fill="black" stroke="black" points="1256.6,-92 1246.6,-96.5001 1251.6,-92.0001 1246.6,-92.0001 1246.6,-92.0001 1246.6,-92.0001 1251.6,-92.0001 1246.6,-87.5001 1256.6,-92 1256.6,-92"/>
</g>
<!-- HttpStream&#45;&gt;HttpNetworkTransaction -->
<g id="edge29" class="edge"><title>HttpStream&#45;&gt;HttpNetworkTransaction</title>
<path fill="none" stroke="black" d="M1273.43,-101.133C1239.63,-108.879 1193.76,-123.152 1160,-148 1111.11,-183.992 1129.92,-224.936 1079,-258 1036.66,-285.489 982.719,-299.423 935.696,-306.414"/>
<polygon fill="black" stroke="black" points="935.473,-306.444 930.076,-311.228 923.585,-308.086 928.982,-303.303 935.473,-306.444"/>
</g>
<!-- HttpStreamFactoryImpl_Request -->
<g id="node26" class="node"><title>HttpStreamFactoryImpl_Request</title>
<ellipse fill="none" stroke="black" cx="981" cy="-166" rx="131.408" ry="18"/>
<text text-anchor="middle" x="981" y="-162.3" font-family="Times,serif" font-size="14.00">HttpStreamFactoryImpl::Request</text>
</g>
<!-- HttpStreamFactoryImpl_Request&#45;&gt;HttpStreamRequest -->
<g id="edge24" class="edge"><title>HttpStreamFactoryImpl_Request&#45;&gt;HttpStreamRequest</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M946.587,-148.482C924.617,-137.936 895.998,-124.199 872.734,-113.032"/>
<polygon fill="none" stroke="black" points="873.984,-109.75 863.455,-108.578 870.955,-116.061 873.984,-109.75"/>
</g>
<!-- HttpStreamFactoryImpl_Job -->
<g id="node27" class="node"><title>HttpStreamFactoryImpl_Job</title>
<ellipse fill="none" stroke="black" cx="1566" cy="-314" rx="115.06" ry="18"/>
<text text-anchor="middle" x="1566" y="-310.3" font-family="Times,serif" font-size="14.00">HttpStreamFactoryImpl::Job</text>
</g>
<!-- HttpStreamFactoryImpl_Job&#45;&gt;HttpStreamFactoryImpl_Request -->
<g id="edge31" class="edge"><title>HttpStreamFactoryImpl_Job&#45;&gt;HttpStreamFactoryImpl_Request</title>
<path fill="none" stroke="black" d="M1553.63,-295.789C1537.2,-274.422 1506.02,-238.754 1470,-222 1453.28,-214.222 1236.53,-191.904 1097.28,-178.206"/>
<polygon fill="black" stroke="black" points="1097.25,-178.203 1090.89,-181.598 1085.31,-177.031 1091.67,-173.636 1097.25,-178.203"/>
<text text-anchor="middle" x="1542.63" y="-284.589" font-family="Times,serif" font-size="14.00">1..*</text>
</g>
<!-- HttpStreamFactoryImpl_Job&#45;&gt;HttpStreamFactoryImpl_Job -->
<g id="edge33" class="edge"><title>HttpStreamFactoryImpl_Job&#45;&gt;HttpStreamFactoryImpl_Job</title>
<path fill="none" stroke="black" d="M1674.54,-319.988C1689.22,-318.984 1699,-316.988 1699,-314 1699,-311.946 1694.38,-310.36 1686.72,-309.244"/>
<polygon fill="none" stroke="black" points="1686.48,-309.22 1680.11,-312.595 1674.54,-308.012 1680.92,-304.636 1686.48,-309.22"/>
<text text-anchor="middle" x="1739.5" y="-317.8" font-family="Times,serif" font-size="14.00">blocking_job_</text>
<text text-anchor="middle" x="1739.5" y="-302.8" font-family="Times,serif" font-size="14.00">waiting_job_</text>
</g>
<!-- ClientSocketHandle -->
<g id="node51" class="node"><title>ClientSocketHandle</title>
<ellipse fill="none" stroke="black" cx="1332" cy="-314" rx="83.2649" ry="18"/>
<text text-anchor="middle" x="1332" y="-310.3" font-family="Times,serif" font-size="14.00">ClientSocketHandle</text>
</g>
<!-- HttpStreamFactoryImpl_Job&#45;&gt;ClientSocketHandle -->
<g id="edge59" class="edge"><title>HttpStreamFactoryImpl_Job&#45;&gt;ClientSocketHandle</title>
<path fill="none" stroke="black" d="M1482.46,-326.396C1461.09,-327.807 1439.71,-327.866 1418.33,-326.572"/>
<polygon fill="black" stroke="black" points="1398.27,-324.962 1408.6,-321.277 1403.25,-325.362 1408.24,-325.762 1408.24,-325.762 1408.24,-325.762 1403.25,-325.362 1407.88,-330.248 1398.27,-324.962 1398.27,-324.962"/>
<polygon fill="black" stroke="black" points="1408.24,-325.762 1418.57,-322.077 1413.22,-326.162 1418.21,-326.562 1418.21,-326.562 1418.21,-326.562 1413.22,-326.162 1417.85,-331.048 1408.24,-325.762 1408.24,-325.762"/>
</g>
<!-- HttpStreamRequest_Delegate&#45;&gt;HttpStreamFactoryImpl_Request -->
<g id="edge32" class="edge"><title>HttpStreamRequest_Delegate&#45;&gt;HttpStreamFactoryImpl_Request</title>
<path fill="none" stroke="black" d="M958.11,-221.937C961.387,-214.072 965.366,-204.522 969.082,-195.604"/>
<polygon fill="none" stroke="black" points="969.118,-195.518 967.733,-188.441 973.733,-184.441 975.118,-191.518 969.118,-195.518"/>
</g>
<!-- HttpBasicStream -->
<g id="node29" class="node"><title>HttpBasicStream</title>
<ellipse fill="none" stroke="black" cx="1561" cy="-166" rx="72.192" ry="18"/>
<text text-anchor="middle" x="1561" y="-162.3" font-family="Times,serif" font-size="14.00">HttpBasicStream</text>
</g>
<!-- HttpBasicStream&#45;&gt;HttpStream -->
<g id="edge25" class="edge"><title>HttpBasicStream&#45;&gt;HttpStream</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1516.33,-151.71C1474.01,-139.12 1410.64,-120.265 1367.2,-107.34"/>
<polygon fill="none" stroke="black" points="1368.01,-103.93 1357.43,-104.433 1366.01,-110.64 1368.01,-103.93"/>
</g>
<!-- QuicHttpStream -->
<g id="node30" class="node"><title>QuicHttpStream</title>
<ellipse fill="none" stroke="black" cx="1239" cy="-166" rx="70.2909" ry="18"/>
<text text-anchor="middle" x="1239" y="-162.3" font-family="Times,serif" font-size="14.00">QuicHttpStream</text>
</g>
<!-- QuicHttpStream&#45;&gt;HttpStream -->
<g id="edge26" class="edge"><title>QuicHttpStream&#45;&gt;HttpStream</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1257.55,-148.301C1268.21,-138.715 1281.74,-126.537 1293.39,-116.05"/>
<polygon fill="none" stroke="black" points="1296,-118.405 1301.1,-109.113 1291.32,-113.202 1296,-118.405"/>
</g>
<!-- SpdyHttpStream -->
<g id="node31" class="node"><title>SpdyHttpStream</title>
<ellipse fill="none" stroke="black" cx="1399" cy="-166" rx="71.2405" ry="18"/>
<text text-anchor="middle" x="1399" y="-162.3" font-family="Times,serif" font-size="14.00">SpdyHttpStream</text>
</g>
<!-- SpdyHttpStream&#45;&gt;HttpStream -->
<g id="edge27" class="edge"><title>SpdyHttpStream&#45;&gt;HttpStream</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1380.45,-148.301C1369.79,-138.715 1356.26,-126.537 1344.61,-116.05"/>
<polygon fill="none" stroke="black" points="1346.68,-113.202 1336.9,-109.113 1342,-118.405 1346.68,-113.202"/>
</g>
<!-- HttpBasicState -->
<g id="node32" class="node"><title>HttpBasicState</title>
<ellipse fill="none" stroke="black" cx="1397" cy="-240" rx="64.4914" ry="18"/>
<text text-anchor="middle" x="1397" y="-236.3" font-family="Times,serif" font-size="14.00">HttpBasicState</text>
</g>
<!-- HttpBasicState&#45;&gt;HttpBasicStream -->
<g id="edge30" class="edge"><title>HttpBasicState&#45;&gt;HttpBasicStream</title>
<path fill="none" stroke="black" d="M1430.19,-224.43C1454.84,-213.607 1488.74,-198.723 1515.86,-186.819"/>
<polygon fill="black" stroke="black" points="1516.03,-186.744 1519.91,-180.669 1527.02,-181.92 1523.13,-187.994 1516.03,-186.744"/>
</g>
<!-- ClientSocketPool -->
<g id="node33" class="node"><title>ClientSocketPool</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="1015" cy="-388" rx="74.6146" ry="18"/>
<text text-anchor="middle" x="1015" y="-384.3" font-family="Times,serif" font-size="14.00">ClientSocketPool</text>
</g>
<!-- ClientSocketPool&#45;&gt;ClientSocketHandle -->
<g id="edge56" class="edge"><title>ClientSocketPool&#45;&gt;ClientSocketHandle</title>
<path fill="none" stroke="black" d="M1067.35,-375.111C1121.39,-362.836 1205.91,-343.639 1264.85,-330.253"/>
<polygon fill="none" stroke="black" points="1264.94,-330.231 1269.91,-325.001 1276.64,-327.573 1271.68,-332.803 1264.94,-330.231"/>
</g>
<!-- TransportClientSocketPool -->
<g id="node34" class="node"><title>TransportClientSocketPool</title>
<ellipse fill="none" stroke="black" cx="906" cy="-462" rx="109.261" ry="18"/>
<text text-anchor="middle" x="906" y="-458.3" font-family="Times,serif" font-size="14.00">TransportClientSocketPool</text>
</g>
<!-- TransportClientSocketPool&#45;&gt;ClientSocketPool -->
<g id="edge36" class="edge"><title>TransportClientSocketPool&#45;&gt;ClientSocketPool</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M931.281,-444.301C946.351,-434.346 965.653,-421.596 981.924,-410.848"/>
<polygon fill="none" stroke="black" points="984.191,-413.545 990.606,-405.113 980.333,-407.705 984.191,-413.545"/>
</g>
<!-- SSLClientSocketPool -->
<g id="node35" class="node"><title>SSLClientSocketPool</title>
<ellipse fill="none" stroke="black" cx="1124" cy="-462" rx="90.0136" ry="18"/>
<text text-anchor="middle" x="1124" y="-458.3" font-family="Times,serif" font-size="14.00">SSLClientSocketPool</text>
</g>
<!-- SSLClientSocketPool&#45;&gt;ClientSocketPool -->
<g id="edge37" class="edge"><title>SSLClientSocketPool&#45;&gt;ClientSocketPool</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1099.27,-444.662C1084.11,-434.65 1064.52,-421.711 1048.05,-410.828"/>
<polygon fill="none" stroke="black" points="1049.53,-407.617 1039.26,-405.025 1045.68,-413.457 1049.53,-407.617"/>
</g>
<!-- ClientSocketPool_Others -->
<g id="node36" class="node"><title>ClientSocketPool_Others</title>
<ellipse fill="none" stroke="black" cx="731" cy="-462" rx="46.1964" ry="18"/>
<text text-anchor="middle" x="731" y="-458.3" font-family="Times,serif" font-size="14.00">...others...</text>
</g>
<!-- ClientSocketPool_Others&#45;&gt;ClientSocketPool -->
<g id="edge38" class="edge"><title>ClientSocketPool_Others&#45;&gt;ClientSocketPool</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M765.861,-450.076C772.841,-447.985 780.137,-445.868 787,-444 842.638,-428.858 906.487,-413.639 952.44,-403.061"/>
<polygon fill="none" stroke="black" points="953.291,-406.456 962.255,-400.809 951.726,-399.634 953.291,-406.456"/>
</g>
<!-- ClientSocketPoolBase -->
<g id="node37" class="node"><title>ClientSocketPoolBase</title>
<polygon fill="none" stroke="black" points="906,-568 775.72,-550 906,-532 1036.28,-550 906,-568"/>
<text text-anchor="middle" x="906" y="-546.3" font-family="Times,serif" font-size="14.00">ClientSocketPoolBase</text>
</g>
<!-- ClientSocketPoolBase&#45;&gt;TransportClientSocketPool -->
<g id="edge49" class="edge"><title>ClientSocketPoolBase&#45;&gt;TransportClientSocketPool</title>
<path fill="none" stroke="black" d="M906,-531.597C906,-520.333 906,-505.384 906,-492.317"/>
<polygon fill="black" stroke="black" points="906,-492.084 902,-486.084 906,-480.084 910,-486.084 906,-492.084"/>
<text text-anchor="middle" x="973" y="-502.3" font-family="Times,serif" font-size="14.00">TransportSocketParams</text>
</g>
<!-- ClientSocketPoolBase&#45;&gt;SSLClientSocketPool -->
<g id="edge50" class="edge"><title>ClientSocketPoolBase&#45;&gt;SSLClientSocketPool</title>
<path fill="none" stroke="black" d="M960.062,-539.469C986.082,-533.841 1017.34,-525.522 1044,-514 1060.75,-506.762 1077.98,-496.239 1092.14,-486.63"/>
<polygon fill="black" stroke="black" points="1092.47,-486.398 1095.1,-479.684 1102.31,-479.529 1099.68,-486.243 1092.47,-486.398"/>
<text text-anchor="middle" x="1125" y="-502.3" font-family="Times,serif" font-size="14.00">SSLSocketParams</text>
</g>
<!-- ClientSocketPoolBaseHelper -->
<g id="node38" class="node"><title>ClientSocketPoolBaseHelper</title>
<ellipse fill="none" stroke="black" cx="812" cy="-772" rx="116.484" ry="18"/>
<text text-anchor="middle" x="812" y="-768.3" font-family="Times,serif" font-size="14.00">ClientSocketPoolBaseHelper</text>
</g>
<!-- ClientSocketPoolBaseHelper&#45;&gt;ClientSocketPoolBase -->
<g id="edge48" class="edge"><title>ClientSocketPoolBaseHelper&#45;&gt;ClientSocketPoolBase</title>
<path fill="none" stroke="black" d="M739.499,-757.76C716.22,-749.708 692.888,-736.772 679,-716 670.107,-702.699 670.953,-693.829 679,-680 715.426,-617.402 794.808,-582.693 849.336,-565.443"/>
<polygon fill="black" stroke="black" points="849.43,-565.415 854.007,-559.843 860.911,-561.924 856.334,-567.497 849.43,-565.415"/>
</g>
<!-- ConnectJob_Delegate -->
<g id="node44" class="node"><title>ConnectJob_Delegate</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="1015" cy="-698" rx="90.4879" ry="18"/>
<text text-anchor="middle" x="1015" y="-694.3" font-family="Times,serif" font-size="14.00">ConnectJob::Delegate</text>
</g>
<!-- ClientSocketPoolBaseHelper&#45;&gt;ConnectJob_Delegate -->
<g id="edge39" class="edge"><title>ClientSocketPoolBaseHelper&#45;&gt;ConnectJob_Delegate</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M856.298,-755.288C887.834,-744.103 930.307,-729.039 963.379,-717.309"/>
<polygon fill="none" stroke="black" points="964.623,-720.581 972.878,-713.94 962.283,-713.984 964.623,-720.581"/>
</g>
<!-- ConnectJobFactory -->
<g id="node39" class="node"><title>ConnectJobFactory</title>
<ellipse fill="none" stroke="black" cx="906" cy="-624" rx="81.3646" ry="18"/>
<text text-anchor="middle" x="906" y="-620.3" font-family="Times,serif" font-size="14.00">ConnectJobFactory</text>
</g>
<!-- ConnectJobFactory&#45;&gt;ClientSocketPoolBase -->
<g id="edge52" class="edge"><title>ConnectJobFactory&#45;&gt;ClientSocketPoolBase</title>
<path fill="none" stroke="black" d="M906,-605.937C906,-598.337 906,-589.164 906,-580.508"/>
<polygon fill="black" stroke="black" points="906,-580.441 902,-574.441 906,-568.441 910,-574.441 906,-580.441"/>
</g>
<!-- ConnectJob -->
<g id="node40" class="node"><title>ConnectJob</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="1213" cy="-624" rx="53.4184" ry="18"/>
<text text-anchor="middle" x="1213" y="-620.3" font-family="Times,serif" font-size="14.00">ConnectJob</text>
</g>
<!-- ConnectJobFactory&#45;&gt;ConnectJob -->
<g id="edge58" class="edge"><title>ConnectJobFactory&#45;&gt;ConnectJob</title>
<path fill="none" stroke="black" d="M987.247,-624C1037.85,-624 1088.45,-624 1139.06,-624"/>
<polygon fill="black" stroke="black" points="1159.21,-624 1149.21,-628.5 1154.21,-624 1149.21,-624 1149.21,-624 1149.21,-624 1154.21,-624 1149.21,-619.5 1159.21,-624 1159.21,-624"/>
<polygon fill="black" stroke="black" points="1149.21,-624 1139.21,-628.5 1144.21,-624 1139.21,-624 1139.21,-624 1139.21,-624 1144.21,-624 1139.21,-619.5 1149.21,-624 1149.21,-624"/>
</g>
<!-- TransportConnectJob -->
<g id="node41" class="node"><title>TransportConnectJob</title>
<ellipse fill="none" stroke="black" cx="1213" cy="-698" rx="89.0632" ry="18"/>
<text text-anchor="middle" x="1213" y="-694.3" font-family="Times,serif" font-size="14.00">TransportConnectJob</text>
</g>
<!-- TransportConnectJob&#45;&gt;ConnectJob -->
<g id="edge43" class="edge"><title>TransportConnectJob&#45;&gt;ConnectJob</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1213,-679.937C1213,-671.807 1213,-661.876 1213,-652.705"/>
<polygon fill="none" stroke="black" points="1216.5,-652.441 1213,-642.441 1209.5,-652.441 1216.5,-652.441"/>
</g>
<!-- StreamSocket -->
<g id="node45" class="node"><title>StreamSocket</title>
<ellipse fill="none" stroke="black" stroke-dasharray="5,2" cx="1539" cy="-698" rx="61.1419" ry="18"/>
<text text-anchor="middle" x="1539" y="-694.3" font-family="Times,serif" font-size="14.00">StreamSocket</text>
</g>
<!-- TransportConnectJob&#45;&gt;StreamSocket -->
<g id="edge60" class="edge"><title>TransportConnectJob&#45;&gt;StreamSocket</title>
<path fill="none" stroke="black" d="M1254.5,-713.973C1274.06,-720.671 1297.89,-727.669 1320,-731 1381.09,-740.206 1398.4,-743.008 1459,-731 1469.42,-728.936 1480.18,-725.495 1490.31,-721.596"/>
<polygon fill="black" stroke="black" points="1508.73,-713.774 1501.28,-721.824 1504.13,-715.728 1499.53,-717.682 1499.53,-717.682 1499.53,-717.682 1504.13,-715.728 1497.77,-713.54 1508.73,-713.774 1508.73,-713.774"/>
<polygon fill="black" stroke="black" points="1499.53,-717.682 1492.08,-725.733 1494.92,-719.636 1490.32,-721.59 1490.32,-721.59 1490.32,-721.59 1494.92,-719.636 1488.56,-717.448 1499.53,-717.682 1499.53,-717.682"/>
</g>
<!-- SSLConnectJob -->
<g id="node42" class="node"><title>SSLConnectJob</title>
<ellipse fill="none" stroke="black" cx="1390" cy="-698" rx="69.3156" ry="18"/>
<text text-anchor="middle" x="1390" y="-694.3" font-family="Times,serif" font-size="14.00">SSLConnectJob</text>
</g>
<!-- SSLConnectJob&#45;&gt;ConnectJob -->
<g id="edge44" class="edge"><title>SSLConnectJob&#45;&gt;ConnectJob</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1354.18,-682.43C1325.56,-670.787 1285.38,-654.443 1255.2,-642.166"/>
<polygon fill="none" stroke="black" points="1256.36,-638.86 1245.78,-638.334 1253.72,-645.345 1256.36,-638.86"/>
</g>
<!-- ConnectJob_Others -->
<g id="node43" class="node"><title>ConnectJob_Others</title>
<ellipse fill="none" stroke="black" cx="797" cy="-698" rx="109.286" ry="18"/>
<text text-anchor="middle" x="797" y="-694.3" font-family="Times,serif" font-size="14.00">...other connect job types...</text>
</g>
<!-- ConnectJob_Others&#45;&gt;ConnectJob -->
<g id="edge45" class="edge"><title>ConnectJob_Others&#45;&gt;ConnectJob</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M869.462,-684.459C951.057,-670.336 1081.94,-647.684 1156.38,-634.799"/>
<polygon fill="none" stroke="black" points="1157.25,-638.202 1166.5,-633.048 1156.05,-631.304 1157.25,-638.202"/>
</g>
<!-- ConnectJob_Delegate&#45;&gt;ConnectJob -->
<g id="edge57" class="edge"><title>ConnectJob_Delegate&#45;&gt;ConnectJob</title>
<path fill="none" stroke="black" d="M1056.51,-681.906C1088.76,-670.176 1133.48,-653.915 1166.86,-641.778"/>
<polygon fill="none" stroke="black" points="1166.88,-641.772 1171.15,-635.962 1178.16,-637.671 1173.88,-643.481 1166.88,-641.772"/>
</g>
<!-- StreamSocket&#45;&gt;ConnectJob -->
<g id="edge53" class="edge"><title>StreamSocket&#45;&gt;ConnectJob</title>
<path fill="none" stroke="black" d="M1493.58,-685.965C1485.09,-683.946 1476.28,-681.884 1468,-680 1399.73,-664.466 1320.91,-647.634 1269.19,-636.739"/>
<polygon fill="black" stroke="black" points="1269.03,-636.706 1262.34,-639.386 1257.29,-634.236 1263.99,-631.557 1269.03,-636.706"/>
</g>
<!-- Socket -->
<g id="node50" class="node"><title>Socket</title>
<ellipse fill="none" stroke="black" cx="1539" cy="-624" rx="35.6194" ry="18"/>
<text text-anchor="middle" x="1539" y="-620.3" font-family="Times,serif" font-size="14.00">Socket</text>
</g>
<!-- StreamSocket&#45;&gt;Socket -->
<g id="edge40" class="edge"><title>StreamSocket&#45;&gt;Socket</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1539,-679.937C1539,-671.807 1539,-661.876 1539,-652.705"/>
<polygon fill="none" stroke="black" points="1542.5,-652.441 1539,-642.441 1535.5,-652.441 1542.5,-652.441"/>
</g>
<!-- StreamSocket&#45;&gt;ClientSocketHandle -->
<g id="edge51" class="edge"><title>StreamSocket&#45;&gt;ClientSocketHandle</title>
<path fill="none" stroke="black" d="M1508.89,-682.178C1488.78,-669.938 1466,-650.455 1466,-625 1466,-625 1466,-625 1466,-387 1466,-356.557 1438.83,-338.931 1408.96,-328.753"/>
<polygon fill="black" stroke="black" points="1408.9,-328.735 1401.99,-330.793 1397.43,-325.205 1404.34,-323.147 1408.9,-328.735"/>
</g>
<!-- TCPClientSocket -->
<g id="node46" class="node"><title>TCPClientSocket</title>
<ellipse fill="none" stroke="black" cx="1670" cy="-772" rx="74.6146" ry="18"/>
<text text-anchor="middle" x="1670" y="-768.3" font-family="Times,serif" font-size="14.00">TCPClientSocket</text>
</g>
<!-- TCPClientSocket&#45;&gt;StreamSocket -->
<g id="edge41" class="edge"><title>TCPClientSocket&#45;&gt;StreamSocket</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1641.25,-755.199C1621.96,-744.598 1596.39,-730.541 1575.64,-719.138"/>
<polygon fill="none" stroke="black" points="1577.23,-716.019 1566.78,-714.27 1573.86,-722.154 1577.23,-716.019"/>
</g>
<!-- StreamSocket_Others -->
<g id="node47" class="node"><title>StreamSocket_Others</title>
<ellipse fill="none" stroke="black" cx="1487" cy="-772" rx="90.0136" ry="18"/>
<text text-anchor="middle" x="1487" y="-768.3" font-family="Times,serif" font-size="14.00">...other socket types...</text>
</g>
<!-- StreamSocket_Others&#45;&gt;StreamSocket -->
<g id="edge42" class="edge"><title>StreamSocket_Others&#45;&gt;StreamSocket</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1499.32,-753.937C1505.73,-745.06 1513.7,-734.035 1520.8,-724.197"/>
<polygon fill="none" stroke="black" points="1523.75,-726.097 1526.77,-715.941 1518.07,-721.998 1523.75,-726.097"/>
</g>
<!-- TransportConnectJobHelper -->
<g id="node48" class="node"><title>TransportConnectJobHelper</title>
<ellipse fill="none" stroke="black" cx="1213" cy="-772" rx="113.61" ry="18"/>
<text text-anchor="middle" x="1213" y="-768.3" font-family="Times,serif" font-size="14.00">TransportConnectJobHelper</text>
</g>
<!-- TransportConnectJobHelper&#45;&gt;TransportConnectJob -->
<g id="edge55" class="edge"><title>TransportConnectJobHelper&#45;&gt;TransportConnectJob</title>
<path fill="none" stroke="black" d="M1213,-753.937C1213,-746.337 1213,-737.164 1213,-728.508"/>
<polygon fill="black" stroke="black" points="1213,-728.441 1209,-722.441 1213,-716.441 1217,-722.441 1213,-728.441"/>
</g>
<!-- SingleRequestHostResolver -->
<g id="node49" class="node"><title>SingleRequestHostResolver</title>
<ellipse fill="none" stroke="black" cx="1213" cy="-860" rx="113.135" ry="18"/>
<text text-anchor="middle" x="1213" y="-856.3" font-family="Times,serif" font-size="14.00">SingleRequestHostResolver</text>
</g>
<!-- SingleRequestHostResolver&#45;&gt;TransportConnectJobHelper -->
<g id="edge54" class="edge"><title>SingleRequestHostResolver&#45;&gt;TransportConnectJobHelper</title>
<path fill="none" stroke="black" d="M1213,-841.597C1213,-830.333 1213,-815.384 1213,-802.317"/>
<polygon fill="black" stroke="black" points="1213,-802.084 1209,-796.084 1213,-790.084 1217,-796.084 1213,-802.084"/>
</g>
<!-- ClientSocketHandle&#45;&gt;HttpStreamFactoryImpl_Job -->
<g id="edge46" class="edge"><title>ClientSocketHandle&#45;&gt;HttpStreamFactoryImpl_Job</title>
<path fill="none" stroke="black" d="M1398.27,-303.038C1422.28,-300.636 1446.29,-299.939 1470.29,-300.947"/>
<polygon fill="black" stroke="black" points="1470.48,-300.957 1476.69,-297.287 1482.46,-301.604 1476.26,-305.275 1470.48,-300.957"/>
</g>
<!-- ClientSocketHandle&#45;&gt;HttpBasicState -->
<g id="edge47" class="edge"><title>ClientSocketHandle&#45;&gt;HttpBasicState</title>
<path fill="none" stroke="black" d="M1347.4,-295.937C1355.18,-287.329 1364.77,-276.702 1373.44,-267.095"/>
<polygon fill="black" stroke="black" points="1373.67,-266.848 1374.72,-259.714 1381.71,-257.941 1380.65,-265.075 1373.67,-266.848"/>
</g>
</g>
</svg>