--- /dev/null
--- /dev/null
++<?xml version="1.0" encoding="UTF-8" standalone="no"?>
++<!-- Created with Inkscape (http://www.inkscape.org/) -->
++<svg
++ xmlns:dc="http://purl.org/dc/elements/1.1/"
++ xmlns:cc="http://web.resource.org/cc/"
++ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
++ xmlns:svg="http://www.w3.org/2000/svg"
++ xmlns="http://www.w3.org/2000/svg"
++ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
++ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
++ width="1052.3622"
++ height="744.09448"
++ id="svg2"
++ sodipodi:version="0.32"
++ inkscape:version="0.45.1"
++ sodipodi:docbase="/Users/megacz/proj/fleet/doc"
++ sodipodi:docname="ports.svg"
++ inkscape:output_extension="org.inkscape.output.svg.inkscape"
++ version="1.0">
++ <defs
++ id="defs4">
++ <marker
++ inkscape:stockid="Arrow2Mstart"
++ orient="auto"
++ refY="0.0"
++ refX="0.0"
++ id="Arrow2Mstart"
++ style="overflow:visible">
++ <path
++ id="path3224"
++ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
++ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
++ transform="scale(0.6) translate(0,0)" />
++ </marker>
++ <marker
++ inkscape:stockid="Arrow2Mend"
++ orient="auto"
++ refY="0"
++ refX="0"
++ id="Arrow2Mend"
++ style="overflow:visible">
++ <path
++ id="path3227"
++ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
++ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
++ transform="scale(-0.6,-0.6)" />
++ </marker>
++ <marker
++ inkscape:stockid="Arrow1Mend"
++ orient="auto"
++ refY="0"
++ refX="0"
++ id="Arrow1Mend"
++ style="overflow:visible">
++ <path
++ id="path3209"
++ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
++ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
++ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
++ </marker>
++ </defs>
++ <sodipodi:namedview
++ id="base"
++ pagecolor="#ffffff"
++ bordercolor="#666666"
++ borderopacity="1.0"
++ gridtolerance="10000"
++ guidetolerance="10"
++ objecttolerance="10"
++ inkscape:pageopacity="0.0"
++ inkscape:pageshadow="2"
++ inkscape:zoom="1.1836462"
++ inkscape:cx="679.09752"
++ inkscape:cy="195.2233"
++ inkscape:document-units="px"
++ inkscape:current-layer="layer1"
++ showgrid="true"
++ gridspacingx="2mm"
++ gridspacingy="2mm"
++ gridanglex="8.4666669mm"
++ gridanglez="8.4666669mm"
++ grid_units="mm"
++ inkscape:grid-bbox="false"
++ inkscape:grid-points="true"
++ inkscape:window-width="1454"
++ inkscape:window-height="1050"
++ inkscape:window-x="137"
++ inkscape:window-y="22"
++ width="1052.3622px"
++ height="744.09448px" />
++ <metadata
++ id="metadata7">
++ <rdf:RDF>
++ <cc:Work
++ rdf:about="">
++ <dc:format>image/svg+xml</dc:format>
++ <dc:type
++ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
++ </cc:Work>
++ </rdf:RDF>
++ </metadata>
++ <g
++ inkscape:label="Layer 1"
++ inkscape:groupmode="layer"
++ id="layer1">
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 439.37009,581.10236 L 609.44883,581.10236 C 609.44883,581.10236 616.87235,580.77704 616.53544,588.18897 L 616.53544,644.53543 C 616.53544,644.53543 617.19767,651.62204 609.44883,651.62204 L 411.02363,651.62204 C 411.02363,651.62204 403.93701,652.95808 403.93701,644.53543 L 403.93701,588.18897 C 402.92629,579.76632 411.02363,581.10236 411.02363,581.10236 L 439.37009,581.10236 z "
++ id="path2172"
++ sodipodi:nodetypes="cccccccccc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 616.53543,602.18898 L 616.53543,630.53543"
++ id="path3421"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#008080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
++ d="M 616.53543,460.62992 L 843.30709,460.62992"
++ id="path3457"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 878.74016,191.33858 L 627.62205,191.33858"
++ id="path3413"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#008080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
++ d="M 616.53543,141.73228 L 846.3937,141.73228"
++ id="path3397"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 347.24409,496.06299 L 484.97638,496.06299"
++ id="path3195"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 450.45669,177.16535 L 357.41732,177.16535"
++ id="path3193"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 566.92913,581.10237 L 566.92913,524.40945"
++ id="path3147" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 425.19686,566.92914 L 425.19686,595.27559 L 460.62993,595.27559 L 474.80316,581.10237 L 460.62993,566.92914 L 425.19686,566.92914 z "
++ id="path2160" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 481.88977,566.92914 L 481.88977,595.27559 L 517.32284,595.27559 L 531.49607,581.10237 L 517.32284,566.92914 L 481.88977,566.92914 z "
++ id="path2162" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 588.18897,637.79527 L 588.18897,666.14172 L 552.7559,666.14172 L 538.58267,651.9685 L 552.7559,637.79527 L 588.18897,637.79527 z "
++ id="path2164" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 531.49606,637.79528 L 531.49606,666.14173 L 496.06299,666.14173 L 481.88976,651.96851 L 496.06299,637.79528 L 531.49606,637.79528 z "
++ id="path2166" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 474.80315,637.79527 L 474.80315,666.14172 L 439.37008,666.14172 L 425.19685,651.9685 L 439.37008,637.79527 L 474.80315,637.79527 z "
++ id="path2168" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 545.6693,566.92914 L 545.6693,595.27559 L 581.10237,595.27559 L 595.2756,581.10237 L 581.10237,566.92914 L 545.6693,566.92914 z "
++ id="path2170" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 488.97638,439.53292 L 488.97638,545.83213 L 616.53543,545.83213 L 666.14173,496.22584 L 616.53543,439.53292 L 488.97638,439.53292 z "
++ id="path2174"
++ sodipodi:nodetypes="cccccc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 557.37175,545.83213 L 566.92913,531.49607 L 576.48651,545.83213 L 557.37175,545.83213 z "
++ id="path3149" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 566.92913,262.20473 L 566.92913,205.51181"
++ id="path3171" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 623.62205,120.47243 L 623.62205,226.77165 L 496.063,226.77165 L 446.4567,177.16535 L 496.063,120.47243 L 623.62205,120.47243 z "
++ id="path3187"
++ sodipodi:nodetypes="cccccc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 557.37175,226.93449 L 566.92913,212.59843 L 576.48651,226.93449 L 557.37175,226.93449 z "
++ id="path3189" />
++ <rect
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
++ id="rect3191"
++ width="177.16536"
++ height="552.75592"
++ x="177.16536"
++ y="106.29921" />
++ <g
++ id="g3407"
++ transform="translate(325.32331,106.75592)"
++ style="stroke:#800080">
++ <rect
++ y="74.409424"
++ x="439.37009"
++ height="21.259842"
++ width="21.259842"
++ id="rect3399"
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
++ <rect
++ y="74.409424"
++ x="460.62991"
++ height="21.259842"
++ width="21.259842"
++ id="rect3401"
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
++ <rect
++ y="74.409424"
++ x="481.88977"
++ height="21.259842"
++ width="21.259842"
++ id="rect3403"
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
++ <rect
++ y="74.409424"
++ x="503.1496"
++ height="21.259842"
++ width="21.259842"
++ id="rect3405"
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
++ </g>
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
++ d="M 876.04724,533.49606 L 635.62205,533.49606"
++ id="path3445"
++ sodipodi:nodetypes="cc" />
++ <g
++ id="g3447"
++ transform="translate(325.98424,448.91341)"
++ style="stroke:#800080">
++ <rect
++ y="74.409424"
++ x="439.37009"
++ height="21.259842"
++ width="21.259842"
++ id="rect3449"
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
++ <rect
++ y="74.409424"
++ x="460.62991"
++ height="21.259842"
++ width="21.259842"
++ id="rect3451"
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
++ <rect
++ y="74.409424"
++ x="481.88977"
++ height="21.259842"
++ width="21.259842"
++ id="rect3453"
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
++ <rect
++ y="74.409424"
++ x="503.1496"
++ height="21.259842"
++ width="21.259842"
++ id="rect3455"
++ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
++ </g>
++ <text
++ xml:space="preserve"
++ style="font-size:52.43335342px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="205.51183"
++ y="396.8504"
++ id="text3459"><tspan
++ sodipodi:role="line"
++ id="tspan3461"
++ x="205.51183"
++ y="396.8504">Ship</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:21.72095108px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="484.06299"
++ y="622.36218"
++ id="text3467"><tspan
++ sodipodi:role="line"
++ id="tspan3469"
++ x="484.06299"
++ y="622.36218">Pump</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#800080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="703.63574"
++ y="184.24554"
++ id="text3479"
++ transform="scale(0.9999652,1.0000348)"><tspan
++ sodipodi:role="line"
++ id="tspan3481"
++ x="703.63574"
++ y="184.24554"
++ style="font-size:18px;text-align:center;text-anchor:middle;fill:#800080">Destination</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="703.61377"
++ y="134.64098"
++ id="text3483"
++ transform="scale(0.9999652,1.0000348)"><tspan
++ sodipodi:role="line"
++ id="tspan3485"
++ x="703.61377"
++ y="134.64098"
++ style="font-size:18px;text-align:center;text-anchor:middle;fill:#008080">Source</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="703.61377"
++ y="455.52747"
++ id="text3487"
++ transform="scale(0.9999652,1.0000348)"><tspan
++ sodipodi:role="line"
++ id="tspan3489"
++ x="703.61377"
++ y="455.52747"
++ style="font-size:18px;text-align:center;text-anchor:middle;fill:#008080">Source</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:18px;font-style:normal;font-weight:normal;fill:#800080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="651.99121"
++ y="528.39105"
++ id="text3491"
++ transform="scale(0.9999652,1.0000348)"><tspan
++ sodipodi:role="line"
++ id="tspan3493"
++ x="651.99121"
++ y="528.39105"
++ style="font-size:18px;fill:#800080">Destination</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#800080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="703.63574"
++ y="644.85944"
++ id="text3495"
++ transform="scale(0.9999652,1.0000348)"><tspan
++ sodipodi:role="line"
++ id="tspan3497"
++ x="703.63574"
++ y="644.85944"
++ style="font-size:18px;text-align:center;text-anchor:middle;fill:#800080">Destination</tspan></text>
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
++ d="M 389.76378,680.31495 L 389.76378,708.66141"
++ id="path3501" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none"
++ d="M 389.76378,694.48818 L 155.90551,694.48818"
++ id="path3503" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
++ d="M 673.22835,680.31495 L 673.22835,708.66141"
++ id="path3507" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none"
++ d="M 673.22835,694.48818 L 850.3937,694.48818"
++ id="path3509" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Mstart);marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none"
++ d="M 389.76378,694.48818 L 673.22835,694.48818"
++ id="path3511" />
++ <text
++ xml:space="preserve"
++ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="273.22864"
++ y="722.83466"
++ id="text3515"><tspan
++ sodipodi:role="line"
++ id="tspan3517"
++ x="273.22864"
++ y="722.83466">Ship</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="541.69458"
++ y="722.83466"
++ id="text3519"><tspan
++ sodipodi:role="line"
++ id="tspan3521"
++ x="541.69458"
++ y="722.83466"
++ style="text-align:center;text-anchor:middle">Docks</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="972.50598"
++ y="531.49603"
++ id="text3523"><tspan
++ sodipodi:role="line"
++ x="972.50598"
++ y="531.49603"
++ style="text-align:center;text-anchor:middle"
++ id="tspan3535">Output</tspan><tspan
++ sodipodi:role="line"
++ x="972.50598"
++ y="558.15521"
++ style="text-align:center;text-anchor:middle"
++ id="tspan3539">Port</tspan></text>
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.10158062;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 871.70433,389.81456 C 871.70433,389.81456 885.82677,389.91124 885.82677,405.52036 L 885.82677,531.16676 C 885.82677,546.79199 899.94921,546.87256 899.94921,546.87256 C 899.94921,546.87256 885.82677,548.38826 885.82677,562.57837 L 885.82677,664.66606 C 885.82677,680.98468 871.70433,680.37186 871.70433,680.37186"
++ id="path3527"
++ sodipodi:nodetypes="ccccccc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 871.65354,106.29921 C 871.65354,106.29921 885.82677,106.38646 885.82677,120.47244 L 885.82677,233.85827 C 885.82677,247.95879 900,248.0315 900,248.0315 C 900,248.0315 885.82677,249.39929 885.82677,262.20473 L 885.82677,354.33071 C 885.82677,369.05696 871.65354,368.50394 871.65354,368.50394"
++ id="path3529"
++ sodipodi:nodetypes="ccccccc" />
++ <text
++ xml:space="preserve"
++ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="756.60126"
++ y="722.83466"
++ id="text3531"><tspan
++ sodipodi:role="line"
++ id="tspan3533"
++ x="756.60126"
++ y="722.83466"
++ style="text-align:center;text-anchor:middle">Switch Fabric</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="972.50598"
++ y="240.94487"
++ id="text3541"><tspan
++ sodipodi:role="line"
++ x="972.50598"
++ y="240.94487"
++ style="text-align:center;text-anchor:middle"
++ id="tspan3545">Input</tspan><tspan
++ sodipodi:role="line"
++ x="972.50598"
++ y="267.60405"
++ style="text-align:center;text-anchor:middle"
++ id="tspan3549">Port</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:21.72095108px;font-style:normal;font-weight:normal;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="565.48059"
++ y="488.62991"
++ id="text3551"><tspan
++ sodipodi:role="line"
++ id="tspan3553"
++ x="565.48059"
++ y="488.62991"
++ style="text-align:center;text-anchor:middle;fill:#008000">Data</tspan><tspan
++ sodipodi:role="line"
++ x="565.48059"
++ y="515.7811"
++ id="tspan3555"
++ style="text-align:center;text-anchor:middle;fill:#008000">Latch</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:21.72095108px;font-style:normal;font-weight:normal;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="548.9068"
++ y="167.03481"
++ id="text3565"><tspan
++ sodipodi:role="line"
++ id="tspan3567"
++ x="548.9068"
++ y="167.03481"
++ style="text-align:center;text-anchor:middle;fill:#008000">Data</tspan><tspan
++ sodipodi:role="line"
++ x="548.9068"
++ y="194.18599"
++ id="tspan3569"
++ style="text-align:center;text-anchor:middle;fill:#008000">Latch</tspan></text>
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 680.31496,652.22401 L 595.2756,652.22401"
++ id="path3221"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 878.74016,652.224 L 627.62205,652.224"
++ id="path3423"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 439.37013,276.37794 L 609.44887,276.37794 C 609.44887,276.37794 616.87239,276.05262 616.53548,283.46455 L 616.53548,339.81101 C 616.53548,339.81101 617.19771,346.89762 609.44887,346.89762 L 411.02367,346.89762 C 411.02367,346.89762 403.93705,348.23366 403.93705,339.81101 L 403.93705,283.46455 C 402.92633,275.0419 411.02367,276.37794 411.02367,276.37794 L 439.37013,276.37794 z "
++ id="path3223"
++ sodipodi:nodetypes="cccccccccc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 616.53547,297.46456 L 616.53547,325.81101"
++ id="path3225"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 425.1969,262.20472 L 425.1969,290.55117 L 460.62997,290.55117 L 474.8032,276.37795 L 460.62997,262.20472 L 425.1969,262.20472 z "
++ id="path3228" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 481.88981,262.20472 L 481.88981,290.55117 L 517.32288,290.55117 L 531.49611,276.37795 L 517.32288,262.20472 L 481.88981,262.20472 z "
++ id="path3230" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 588.18901,333.07085 L 588.18901,361.4173 L 552.75594,361.4173 L 538.58271,347.24408 L 552.75594,333.07085 L 588.18901,333.07085 z "
++ id="path3232" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 531.4961,333.07086 L 531.4961,361.41731 L 496.06303,361.41731 L 481.8898,347.24409 L 496.06303,333.07086 L 531.4961,333.07086 z "
++ id="path3234" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 474.80319,333.07085 L 474.80319,361.4173 L 439.37012,361.4173 L 425.19689,347.24408 L 439.37012,333.07085 L 474.80319,333.07085 z "
++ id="path3236" />
++ <path
++ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 545.66934,262.20472 L 545.66934,290.55117 L 581.10241,290.55117 L 595.27564,276.37795 L 581.10241,262.20472 L 545.66934,262.20472 z "
++ id="path3238" />
++ <text
++ xml:space="preserve"
++ style="font-size:21.72095108px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="484.06305"
++ y="317.63776"
++ id="text3240"><tspan
++ sodipodi:role="line"
++ id="tspan3242"
++ x="484.06305"
++ y="317.63776">Pump</tspan></text>
++ <text
++ xml:space="preserve"
++ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#800080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
++ x="703.63574"
++ y="340.14563"
++ id="text3244"
++ transform="scale(0.9999652,1.0000348)"><tspan
++ sodipodi:role="line"
++ id="tspan3246"
++ x="703.63574"
++ y="340.14563"
++ style="font-size:18px;text-align:center;text-anchor:middle;fill:#800080">Destination</tspan></text>
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 680.315,347.49959 L 595.27564,347.49959"
++ id="path3248"
++ sodipodi:nodetypes="cc" />
++ <path
++ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
++ d="M 878.74016,347.49958 L 627.62209,347.49958"
++ id="path3250"
++ sodipodi:nodetypes="cc" />
++ </g>
++</svg>