3 lines
60 KiB
XML
3 lines
60 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<?xml-stylesheet href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" type="text/css"?>
|
||
<svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="0 0 3472.4609375 2406.59375" style="max-width: 100%;" class="flowchart" xmlns="http://www.w3.org/2000/svg" width="100%" id="graph-div" height="100%" xmlns:xlink="http://www.w3.org/1999/xlink"><style>#graph-div{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#graph-div .error-icon{fill:#a44141;}#graph-div .error-text{fill:#ddd;stroke:#ddd;}#graph-div .edge-thickness-normal{stroke-width:1px;}#graph-div .edge-thickness-thick{stroke-width:3.5px;}#graph-div .edge-pattern-solid{stroke-dasharray:0;}#graph-div .edge-thickness-invisible{stroke-width:0;fill:none;}#graph-div .edge-pattern-dashed{stroke-dasharray:3;}#graph-div .edge-pattern-dotted{stroke-dasharray:2;}#graph-div .marker{fill:lightgrey;stroke:lightgrey;}#graph-div .marker.cross{stroke:lightgrey;}#graph-div svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#graph-div p{margin:0;}#graph-div .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#graph-div .cluster-label text{fill:#F9FFFE;}#graph-div .cluster-label span{color:#F9FFFE;}#graph-div .cluster-label span p{background-color:transparent;}#graph-div .label text,#graph-div span{fill:#ccc;color:#ccc;}#graph-div .node rect,#graph-div .node circle,#graph-div .node ellipse,#graph-div .node polygon,#graph-div .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#graph-div .rough-node .label text,#graph-div .node .label text,#graph-div .image-shape .label,#graph-div .icon-shape .label{text-anchor:middle;}#graph-div .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#graph-div .rough-node .label,#graph-div .node .label,#graph-div .image-shape .label,#graph-div .icon-shape .label{text-align:center;}#graph-div .node.clickable{cursor:pointer;}#graph-div .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#graph-div .arrowheadPath{fill:lightgrey;}#graph-div .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#graph-div .flowchart-link{stroke:lightgrey;fill:none;}#graph-div .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#graph-div .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#graph-div .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#graph-div .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#graph-div .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#graph-div .cluster text{fill:#F9FFFE;}#graph-div .cluster span{color:#F9FFFE;}#graph-div div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#graph-div .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#graph-div rect.text{fill:none;stroke-width:0;}#graph-div .icon-shape,#graph-div .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#graph-div .icon-shape p,#graph-div .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#graph-div .icon-shape rect,#graph-div .image-shape rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#graph-div :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="8" markerWidth="8" markerUnits="userSpaceOnUse" refY="5" refX="5" viewBox="0 0 10 10" class="marker flowchart-v2" id="graph-div_flowchart-v2-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"></path></marker><marker orient="auto" markerHeight="8" markerWidth="8" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart-v2" id="graph-div_flowchart-v2-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"></path></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart-v2" id="graph-div_flowchart-v2-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"></circle></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart-v2" id="graph-div_flowchart-v2-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"></circle></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart-v2" id="graph-div_flowchart-v2-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"></path></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart-v2" id="graph-div_flowchart-v2-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"></g><g class="edgeLabels"></g><g class="nodes"><g transform="translate(0, 0)" class="root"><g class="clusters"><g data-look="classic" id="handleCancel()" class="cluster"><rect height="2390.59375" width="1261.44921875" y="8" x="8" style=""></rect><g transform="translate(584.677734375, 8)" class="cluster-label"><foreignObject height="24" width="108.09375"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>handleCancel()</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C1_C2_26" d="M615.496,123.5L615.496,129.75C615.496,136,615.496,148.5,615.571,160.417C615.645,172.333,615.794,183.667,615.869,189.334L615.943,195"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C2_C3_27" d="M568.553,285.994L529.707,302.068C490.861,318.142,413.169,350.29,374.323,390.614C335.477,430.938,335.477,479.438,335.477,503.688L335.477,527.938"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C3_C4_28" d="M335.477,609.938L335.477,634.854C335.477,659.771,335.477,709.604,335.553,742.188C335.63,774.771,335.783,790.104,335.86,797.771L335.937,805.438"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C4_C5_29" d="M295.625,909.164L275.188,924.056C254.75,938.948,213.875,968.732,193.438,1007.874C173,1047.016,173,1095.516,173,1119.766L173,1144.016"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C4_C6_30" d="M376.011,909.481L395.839,924.32C415.666,939.159,455.321,968.837,475.226,991.343C495.13,1013.849,495.283,1029.182,495.36,1036.849L495.437,1044.516"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C6_C7_31" d="M431.13,1262.169L414.691,1281.06C398.253,1299.951,365.377,1337.733,348.938,1366.208C332.5,1394.682,332.5,1413.849,332.5,1423.432L332.5,1433.016"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C6_C8_32" d="M558.199,1263.794L573.495,1282.414C588.791,1301.034,619.384,1338.275,634.68,1364.479C649.977,1390.682,649.977,1405.849,649.977,1413.432L649.977,1421.016"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C8_C9_33" d="M649.977,1527.016L649.977,1533.266C649.977,1539.516,649.977,1552.016,649.977,1563.849C649.977,1575.682,649.977,1586.849,649.977,1592.432L649.977,1598.016"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C9_C10_34" d="M649.977,1680.016L649.977,1686.266C649.977,1692.516,649.977,1705.016,649.977,1716.849C649.977,1728.682,649.977,1739.849,649.977,1745.432L649.977,1751.016"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C10_C11_35" d="M649.977,1881.016L649.977,1887.266C649.977,1893.516,649.977,1906.016,650.051,1917.932C650.126,1929.849,650.275,1941.183,650.349,1946.849L650.424,1952.516"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C11_C12_36" d="M606.756,2068.874L586.88,2084.327C567.004,2099.78,527.252,2130.687,507.376,2159.724C487.5,2188.76,487.5,2215.927,487.5,2229.51L487.5,2243.094"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C11_C13_37" d="M694.197,2068.874L713.906,2084.327C733.615,2099.78,773.034,2130.687,792.744,2153.724C812.453,2176.76,812.453,2191.927,812.453,2199.51L812.453,2207.094"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C2_C14_38" d="M665.63,283.803L712.184,300.242C758.737,316.681,851.843,349.559,898.473,373.665C945.103,397.771,945.256,413.104,945.333,420.771L945.409,428.438"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C14_C15_39" d="M882.727,647.716L867.264,666.336C851.801,684.956,820.875,722.197,805.412,753.574C789.949,784.951,789.949,810.464,789.949,823.22L789.949,835.977"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C14_C16_40" d="M1008.171,647.716L1023.468,666.336C1038.764,684.956,1069.357,722.197,1084.653,749.574C1099.949,776.951,1099.949,794.464,1099.949,803.22L1099.949,811.977"></path></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g transform="translate(335.4765625, 382.4375)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g transform="translate(173, 998.515625)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g transform="translate(494.9765625, 998.515625)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g><g transform="translate(332.5, 1375.515625)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g transform="translate(649.9765625, 1375.515625)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g transform="translate(487.5, 2161.59375)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g transform="translate(812.453125, 2161.59375)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g><g transform="translate(944.94921875, 382.4375)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g><g transform="translate(789.94921875, 759.4375)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g transform="translate(1099.94921875, 759.4375)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(615.49609375, 84.5)" id="flowchart-C1-3834" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>在 riders 中查找 phoneNumber</p></span></div></foreignObject></g></g><g transform="translate(615.49609375, 265.71875)" id="flowchart-C2-3835" class="node default"><polygon transform="translate(-67.21875,67.21875)" class="label-container" points="67.21875,0 134.4375,-67.21875 67.21875,-134.4375 0,-67.21875"></polygon><g transform="translate(-40.21875, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="80.4375"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>找到 Rider?</p></span></div></foreignObject></g></g><g transform="translate(335.4765625, 570.9375)" id="flowchart-C3-3837" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>在 drivers 中查找 phoneNumber</p></span></div></foreignObject></g></g><g transform="translate(335.4765625, 878.9765625)" id="flowchart-C4-3839" class="node default"><polygon transform="translate(-70.0390625,70.0390625)" class="label-container" points="70.0390625,0 140.078125,-70.0390625 70.0390625,-140.078125 0,-70.0390625"></polygon><g transform="translate(-43.0390625, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="86.078125"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>找到 Driver?</p></span></div></foreignObject></g></g><g transform="translate(173, 1187.015625)" id="flowchart-C5-3841" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Account does not exist.'</p></span></div></foreignObject></g></g><g transform="translate(494.9765625, 1187.015625)" id="flowchart-C6-3843" class="node default"><polygon transform="translate(-139,139)" class="label-container" points="139,0 278,-139 139,-278 0,-139"></polygon><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>Driver.state == 'On_the_way_to_pickup'?</p></span></div></foreignObject></g></g><g transform="translate(332.5, 1476.015625)" id="flowchart-C7-3845" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'You can only cancel...'</p></span></div></foreignObject></g></g><g transform="translate(649.9765625, 1476.015625)" id="flowchart-C8-3847" class="node default"><rect height="102" width="260" y="-51" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -36)" style="" class="label"><rect></rect><foreignObject height="72" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>Driver 取消: 状态->'Available'<br/>清空 Rider 关联信息</p></span></div></foreignObject></g></g><g transform="translate(649.9765625, 1641.015625)" id="flowchart-C9-3849" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Your driver X has canceled...'</p></span></div></foreignObject></g></g><g transform="translate(649.9765625, 1818.015625)" id="flowchart-C10-3851" class="node default"><rect height="126" width="260" y="-63" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -48)" style="" class="label"><rect></rect><foreignObject height="96" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>将 Rider 状态临时重置为 'Ready_to_request'<br/>再自动为 Rider 找新司机 (类似 request )</p></span></div></foreignObject></g></g><g transform="translate(649.9765625, 2034.0546875)" id="flowchart-C11-3853" class="node default"><polygon transform="translate(-78.0390625,78.0390625)" class="label-container" points="78.0390625,0 156.078125,-78.0390625 78.0390625,-156.078125 0,-78.0390625"></polygon><g transform="translate(-51.0390625, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="102.078125"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>找到新 Driver?</p></span></div></foreignObject></g></g><g transform="translate(487.5, 2286.09375)" id="flowchart-C12-3855" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Sorry we can not find...'</p></span></div></foreignObject></g></g><g transform="translate(812.453125, 2286.09375)" id="flowchart-C13-3857" class="node default"><rect height="150" width="289.90625" y="-75" x="-144.953125" style="" class="basic label-container"></rect><g transform="translate(-114.953125, -60)" style="" class="label"><rect></rect><foreignObject height="120" width="229.90625"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>更新新 Driver='On_the_way_to_pickup',<br/>Rider='Driver_on_the_way'<br/>输出 'We have found the closest driver...'</p></span></div></foreignObject></g></g><g transform="translate(944.94921875, 570.9375)" id="flowchart-C14-3859" class="node default"><polygon transform="translate(-139,139)" class="label-container" points="139,0 278,-139 139,-278 0,-139"></polygon><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>Rider.state == 'Driver_on_the_way'?</p></span></div></foreignObject></g></g><g transform="translate(789.94921875, 878.9765625)" id="flowchart-C15-3861" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'You can only cancel...'</p></span></div></foreignObject></g></g><g transform="translate(1099.94921875, 878.9765625)" id="flowchart-C16-3863" class="node default"><rect height="126" width="260" y="-63" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -48)" style="" class="label"><rect></rect><foreignObject height="96" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Ride request for rider X is now canceled...',<br/>Driver->'Available', Rider->'Ready_to_request'</p></span></div></foreignObject></g></g></g></g><g transform="translate(1311.44921875, 334.2109375)" class="root"><g class="clusters"><g data-look="classic" id="handleRequest()" class="cluster"><rect height="1722.171875" width="1257.99609375" y="8" x="8" style=""></rect><g transform="translate(578.701171875, 8)" class="cluster-label"><foreignObject height="24" width="116.59375"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>handleRequest()</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R1_R2_14" d="M328,123.5L328,129.75C328,136,328,148.5,328.075,160.417C328.149,172.333,328.298,183.667,328.373,189.334L328.447,195"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R2_R3_15" d="M300.069,262.444L278.89,275.349C257.712,288.254,215.356,314.065,194.178,334.553C173,355.042,173,370.208,173,377.792L173,385.375"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R2_R4_16" d="M356.931,262.444L377.943,275.349C398.954,288.254,440.977,314.065,461.989,334.553C483,355.042,483,370.208,483,377.792L483,385.375"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R4_R5_17" d="M483,467.375L483,473.625C483,479.875,483,492.375,483.075,504.292C483.149,516.208,483.298,527.542,483.373,533.209L483.447,538.875"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R5_R6_18" d="M445.156,638.968L425.63,653.525C406.104,668.083,367.052,697.198,347.526,725.154C328,753.109,328,779.906,328,793.305L328,806.703"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R5_R7_19" d="M529.549,631.263L564.106,647.105C598.663,662.946,667.777,694.629,702.41,718.138C737.044,741.646,737.197,756.979,737.274,764.646L737.351,772.313"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R7_R71_20" d="M679.771,866.474L616.467,884.244C553.163,902.014,426.554,937.554,363.25,970.907C299.945,1004.26,299.945,1035.427,299.945,1051.01L299.945,1066.594"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R7_R72_21" d="M699.921,886.624L684.925,901.035C669.929,915.447,639.937,944.27,624.941,974.265C609.945,1004.26,609.945,1035.427,609.945,1051.01L609.945,1066.594"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R7_R8_22" d="M781.529,879.955L804.598,895.478C827.668,911.001,873.807,942.048,896.876,965.154C919.945,988.26,919.945,1003.427,919.945,1011.01L919.945,1018.594"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R8_R9_23" d="M919.945,1196.594L919.945,1202.844C919.945,1209.094,919.945,1221.594,920.02,1233.51C920.094,1245.427,920.244,1256.761,920.318,1262.427L920.393,1268.094"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R9_R10_24" d="M860.581,1384.307L818.808,1402.451C777.035,1420.595,693.49,1456.884,651.718,1488.611C609.945,1520.339,609.945,1547.505,609.945,1561.089L609.945,1574.672"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_R9_R11_25" d="M967.511,1397.106L986.864,1413.117C1006.217,1429.128,1044.923,1461.15,1064.276,1484.744C1083.629,1508.339,1083.629,1523.505,1083.629,1531.089L1083.629,1538.672"></path></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g transform="translate(173, 339.875)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g transform="translate(483, 339.875)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g transform="translate(328, 726.3125)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g transform="translate(736.890625, 726.3125)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g><g transform="translate(299.9453125, 973.09375)" class="edgeLabel"><g transform="translate(-68.9453125, -12)" class="label"><foreignObject height="24" width="137.890625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Driver_on_the_way</p></span></div></foreignObject></g></g><g transform="translate(609.9453125, 973.09375)" class="edgeLabel"><g transform="translate(-56.375, -12)" class="label"><foreignObject height="24" width="112.75"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>During_the_trip</p></span></div></foreignObject></g></g><g transform="translate(919.9453125, 973.09375)" class="edgeLabel"><g transform="translate(-64.234375, -12)" class="label"><foreignObject height="24" width="128.46875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Ready_to_request</p></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g transform="translate(609.9453125, 1493.171875)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g transform="translate(1083.62890625, 1493.171875)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(328, 84.5)" id="flowchart-R1-3810" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>检查 phoneNumber 格式 (xxx-xxx-xxxx)</p></span></div></foreignObject></g></g><g transform="translate(328, 244.4375)" id="flowchart-R2-3811" class="node default"><polygon transform="translate(-45.9375,45.9375)" class="label-container" points="45.9375,0 91.875,-45.9375 45.9375,-91.875 0,-45.9375"></polygon><g transform="translate(-18.9375, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="37.875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>有效?</p></span></div></foreignObject></g></g><g transform="translate(173, 428.375)" id="flowchart-R3-3813" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Phone number is invalid.'</p></span></div></foreignObject></g></g><g transform="translate(483, 428.375)" id="flowchart-R4-3815" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>在 riders 中查找匹配的 phoneNumber</p></span></div></foreignObject></g></g><g transform="translate(483, 609.59375)" id="flowchart-R5-3817" class="node default"><polygon transform="translate(-67.21875,67.21875)" class="label-container" points="67.21875,0 134.4375,-67.21875 67.21875,-134.4375 0,-67.21875"></polygon><g transform="translate(-40.21875, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="80.4375"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>找到 Rider?</p></span></div></foreignObject></g></g><g transform="translate(328, 849.703125)" id="flowchart-R6-3819" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Account does not exist.'</p></span></div></foreignObject></g></g><g transform="translate(736.890625, 849.703125)" id="flowchart-R7-3821" class="node default"><polygon transform="translate(-73.890625,73.890625)" class="label-container" points="73.890625,0 147.78125,-73.890625 73.890625,-147.78125 0,-73.890625"></polygon><g transform="translate(-46.890625, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="93.78125"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>Rider.state?</p></span></div></foreignObject></g></g><g transform="translate(299.9453125, 1109.59375)" id="flowchart-R71-3823" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'You have already requested a ride...'</p></span></div></foreignObject></g></g><g transform="translate(609.9453125, 1109.59375)" id="flowchart-R72-3825" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'You can not request a ride...'</p></span></div></foreignObject></g></g><g transform="translate(919.9453125, 1109.59375)" id="flowchart-R8-3827" class="node default"><rect height="174" width="260" y="-87" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -72)" style="" class="label"><rect></rect><foreignObject height="144" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Ride requested...' 信息,<br/>在 drivers 中查找匹配车辆类型<br/>且状态为 'Available' 的最近司机</p></span></div></foreignObject></g></g><g transform="translate(919.9453125, 1357.6328125)" id="flowchart-R9-3829" class="node default"><polygon transform="translate(-86.0390625,86.0390625)" class="label-container" points="86.0390625,0 172.078125,-86.0390625 86.0390625,-172.078125 0,-86.0390625"></polygon><g transform="translate(-59.0390625, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="118.078125"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>找到可用 Driver?</p></span></div></foreignObject></g></g><g transform="translate(609.9453125, 1617.671875)" id="flowchart-R10-3831" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Sorry we can not find a driver...'</p></span></div></foreignObject></g></g><g transform="translate(1083.62890625, 1617.671875)" id="flowchart-R11-3833" class="node default"><rect height="150" width="294.734375" y="-75" x="-147.3671875" style="" class="basic label-container"></rect><g transform="translate(-117.3671875, -60)" style="" class="label"><rect></rect><foreignObject height="120" width="234.734375"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>计算距离, 更新状态:<br/>Driver='On_the_way_to_pickup', Rider='Driver_on_the_way'<br/>输出 'We have found the closest driver...'</p></span></div></foreignObject></g></g></g></g><g transform="translate(2619.4453125, 211.9609375)" class="root"><g class="clusters"><g data-look="classic" id="subGraph0" class="cluster"><rect height="1966.671875" width="837.015625" y="8" x="8" style=""></rect><g transform="translate(378.109375, 8)" class="cluster-label"><foreignObject height="24" width="96.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>Main Program</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_A_B_0" d="M424.512,84.5L424.512,90.75C424.512,97,424.512,109.5,424.512,121.333C424.512,133.167,424.512,144.333,424.512,149.917L424.512,155.5"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_B_C_1" d="M424.512,309.5L424.512,315.75C424.512,322,424.512,334.5,424.512,346.333C424.512,358.167,424.512,369.333,424.512,374.917L424.512,380.5"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_D_2" d="M424.512,462.5L424.512,468.75C424.512,475,424.512,487.5,424.512,499.333C424.512,511.167,424.512,522.333,424.512,527.917L424.512,533.5"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_D_E_3" d="M424.512,615.5L424.512,621.75C424.512,628,424.512,640.5,424.586,652.417C424.661,664.333,424.81,675.667,424.885,681.334L424.959,687"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_E_MR_4" d="M357.754,838.43L325.021,857.806C292.288,877.182,226.822,915.935,194.089,960.81C161.355,1005.685,161.355,1056.682,161.355,1107.68C161.355,1158.677,161.355,1209.674,161.355,1242.757C161.355,1275.839,161.355,1291.005,161.355,1298.589L161.355,1306.172"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_E_F_5" d="M473.575,857.124L486.995,873.385C500.415,889.645,527.254,922.166,540.751,946.094C554.247,970.021,554.4,985.354,554.477,993.021L554.554,1000.688"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_F_MC_6" d="M506.354,1163.432L492.048,1179.639C477.743,1195.845,449.131,1228.259,434.825,1252.049C420.52,1275.839,420.52,1291.005,420.52,1298.589L420.52,1306.172"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_F_G_7" d="M602.833,1163.432L616.973,1179.639C631.112,1195.845,659.39,1228.259,673.529,1252.049C687.668,1275.839,687.668,1291.005,687.668,1298.589L687.668,1306.172"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_MR_H_8" d="M161.355,1364.172L161.355,1370.422C161.355,1376.672,161.355,1389.172,182.243,1401.588C203.131,1414.003,244.907,1426.335,265.795,1432.5L286.683,1438.666"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_MC_H_9" d="M420.52,1364.172L420.52,1370.422C420.52,1376.672,420.52,1389.172,420.52,1401.005C420.52,1412.839,420.52,1424.005,420.52,1429.589L420.52,1435.172"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_G_H_10" d="M687.668,1364.172L687.668,1370.422C687.668,1376.672,687.668,1389.172,665.451,1401.784C643.234,1414.396,598.799,1427.12,576.582,1433.482L554.365,1439.844"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_H_I_11" d="M420.52,1517.172L420.52,1523.422C420.52,1529.672,420.52,1542.172,420.52,1554.005C420.52,1565.839,420.52,1577.005,420.52,1582.589L420.52,1588.172"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_I_J_12" d="M420.52,1670.172L420.52,1676.422C420.52,1682.672,420.52,1695.172,420.52,1707.005C420.52,1718.839,420.52,1730.005,420.52,1735.589L420.52,1741.172"></path><path marker-end="url(#graph-div_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_J_K_13" d="M420.52,1823.172L420.52,1829.422C420.52,1835.672,420.52,1848.172,420.52,1860.005C420.52,1871.839,420.52,1883.005,420.52,1888.589L420.52,1894.172"></path></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g transform="translate(161.35546875, 1107.6796875)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g><g transform="translate(554.09375, 954.6875)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g transform="translate(420.51953125, 1260.671875)" class="edgeLabel"><g transform="translate(-11.328125, -12)" class="label"><foreignObject height="24" width="22.65625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>Yes</p></span></div></foreignObject></g></g><g transform="translate(687.66796875, 1260.671875)" class="edgeLabel"><g transform="translate(-9.3984375, -12)" class="label"><foreignObject height="24" width="18.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><p>No</p></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" class="labelBkg" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(424.51171875, 65)" id="flowchart-A-3782" class="node default"><rect height="39" width="111.328125" y="-19.5" x="-55.6640625" ry="19.5" rx="19.5" style="" class="basic label-container"></rect><g transform="translate(-43.2890625, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="86.578125"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>Start main()</p></span></div></foreignObject></g></g><g transform="translate(424.51171875, 234.5)" id="flowchart-B-3783" class="node default"><rect height="150" width="260" y="-75" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -60)" style="" class="label"><rect></rect><foreignObject height="120" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>读取命令行参数 'drivers.txt' 'riders.txt' 'output0.txt' 'output1.txt' 'output2.txt' 'phoneNumber' 'command'</p></span></div></foreignObject></g></g><g transform="translate(424.51171875, 423.5)" id="flowchart-C-3785" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>loadDrivers(): 读取 'drivers.txt' 到 drivers</p></span></div></foreignObject></g></g><g transform="translate(424.51171875, 576.5)" id="flowchart-D-3787" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>loadRiders(): 读取 'riders.txt' 到 riders</p></span></div></foreignObject></g></g><g transform="translate(424.51171875, 797.84375)" id="flowchart-E-3789" class="node default"><polygon transform="translate(-107.34375,107.34375)" class="label-container" points="107.34375,0 214.6875,-107.34375 107.34375,-214.6875 0,-107.34375"></polygon><g transform="translate(-80.34375, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="160.6875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>command == 'request'?</p></span></div></foreignObject></g></g><g transform="translate(161.35546875, 1337.171875)" id="flowchart-MR-3791" class="node default"><rect height="54" width="213.421875" y="-27" x="-106.7109375" style="" class="basic label-container"></rect><g transform="translate(-76.7109375, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="153.421875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>调用 handleRequest()</p></span></div></foreignObject></g></g><g transform="translate(554.09375, 1107.6796875)" id="flowchart-F-3793" class="node default"><polygon transform="translate(-103.4921875,103.4921875)" class="label-container" points="103.4921875,0 206.984375,-103.4921875 103.4921875,-206.984375 0,-103.4921875"></polygon><g transform="translate(-76.4921875, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="152.984375"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>command == 'cancel'?</p></span></div></foreignObject></g></g><g transform="translate(420.51953125, 1337.171875)" id="flowchart-MC-3795" class="node default"><rect height="54" width="204.90625" y="-27" x="-102.453125" style="" class="basic label-container"></rect><g transform="translate(-72.453125, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="144.90625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>调用 handleCancel()</p></span></div></foreignObject></g></g><g transform="translate(687.66796875, 1337.171875)" id="flowchart-G-3797" class="node default"><rect height="54" width="229.390625" y="-27" x="-114.6953125" style="" class="basic label-container"></rect><g transform="translate(-84.6953125, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="169.390625"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出 'Invalid command.'</p></span></div></foreignObject></g></g><g transform="translate(420.51953125, 1478.171875)" id="flowchart-H-3799" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>输出处理结果到 'output0.txt'</p></span></div></foreignObject></g></g><g transform="translate(420.51953125, 1631.171875)" id="flowchart-I-3805" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>将更新后的 drivers 写到 'output1.txt'</p></span></div></foreignObject></g></g><g transform="translate(420.51953125, 1784.171875)" id="flowchart-J-3807" class="node default"><rect height="78" width="260" y="-39" x="-130" style="" class="basic label-container"></rect><g transform="translate(-100, -24)" style="" class="label"><rect></rect><foreignObject height="48" width="200"><div style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>将更新后的 riders 写到 'output2.txt'</p></span></div></foreignObject></g></g><g transform="translate(420.51953125, 1917.671875)" id="flowchart-K-3809" class="node default"><rect height="39" width="102.546875" y="-19.5" x="-51.2734375" ry="19.5" rx="19.5" style="" class="basic label-container"></rect><g transform="translate(-38.8984375, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="77.796875"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>End main()</p></span></div></foreignObject></g></g></g></g></g></g></g></svg> |