Skip to content

Instantly share code, notes, and snippets.

@suntong
Last active August 2, 2021 20:50
Show Gist options
  • Save suntong/663213ba1d9edd90a422d904d60cf288 to your computer and use it in GitHub Desktop.
Save suntong/663213ba1d9edd90a422d904d60cf288 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
<?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.40.1 (20161225.0304)
-->
<!-- Title: gocallvis Pages: 1 -->
<svg width="2843pt" height="5957pt"
viewBox="0.00 0.00 2843.35 5956.80" 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(0 5956.8)">
<title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-5956.8 2843.3479,-5956.8 2843.3479,0 0,0"/>
<text text-anchor="middle" x="106.0238" y="-8.2" font-family="Arial" font-size="14.00" fill="#000000">github.com/suntong/owc&#45;insight</text>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-32.8 8,-5948.8 2835.3479,-5948.8 2835.3479,-32.8 8,-32.8"/>
<text text-anchor="middle" x="1421.674" y="-5928.6" font-family="Arial" font-size="18.00" fill="#000000">openwechat</text>
</g>
<g id="clust24" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.appmsg</title>
<g id="a_clust24"><a xlink:title="type: github.com/eatMoreApple/openwechat.appmsg">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1933.2865,-634.8C1933.2865,-634.8 1992.3686,-634.8 1992.3686,-634.8 1998.3686,-634.8 2004.3686,-640.8 2004.3686,-646.8 2004.3686,-646.8 2004.3686,-700.8 2004.3686,-700.8 2004.3686,-706.8 1998.3686,-712.8 1992.3686,-712.8 1992.3686,-712.8 1933.2865,-712.8 1933.2865,-712.8 1927.2865,-712.8 1921.2865,-706.8 1921.2865,-700.8 1921.2865,-700.8 1921.2865,-646.8 1921.2865,-646.8 1921.2865,-640.8 1927.2865,-634.8 1933.2865,-634.8"/>
<text text-anchor="middle" x="1962.8275" y="-643.3" font-family="Arial" font-size="15.00" fill="#222222">(appmsg)</text>
</a>
</g>
</g>
<g id="clust23" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.WechatDomain</title>
<g id="a_clust23"><a xlink:title="type: github.com/eatMoreApple/openwechat.WechatDomain">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M2189.6236,-2448.8C2189.6236,-2448.8 2293.2214,-2448.8 2293.2214,-2448.8 2299.2214,-2448.8 2305.2214,-2454.8 2305.2214,-2460.8 2305.2214,-2460.8 2305.2214,-2636.8 2305.2214,-2636.8 2305.2214,-2642.8 2299.2214,-2648.8 2293.2214,-2648.8 2293.2214,-2648.8 2189.6236,-2648.8 2189.6236,-2648.8 2183.6236,-2648.8 2177.6236,-2642.8 2177.6236,-2636.8 2177.6236,-2636.8 2177.6236,-2460.8 2177.6236,-2460.8 2177.6236,-2454.8 2183.6236,-2448.8 2189.6236,-2448.8"/>
<text text-anchor="middle" x="2241.4225" y="-2457.3" font-family="Arial" font-size="15.00" fill="#222222">(WechatDomain)</text>
</a>
</g>
</g>
<g id="clust22" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.UserAgentHook</title>
<g id="a_clust22"><a xlink:title="type: github.com/eatMoreApple/openwechat.UserAgentHook">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M2669.0493,-1070.8C2669.0493,-1070.8 2776.1526,-1070.8 2776.1526,-1070.8 2782.1526,-1070.8 2788.1526,-1076.8 2788.1526,-1082.8 2788.1526,-1082.8 2788.1526,-1197.8 2788.1526,-1197.8 2788.1526,-1203.8 2782.1526,-1209.8 2776.1526,-1209.8 2776.1526,-1209.8 2669.0493,-1209.8 2669.0493,-1209.8 2663.0493,-1209.8 2657.0493,-1203.8 2657.0493,-1197.8 2657.0493,-1197.8 2657.0493,-1082.8 2657.0493,-1082.8 2657.0493,-1076.8 2663.0493,-1070.8 2669.0493,-1070.8"/>
<text text-anchor="middle" x="2722.601" y="-1079.3" font-family="Arial" font-size="15.00" fill="#222222">(UserAgentHook)</text>
</a>
</g>
</g>
<g id="clust21" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Mps</title>
<g id="a_clust21"><a xlink:title="type: github.com/eatMoreApple/openwechat.Mps">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M36.2997,-3102.8C36.2997,-3102.8 235.1338,-3102.8 235.1338,-3102.8 241.1338,-3102.8 247.1338,-3108.8 247.1338,-3114.8 247.1338,-3114.8 247.1338,-3290.8 247.1338,-3290.8 247.1338,-3296.8 241.1338,-3302.8 235.1338,-3302.8 235.1338,-3302.8 36.2997,-3302.8 36.2997,-3302.8 30.2997,-3302.8 24.2997,-3296.8 24.2997,-3290.8 24.2997,-3290.8 24.2997,-3114.8 24.2997,-3114.8 24.2997,-3108.8 30.2997,-3102.8 36.2997,-3102.8"/>
<text text-anchor="middle" x="135.7168" y="-3111.3" font-family="Arial" font-size="15.00" fill="#222222">(Mps)</text>
</a>
</g>
</g>
<g id="clust20" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Members</title>
<g id="a_clust20"><a xlink:title="type: github.com/eatMoreApple/openwechat.Members">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1112.193,-3806.8C1112.193,-3806.8 1760.8182,-3806.8 1760.8182,-3806.8 1766.8182,-3806.8 1772.8182,-3812.8 1772.8182,-3818.8 1772.8182,-3818.8 1772.8182,-4177.8 1772.8182,-4177.8 1772.8182,-4183.8 1766.8182,-4189.8 1760.8182,-4189.8 1760.8182,-4189.8 1112.193,-4189.8 1112.193,-4189.8 1106.193,-4189.8 1100.193,-4183.8 1100.193,-4177.8 1100.193,-4177.8 1100.193,-3818.8 1100.193,-3818.8 1100.193,-3812.8 1106.193,-3806.8 1112.193,-3806.8"/>
<text text-anchor="middle" x="1436.5056" y="-3815.3" font-family="Arial" font-size="15.00" fill="#222222">(Members)</text>
</a>
</g>
</g>
<g id="clust19" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.LoginInfo</title>
<g id="a_clust19"><a xlink:title="type: github.com/eatMoreApple/openwechat.LoginInfo">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1931.8275,-2355.8C1931.8275,-2355.8 1994.8275,-2355.8 1994.8275,-2355.8 2000.8275,-2355.8 2006.8275,-2361.8 2006.8275,-2367.8 2006.8275,-2367.8 2006.8275,-2421.8 2006.8275,-2421.8 2006.8275,-2427.8 2000.8275,-2433.8 1994.8275,-2433.8 1994.8275,-2433.8 1931.8275,-2433.8 1931.8275,-2433.8 1925.8275,-2433.8 1919.8275,-2427.8 1919.8275,-2421.8 1919.8275,-2421.8 1919.8275,-2367.8 1919.8275,-2367.8 1919.8275,-2361.8 1925.8275,-2355.8 1931.8275,-2355.8"/>
<text text-anchor="middle" x="1963.3275" y="-2364.3" font-family="Arial" font-size="15.00" fill="#222222">(LoginInfo)</text>
</a>
</g>
</g>
<g id="clust18" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Groups</title>
<g id="a_clust18"><a xlink:title="type: github.com/eatMoreApple/openwechat.Groups">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M333.6683,-5527.8C333.6683,-5527.8 1005.3919,-5527.8 1005.3919,-5527.8 1011.3919,-5527.8 1017.3919,-5533.8 1017.3919,-5539.8 1017.3919,-5539.8 1017.3919,-5898.8 1017.3919,-5898.8 1017.3919,-5904.8 1011.3919,-5910.8 1005.3919,-5910.8 1005.3919,-5910.8 333.6683,-5910.8 333.6683,-5910.8 327.6683,-5910.8 321.6683,-5904.8 321.6683,-5898.8 321.6683,-5898.8 321.6683,-5539.8 321.6683,-5539.8 321.6683,-5533.8 327.6683,-5527.8 333.6683,-5527.8"/>
<text text-anchor="middle" x="669.5301" y="-5536.3" font-family="Arial" font-size="15.00" fill="#222222">(Groups)</text>
</a>
</g>
</g>
<g id="clust17" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Friends</title>
<g id="a_clust17"><a xlink:title="type: github.com/eatMoreApple/openwechat.Friends">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M333.6683,-3899.8C333.6683,-3899.8 1005.3919,-3899.8 1005.3919,-3899.8 1011.3919,-3899.8 1017.3919,-3905.8 1017.3919,-3911.8 1017.3919,-3911.8 1017.3919,-4331.8 1017.3919,-4331.8 1017.3919,-4337.8 1011.3919,-4343.8 1005.3919,-4343.8 1005.3919,-4343.8 333.6683,-4343.8 333.6683,-4343.8 327.6683,-4343.8 321.6683,-4337.8 321.6683,-4331.8 321.6683,-4331.8 321.6683,-3911.8 321.6683,-3911.8 321.6683,-3905.8 327.6683,-3899.8 333.6683,-3899.8"/>
<text text-anchor="middle" x="669.5301" y="-3908.3" font-family="Arial" font-size="15.00" fill="#222222">(Friends)</text>
</a>
</g>
</g>
<g id="clust16" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Friend</title>
<g id="a_clust16"><a xlink:title="type: github.com/eatMoreApple/openwechat.Friend">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1397.6648,-5454.8C1397.6648,-5454.8 1443.6648,-5454.8 1443.6648,-5454.8 1449.6648,-5454.8 1455.6648,-5460.8 1455.6648,-5466.8 1455.6648,-5466.8 1455.6648,-5520.8 1455.6648,-5520.8 1455.6648,-5526.8 1449.6648,-5532.8 1443.6648,-5532.8 1443.6648,-5532.8 1397.6648,-5532.8 1397.6648,-5532.8 1391.6648,-5532.8 1385.6648,-5526.8 1385.6648,-5520.8 1385.6648,-5520.8 1385.6648,-5466.8 1385.6648,-5466.8 1385.6648,-5460.8 1391.6648,-5454.8 1397.6648,-5454.8"/>
<text text-anchor="middle" x="1420.6648" y="-5463.3" font-family="Arial" font-size="15.00" fill="#222222">(Friend)</text>
</a>
</g>
</g>
<g id="clust15" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.BaseResponse</title>
<g id="a_clust15"><a xlink:title="type: github.com/eatMoreApple/openwechat.BaseResponse">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M2429.3572,-2864.8C2429.3572,-2864.8 2532.3572,-2864.8 2532.3572,-2864.8 2538.3572,-2864.8 2544.3572,-2870.8 2544.3572,-2876.8 2544.3572,-2876.8 2544.3572,-2991.8 2544.3572,-2991.8 2544.3572,-2997.8 2538.3572,-3003.8 2532.3572,-3003.8 2532.3572,-3003.8 2429.3572,-3003.8 2429.3572,-3003.8 2423.3572,-3003.8 2417.3572,-2997.8 2417.3572,-2991.8 2417.3572,-2991.8 2417.3572,-2876.8 2417.3572,-2876.8 2417.3572,-2870.8 2423.3572,-2864.8 2429.3572,-2864.8"/>
<text text-anchor="middle" x="2480.8572" y="-2873.3" font-family="Arial" font-size="15.00" fill="#222222">(BaseResponse)</text>
</a>
</g>
</g>
<g id="clust14" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.User</title>
<g id="a_clust14"><a xlink:title="type: *github.com/eatMoreApple/openwechat.User">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1383.2265,-524.8C1383.2265,-524.8 1741.4763,-524.8 1741.4763,-524.8 1747.4763,-524.8 1753.4763,-530.8 1753.4763,-536.8 1753.4763,-536.8 1753.4763,-773.8 1753.4763,-773.8 1753.4763,-779.8 1747.4763,-785.8 1741.4763,-785.8 1741.4763,-785.8 1383.2265,-785.8 1383.2265,-785.8 1377.2265,-785.8 1371.2265,-779.8 1371.2265,-773.8 1371.2265,-773.8 1371.2265,-536.8 1371.2265,-536.8 1371.2265,-530.8 1377.2265,-524.8 1383.2265,-524.8"/>
<text text-anchor="middle" x="1562.3514" y="-533.3" font-family="Arial" font-size="15.00" fill="#222222">(*User)</text>
</a>
</g>
</g>
<g id="clust13" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.SyncCheckResponse</title>
<g id="a_clust13"><a xlink:title="type: *github.com/eatMoreApple/openwechat.SyncCheckResponse">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1395.0882,-172.8C1395.0882,-172.8 1703.2382,-172.8 1703.2382,-172.8 1709.2382,-172.8 1715.2382,-178.8 1715.2382,-184.8 1715.2382,-184.8 1715.2382,-299.8 1715.2382,-299.8 1715.2382,-305.8 1709.2382,-311.8 1703.2382,-311.8 1703.2382,-311.8 1395.0882,-311.8 1395.0882,-311.8 1389.0882,-311.8 1383.0882,-305.8 1383.0882,-299.8 1383.0882,-299.8 1383.0882,-184.8 1383.0882,-184.8 1383.0882,-178.8 1389.0882,-172.8 1395.0882,-172.8"/>
<text text-anchor="middle" x="1549.1632" y="-181.3" font-family="Arial" font-size="15.00" fill="#222222">(*SyncCheckResponse)</text>
</a>
</g>
</g>
<g id="clust12" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.SentMessage</title>
<g id="a_clust12"><a xlink:title="type: *github.com/eatMoreApple/openwechat.SentMessage">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M592.8488,-4395.8C592.8488,-4395.8 712.581,-4395.8 712.581,-4395.8 718.581,-4395.8 724.581,-4401.8 724.581,-4407.8 724.581,-4407.8 724.581,-4583.8 724.581,-4583.8 724.581,-4589.8 718.581,-4595.8 712.581,-4595.8 712.581,-4595.8 592.8488,-4595.8 592.8488,-4595.8 586.8488,-4595.8 580.8488,-4589.8 580.8488,-4583.8 580.8488,-4583.8 580.8488,-4407.8 580.8488,-4407.8 580.8488,-4401.8 586.8488,-4395.8 592.8488,-4395.8"/>
<text text-anchor="middle" x="652.7149" y="-4404.3" font-family="Arial" font-size="15.00" fill="#222222">(*SentMessage)</text>
</a>
</g>
</g>
<g id="clust11" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Self</title>
<g id="a_clust11"><a xlink:title="type: *github.com/eatMoreApple/openwechat.Self">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M831.1569,-4392.8C831.1569,-4392.8 1487.1143,-4392.8 1487.1143,-4392.8 1493.1143,-4392.8 1499.1143,-4398.8 1499.1143,-4404.8 1499.1143,-4404.8 1499.1143,-5434.8 1499.1143,-5434.8 1499.1143,-5440.8 1493.1143,-5446.8 1487.1143,-5446.8 1487.1143,-5446.8 831.1569,-5446.8 831.1569,-5446.8 825.1569,-5446.8 819.1569,-5440.8 819.1569,-5434.8 819.1569,-5434.8 819.1569,-4404.8 819.1569,-4404.8 819.1569,-4398.8 825.1569,-4392.8 831.1569,-4392.8"/>
<text text-anchor="middle" x="1159.1356" y="-4401.3" font-family="Arial" font-size="15.00" fill="#222222">(*Self)</text>
</a>
</g>
</g>
<g id="clust10" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.MessageMatchDispatcher</title>
<g id="a_clust10"><a xlink:title="type: *github.com/eatMoreApple/openwechat.MessageMatchDispatcher">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M568.6727,-765.8C568.6727,-765.8 1239.8201,-765.8 1239.8201,-765.8 1245.8201,-765.8 1251.8201,-771.8 1251.8201,-777.8 1251.8201,-777.8 1251.8201,-1502.8 1251.8201,-1502.8 1251.8201,-1508.8 1245.8201,-1514.8 1239.8201,-1514.8 1239.8201,-1514.8 568.6727,-1514.8 568.6727,-1514.8 562.6727,-1514.8 556.6727,-1508.8 556.6727,-1502.8 556.6727,-1502.8 556.6727,-777.8 556.6727,-777.8 556.6727,-771.8 562.6727,-765.8 568.6727,-765.8"/>
<text text-anchor="middle" x="904.2464" y="-774.3" font-family="Arial" font-size="15.00" fill="#222222">(*MessageMatchDispatcher)</text>
</a>
</g>
</g>
<g id="clust9" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.MessageContext</title>
<g id="a_clust9"><a xlink:title="type: *github.com/eatMoreApple/openwechat.MessageContext">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1127.4342,-679.8C1127.4342,-679.8 1247.4342,-679.8 1247.4342,-679.8 1253.4342,-679.8 1259.4342,-685.8 1259.4342,-691.8 1259.4342,-691.8 1259.4342,-745.8 1259.4342,-745.8 1259.4342,-751.8 1253.4342,-757.8 1247.4342,-757.8 1247.4342,-757.8 1127.4342,-757.8 1127.4342,-757.8 1121.4342,-757.8 1115.4342,-751.8 1115.4342,-745.8 1115.4342,-745.8 1115.4342,-691.8 1115.4342,-691.8 1115.4342,-685.8 1121.4342,-679.8 1127.4342,-679.8"/>
<text text-anchor="middle" x="1187.4342" y="-688.3" font-family="Arial" font-size="15.00" fill="#222222">(*MessageContext)</text>
</a>
</g>
</g>
<g id="clust8" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Message</title>
<g id="a_clust8"><a xlink:title="type: *github.com/eatMoreApple/openwechat.Message">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M565.1506,-1632.8C565.1506,-1632.8 1238.9535,-1632.8 1238.9535,-1632.8 1244.9535,-1632.8 1250.9535,-1638.8 1250.9535,-1644.8 1250.9535,-1644.8 1250.9535,-2382.8 1250.9535,-2382.8 1250.9535,-2388.8 1244.9535,-2394.8 1238.9535,-2394.8 1238.9535,-2394.8 565.1506,-2394.8 565.1506,-2394.8 559.1506,-2394.8 553.1506,-2388.8 553.1506,-2382.8 553.1506,-2382.8 553.1506,-1644.8 553.1506,-1644.8 553.1506,-1638.8 559.1506,-1632.8 565.1506,-1632.8"/>
<text text-anchor="middle" x="902.052" y="-1641.3" font-family="Arial" font-size="15.00" fill="#222222">(*Message)</text>
</a>
</g>
</g>
<g id="clust7" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage</title>
<g id="a_clust7"><a xlink:title="type: *github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M829.3177,-105.8C829.3177,-105.8 1016.1545,-105.8 1016.1545,-105.8 1022.1545,-105.8 1028.1545,-111.8 1028.1545,-117.8 1028.1545,-117.8 1028.1545,-293.8 1028.1545,-293.8 1028.1545,-299.8 1022.1545,-305.8 1016.1545,-305.8 1016.1545,-305.8 829.3177,-305.8 829.3177,-305.8 823.3177,-305.8 817.3177,-299.8 817.3177,-293.8 817.3177,-293.8 817.3177,-117.8 817.3177,-117.8 817.3177,-111.8 823.3177,-105.8 829.3177,-105.8"/>
<text text-anchor="middle" x="922.7361" y="-114.3" font-family="Arial" font-size="15.00" fill="#222222">(*JsonFileHotReloadStorage)</text>
</a>
</g>
</g>
<g id="clust6" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Group</title>
<g id="a_clust6"><a xlink:title="type: *github.com/eatMoreApple/openwechat.Group">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M595.9268,-5040.8C595.9268,-5040.8 709.503,-5040.8 709.503,-5040.8 715.503,-5040.8 721.503,-5046.8 721.503,-5052.8 721.503,-5052.8 721.503,-5472.8 721.503,-5472.8 721.503,-5478.8 715.503,-5484.8 709.503,-5484.8 709.503,-5484.8 595.9268,-5484.8 595.9268,-5484.8 589.9268,-5484.8 583.9268,-5478.8 583.9268,-5472.8 583.9268,-5472.8 583.9268,-5052.8 583.9268,-5052.8 583.9268,-5046.8 589.9268,-5040.8 595.9268,-5040.8"/>
<text text-anchor="middle" x="652.7149" y="-5049.3" font-family="Arial" font-size="15.00" fill="#222222">(*Group)</text>
</a>
</g>
</g>
<g id="clust5" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Friend</title>
<g id="a_clust5"><a xlink:title="type: *github.com/eatMoreApple/openwechat.Friend">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M598.1287,-4603.8C598.1287,-4603.8 707.3011,-4603.8 707.3011,-4603.8 713.3011,-4603.8 719.3011,-4609.8 719.3011,-4615.8 719.3011,-4615.8 719.3011,-4974.8 719.3011,-4974.8 719.3011,-4980.8 713.3011,-4986.8 707.3011,-4986.8 707.3011,-4986.8 598.1287,-4986.8 598.1287,-4986.8 592.1287,-4986.8 586.1287,-4980.8 586.1287,-4974.8 586.1287,-4974.8 586.1287,-4615.8 586.1287,-4615.8 586.1287,-4609.8 592.1287,-4603.8 598.1287,-4603.8"/>
<text text-anchor="middle" x="652.7149" y="-4612.3" font-family="Arial" font-size="15.00" fill="#222222">(*Friend)</text>
</a>
</g>
</g>
<g id="clust4" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Client</title>
<g id="a_clust4"><a xlink:title="type: *github.com/eatMoreApple/openwechat.Client">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1607.2437,-793.8C1607.2437,-793.8 2512.5338,-793.8 2512.5338,-793.8 2518.5338,-793.8 2524.5338,-799.8 2524.5338,-805.8 2524.5338,-805.8 2524.5338,-2201.8 2524.5338,-2201.8 2524.5338,-2207.8 2518.5338,-2213.8 2512.5338,-2213.8 2512.5338,-2213.8 1607.2437,-2213.8 1607.2437,-2213.8 1601.2437,-2213.8 1595.2437,-2207.8 1595.2437,-2201.8 1595.2437,-2201.8 1595.2437,-805.8 1595.2437,-805.8 1595.2437,-799.8 1601.2437,-793.8 1607.2437,-793.8"/>
<text text-anchor="middle" x="2059.8888" y="-802.3" font-family="Arial" font-size="15.00" fill="#222222">(*Client)</text>
</a>
</g>
</g>
<g id="clust3" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Caller</title>
<g id="a_clust3"><a xlink:title="type: *github.com/eatMoreApple/openwechat.Caller">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1578.6543,-2683.8C1578.6543,-2683.8 2033.2463,-2683.8 2033.2463,-2683.8 2039.2463,-2683.8 2045.2463,-2689.8 2045.2463,-2695.8 2045.2463,-2695.8 2045.2463,-3786.8 2045.2463,-3786.8 2045.2463,-3792.8 2039.2463,-3798.8 2033.2463,-3798.8 2033.2463,-3798.8 1578.6543,-3798.8 1578.6543,-3798.8 1572.6543,-3798.8 1566.6543,-3792.8 1566.6543,-3786.8 1566.6543,-3786.8 1566.6543,-2695.8 1566.6543,-2695.8 1566.6543,-2689.8 1572.6543,-2683.8 1578.6543,-2683.8"/>
<text text-anchor="middle" x="1805.9503" y="-2692.3" font-family="Arial" font-size="15.00" fill="#222222">(*Caller)</text>
</a>
</g>
</g>
<g id="clust2" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Bot</title>
<g id="a_clust2"><a xlink:title="type: *github.com/eatMoreApple/openwechat.Bot">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-321.8C28,-321.8 1497.6543,-321.8 1497.6543,-321.8 1503.6543,-321.8 1509.6543,-327.8 1509.6543,-333.8 1509.6543,-333.8 1509.6543,-475.8 1509.6543,-475.8 1509.6543,-481.8 1503.6543,-487.8 1497.6543,-487.8 1497.6543,-487.8 28,-487.8 28,-487.8 22,-487.8 16,-481.8 16,-475.8 16,-475.8 16,-333.8 16,-333.8 16,-327.8 22,-321.8 28,-321.8"/>
<text text-anchor="middle" x="762.8272" y="-330.3" font-family="Arial" font-size="15.00" fill="#222222">(*Bot)</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode -->
<g id="node1" class="node">
<title>github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode</title>
<g id="a_node1"><a xlink:title="github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode | defined in items.go:55">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2722.601" cy="-2977.8" rx="104.9945" ry="18"/>
<text text-anchor="middle" x="2722.601" y="-2973.6" font-family="Verdana" font-size="14.00" fill="#000000">getResponseErrorWithRetCode</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.GetFileContentType -->
<g id="node2" class="node">
<title>github.com/eatMoreApple/openwechat.GetFileContentType</title>
<g id="a_node2"><a xlink:title="github.com/eatMoreApple/openwechat.GetFileContentType | defined in parser.go:62">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-2422.8" rx="69.6738" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2418.6" font-family="Verdana" font-size="14.00" fill="#000000">GetFileContentType</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getMessageType -->
<g id="node3" class="node">
<title>github.com/eatMoreApple/openwechat.getMessageType</title>
<g id="a_node3"><a xlink:title="github.com/eatMoreApple/openwechat.getMessageType | defined in parser.go:85&#10;at parser.go:86: calling [github.com/eatMoreApple/openwechat.getFileExt]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2240.9225" cy="-2683.8" rx="58.2895" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2679.6" font-family="Verdana" font-size="14.00" fill="#000000">getMessageType</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getFileExt -->
<g id="node4" class="node">
<title>github.com/eatMoreApple/openwechat.getFileExt</title>
<g id="a_node4"><a xlink:title="github.com/eatMoreApple/openwechat.getFileExt | defined in parser.go:70">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2480.3572" cy="-3246.8" rx="37.4936" ry="18"/>
<text text-anchor="middle" x="2480.3572" y="-3242.6" font-family="Verdana" font-size="14.00" fill="#000000">getFileExt</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getMessageType&#45;&gt;github.com/eatMoreApple/openwechat.getFileExt -->
<g id="edge225" class="edge">
<title>github.com/eatMoreApple/openwechat.getMessageType&#45;&gt;github.com/eatMoreApple/openwechat.getFileExt</title>
<g id="a_edge225"><a xlink:title="at parser.go:86: calling [github.com/eatMoreApple/openwechat.getFileExt]">
<path fill="none" stroke="#000000" d="M2277.5549,-2697.9475C2297.7606,-2707.4967 2321.745,-2721.9967 2336.8604,-2741.8 2351.9808,-2761.6098 2446.0256,-3116.2549 2473.0827,-3219.0763"/>
<polygon fill="#000000" stroke="#000000" points="2469.6997,-3219.9739 2475.6275,-3228.7552 2476.4696,-3218.1939 2469.6997,-3219.9739"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getWebWxDataTicket -->
<g id="node5" class="node">
<title>github.com/eatMoreApple/openwechat.getWebWxDataTicket</title>
<g id="a_node5"><a xlink:title="github.com/eatMoreApple/openwechat.getWebWxDataTicket | defined in parser.go:36">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2240.9225" cy="-2361.8" rx="75.9404" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2357.6" font-family="Verdana" font-size="14.00" fill="#000000">getWebWxDataTicket</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="node6" class="node">
<title>github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_node6"><a xlink:title="github.com/eatMoreApple/openwechat.parseBaseResponseError | defined in caller.go:331&#10;at caller.go:334: calling [github.com/eatMoreApple/openwechat.scanJson]&#10;at caller.go:337: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2240.9225" cy="-2771.8" rx="83.7646" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2767.6" font-family="Verdana" font-size="14.00" fill="#000000">parseBaseResponseError</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.scanJson -->
<g id="node7" class="node">
<title>github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_node7"><a xlink:title="github.com/eatMoreApple/openwechat.scanJson | defined in parser.go:103">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2480.3572" cy="-743.8" rx="32.8115" ry="18"/>
<text text-anchor="middle" x="2480.3572" y="-739.6" font-family="Verdana" font-size="14.00" fill="#000000">scanJson</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;github.com/eatMoreApple/openwechat.scanJson -->
<g id="edge137" class="edge">
<title>github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_edge137"><a xlink:title="at caller.go:334: calling [github.com/eatMoreApple/openwechat.scanJson]">
<path fill="none" stroke="#000000" d="M2285.7801,-2756.383C2304.9195,-2747.3753 2325.4395,-2733.93 2336.8604,-2714.8 2556.564,-2346.7992 2211.3351,-1163.6313 2417.3572,-787.8 2423.733,-776.1691 2434.6587,-766.9358 2445.6386,-759.9921"/>
<polygon fill="#000000" stroke="#000000" points="2447.4865,-762.9664 2454.37,-754.9123 2443.9663,-756.9158 2447.4865,-762.9664"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="node198" class="node">
<title>(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_node198"><a xlink:title="(github.com/eatMoreApple/openwechat.BaseResponse).Ok | defined in items.go:44">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2480.3572" cy="-2916.8" rx="27" ry="18"/>
<text text-anchor="middle" x="2480.3572" y="-2912.6" font-family="Verdana" font-size="14.00" fill="#000000">Ok</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge203" class="edge">
<title>github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge203"><a xlink:title="at caller.go:337: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="#000000" d="M2295.1006,-2785.5723C2309.1166,-2790.1302 2323.9007,-2795.8551 2336.8604,-2802.8 2384.0814,-2828.1049 2431.2631,-2869.4396 2458.0289,-2894.7704"/>
<polygon fill="#000000" stroke="#000000" points="2455.6964,-2897.3829 2465.3388,-2901.7732 2460.5389,-2892.328 2455.6964,-2897.3829"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewUserDetailItemList -->
<g id="node8" class="node">
<title>github.com/eatMoreApple/openwechat.NewUserDetailItemList</title>
<g id="a_node8"><a xlink:title="github.com/eatMoreApple/openwechat.NewUserDetailItemList | defined in items.go:122">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-2300.8" rx="80.6163" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2296.6" font-family="Verdana" font-size="14.00" fill="#000000">NewUserDetailItemList</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="node9" class="node">
<title>github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_node9"><a xlink:title="github.com/eatMoreApple/openwechat.ToBuffer | defined in parser.go:15">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-2239.8" rx="33.9369" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2235.6" font-family="Verdana" font-size="14.00" fill="#000000">ToBuffer</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="node10" class="node">
<title>github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_node10"><a xlink:title="github.com/eatMoreApple/openwechat.getTotalDuration | defined in parser.go:53">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="652.7149" cy="-4369.8" rx="59.0605" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4365.6" font-family="Verdana" font-size="14.00" fill="#000000">getTotalDuration</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseMessageResponseError -->
<g id="node11" class="node">
<title>github.com/eatMoreApple/openwechat.parseMessageResponseError</title>
<g id="a_node11"><a xlink:title="github.com/eatMoreApple/openwechat.parseMessageResponseError | defined in caller.go:343&#10;at caller.go:352: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]&#10;at caller.go:348: calling [github.com/eatMoreApple/openwechat.scanJson]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2240.9225" cy="-2832.8" rx="95.8759" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2828.6" font-family="Verdana" font-size="14.00" fill="#000000">parseMessageResponseError</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;github.com/eatMoreApple/openwechat.scanJson -->
<g id="edge244" class="edge">
<title>github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_edge244"><a xlink:title="at caller.go:348: calling [github.com/eatMoreApple/openwechat.scanJson]">
<path fill="none" stroke="#000000" d="M2313.7421,-2820.9128C2322.6981,-2816.5626 2330.8103,-2810.6957 2336.8604,-2802.8 2473.1447,-2624.9438 2309.8289,-984.3805 2417.3572,-787.8 2423.7224,-776.1633 2434.6458,-766.9287 2445.6267,-759.9856"/>
<polygon fill="#000000" stroke="#000000" points="2447.475,-762.9597 2454.3596,-754.9066 2443.9557,-756.9086 2447.475,-762.9597"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge215" class="edge">
<title>github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge215"><a xlink:title="at caller.go:352: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="#000000" d="M2286.2398,-2848.6985C2333.0562,-2865.1229 2405.022,-2890.3704 2446.9176,-2905.0685"/>
<polygon fill="#000000" stroke="#000000" points="2445.7907,-2908.3822 2456.3855,-2908.3901 2448.1081,-2901.7769 2445.7907,-2908.3822"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getSuccessSentMessage -->
<g id="node12" class="node">
<title>github.com/eatMoreApple/openwechat.getSuccessSentMessage</title>
<g id="a_node12"><a xlink:title="github.com/eatMoreApple/openwechat.getSuccessSentMessage | defined in caller.go:360&#10;at caller.go:365: calling [github.com/eatMoreApple/openwechat.parseMessageResponseError]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1962.8275" cy="-2657.8" rx="81.0091" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2653.6" font-family="Verdana" font-size="14.00" fill="#000000">getSuccessSentMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getSuccessSentMessage&#45;&gt;github.com/eatMoreApple/openwechat.parseMessageResponseError -->
<g id="edge15" class="edge">
<title>github.com/eatMoreApple/openwechat.getSuccessSentMessage&#45;&gt;github.com/eatMoreApple/openwechat.parseMessageResponseError</title>
<g id="a_edge15"><a xlink:title="at caller.go:365: calling [github.com/eatMoreApple/openwechat.parseMessageResponseError]">
<path fill="none" stroke="#000000" d="M2038.4684,-2664.4427C2050.3962,-2667.8421 2062.0512,-2672.753 2071.9846,-2679.8 2123.832,-2716.5821 2095.1227,-2763.368 2144.9846,-2802.8 2151.4073,-2807.8793 2158.6986,-2812.1044 2166.3244,-2815.6179"/>
<polygon fill="#000000" stroke="#000000" points="2165.1798,-2818.9329 2175.756,-2819.5603 2167.8794,-2812.4744 2165.1798,-2818.9329"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewTextSendMessage -->
<g id="node13" class="node">
<title>github.com/eatMoreApple/openwechat.NewTextSendMessage</title>
<g id="a_node13"><a xlink:title="github.com/eatMoreApple/openwechat.NewTextSendMessage | defined in message.go:357&#10;at message.go:358: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-4366.8" rx="77.4697" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-4362.6" font-family="Verdana" font-size="14.00" fill="#000000">NewTextSendMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="node14" class="node">
<title>github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_node14"><a xlink:title="github.com/eatMoreApple/openwechat.NewSendMessage | defined in message.go:343">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-3777.8" rx="62.9593" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-3773.6" font-family="Verdana" font-size="14.00" fill="#000000">NewSendMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewTextSendMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="edge228" class="edge">
<title>github.com/eatMoreApple/openwechat.NewTextSendMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_edge228"><a xlink:title="at message.go:358: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<path fill="none" stroke="#000000" d="M1263.3834,-4362.9587C1329.5816,-4361.617 1427.5736,-4364.5085 1509.6543,-4386.8 1590.4119,-4408.7322 1593.9796,-4471.8 1677.6624,-4471.8 1677.6624,-4471.8 1677.6624,-4471.8 1962.8275,-4471.8 2108.8044,-4471.8 2212.9467,-3936.0505 2236.0776,-3805.9921"/>
<polygon fill="#000000" stroke="#000000" points="2239.5487,-3806.4615 2237.8355,-3796.0061 2232.6547,-3805.2479 2239.5487,-3806.4615"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultClient -->
<g id="node15" class="node">
<title>github.com/eatMoreApple/openwechat.DefaultClient</title>
<g id="a_node15"><a xlink:title="github.com/eatMoreApple/openwechat.DefaultClient | defined in client.go:55&#10;at client.go:63: calling [github.com/eatMoreApple/openwechat.NewClient]&#10;at client.go:64: calling [(*github.com/eatMoreApple/openwechat.Client).AddHttpHook]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-119.8" rx="47.7031" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-115.6" font-family="Verdana" font-size="14.00" fill="#000000">DefaultClient</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewClient -->
<g id="node16" class="node">
<title>github.com/eatMoreApple/openwechat.NewClient</title>
<g id="a_node16"><a xlink:title="github.com/eatMoreApple/openwechat.NewClient | defined in client.go:49">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-109.8" rx="38.6222" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-105.6" font-family="Verdana" font-size="14.00" fill="#000000">NewClient</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultClient&#45;&gt;github.com/eatMoreApple/openwechat.NewClient -->
<g id="edge279" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultClient&#45;&gt;github.com/eatMoreApple/openwechat.NewClient</title>
<g id="a_edge279"><a xlink:title="at client.go:63: calling [github.com/eatMoreApple/openwechat.NewClient]">
<path fill="none" stroke="#000000" d="M1468.1016,-117.9542C1513.8115,-116.1756 1582.6517,-113.4969 1628.8264,-111.7002"/>
<polygon fill="#000000" stroke="#000000" points="1629.038,-115.1948 1638.8943,-111.3085 1628.7658,-108.2001 1629.038,-115.1948"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).AddHttpHook -->
<g id="node75" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).AddHttpHook</title>
<g id="a_node75"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).AddHttpHook | defined in client.go:68">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-919.8" rx="49.6137" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-915.6" font-family="Verdana" font-size="14.00" fill="#000000">AddHttpHook</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultClient&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).AddHttpHook -->
<g id="edge305" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultClient&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).AddHttpHook</title>
<g id="a_edge305"><a xlink:title="at client.go:64: calling [(*github.com/eatMoreApple/openwechat.Client).AddHttpHook]">
<path fill="none" stroke="#000000" d="M1458.5432,-130.8815C1476.7997,-138.166 1497.353,-149.6063 1509.6543,-166.8 1590.8045,-280.2249 1513.7804,-662.7461 1566.6543,-791.8 1584.2393,-834.7212 1622.2789,-873.3315 1648.9024,-896.6566"/>
<polygon fill="#000000" stroke="#000000" points="1646.8922,-899.5433 1656.7631,-903.3926 1651.4471,-894.2279 1646.8922,-899.5433"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultCaller -->
<g id="node17" class="node">
<title>github.com/eatMoreApple/openwechat.DefaultCaller</title>
<g id="a_node17"><a xlink:title="github.com/eatMoreApple/openwechat.DefaultCaller | defined in caller.go:24&#10;at caller.go:25: calling [github.com/eatMoreApple/openwechat.NewCaller]&#10;at caller.go:25: calling [github.com/eatMoreApple/openwechat.DefaultClient]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-119.8" rx="47.6857" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-115.6" font-family="Verdana" font-size="14.00" fill="#000000">DefaultCaller</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultCaller&#45;&gt;github.com/eatMoreApple/openwechat.DefaultClient -->
<g id="edge134" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultCaller&#45;&gt;github.com/eatMoreApple/openwechat.DefaultClient</title>
<g id="a_edge134"><a xlink:title="at caller.go:25: calling [github.com/eatMoreApple/openwechat.DefaultClient]">
<path fill="none" stroke="#000000" d="M1235.1947,-119.8C1272.1409,-119.8 1323.453,-119.8 1362.7422,-119.8"/>
<polygon fill="#000000" stroke="#000000" points="1362.9682,-123.3001 1372.9682,-119.8 1362.9681,-116.3001 1362.9682,-123.3001"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewCaller -->
<g id="node18" class="node">
<title>github.com/eatMoreApple/openwechat.NewCaller</title>
<g id="a_node18"><a xlink:title="github.com/eatMoreApple/openwechat.NewCaller | defined in caller.go:19">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-58.8" rx="38.6048" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-54.6" font-family="Verdana" font-size="14.00" fill="#000000">NewCaller</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultCaller&#45;&gt;github.com/eatMoreApple/openwechat.NewCaller -->
<g id="edge127" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultCaller&#45;&gt;github.com/eatMoreApple/openwechat.NewCaller</title>
<g id="a_edge127"><a xlink:title="at caller.go:25: calling [github.com/eatMoreApple/openwechat.NewCaller]">
<path fill="none" stroke="#000000" d="M1226.7348,-109.5212C1268.1993,-98.6764 1333.3988,-81.6239 1376.5848,-70.3289"/>
<polygon fill="#000000" stroke="#000000" points="1377.7343,-73.646 1386.5233,-67.7295 1375.9631,-66.8738 1377.7343,-73.646"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewFileAppMessage -->
<g id="node19" class="node">
<title>github.com/eatMoreApple/openwechat.NewFileAppMessage</title>
<g id="a_node19"><a xlink:title="github.com/eatMoreApple/openwechat.NewFileAppMessage | defined in message.go:507&#10;at message.go:512: calling [github.com/eatMoreApple/openwechat.getFileExt]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-3586.8" rx="73.1846" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-3582.6" font-family="Verdana" font-size="14.00" fill="#000000">NewFileAppMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewFileAppMessage&#45;&gt;github.com/eatMoreApple/openwechat.getFileExt -->
<g id="edge265" class="edge">
<title>github.com/eatMoreApple/openwechat.NewFileAppMessage&#45;&gt;github.com/eatMoreApple/openwechat.getFileExt</title>
<g id="a_edge265"><a xlink:title="at message.go:512: calling [github.com/eatMoreApple/openwechat.getFileExt]">
<path fill="none" stroke="#000000" d="M2253.4584,-3568.9988C2293.148,-3512.6392 2416.1525,-3337.9714 2462.4707,-3272.199"/>
<polygon fill="#000000" stroke="#000000" points="2465.3351,-3274.2103 2468.2313,-3264.0189 2459.6119,-3270.1798 2465.3351,-3274.2103"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.GetRandomDeviceId -->
<g id="node20" class="node">
<title>github.com/eatMoreApple/openwechat.GetRandomDeviceId</title>
<g id="a_node20"><a xlink:title="github.com/eatMoreApple/openwechat.GetRandomDeviceId | defined in parser.go:25">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-570.8" rx="71.5448" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-566.6" font-family="Verdana" font-size="14.00" fill="#000000">GetRandomDeviceId</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultBot -->
<g id="node21" class="node">
<title>github.com/eatMoreApple/openwechat.DefaultBot</title>
<g id="a_node21"><a xlink:title="github.com/eatMoreApple/openwechat.DefaultBot | defined in bot.go:320&#10;at bot.go:327: calling [github.com/eatMoreApple/openwechat.DefaultCaller]&#10;at bot.go:329: calling [github.com/eatMoreApple/openwechat.NewBot]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-72.8" rx="39.8792" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-68.6" font-family="Verdana" font-size="14.00" fill="#000000">DefaultBot</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.DefaultCaller -->
<g id="edge130" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.DefaultCaller</title>
<g id="a_edge130"><a xlink:title="at bot.go:327: calling [github.com/eatMoreApple/openwechat.DefaultCaller]">
<path fill="none" stroke="#000000" d="M959.39,-79.3846C1004.8282,-87.4375 1082.0757,-101.1277 1133.9153,-110.3151"/>
<polygon fill="#000000" stroke="#000000" points="1133.4701,-113.7906 1143.9275,-112.0895 1134.6917,-106.898 1133.4701,-113.7906"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewBot -->
<g id="node22" class="node">
<title>github.com/eatMoreApple/openwechat.NewBot</title>
<g id="a_node22"><a xlink:title="github.com/eatMoreApple/openwechat.NewBot | defined in bot.go:312">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-58.8" rx="30.797" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-54.6" font-family="Verdana" font-size="14.00" fill="#000000">NewBot</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.NewBot -->
<g id="edge254" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.NewBot</title>
<g id="a_edge254"><a xlink:title="at bot.go:329: calling [github.com/eatMoreApple/openwechat.NewBot]">
<path fill="none" stroke="#000000" d="M961.939,-70.7041C1011.582,-68.0834 1096.1354,-63.6197 1146.3954,-60.9665"/>
<polygon fill="#000000" stroke="#000000" points="1146.7734,-64.4515 1156.5749,-60.4291 1146.4043,-57.4612 1146.7734,-64.4515"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.scanXml -->
<g id="node23" class="node">
<title>github.com/eatMoreApple/openwechat.scanXml</title>
<g id="a_node23"><a xlink:title="github.com/eatMoreApple/openwechat.scanXml | defined in parser.go:95">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1962.8275" cy="-2329.8" rx="32.8099" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2325.6" font-family="Verdana" font-size="14.00" fill="#000000">scanXml</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewMediaSendMessage -->
<g id="node24" class="node">
<title>github.com/eatMoreApple/openwechat.NewMediaSendMessage</title>
<g id="a_node24"><a xlink:title="github.com/eatMoreApple/openwechat.NewMediaSendMessage | defined in message.go:362&#10;at message.go:363: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-3824.8" rx="83.3974" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-3820.6" font-family="Verdana" font-size="14.00" fill="#000000">NewMediaSendMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewMediaSendMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="edge146" class="edge">
<title>github.com/eatMoreApple/openwechat.NewMediaSendMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_edge146"><a xlink:title="at message.go:363: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<path fill="none" stroke="#000000" d="M2028.7322,-3813.6617C2073.4354,-3806.1065 2132.239,-3796.1683 2176.6035,-3788.6704"/>
<polygon fill="#000000" stroke="#000000" points="2177.4176,-3792.0825 2186.6945,-3786.9649 2176.251,-3785.1804 2177.4176,-3792.0825"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.XmlFormString -->
<g id="node25" class="node">
<title>github.com/eatMoreApple/openwechat.XmlFormString</title>
<g id="a_node25"><a xlink:title="github.com/eatMoreApple/openwechat.XmlFormString | defined in parser.go:46">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-2429.8" rx="55.1792" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-2425.6" font-family="Verdana" font-size="14.00" fill="#000000">XmlFormString</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewFriendHelper -->
<g id="node26" class="node">
<title>github.com/eatMoreApple/openwechat.NewFriendHelper</title>
<g id="a_node26"><a xlink:title="github.com/eatMoreApple/openwechat.NewFriendHelper | defined in user.go:571">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-4251.8" rx="61.8146" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-4247.6" font-family="Verdana" font-size="14.00" fill="#000000">NewFriendHelper</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).hotLoginInit -->
<g id="node27" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit</title>
<g id="a_node27"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit | defined in bot.go:87&#10;at bot.go:88: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="212.1338" cy="-373.8" rx="44.569" ry="18"/>
<text text-anchor="middle" x="212.1338" y="-369.6" font-family="Verdana" font-size="14.00" fill="#000000">hotLoginInit</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem -->
<g id="node103" class="node">
<title>(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem</title>
<g id="a_node103"><a xlink:title="(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem | defined in stroage.go:75">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-218.8" rx="88.8369" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-214.6" font-family="Verdana" font-size="14.00" fill="#000000">GetHotReloadStorageItem</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).hotLoginInit&#45;&gt;(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem -->
<g id="edge84" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit&#45;&gt;(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem</title>
<g id="a_edge84"><a xlink:title="at bot.go:88: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M229.1919,-357.1624C261.4332,-327.5553 334.7573,-268.8 408.9095,-268.8 408.9095,-268.8 408.9095,-268.8 652.7149,-268.8 725.7418,-268.8 808.0597,-250.8353 862.2922,-236.4424"/>
<polygon fill="#000000" stroke="#000000" points="863.3397,-239.7851 872.0832,-233.8016 861.5168,-233.0266 863.3397,-239.7851"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall -->
<g id="node28" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall</title>
<g id="a_node28"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).asyncCall | defined in bot.go:219&#10;at bot.go:224: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]&#10;at bot.go:235: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal]&#10;at bot.go:231: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]&#10;at bot.go:226: calling [(*github.com/eatMoreApple/openwechat.Caller).SyncCheck]&#10;at bot.go:236: calling [(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1187.4342" cy="-434.8" rx="35.9667" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-430.6" font-family="Verdana" font-size="14.00" fill="#000000">asyncCall</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Alive -->
<g id="node29" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).Alive</title>
<g id="a_node29"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).Alive | defined in bot.go:28">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-400.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-396.6" font-family="Verdana" font-size="14.00" fill="#000000">Alive</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Alive -->
<g id="edge76" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Alive</title>
<g id="a_edge76"><a xlink:title="at bot.go:224: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]">
<path fill="none" stroke="#000000" d="M1221.8482,-429.7832C1265.2523,-423.4558 1339.5681,-412.6221 1384.0073,-406.1439"/>
<polygon fill="#000000" stroke="#000000" points="1384.6973,-409.5804 1394.0878,-404.6744 1383.6874,-402.6536 1384.6973,-409.5804"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage -->
<g id="node30" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage</title>
<g id="a_node30"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage | defined in bot.go:253&#10;at bot.go:263: calling [(*github.com/eatMoreApple/openwechat.Message).init]&#10;at bot.go:254: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSync]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1420.6648" cy="-461.8" rx="80.979" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-457.6" font-family="Verdana" font-size="14.00" fill="#000000">getNewWechatMessage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage -->
<g id="edge306" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage</title>
<g id="a_edge306"><a xlink:title="at bot.go:236: calling [(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage]">
<path fill="none" stroke="#000000" d="M1222.3512,-438.8422C1253.0443,-442.3954 1298.9116,-447.7052 1338.8061,-452.3236"/>
<polygon fill="#000000" stroke="#000000" points="1338.471,-455.8081 1348.8072,-453.4814 1339.2761,-448.8545 1338.471,-455.8081"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).SyncCheck -->
<g id="node48" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).SyncCheck</title>
<g id="a_node48"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).SyncCheck | defined in caller.go:137&#10;at caller.go:138: calling [(*github.com/eatMoreApple/openwechat.Client).SyncCheck]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-2735.8" rx="40.6402" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-2731.6" font-family="Verdana" font-size="14.00" fill="#000000">SyncCheck</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).SyncCheck -->
<g id="edge158" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).SyncCheck</title>
<g id="a_edge158"><a xlink:title="at bot.go:226: calling [(*github.com/eatMoreApple/openwechat.Caller).SyncCheck]">
<path fill="none" stroke="#000000" d="M1216.6181,-424.3383C1231.6738,-418.7934 1250.2736,-411.7132 1266.6753,-404.8 1367.1572,-362.4476 1427.1771,-299.4709 1509.6543,-370.8 1577.2581,-429.266 1531.4369,-480.7132 1538.6543,-569.8 1568.2673,-935.3219 1524.7802,-1855.4791 1566.6543,-2219.8 1588.3894,-2408.9036 1647.9431,-2630.8687 1669.6288,-2707.8513"/>
<polygon fill="#000000" stroke="#000000" points="1666.3353,-2709.0666 1672.4296,-2717.7332 1673.0701,-2707.1577 1666.3353,-2709.0666"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success -->
<g id="node188" class="node">
<title>(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success</title>
<g id="a_node188"><a xlink:title="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success | defined in items.go:136">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-285.8" rx="29.6517" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-281.6" font-family="Verdana" font-size="14.00" fill="#000000">Success</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success -->
<g id="edge111" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success</title>
<g id="a_edge111"><a xlink:title="at bot.go:231: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]">
<path fill="none" stroke="#000000" d="M1220.2806,-427.402C1235.5508,-422.7685 1253.2557,-415.5761 1266.6753,-404.8 1289.4551,-386.5076 1278.1529,-365.6802 1302.6753,-349.8 1380.865,-299.1663 1417.8491,-332.5859 1509.6543,-316.8 1554.2916,-309.1246 1605.4556,-299.5759 1639.4776,-293.1196"/>
<polygon fill="#000000" stroke="#000000" points="1640.2899,-296.528 1649.4597,-291.2207 1638.9817,-289.6513 1640.2899,-296.528"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal -->
<g id="node189" class="node">
<title>(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal</title>
<g id="a_node189"><a xlink:title="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal | defined in items.go:140&#10;at items.go:141: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-285.8" rx="29.6533" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-281.6" font-family="Verdana" font-size="14.00" fill="#000000">NorMal</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal -->
<g id="edge100" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal</title>
<g id="a_edge100"><a xlink:title="at bot.go:235: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal]">
<path fill="none" stroke="#000000" d="M1221.111,-428.3525C1236.5703,-423.9355 1254.1946,-416.6508 1266.6753,-404.8 1295.5386,-377.3937 1273.0289,-349.3573 1302.6753,-322.8 1324.3184,-303.4121 1356.0583,-294.1826 1381.1682,-289.7893"/>
<polygon fill="#000000" stroke="#000000" points="1381.7852,-293.2355 1391.1257,-288.235 1380.7055,-286.3193 1381.7852,-293.2355"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSync -->
<g id="node49" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSync</title>
<g id="a_node49"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSync | defined in caller.go:192&#10;at caller.go:199: calling [github.com/eatMoreApple/openwechat.scanJson]&#10;at caller.go:193: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSync]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-2796.8" rx="46.9405" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-2792.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSync</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSync -->
<g id="edge78" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSync</title>
<g id="a_edge78"><a xlink:title="at bot.go:254: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSync]">
<path fill="none" stroke="#000000" d="M1461.1517,-477.6617C1479.1205,-486.8767 1498.6537,-500.3668 1509.6543,-518.8 1597.8178,-666.5316 1530.913,-732.9352 1538.6543,-904.8 1540.9819,-956.4757 1534.9004,-2725.9652 1566.6543,-2766.8 1579.4968,-2783.3152 1600.4269,-2791.3364 1620.671,-2795.0502"/>
<polygon fill="#000000" stroke="#000000" points="1620.4203,-2798.5519 1630.8307,-2796.5839 1621.4652,-2791.6304 1620.4203,-2798.5519"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).init -->
<g id="node120" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).init</title>
<g id="a_node120"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).init | defined in message.go:309&#10;at message.go:311: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]&#10;at message.go:315: calling [(*github.com/eatMoreApple/openwechat.Message).Receiver]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="652.7149" cy="-2111.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-2107.6" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).init -->
<g id="edge40" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).init</title>
<g id="a_edge40"><a xlink:title="at bot.go:263: calling [(*github.com/eatMoreApple/openwechat.Message).init]">
<path fill="none" stroke="#000000" d="M1353.497,-472.1868C1348.2331,-475.208 1343.4901,-479.0151 1339.6753,-483.8 1277.3208,-562.0129 1319.2351,-2197.6953 1266.6753,-2282.8 1222.254,-2354.7269 1164.5547,-2319.9883 1100.193,-2374.8 1084.2861,-2388.3467 1083.9331,-2395.24 1071.193,-2411.8 1051.8371,-2436.9598 1056.5699,-2454.6496 1028.1545,-2468.8 978.8467,-2493.3544 821.3941,-2505.4571 780.2792,-2468.8 728.0198,-2422.2067 784.8844,-2212.8368 744.2792,-2155.8 731.1539,-2137.3633 708.181,-2126.3543 688.5304,-2119.959"/>
<polygon fill="#000000" stroke="#000000" points="689.5015,-2116.5964 678.9186,-2117.0991 687.5051,-2123.3057 689.5015,-2116.5964"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login -->
<g id="node31" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login</title>
<g id="a_node31"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).Login | defined in bot.go:105&#10;at bot.go:106: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID]&#10;at bot.go:126: calling [(*github.com/eatMoreApple/openwechat.Bot).handleLogin]&#10;at bot.go:116: calling [(*github.com/eatMoreApple/openwechat.Caller).CheckLogin]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="212.1338" cy="-461.8" rx="27" ry="18"/>
<text text-anchor="middle" x="212.1338" y="-457.6" font-family="Verdana" font-size="14.00" fill="#000000">Login</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin -->
<g id="node32" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin</title>
<g id="a_node32"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).handleLogin | defined in bot.go:157&#10;at bot.go:171: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]&#10;at bot.go:184: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]&#10;at bot.go:159: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo]&#10;at bot.go:179: calling [(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="408.9095" cy="-461.8" rx="44.5548" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-457.6" font-family="Verdana" font-size="14.00" fill="#000000">handleLogin</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).handleLogin -->
<g id="edge83" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).handleLogin</title>
<g id="a_edge83"><a xlink:title="at bot.go:126: calling [(*github.com/eatMoreApple/openwechat.Bot).handleLogin]">
<path fill="none" stroke="#000000" d="M239.4947,-461.8C268.9355,-461.8 316.5447,-461.8 353.8075,-461.8"/>
<polygon fill="#000000" stroke="#000000" points="354.0196,-465.3001 364.0195,-461.8 354.0195,-458.3001 354.0196,-465.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID -->
<g id="node52" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID</title>
<g id="a_node52"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID | defined in caller.go:29&#10;at caller.go:30: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-2918.8" rx="54.7628" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-2914.6" font-family="Verdana" font-size="14.00" fill="#000000">GetLoginUUID</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID -->
<g id="edge24" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID</title>
<g id="a_edge24"><a xlink:title="at bot.go:106: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID]">
<path fill="none" stroke="#000000" d="M212.6964,-479.9312C219.4907,-695.2433 287.68,-2755.8 408.9095,-2755.8 408.9095,-2755.8 408.9095,-2755.8 1420.6648,-2755.8 1473.8526,-2755.8 1499.6615,-2739.6267 1538.6543,-2775.8 1576.5864,-2810.9893 1530.455,-2851.8305 1566.6543,-2888.8 1579.1472,-2901.5587 1596.4617,-2909.064 1613.7035,-2913.4294"/>
<polygon fill="#000000" stroke="#000000" points="1613.2913,-2916.9224 1623.8098,-2915.6529 1614.7954,-2910.0859 1613.2913,-2916.9224"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).CheckLogin -->
<g id="node53" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).CheckLogin</title>
<g id="a_node53"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).CheckLogin | defined in caller.go:51&#10;at caller.go:52: calling [(*github.com/eatMoreApple/openwechat.Client).CheckLogin]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-2979.8" rx="43.7982" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-2975.6" font-family="Verdana" font-size="14.00" fill="#000000">CheckLogin</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).CheckLogin -->
<g id="edge235" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).CheckLogin</title>
<g id="a_edge235"><a xlink:title="at bot.go:116: calling [(*github.com/eatMoreApple/openwechat.Caller).CheckLogin]">
<path fill="none" stroke="#000000" d="M213.0007,-480.0592C219.2039,-610.5192 257.6074,-1414.6792 292.6683,-2068.8 310.5109,-2401.6831 75.5486,-2809.8 408.9095,-2809.8 408.9095,-2809.8 408.9095,-2809.8 1303.1753,-2809.8 1400.6593,-2809.8 1429.2681,-2828.6531 1509.6543,-2883.8 1541.615,-2905.7258 1533.8405,-2929.1729 1566.6543,-2949.8 1584.3574,-2960.9284 1606.1572,-2967.9725 1625.7378,-2972.4116"/>
<polygon fill="#000000" stroke="#000000" points="1625.2368,-2975.8825 1635.7415,-2974.5034 1626.6695,-2969.0307 1625.2368,-2975.8825"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;github.com/eatMoreApple/openwechat.GetRandomDeviceId -->
<g id="edge35" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;github.com/eatMoreApple/openwechat.GetRandomDeviceId</title>
<g id="a_edge35"><a xlink:title="at bot.go:171: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]">
<path fill="none" stroke="#000000" d="M424.8405,-444.8785C461.3501,-408.0285 555.4399,-323.8 652.7149,-323.8 652.7149,-323.8 652.7149,-323.8 780.7792,-323.8 890.8531,-323.8 921.2201,-337.9016 1028.1545,-311.8 1176.1536,-275.675 1190.8443,-201.3279 1339.6753,-168.8 1387.5448,-158.3378 1735.2545,-150.4063 1780.6705,-168.8 1989.6405,-253.4338 1961.6093,-390.6326 2144.9846,-521.8 2160.3709,-532.8058 2178.5758,-542.7641 2194.9699,-550.7845"/>
<polygon fill="#000000" stroke="#000000" points="2193.846,-554.1263 2204.3782,-555.2761 2196.8618,-547.8093 2193.846,-554.1263"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage -->
<g id="node33" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage</title>
<g id="a_node33"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage | defined in bot.go:297&#10;at bot.go:301: calling [(*github.com/eatMoreApple/openwechat.Client).GetCookieMap]&#10;at bot.go:308: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-400.8" rx="82.546" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-396.6" font-family="Verdana" font-size="14.00" fill="#000000">DumpHotReloadStorage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage -->
<g id="edge307" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage</title>
<g id="a_edge307"><a xlink:title="at bot.go:179: calling [(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage]">
<path fill="none" stroke="#000000" d="M450.3017,-455.103C472.6046,-451.2094 500.5233,-445.8757 525.1506,-439.8 532.4292,-438.0043 564.9806,-428.0474 595.3765,-418.6447"/>
<polygon fill="#000000" stroke="#000000" points="596.618,-421.9243 605.1348,-415.6224 594.547,-415.2377 596.618,-421.9243"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit -->
<g id="node34" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit</title>
<g id="a_node34"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).webInit | defined in bot.go:188&#10;at bot.go:206: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit$1]&#10;at bot.go:202: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify]&#10;at bot.go:192: calling [(*github.com/eatMoreApple/openwechat.Caller).WebInit]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="652.7149" cy="-461.8" rx="28.8975" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-457.6" font-family="Verdana" font-size="14.00" fill="#000000">webInit</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit -->
<g id="edge49" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit</title>
<g id="a_edge49"><a xlink:title="at bot.go:184: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]">
<path fill="none" stroke="#000000" d="M453.6272,-461.8C499.4736,-461.8 570.0638,-461.8 613.711,-461.8"/>
<polygon fill="#000000" stroke="#000000" points="613.929,-465.3001 623.929,-461.8 613.929,-458.3001 613.929,-465.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo -->
<g id="node54" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo</title>
<g id="a_node54"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo | defined in caller.go:73&#10;at caller.go:99: calling [(github.com/eatMoreApple/openwechat.LoginInfo).Ok]&#10;at caller.go:84: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo]&#10;at caller.go:96: calling [github.com/eatMoreApple/openwechat.scanXml]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3162.8" rx="48.0799" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3158.6" font-family="Verdana" font-size="14.00" fill="#000000">GetLoginInfo</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo -->
<g id="edge280" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo</title>
<g id="a_edge280"><a xlink:title="at bot.go:159: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo]">
<path fill="none" stroke="#000000" d="M409.6446,-479.9862C416.7125,-652.5927 474.0903,-2004.3762 553.1506,-2400.8 580.7094,-2538.9852 511.8085,-2701.8 652.7149,-2701.8 652.7149,-2701.8 652.7149,-2701.8 1420.6648,-2701.8 1535.5531,-2701.8 1504.0224,-2822.2557 1538.6543,-2931.8 1565.8429,-3017.8005 1507.0022,-3065.1469 1566.6543,-3132.8 1579.9776,-3147.9104 1600.0456,-3155.7696 1619.4709,-3159.7465"/>
<polygon fill="#000000" stroke="#000000" points="1619.0805,-3163.2309 1629.5313,-3161.4901 1620.2759,-3156.3338 1619.0805,-3163.2309"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetCookieMap -->
<g id="node87" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).GetCookieMap</title>
<g id="a_node87"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).GetCookieMap | defined in client.go:105">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-980.8" rx="53.137" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-976.6" font-family="Verdana" font-size="14.00" fill="#000000">GetCookieMap</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetCookieMap -->
<g id="edge115" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetCookieMap</title>
<g id="a_edge115"><a xlink:title="at bot.go:301: calling [(*github.com/eatMoreApple/openwechat.Client).GetCookieMap]">
<path fill="none" stroke="#000000" d="M705.0001,-414.8016C718.2334,-419.3318 732.1297,-424.986 744.2792,-431.8 781.1674,-452.4888 780.2618,-472.4131 817.3177,-492.8 1001.0635,-593.8908 1109.0603,-498.4548 1266.6753,-636.8 1323.9037,-687.0317 1287.9251,-735.941 1339.6753,-791.8 1408.7924,-866.4048 1465.6596,-833.9847 1538.6543,-904.8 1555.8328,-921.4655 1547.5139,-936.4305 1566.6543,-950.8 1581.1346,-961.671 1599.2886,-968.6047 1616.6954,-973.0264"/>
<polygon fill="#000000" stroke="#000000" points="1616.2951,-976.5254 1626.8245,-975.3503 1617.8605,-969.7026 1616.2951,-976.5254"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump -->
<g id="node104" class="node">
<title>(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump</title>
<g id="a_node104"><a xlink:title="(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump | defined in stroage.go:39">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-279.8" rx="27" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-275.6" font-family="Verdana" font-size="14.00" fill="#000000">Dump</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage&#45;&gt;(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump -->
<g id="edge141" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage&#45;&gt;(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump</title>
<g id="a_edge141"><a xlink:title="at bot.go:308: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M682.12,-383.9494C714.5709,-365.7504 768.662,-336.5785 817.3177,-315.8 840.2993,-305.9857 866.9406,-296.871 887.6263,-290.2685"/>
<polygon fill="#000000" stroke="#000000" points="888.7722,-293.5772 897.2605,-287.237 886.6711,-286.9 888.7722,-293.5772"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit$1 -->
<g id="node35" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit$1</title>
<g id="a_node35"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).webInit$1 | defined in bot.go:206&#10;at bot.go:211: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]&#10;at bot.go:210: calling [(*github.com/eatMoreApple/openwechat.Bot).asyncCall]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-400.8" rx="36.7258" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-396.6" font-family="Verdana" font-size="14.00" fill="#000000">webInit$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit$1 -->
<g id="edge42" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit$1</title>
<g id="a_edge42"><a xlink:title="at bot.go:206: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit$1]">
<path fill="none" stroke="#000000" d="M679.7917,-455.6718C723.2427,-445.8376 809.4347,-426.33 866.4617,-413.4233"/>
<polygon fill="#000000" stroke="#000000" points="879.9259,-413.9645 888.9066,-408.3434 878.3807,-407.1372 879.9259,-413.9645"/>
<polyline fill="none" stroke="#000000" points="879.1533,-410.5508 874.2767,-411.6546 "/>
<ellipse fill="none" stroke="#000000" cx="870.3753" cy="-412.5376" rx="4" ry="4"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebInit -->
<g id="node55" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebInit</title>
<g id="a_node55"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebInit | defined in caller.go:106&#10;at caller.go:107: calling [(*github.com/eatMoreApple/openwechat.Client).WebInit]&#10;at caller.go:113: calling [github.com/eatMoreApple/openwechat.scanJson]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-2857.8" rx="30.4103" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-2853.6" font-family="Verdana" font-size="14.00" fill="#000000">WebInit</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebInit -->
<g id="edge259" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebInit</title>
<g id="a_edge259"><a xlink:title="at bot.go:192: calling [(*github.com/eatMoreApple/openwechat.Caller).WebInit]">
<path fill="none" stroke="#000000" d="M664.9499,-478.2723C699.7678,-523.0732 804.5146,-643.8 922.2361,-643.8 922.2361,-643.8 922.2361,-643.8 1071.693,-643.8 1158.8065,-643.8 1196.9527,-611.5745 1266.6753,-663.8 1335.4404,-715.3082 1286.4739,-775.3364 1339.6753,-842.8 1397.257,-915.818 1452.7421,-891.259 1509.6543,-964.8 1531.5269,-993.0634 1531.8238,-1004.7204 1538.6543,-1039.8 1548.1481,-1088.5571 1536.1499,-2788.5972 1566.6543,-2827.8 1583.0135,-2848.8241 1612.4785,-2856.0817 1636.9421,-2858.2121"/>
<polygon fill="#000000" stroke="#000000" points="1636.871,-2861.7142 1647.0675,-2858.8364 1637.3019,-2854.7275 1636.871,-2861.7142"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify -->
<g id="node56" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify</title>
<g id="a_node56"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify | defined in caller.go:120&#10;at caller.go:121: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify]&#10;at caller.go:130: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]&#10;at caller.go:127: calling [github.com/eatMoreApple/openwechat.scanJson]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3101.8" rx="70.803" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3097.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxStatusNotify</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify -->
<g id="edge82" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify</title>
<g id="a_edge82"><a xlink:title="at bot.go:202: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify]">
<path fill="none" stroke="#000000" d="M663.1896,-478.9033C695.2172,-528.8187 797.2988,-670.8 922.2361,-670.8 922.2361,-670.8 922.2361,-670.8 1071.693,-670.8 1115.0367,-670.8 1234.4134,-646.8546 1266.6753,-675.8 1350.9185,-751.3828 1526.9027,-2582.2319 1538.6543,-2694.8 1543.0157,-2736.5772 1539.9011,-3039.4176 1566.6543,-3071.8 1575.1655,-3082.1021 1586.8153,-3089.0678 1599.3805,-3093.7375"/>
<polygon fill="#000000" stroke="#000000" points="1598.5392,-3097.1435 1609.1307,-3096.8781 1600.6854,-3090.4807 1598.5392,-3097.1435"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).asyncCall -->
<g id="edge52" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).asyncCall</title>
<g id="a_edge52"><a xlink:title="at bot.go:210: calling [(*github.com/eatMoreApple/openwechat.Bot).asyncCall]">
<path fill="none" stroke="#000000" d="M957.7267,-405.3501C1005.4941,-411.4742 1090.4792,-422.3698 1142.6082,-429.053"/>
<polygon fill="#000000" stroke="#000000" points="1142.2113,-432.5307 1152.5752,-430.3309 1143.1015,-425.5875 1142.2113,-432.5307"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL -->
<g id="node37" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL</title>
<g id="a_node37"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL | defined in bot.go:245&#10;at bot.go:249: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1187.4342" cy="-373.8" rx="58.6932" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-369.6" font-family="Verdana" font-size="14.00" fill="#000000">stopAsyncCALL</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL -->
<g id="edge39" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL</title>
<g id="a_edge39"><a xlink:title="at bot.go:211: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M958.2779,-397.1306C1000.1004,-392.8726 1069.9132,-385.7649 1121.5142,-380.5114"/>
<polygon fill="#000000" stroke="#000000" points="1121.9838,-383.9817 1131.5779,-379.4868 1121.2748,-377.0177 1121.9838,-383.9817"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Logout -->
<g id="node36" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).Logout</title>
<g id="a_node36"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).Logout | defined in bot.go:141&#10;at bot.go:147: calling [(*github.com/eatMoreApple/openwechat.Caller).Logout]&#10;at bot.go:150: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]&#10;at bot.go:142: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-461.8" rx="27.2736" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-457.6" font-family="Verdana" font-size="14.00" fill="#000000">Logout</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Alive -->
<g id="edge296" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Alive</title>
<g id="a_edge296"><a xlink:title="at bot.go:142: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]">
<path fill="none" stroke="#000000" d="M949.0191,-466.1994C1007.5235,-474.9251 1150.7754,-491.4667 1266.6753,-465.8 1301.6196,-458.0614 1306.7198,-445.7613 1339.6753,-431.8 1355.1064,-425.2628 1372.4303,-418.5495 1387.0835,-413.0493"/>
<polygon fill="#000000" stroke="#000000" points="1388.5949,-416.2214 1396.7454,-409.4523 1386.1526,-409.6613 1388.5949,-416.2214"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL -->
<g id="edge281" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL</title>
<g id="a_edge281"><a xlink:title="at bot.go:150: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]">
<path fill="none" stroke="#000000" d="M948.0998,-455.1148C969.657,-449.39 1001.0992,-440.6849 1028.1545,-431.8 1060.6397,-421.132 1068.0741,-416.5246 1100.193,-404.8 1112.8269,-400.1882 1126.5218,-395.2794 1139.2346,-390.7605"/>
<polygon fill="#000000" stroke="#000000" points="1140.4762,-394.0338 1148.7308,-387.3922 1138.1361,-387.4365 1140.4762,-394.0338"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).Logout -->
<g id="node45" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).Logout</title>
<g id="a_node45"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).Logout | defined in caller.go:280&#10;at caller.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).Logout]&#10;at caller.go:285: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3528.8" rx="27.2736" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3524.6" font-family="Verdana" font-size="14.00" fill="#000000">Logout</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).Logout -->
<g id="edge126" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).Logout</title>
<g id="a_edge126"><a xlink:title="at bot.go:147: calling [(*github.com/eatMoreApple/openwechat.Caller).Logout]">
<path fill="none" stroke="#000000" d="M947.5953,-468.9616C1013.1752,-488.9406 1188.6769,-551.9832 1266.6753,-673.8 1538.966,-1099.0597 1495.9983,-2426.6414 1538.6543,-2929.8 1544.0014,-2992.8725 1526.9505,-3449.5015 1566.6543,-3498.8 1583.9661,-3520.2953 1614.9544,-3527.3232 1639.7987,-3529.2408"/>
<polygon fill="#000000" stroke="#000000" points="1639.8426,-3532.7478 1650.0124,-3529.777 1640.2096,-3525.7574 1639.8426,-3532.7478"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error -->
<g id="node190" class="node">
<title>(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error</title>
<g id="a_node190"><a xlink:title="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error | defined in items.go:145">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-224.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-220.6" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error -->
<g id="edge37" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error</title>
<g id="a_edge37"><a xlink:title="at bot.go:249: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1239.6824,-365.5969C1249.3188,-362.4019 1258.8083,-357.964 1266.6753,-351.8 1292.3647,-331.6719 1282.026,-313.0724 1302.6753,-287.8 1316.4316,-270.9639 1321.0198,-266.9652 1339.6753,-255.8 1353.9503,-247.2565 1370.9914,-240.3127 1385.7511,-235.1794"/>
<polygon fill="#000000" stroke="#000000" points="1387.1616,-238.3987 1395.5428,-231.9174 1384.9492,-231.7575 1387.1616,-238.3987"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin -->
<g id="node38" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin</title>
<g id="a_node38"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).HotLogin | defined in bot.go:58&#10;at bot.go:66: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load]&#10;at bot.go:67: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]&#10;at bot.go:79: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]&#10;at bot.go:70: calling [(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit]&#10;at bot.go:76: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="59.2997" cy="-399.8" rx="35.1005" ry="18"/>
<text text-anchor="middle" x="59.2997" y="-395.6" font-family="Verdana" font-size="14.00" fill="#000000">HotLogin</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit -->
<g id="edge62" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit</title>
<g id="a_edge62"><a xlink:title="at bot.go:70: calling [(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit]">
<path fill="none" stroke="#000000" d="M92.8398,-394.0942C112.804,-390.6979 138.5411,-386.3195 160.9962,-382.4995"/>
<polygon fill="#000000" stroke="#000000" points="161.7785,-385.9168 171.0499,-380.7892 160.6045,-379.0159 161.7785,-385.9168"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Login -->
<g id="edge61" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Login</title>
<g id="a_edge61"><a xlink:title="at bot.go:67: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]&#10;at bot.go:79: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]">
<path fill="none" stroke="#000000" d="M86.9768,-411.0277C112.8717,-421.5325 151.5819,-437.236 179.0863,-448.3937"/>
<polygon fill="#000000" stroke="#000000" points="178.0857,-451.7647 188.668,-452.2806 180.7172,-445.2781 178.0857,-451.7647"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit -->
<g id="edge282" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit</title>
<g id="a_edge282"><a xlink:title="at bot.go:76: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]">
<path fill="none" stroke="#000000" d="M92.5588,-405.9946C123.4297,-411.2013 170.7223,-417.8 212.1338,-417.8 212.1338,-417.8 212.1338,-417.8 408.9095,-417.8 483.8421,-417.8 569.6991,-438.1776 616.9084,-451.1975"/>
<polygon fill="#000000" stroke="#000000" points="616.0828,-454.6009 626.6566,-453.9337 617.9745,-447.8614 616.0828,-454.6009"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load -->
<g id="node105" class="node">
<title>(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load</title>
<g id="a_node105"><a xlink:title="(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load | defined in stroage.go:60">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-157.8" rx="27" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-153.6" font-family="Verdana" font-size="14.00" fill="#000000">Load</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load -->
<g id="edge43" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load</title>
<g id="a_edge43"><a xlink:title="at bot.go:66: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M63.0435,-381.5545C74.8346,-329.8033 116.2586,-185.8 212.1338,-185.8 212.1338,-185.8 212.1338,-185.8 652.7149,-185.8 736.557,-185.8 834.2883,-172.2294 885.9348,-163.9833"/>
<polygon fill="#000000" stroke="#000000" points="886.623,-167.4175 895.9333,-162.361 885.5018,-160.5079 886.623,-167.4175"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact -->
<g id="node39" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact</title>
<g id="a_node39"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact | defined in caller.go:175&#10;at caller.go:176: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact]&#10;at caller.go:185: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]&#10;at caller.go:182: calling [github.com/eatMoreApple/openwechat.scanJson]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3040.8" rx="85.2976" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3036.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxBatchGetContact</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.scanJson -->
<g id="edge342" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_edge342"><a xlink:title="at caller.go:182: calling [github.com/eatMoreApple/openwechat.scanJson]">
<path fill="none" stroke="#000000" d="M1751.8622,-3031.6987C1763.0765,-3027.101 1773.3301,-3020.4281 1780.6705,-3010.8 1859.5312,-2907.3619 1775.569,-793.2063 1816.6705,-669.8 1835.3934,-613.5849 1961.2416,-514.8 1962.8275,-514.8 1962.8275,-514.8 1962.8275,-514.8 2240.9225,-514.8 2285.0997,-514.8 2300.6522,-515.4902 2336.8604,-540.8 2402.6337,-586.776 2448.5623,-673.0559 2468.7755,-716.8386"/>
<polygon fill="#000000" stroke="#000000" points="2465.611,-718.3354 2472.9178,-726.0074 2471.9902,-715.4533 2465.611,-718.3354"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact -->
<g id="node63" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact</title>
<g id="a_node63"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact | defined in client.go:233&#10;at client.go:239: calling [github.com/eatMoreApple/openwechat.NewUserDetailItemList]&#10;at client.go:234: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:248: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:242: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at client.go:245: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-2004.8" rx="85.2976" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2000.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxBatchGetContact</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact -->
<g id="edge97" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact</title>
<g id="a_edge97"><a xlink:title="at caller.go:176: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact]">
<path fill="none" stroke="#000000" d="M1751.4329,-3031.6731C1762.7659,-3027.0858 1773.1711,-3020.4231 1780.6705,-3010.8 1847.8541,-2924.5917 1744.139,-2109.5598 1816.6705,-2027.8 1830.7978,-2011.8753 1851.0956,-2003.8508 1872.0883,-2000.2804"/>
<polygon fill="#000000" stroke="#000000" points="1872.6625,-2003.7345 1882.0928,-1998.9055 1871.7093,-1996.7996 1872.6625,-2003.7345"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge103" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge103"><a xlink:title="at caller.go:185: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="#000000" d="M1751.2481,-3031.5273C1762.6004,-3026.9553 1773.0598,-3020.3354 1780.6705,-3010.8 1864.1336,-2906.2294 1719.2758,-2501.5353 1816.6705,-2409.8 1832.0815,-2395.2845 1834.0593,-2431.8251 1853.6705,-2439.8 1898.7471,-2458.1304 2031.6888,-2429.5208 2071.9846,-2456.8 2102.7638,-2477.6367 2097.2114,-2496.5449 2108.9846,-2531.8 2136.3463,-2613.7357 2079.7049,-2666.2253 2144.9846,-2722.8 2164.2207,-2739.471 2352.0918,-2719.6061 2373.8604,-2732.8 2431.6204,-2767.8083 2461.2205,-2846.7841 2473.406,-2888.9825"/>
<polygon fill="#000000" stroke="#000000" points="2470.1004,-2890.1613 2476.1353,-2898.8694 2476.848,-2888.2985 2470.1004,-2890.1613"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom -->
<g id="node40" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom</title>
<g id="a_node40"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom | defined in caller.go:289&#10;at caller.go:297: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]&#10;at caller.go:293: calling [(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3650.8" rx="85.7206" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3646.6" font-family="Verdana" font-size="14.00" fill="#000000">AddFriendIntoChatRoom</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge148" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge148"><a xlink:title="at caller.go:297: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="#000000" d="M1751.5871,-3641.4852C1762.8307,-3636.9103 1773.1654,-3630.3003 1780.6705,-3620.8 1849.2501,-3533.9894 1770.3191,-2700.5446 1853.6705,-2627.8 1890.222,-2595.8998 2029.0889,-2605.1375 2071.9846,-2627.8 2122.8862,-2654.6922 2099.864,-2699.0466 2144.9846,-2734.8 2154.8103,-2742.5859 2166.4649,-2748.8845 2178.2054,-2753.9258"/>
<polygon fill="#000000" stroke="#000000" points="2177.0223,-2757.2224 2187.6062,-2757.7037 2179.6325,-2750.7272 2177.0223,-2757.2224"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom -->
<g id="node64" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom</title>
<g id="a_node64"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom | defined in client.go:583&#10;at client.go:584: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:602: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:599: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1882.8" rx="92.0182" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1878.6" font-family="Verdana" font-size="14.00" fill="#000000">AddMemberIntoChatRoom</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom -->
<g id="edge249" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom</title>
<g id="a_edge249"><a xlink:title="at caller.go:293: calling [(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom]">
<path fill="none" stroke="#000000" d="M1751.6831,-3641.5605C1762.9164,-3636.9775 1773.2228,-3630.3454 1780.6705,-3620.8 1813.2626,-3579.0283 1814.3721,-2720.7323 1816.6705,-2667.8 1818.4899,-2625.9002 1827.5756,-1946.6323 1853.6705,-1913.8 1859.4766,-1906.4948 1866.8712,-1900.8317 1875.0676,-1896.453"/>
<polygon fill="#000000" stroke="#000000" points="1876.6468,-1899.5787 1884.2391,-1892.189 1873.6956,-1893.2312 1876.6468,-1899.5787"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg -->
<g id="node41" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg</title>
<g id="a_node41"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg | defined in caller.go:206&#10;at caller.go:207: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg]&#10;at caller.go:208: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3589.8" rx="60.5816" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3585.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSendMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage -->
<g id="edge312" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage</title>
<g id="a_edge312"><a xlink:title="at caller.go:208: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<path fill="none" stroke="#000000" d="M1736.713,-3585.3395C1753.4106,-3581.0756 1769.9393,-3573.3981 1780.6705,-3559.8 1831.4609,-3495.4407 1804.3377,-2903.8536 1816.6705,-2822.8 1826.5457,-2757.8985 1806.0068,-2724.943 1853.6705,-2679.8 1859.8748,-2673.9238 1867.191,-2669.421 1875.0501,-2665.9924"/>
<polygon fill="#000000" stroke="#000000" points="1876.3625,-2669.2383 1884.4913,-2662.4432 1873.8992,-2662.686 1876.3625,-2669.2383"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg -->
<g id="node69" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg</title>
<g id="a_node69"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg | defined in client.go:285&#10;at client.go:292: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]&#10;at client.go:287: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-2126.8" rx="60.5816" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-2122.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSendMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg -->
<g id="edge219" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg</title>
<g id="a_edge219"><a xlink:title="at caller.go:207: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg]">
<path fill="none" stroke="#000000" d="M1617.1495,-3587.527C1590.8988,-3582.8526 1563.6609,-3571.8827 1552.6543,-3547.3 1537.0236,-3512.3895 1537.0236,-2205.2105 1552.6543,-2170.3 1562.3499,-2148.6454 1584.5593,-2137.3822 1607.6113,-2131.6509"/>
<polygon fill="#000000" stroke="#000000" points="1608.4695,-2135.0464 1617.5083,-2129.5191 1606.9955,-2128.2033 1608.4695,-2135.0464"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia -->
<g id="node42" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia</title>
<g id="a_node42"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).UploadMedia | defined in caller.go:220&#10;at caller.go:222: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk]&#10;at caller.go:231: calling [github.com/eatMoreApple/openwechat.scanJson]&#10;at caller.go:234: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-2930.8" rx="48.0799" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2926.6" font-family="Verdana" font-size="14.00" fill="#000000">UploadMedia</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;github.com/eatMoreApple/openwechat.scanJson -->
<g id="edge204" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_edge204"><a xlink:title="at caller.go:231: calling [github.com/eatMoreApple/openwechat.scanJson]">
<path fill="none" stroke="#000000" d="M2010.9779,-2929.3933C2102.2103,-2925.6228 2294.9055,-2912.0084 2336.8604,-2863.8 2488.4038,-2689.6687 2306.6976,-990.3871 2417.3572,-787.8 2423.7156,-776.1595 2434.6374,-766.9241 2445.6191,-759.9814"/>
<polygon fill="#000000" stroke="#000000" points="2447.4675,-762.9554 2454.353,-754.9029 2443.9488,-756.904 2447.4675,-762.9554"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk -->
<g id="node59" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk</title>
<g id="a_node59"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk | defined in client.go:302&#10;at client.go:434: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:440: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]&#10;at client.go:330: calling [github.com/eatMoreApple/openwechat.getMessageType]&#10;at client.go:339: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]&#10;at client.go:304: calling [github.com/eatMoreApple/openwechat.GetFileContentType]&#10;at client.go:332: calling [(github.com/eatMoreApple/openwechat.WechatDomain).FileHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-2187.8" rx="104.5056" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2183.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxUploadMediaByChunk</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk -->
<g id="edge192" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk</title>
<g id="a_edge192"><a xlink:title="at caller.go:222: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk]">
<path fill="none" stroke="#000000" d="M1943.8798,-2913.9416C1914.0214,-2885.9562 1857.2059,-2826.5886 1835.6705,-2762.3 1817.1419,-2706.9875 1808.6349,-2288.99 1835.6705,-2237.3 1843.839,-2221.6825 1857.9992,-2210.9618 1873.9787,-2203.6106"/>
<polygon fill="#000000" stroke="#000000" points="1875.6534,-2206.7061 1883.5659,-2199.6602 1872.9866,-2200.234 1875.6534,-2206.7061"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge262" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge262"><a xlink:title="at caller.go:234: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="#000000" d="M2010.9541,-2931.3385C2087.7432,-2931.9445 2242.7013,-2932.1316 2373.8604,-2925.8 2396.9026,-2924.6877 2422.6822,-2922.533 2443.1055,-2920.6108"/>
<polygon fill="#000000" stroke="#000000" points="2443.636,-2924.076 2453.2545,-2919.6335 2442.965,-2917.1082 2443.636,-2924.076"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile -->
<g id="node43" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile</title>
<g id="a_node43"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile | defined in caller.go:257&#10;at caller.go:269: calling [github.com/eatMoreApple/openwechat.NewSendMessage]&#10;at caller.go:270: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg]&#10;at caller.go:265: calling [(github.com/eatMoreApple/openwechat.appmsg).XmlByte]&#10;at caller.go:258: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]&#10;at caller.go:264: calling [github.com/eatMoreApple/openwechat.NewFileAppMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3711.8" rx="59.0636" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3707.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSendFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="edge58" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_edge58"><a xlink:title="at caller.go:269: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<path fill="none" stroke="#000000" d="M1732.9533,-3718.2787C1836.4375,-3730.4045 2059.0982,-3756.4947 2172.1068,-3769.7365"/>
<polygon fill="#000000" stroke="#000000" points="2172.0237,-3773.2507 2182.3631,-3770.9383 2172.8385,-3766.2982 2172.0237,-3773.2507"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;github.com/eatMoreApple/openwechat.NewFileAppMessage -->
<g id="edge269" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;github.com/eatMoreApple/openwechat.NewFileAppMessage</title>
<g id="a_edge269"><a xlink:title="at caller.go:264: calling [github.com/eatMoreApple/openwechat.NewFileAppMessage]">
<path fill="none" stroke="#000000" d="M1725.6857,-3701.1426C1826.9177,-3678.6769 2062.2645,-3626.4482 2176.465,-3601.1046"/>
<polygon fill="#000000" stroke="#000000" points="2177.4629,-3604.4683 2186.467,-3598.8849 2175.9462,-3597.6346 2177.4629,-3604.4683"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).UploadMedia -->
<g id="edge264" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).UploadMedia</title>
<g id="a_edge264"><a xlink:title="at caller.go:258: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]">
<path fill="none" stroke="#000000" d="M1735.3083,-3707.6302C1752.4563,-3703.4354 1769.6018,-3695.7248 1780.6705,-3681.8 1825.2658,-3625.6978 1800.1088,-3107.5274 1816.6705,-3037.8 1826.1919,-2997.7136 1821.6218,-2978.6932 1853.6705,-2952.8 1867.8749,-2941.3238 1886.4588,-2935.3214 1904.2562,-2932.3158"/>
<polygon fill="#000000" stroke="#000000" points="1905.1839,-2935.7204 1914.6051,-2930.8737 1904.2178,-2928.7874 1905.1839,-2935.7204"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg -->
<g id="node44" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg</title>
<g id="a_node44"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg | defined in caller.go:274&#10;at caller.go:275: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]&#10;at caller.go:276: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-2743.8" rx="74.3375" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2739.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSendAppMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg -->
<g id="edge139" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg</title>
<g id="a_edge139"><a xlink:title="at caller.go:270: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg]">
<path fill="none" stroke="#000000" d="M1735.3146,-3707.6352C1752.463,-3703.4407 1769.6071,-3695.7291 1780.6705,-3681.8 1825.8653,-3624.8988 1804.5033,-3100.4398 1816.6705,-3028.8 1826.586,-2970.4181 1828.2082,-2954.2643 1853.6705,-2900.8 1877.5474,-2850.6647 1916.8257,-2799.0167 1941.1843,-2769.238"/>
<polygon fill="#000000" stroke="#000000" points="1943.9586,-2771.3752 1947.6338,-2761.4382 1938.564,-2766.9144 1943.9586,-2771.3752"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.appmsg).XmlByte -->
<g id="node252" class="node">
<title>(github.com/eatMoreApple/openwechat.appmsg).XmlByte</title>
<g id="a_node252"><a xlink:title="(github.com/eatMoreApple/openwechat.appmsg).XmlByte | defined in message.go:503">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-686.8" rx="33.5821" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-682.6" font-family="Verdana" font-size="14.00" fill="#000000">XmlByte</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(github.com/eatMoreApple/openwechat.appmsg).XmlByte -->
<g id="edge239" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(github.com/eatMoreApple/openwechat.appmsg).XmlByte</title>
<g id="a_edge239"><a xlink:title="at caller.go:265: calling [(github.com/eatMoreApple/openwechat.appmsg).XmlByte]">
<path fill="none" stroke="#000000" d="M1735.2917,-3707.8935C1752.5461,-3703.7268 1769.7594,-3695.9665 1780.6705,-3681.8 1805.2048,-3649.9458 1837.103,-824.4352 1853.6705,-787.8 1869.8238,-752.0807 1905.2149,-723.2027 1931.3411,-705.616"/>
<polygon fill="#000000" stroke="#000000" points="1933.3443,-708.4881 1939.805,-700.0911 1929.5179,-702.6264 1933.3443,-708.4881"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage -->
<g id="edge99" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage</title>
<g id="a_edge99"><a xlink:title="at caller.go:276: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<path fill="none" stroke="#000000" d="M1962.8275,-2725.7749C1962.8275,-2712.5376 1962.8275,-2699.3004 1962.8275,-2686.0632"/>
<polygon fill="#000000" stroke="#000000" points="1966.3276,-2685.9406 1962.8275,-2675.9406 1959.3276,-2685.9407 1966.3276,-2685.9406"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg -->
<g id="node70" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg</title>
<g id="a_node70"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg | defined in client.go:465&#10;at client.go:467: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:472: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-2187.8" rx="74.3375" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-2183.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSendAppMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg -->
<g id="edge69" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg</title>
<g id="a_edge69"><a xlink:title="at caller.go:275: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]">
<path fill="none" stroke="#000000" d="M1889.7235,-2740.0571C1876.5422,-2736.4944 1863.7937,-2730.7803 1853.6705,-2721.8 1774.3201,-2651.4081 1702.847,-2315.6726 1683.0653,-2215.8527"/>
<polygon fill="#000000" stroke="#000000" points="1686.4732,-2215.0427 1681.111,-2205.9051 1679.6045,-2216.3922 1686.4732,-2215.0427"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge275" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge275"><a xlink:title="at caller.go:285: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="#000000" d="M1705.2071,-3529.0162C1729.2013,-3527.5742 1762.8598,-3521.2851 1780.6705,-3498.8 1842.4161,-3420.8495 1777.3915,-2670.599 1853.6705,-2606.8 1890.8842,-2575.6749 2030.0344,-2582.4317 2071.9846,-2606.8 2128.614,-2639.6952 2095.3316,-2692.0968 2144.9846,-2734.8 2154.1839,-2742.7117 2165.2611,-2749.0305 2176.5707,-2754.0444"/>
<polygon fill="#000000" stroke="#000000" points="2175.5093,-2757.3922 2186.0892,-2757.9556 2178.1698,-2750.9175 2175.5093,-2757.3922"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Logout -->
<g id="node68" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).Logout</title>
<g id="a_node68"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).Logout | defined in client.go:571&#10;at client.go:572: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:579: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-2126.8" rx="27.2736" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2122.6" font-family="Verdana" font-size="14.00" fill="#000000">Logout</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Logout -->
<g id="edge28" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Logout</title>
<g id="a_edge28"><a xlink:title="at caller.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).Logout]">
<path fill="none" stroke="#000000" d="M1705.274,-3529.0688C1729.3131,-3527.6622 1763.0001,-3521.3956 1780.6705,-3498.8 1811.4964,-3459.3822 1813.578,-2648.7443 1816.6705,-2598.8 1819.7095,-2549.7218 1822.4125,-2195.7584 1853.6705,-2157.8 1870.8742,-2136.9086 1901.0473,-2129.5119 1925.3164,-2127.1427"/>
<polygon fill="#000000" stroke="#000000" points="1925.5838,-2130.6326 1935.301,-2126.4105 1925.0718,-2123.6514 1925.5838,-2130.6326"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser -->
<g id="node46" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser</title>
<g id="a_node46"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser | defined in caller.go:313&#10;at caller.go:314: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser]&#10;at caller.go:318: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3223.8" rx="66.4701" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3219.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxVerifyUser</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge196" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge196"><a xlink:title="at caller.go:318: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="#000000" d="M1741.0175,-3218.1639C1756.2141,-3213.7131 1770.8644,-3206.23 1780.6705,-3193.8 1831.7941,-3128.9967 1756.9074,-2508.7338 1816.6705,-2451.8 1828.7881,-2440.2561 1837.225,-2455.6946 1853.6705,-2458.8 1950.6012,-2477.1032 1993.2685,-2439.3495 2071.9846,-2498.8 2159.5969,-2564.9695 2073.3063,-2651.6342 2144.9846,-2734.8 2152.3761,-2743.3761 2161.9935,-2749.9738 2172.2803,-2755.047"/>
<polygon fill="#000000" stroke="#000000" points="2170.8937,-2758.2609 2181.4533,-2759.1243 2173.7369,-2751.8642 2170.8937,-2758.2609"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser -->
<g id="node76" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser</title>
<g id="a_node76"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser | defined in client.go:494&#10;at client.go:496: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:515: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:518: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1455.8" rx="66.4701" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1451.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxVerifyUser</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser -->
<g id="edge135" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser</title>
<g id="a_edge135"><a xlink:title="at caller.go:314: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser]">
<path fill="none" stroke="#000000" d="M1741.1546,-3218.2712C1756.351,-3213.8202 1770.9669,-3206.3102 1780.6705,-3193.8 1818.9281,-3144.4773 1813.6967,-2133.1501 1816.6705,-2070.8 1819.7681,-2005.8548 1812.8538,-1537.4109 1853.6705,-1486.8 1862.6271,-1475.6943 1875.252,-1468.3912 1888.753,-1463.628"/>
<polygon fill="#000000" stroke="#000000" points="1890.1571,-1466.8588 1898.6987,-1460.5905 1888.1124,-1460.1641 1890.1571,-1466.8588"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom -->
<g id="node47" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom</title>
<g id="a_node47"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom | defined in caller.go:301&#10;at caller.go:305: calling [(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom]&#10;at caller.go:309: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3345.8" rx="103.0162" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3341.6" font-family="Verdana" font-size="14.00" fill="#000000">RemoveFriendFromChatRoom</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge324" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge324"><a xlink:title="at caller.go:309: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="#000000" d="M1756.7452,-3334.2578C1765.9778,-3329.8349 1774.3418,-3323.8558 1780.6705,-3315.8 1836.3249,-3244.958 1751.5692,-2568.0722 1816.6705,-2505.8 1857.7958,-2466.4619 2024.87,-2493.8783 2071.9846,-2525.8 2153.4408,-2580.9894 2079.1807,-2661.6506 2144.9846,-2734.8 2152.5565,-2743.2172 2162.265,-2749.7348 2172.5866,-2754.7773"/>
<polygon fill="#000000" stroke="#000000" points="2171.2153,-2757.9978 2181.7767,-2758.8395 2174.0454,-2751.5953 2171.2153,-2757.9978"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom -->
<g id="node67" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom</title>
<g id="a_node67"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom | defined in client.go:606&#10;at client.go:621: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:607: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:624: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1760.8" rx="109.3143" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1756.6" font-family="Verdana" font-size="14.00" fill="#000000">RemoveMemberFromChatRoom</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom -->
<g id="edge231" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom</title>
<g id="a_edge231"><a xlink:title="at caller.go:305: calling [(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom]">
<path fill="none" stroke="#000000" d="M1757.0891,-3334.2089C1766.2079,-3329.7871 1774.449,-3323.8214 1780.6705,-3315.8 1818.9948,-3266.3884 1812.7818,-2253.211 1816.6705,-2190.8 1819.4394,-2146.3626 1825.2172,-1826.0455 1853.6705,-1791.8 1858.4743,-1786.0183 1864.271,-1781.2715 1870.658,-1777.3794"/>
<polygon fill="#000000" stroke="#000000" points="1872.5019,-1780.3633 1879.6955,-1772.585 1869.2214,-1774.1796 1872.5019,-1780.3633"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).SyncCheck -->
<g id="node79" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).SyncCheck</title>
<g id="a_node79"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).SyncCheck | defined in client.go:198&#10;at client.go:205: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]&#10;at client.go:199: calling [(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost]&#10;at client.go:217: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-906.8" rx="40.6402" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-902.6" font-family="Verdana" font-size="14.00" fill="#000000">SyncCheck</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).SyncCheck -->
<g id="edge252" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).SyncCheck</title>
<g id="a_edge252"><a xlink:title="at caller.go:138: calling [(*github.com/eatMoreApple/openwechat.Client).SyncCheck]">
<path fill="none" stroke="#000000" d="M1682.4037,-2717.6909C1699.4565,-2651.6342 1757.8664,-2417.1752 1780.6705,-2219.8 1836.3021,-1738.2945 1762.6435,-1611.4882 1816.6705,-1129.8 1821.5138,-1086.6191 1824.3001,-969.8223 1853.6705,-937.8 1868.6043,-921.5179 1891.4025,-913.5522 1912.3085,-909.7411"/>
<polygon fill="#000000" stroke="#000000" points="1913.0284,-913.1715 1922.3768,-908.1858 1911.9596,-906.2536 1913.0284,-913.1715"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;github.com/eatMoreApple/openwechat.scanJson -->
<g id="edge34" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_edge34"><a xlink:title="at caller.go:199: calling [github.com/eatMoreApple/openwechat.scanJson]">
<path fill="none" stroke="#000000" d="M1724.3498,-2795.1419C1744.9763,-2791.802 1767.4928,-2784.0402 1780.6705,-2766.8 1848.6961,-2677.8027 1739.5514,-832.0443 1816.6705,-750.8 1859.2663,-705.9257 2310.9912,-724.343 2372.8604,-723.8 2395.9193,-723.5976 2421.2992,-728.0907 2441.6053,-732.8686"/>
<polygon fill="#000000" stroke="#000000" points="2440.8799,-736.2945 2451.4273,-735.2934 2442.5577,-729.4985 2440.8799,-736.2945"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSync -->
<g id="node80" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSync</title>
<g id="a_node80"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxSync | defined in client.go:252&#10;at client.go:268: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:253: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1333.8" rx="46.9405" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1329.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSync</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSync -->
<g id="edge350" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSync</title>
<g id="a_edge350"><a xlink:title="at caller.go:193: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSync]">
<path fill="none" stroke="#000000" d="M1724.2528,-2795.0672C1744.8576,-2791.7107 1767.3839,-2783.9564 1780.6705,-2766.8 1820.7946,-2714.9897 1810.2932,-1653.0195 1816.6705,-1587.8 1826.4478,-1487.8108 1786.7286,-1439.7147 1853.6705,-1364.8 1867.0283,-1349.8513 1887.0146,-1341.8886 1906.2489,-1337.7201"/>
<polygon fill="#000000" stroke="#000000" points="1907.0083,-1341.139 1916.1996,-1335.8692 1905.7281,-1334.257 1907.0083,-1341.139"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact -->
<g id="node50" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact</title>
<g id="a_node50"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact | defined in caller.go:157&#10;at caller.go:158: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact]&#10;at caller.go:164: calling [github.com/eatMoreApple/openwechat.scanJson]&#10;at caller.go:167: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3284.8" rx="66.874" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3280.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxGetContact</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;github.com/eatMoreApple/openwechat.scanJson -->
<g id="edge117" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_edge117"><a xlink:title="at caller.go:164: calling [github.com/eatMoreApple/openwechat.scanJson]">
<path fill="none" stroke="#000000" d="M1741.4582,-3279.2198C1756.5581,-3274.759 1771.0503,-3267.257 1780.6705,-3254.8 1869.8077,-3139.3783 1750.1286,-733.497 1853.6705,-630.8 1934.0937,-551.0331 1995.2121,-625.8 2108.4846,-625.8 2108.4846,-625.8 2108.4846,-625.8 2240.9225,-625.8 2326.7665,-625.8 2413.7421,-687.5822 2455.2656,-721.737"/>
<polygon fill="#000000" stroke="#000000" points="2453.2726,-724.6333 2463.1853,-728.3736 2457.7686,-719.2681 2453.2726,-724.6333"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetContact -->
<g id="node78" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact</title>
<g id="a_node78"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact | defined in client.go:221&#10;at client.go:229: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:222: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1516.8" rx="66.874" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1512.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxGetContact</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact -->
<g id="edge53" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact</title>
<g id="a_edge53"><a xlink:title="at caller.go:158: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact]">
<path fill="none" stroke="#000000" d="M1741.4151,-3279.1864C1756.5152,-3274.7258 1771.0183,-3267.2322 1780.6705,-3254.8 1817.8949,-3206.8543 1813.8476,-2223.4339 1816.6705,-2162.8 1819.8542,-2094.4172 1810.7805,-1601.1553 1853.6705,-1547.8 1862.5101,-1536.8036 1874.9467,-1529.5337 1888.276,-1524.7658"/>
<polygon fill="#000000" stroke="#000000" points="1889.5865,-1528.0239 1898.101,-1521.7187 1887.513,-1521.338 1889.5865,-1528.0239"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge123" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge123"><a xlink:title="at caller.go:167: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="#000000" d="M1725.8702,-3272.1792C1752.4548,-3265.7816 1786.1664,-3258.5827 1816.6705,-3254.8 1881.1732,-3246.8013 1897.8309,-3249.8 1962.8275,-3249.8 1962.8275,-3249.8 1962.8275,-3249.8 2240.9225,-3249.8 2396.3721,-3249.8 2304.9067,-3055.1288 2417.3572,-2947.8 2425.6613,-2939.8741 2436.3811,-2933.5845 2446.6156,-2928.7999"/>
<polygon fill="#000000" stroke="#000000" points="2448.0091,-2932.0106 2455.795,-2924.8252 2445.2276,-2925.5869 2448.0091,-2932.0106"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg -->
<g id="node51" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg</title>
<g id="a_node51"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg | defined in caller.go:322&#10;at caller.go:323: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg]&#10;at caller.go:327: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3406.8" rx="69.2796" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3402.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxRevokeMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge208" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge208"><a xlink:title="at caller.go:327: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="#000000" d="M1742.9286,-3400.6276C1757.4485,-3396.1169 1771.2947,-3388.7391 1780.6705,-3376.8 1836.7913,-3305.3363 1757.171,-2628.4761 1816.6705,-2559.8 1840.4057,-2532.4041 1944.1344,-2473.311 2071.9846,-2552.8 2145.9986,-2598.8171 2084.7141,-2671.8467 2144.9846,-2734.8 2152.9096,-2743.0779 2162.8929,-2749.5308 2173.4037,-2754.5535"/>
<polygon fill="#000000" stroke="#000000" points="2172.1713,-2757.8341 2182.7378,-2758.6092 2174.9609,-2751.414 2172.1713,-2757.8341"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg -->
<g id="node82" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg</title>
<g id="a_node82"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg | defined in client.go:628&#10;at client.go:638: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:636: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:635: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1943.8" rx="69.2796" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1939.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxRevokeMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg -->
<g id="edge104" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg</title>
<g id="a_edge104"><a xlink:title="at caller.go:323: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg]">
<path fill="none" stroke="#000000" d="M1742.9571,-3400.65C1757.4764,-3396.1388 1771.3152,-3388.7551 1780.6705,-3376.8 1811.0299,-3338.004 1813.9085,-2539.9853 1816.6705,-2490.8 1819.8933,-2433.4099 1817.4006,-2019.3926 1853.6705,-1974.8 1862.323,-1964.162 1874.3401,-1957.0172 1887.2524,-1952.2523"/>
<polygon fill="#000000" stroke="#000000" points="1888.3302,-1955.5823 1896.7775,-1949.1875 1886.1861,-1948.9188 1888.3302,-1955.5823"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetLoginUUID -->
<g id="node84" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID</title>
<g id="a_node84"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID | defined in client.go:110&#10;at client.go:126: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-967.8" rx="54.7628" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-963.6" font-family="Verdana" font-size="14.00" fill="#000000">GetLoginUUID</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID -->
<g id="edge326" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID</title>
<g id="a_edge326"><a xlink:title="at caller.go:30: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID]">
<path fill="none" stroke="#000000" d="M1731.553,-2915.7749C1750.0403,-2911.8536 1768.9955,-2904.0238 1780.6705,-2888.8 1838.4949,-2813.3988 1806.0607,-1273.2269 1816.6705,-1178.8 1821.2302,-1138.219 1825.8825,-1028.7237 1853.6705,-998.8 1865.6051,-985.9482 1882.4402,-978.286 1899.3241,-973.7583"/>
<polygon fill="#000000" stroke="#000000" points="1900.2947,-977.1258 1909.234,-971.4391 1898.6995,-970.3099 1900.2947,-977.1258"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).CheckLogin -->
<g id="node85" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).CheckLogin</title>
<g id="a_node85"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).CheckLogin | defined in client.go:136&#10;at client.go:147: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1028.8" rx="43.7982" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1024.6" font-family="Verdana" font-size="14.00" fill="#000000">CheckLogin</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).CheckLogin -->
<g id="edge125" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).CheckLogin</title>
<g id="a_edge125"><a xlink:title="at caller.go:52: calling [(*github.com/eatMoreApple/openwechat.Client).CheckLogin]">
<path fill="none" stroke="#000000" d="M1721.3877,-2978.544C1742.76,-2975.4605 1766.8043,-2967.8032 1780.6705,-2949.8 1829.061,-2886.9722 1812.5104,-1601.9938 1816.6705,-1522.8 1822.0852,-1419.7252 1788.215,-1139.6079 1853.6705,-1059.8 1867.1981,-1043.3062 1888.811,-1035.2192 1909.2493,-1031.3781"/>
<polygon fill="#000000" stroke="#000000" points="1909.8159,-1034.8321 1919.1477,-1029.8153 1908.7242,-1027.9177 1909.8159,-1034.8321"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;github.com/eatMoreApple/openwechat.scanXml -->
<g id="edge213" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;github.com/eatMoreApple/openwechat.scanXml</title>
<g id="a_edge213"><a xlink:title="at caller.go:96: calling [github.com/eatMoreApple/openwechat.scanXml]">
<path fill="none" stroke="#000000" d="M1725.4506,-3160.7425C1745.6624,-3157.2503 1767.5268,-3149.4772 1780.6705,-3132.8 1832.7934,-3066.6647 1774.7245,-2448.8152 1816.6705,-2375.8 1836.8118,-2340.7403 1884.5593,-2331.0969 1920.0313,-2329.0481"/>
<polygon fill="#000000" stroke="#000000" points="1920.2857,-2332.5408 1930.1387,-2328.6462 1920.0075,-2325.5464 1920.2857,-2332.5408"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetLoginInfo -->
<g id="node86" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo</title>
<g id="a_node86"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo | defined in client.go:151&#10;at client.go:157: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1150.8" rx="48.0799" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1146.6" font-family="Verdana" font-size="14.00" fill="#000000">GetLoginInfo</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo -->
<g id="edge188" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo</title>
<g id="a_edge188"><a xlink:title="at caller.go:84: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo]">
<path fill="none" stroke="#000000" d="M1725.5709,-3160.8366C1745.807,-3157.3634 1767.6572,-3149.5791 1780.6705,-3132.8 1819.0614,-3083.2996 1814.2655,-2068.3969 1816.6705,-2005.8 1820.1892,-1914.2198 1796.7959,-1253.6651 1853.6705,-1181.8 1866.0074,-1166.2115 1885.5789,-1158.0957 1904.7648,-1153.9834"/>
<polygon fill="#000000" stroke="#000000" points="1905.5063,-1157.4062 1914.7222,-1152.1796 1904.2585,-1150.5183 1905.5063,-1157.4062"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.LoginInfo).Ok -->
<g id="node227" class="node">
<title>(github.com/eatMoreApple/openwechat.LoginInfo).Ok</title>
<g id="a_node227"><a xlink:title="(github.com/eatMoreApple/openwechat.LoginInfo).Ok | defined in items.go:23">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-2407.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2403.6" font-family="Verdana" font-size="14.00" fill="#000000">Ok</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(github.com/eatMoreApple/openwechat.LoginInfo).Ok -->
<g id="edge101" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(github.com/eatMoreApple/openwechat.LoginInfo).Ok</title>
<g id="a_edge101"><a xlink:title="at caller.go:99: calling [(github.com/eatMoreApple/openwechat.LoginInfo).Ok]">
<path fill="none" stroke="#000000" d="M1725.4472,-3160.7398C1745.6583,-3157.2471 1767.5231,-3149.4743 1780.6705,-3132.8 1832.3271,-3067.2863 1756.2795,-2440.3618 1816.6705,-2382.8 1820.673,-2378.985 1885.1512,-2391.5548 1927.117,-2400.2326"/>
<polygon fill="#000000" stroke="#000000" points="1926.4884,-2403.6767 1936.9919,-2402.2883 1927.9152,-2396.8236 1926.4884,-2403.6767"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;github.com/eatMoreApple/openwechat.scanJson -->
<g id="edge118" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_edge118"><a xlink:title="at caller.go:113: calling [github.com/eatMoreApple/openwechat.scanJson]">
<path fill="none" stroke="#000000" d="M1708.2567,-2857.9825C1732.12,-2856.3086 1763.933,-2849.7042 1780.6705,-2827.8 1849.8296,-2737.292 1737.7636,-859.9485 1816.6705,-777.8 1859.5612,-733.1473 2297.1574,-739.4726 2437.3765,-742.6801"/>
<polygon fill="#000000" stroke="#000000" points="2437.6382,-746.1872 2447.7178,-742.9235 2437.803,-739.1891 2437.6382,-746.1872"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebInit -->
<g id="node88" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebInit</title>
<g id="a_node88"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebInit | defined in client.go:161&#10;at client.go:173: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:162: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:167: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1821.8" rx="30.4103" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1817.6" font-family="Verdana" font-size="14.00" fill="#000000">WebInit</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebInit -->
<g id="edge36" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebInit</title>
<g id="a_edge36"><a xlink:title="at caller.go:107: calling [(*github.com/eatMoreApple/openwechat.Client).WebInit]">
<path fill="none" stroke="#000000" d="M1708.5841,-2857.8259C1732.3027,-2856.0276 1763.7567,-2849.332 1780.6705,-2827.8 1836.4581,-2756.7803 1804.6267,-2105.3042 1816.6705,-2015.8 1826.5775,-1942.1762 1802.5651,-1906.7153 1853.6705,-1852.8 1871.182,-1834.3257 1898.8244,-1826.6031 1921.9098,-1823.4852"/>
<polygon fill="#000000" stroke="#000000" points="1922.5881,-1826.9317 1932.1432,-1822.3546 1921.8193,-1819.974 1922.5881,-1826.9317"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;github.com/eatMoreApple/openwechat.scanJson -->
<g id="edge338" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;github.com/eatMoreApple/openwechat.scanJson</title>
<g id="a_edge338"><a xlink:title="at caller.go:127: calling [github.com/eatMoreApple/openwechat.scanJson]">
<path fill="none" stroke="#000000" d="M1744.2322,-3095.473C1758.3536,-3090.9286 1771.6903,-3083.5741 1780.6705,-3071.8 1857.5642,-2970.9835 1729.4406,-881.8193 1816.6705,-789.8 1827.3901,-778.4918 2291.8579,-753.5507 2437.2906,-746.0052"/>
<polygon fill="#000000" stroke="#000000" points="2437.7917,-749.4841 2447.5974,-745.4719 2437.4299,-742.4934 2437.7917,-749.4841"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify -->
<g id="node89" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify</title>
<g id="a_node89"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify | defined in client.go:177&#10;at client.go:178: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:191: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:194: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1394.8" rx="70.803" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1390.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxStatusNotify</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify -->
<g id="edge6" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify</title>
<g id="a_edge6"><a xlink:title="at caller.go:121: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify]">
<path fill="none" stroke="#000000" d="M1744.0895,-3095.3631C1758.2155,-3090.8224 1771.5902,-3083.4971 1780.6705,-3071.8 1818.0282,-3023.6766 1813.6255,-2036.6456 1816.6705,-1975.8 1822.7933,-1853.4546 1776.5844,-1521.003 1853.6705,-1425.8 1861.9688,-1415.5515 1873.3904,-1408.543 1885.7348,-1403.7808"/>
<polygon fill="#000000" stroke="#000000" points="1886.9537,-1407.0636 1895.3179,-1400.5605 1884.7239,-1400.4282 1886.9537,-1407.0636"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge81" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge81"><a xlink:title="at caller.go:130: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="#000000" d="M1745.3101,-3096.2359C1803.0571,-3091.967 1888.3392,-3086.8 1962.8275,-3086.8 1962.8275,-3086.8 1962.8275,-3086.8 2240.9225,-3086.8 2340.7497,-3086.8 2332.899,-3001.0192 2417.3572,-2947.8 2427.0484,-2941.6933 2438.1134,-2935.8929 2448.2379,-2930.9967"/>
<polygon fill="#000000" stroke="#000000" points="2450.0239,-2934.0245 2457.5812,-2926.599 2447.0428,-2927.691 2450.0239,-2934.0245"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxOplog -->
<g id="node57" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog</title>
<g id="a_node57"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog | defined in caller.go:212&#10;at caller.go:213: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxOplog]&#10;at caller.go:217: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3467.8" rx="50.8548" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3463.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxOplog</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge289" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge289"><a xlink:title="at caller.go:217: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="#000000" d="M1728.1116,-3465.2523C1747.5554,-3461.5449 1768.0962,-3453.7401 1780.6705,-3437.8 1831.8607,-3372.9079 1801.8857,-2776.1193 1816.6705,-2694.8 1826.2748,-2641.9746 1810.2788,-2611.4215 1853.6705,-2579.8 1892.8783,-2551.2276 2030.7842,-2554.1843 2071.9846,-2579.8 2136.6516,-2620.0057 2089.6867,-2682.4505 2144.9846,-2734.8 2153.5934,-2742.9498 2164.1915,-2749.3612 2175.1675,-2754.3876"/>
<polygon fill="#000000" stroke="#000000" points="2173.8662,-2757.6373 2184.4408,-2758.2918 2176.5825,-2751.1857 2173.8662,-2757.6373"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxOplog -->
<g id="node83" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxOplog</title>
<g id="a_node83"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxOplog | defined in client.go:476&#10;at client.go:490: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:487: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:477: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1699.8" rx="50.8548" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1695.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxOplog</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxOplog -->
<g id="edge7" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxOplog</title>
<g id="a_edge7"><a xlink:title="at caller.go:213: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxOplog]">
<path fill="none" stroke="#000000" d="M1727.9081,-3465.3534C1747.4413,-3461.6749 1768.1036,-3453.8644 1780.6705,-3437.8 1811.2632,-3398.6931 1814.5432,-2594.4058 1816.6705,-2544.8 1818.61,-2499.5727 1825.5678,-1766.2896 1853.6705,-1730.8 1865.4885,-1715.8755 1883.9379,-1707.8012 1902.3283,-1703.532"/>
<polygon fill="#000000" stroke="#000000" points="1903.0677,-1706.9536 1912.1994,-1701.5812 1901.7105,-1700.0865 1903.0677,-1706.9536"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg -->
<g id="node58" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg</title>
<g id="a_node58"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg | defined in caller.go:244&#10;at caller.go:246: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]&#10;at caller.go:253: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]&#10;at caller.go:251: calling [github.com/eatMoreApple/openwechat.NewMediaSendMessage]&#10;at caller.go:254: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3772.8" rx="80.6322" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3768.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSendImageMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage -->
<g id="edge346" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage</title>
<g id="a_edge346"><a xlink:title="at caller.go:254: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<path fill="none" stroke="#000000" d="M1749.2281,-3764.3973C1761.3757,-3759.8033 1772.6386,-3752.9523 1780.6705,-3742.8 1854.1252,-3649.9537 1774.1024,-2767.4638 1853.6705,-2679.8 1859.2889,-2673.61 1866.1237,-2668.8835 1873.6037,-2665.3026"/>
<polygon fill="#000000" stroke="#000000" points="1875.4178,-2668.3447 1883.3804,-2661.3556 1872.7973,-2661.8537 1875.4178,-2668.3447"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;github.com/eatMoreApple/openwechat.NewMediaSendMessage -->
<g id="edge327" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;github.com/eatMoreApple/openwechat.NewMediaSendMessage</title>
<g id="a_edge327"><a xlink:title="at caller.go:251: calling [github.com/eatMoreApple/openwechat.NewMediaSendMessage]">
<path fill="none" stroke="#000000" d="M1740.2431,-3784.2116C1784.0805,-3792.2054 1842.8354,-3802.9194 1888.9717,-3811.3323"/>
<polygon fill="#000000" stroke="#000000" points="1888.4471,-3814.7943 1898.9128,-3813.1451 1889.7029,-3807.9079 1888.4471,-3814.7943"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).UploadMedia -->
<g id="edge119" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).UploadMedia</title>
<g id="a_edge119"><a xlink:title="at caller.go:246: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]">
<path fill="none" stroke="#000000" d="M1749.2227,-3764.3931C1761.3708,-3759.7995 1772.6352,-3752.9496 1780.6705,-3742.8 1828.5297,-3682.3475 1800.7367,-3125.2395 1816.6705,-3049.8 1826.2058,-3004.655 1818.4584,-2982.6177 1853.6705,-2952.8 1867.7334,-2940.8915 1886.4579,-2934.8011 1904.4226,-2931.8471"/>
<polygon fill="#000000" stroke="#000000" points="1905.1355,-2935.2828 1914.5796,-2930.4807 1904.2022,-2928.3453 1905.1355,-2935.2828"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg -->
<g id="node65" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg</title>
<g id="a_node65"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg | defined in client.go:452&#10;at client.go:461: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]&#10;at client.go:454: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-2065.8" rx="73.5788" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-2061.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxSendMsgImg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg -->
<g id="edge160" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg</title>
<g id="a_edge160"><a xlink:title="at caller.go:253: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]">
<path fill="none" stroke="#000000" d="M1601.4184,-3766.9084C1580.6529,-3760.9201 1561.4596,-3749.9662 1552.6543,-3730.3 1534.2539,-3689.2035 1534.2539,-2150.3965 1552.6543,-2109.3 1560.8482,-2090.9994 1577.9796,-2080.1206 1597.0039,-2073.7302"/>
<polygon fill="#000000" stroke="#000000" points="1598.1655,-2077.037 1606.7745,-2070.8615 1596.1935,-2070.3205 1598.1655,-2077.037"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.GetFileContentType -->
<g id="edge190" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.GetFileContentType</title>
<g id="a_edge190"><a xlink:title="at client.go:304: calling [github.com/eatMoreApple/openwechat.GetFileContentType]">
<path fill="none" stroke="#000000" d="M2031.6694,-2201.4694C2046.2537,-2206.8629 2060.6465,-2214.3671 2071.9846,-2224.8 2131.8924,-2279.9253 2084.4267,-2338.3896 2144.9846,-2392.8 2152.8544,-2399.8709 2162.3772,-2405.2753 2172.3287,-2409.4059"/>
<polygon fill="#000000" stroke="#000000" points="2171.3685,-2412.7829 2181.9613,-2412.9887 2173.8088,-2406.2221 2171.3685,-2412.7829"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.getMessageType -->
<g id="edge63" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.getMessageType</title>
<g id="a_edge63"><a xlink:title="at client.go:330: calling [github.com/eatMoreApple/openwechat.getMessageType]">
<path fill="none" stroke="#000000" d="M2053.8749,-2196.7255C2060.5786,-2200.0889 2066.751,-2204.373 2071.9846,-2209.8 2106.7658,-2245.8667 2111.9488,-2617.128 2144.9846,-2654.8 2153.2223,-2664.1938 2164.3866,-2670.5995 2176.1877,-2674.9542"/>
<polygon fill="#000000" stroke="#000000" points="2175.1533,-2678.298 2185.7446,-2678.0248 2177.2946,-2671.6335 2175.1533,-2678.298"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.getWebWxDataTicket -->
<g id="edge109" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.getWebWxDataTicket</title>
<g id="a_edge109"><a xlink:title="at client.go:339: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]">
<path fill="none" stroke="#000000" d="M2027.4498,-2202.0911C2043.0211,-2207.515 2058.9168,-2214.8772 2071.9846,-2224.8 2117.8334,-2259.6146 2098.7257,-2297.5321 2144.9846,-2331.8 2153.3265,-2337.9796 2162.972,-2342.9071 2172.8648,-2346.8309"/>
<polygon fill="#000000" stroke="#000000" points="2171.7968,-2350.1667 2182.3909,-2350.2933 2174.1881,-2343.5878 2171.7968,-2350.1667"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge30" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge30"><a xlink:title="at client.go:440: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="#000000" d="M2054.2434,-2196.7493C2060.8237,-2200.1158 2066.8693,-2204.3936 2071.9846,-2209.8 2091.467,-2230.3912 2129.2338,-2691.2315 2144.9846,-2714.8 2155.6115,-2730.7015 2172.3088,-2742.8152 2188.8144,-2751.6978"/>
<polygon fill="#000000" stroke="#000000" points="2187.4213,-2754.9153 2197.9247,-2756.3037 2190.5796,-2748.6683 2187.4213,-2754.9153"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="node61" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_node61"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).Do | defined in client.go:96&#10;at client.go:99: calling [(*github.com/eatMoreApple/openwechat.Client).setCookie]&#10;at client.go:97: calling [(*github.com/eatMoreApple/openwechat.Client).do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-1176.8" rx="27" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-1172.6" font-family="Verdana" font-size="14.00" fill="#000000">Do</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge21" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge21"><a xlink:title="at client.go:434: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2046.4985,-2176.9317C2056.3022,-2172.4071 2065.2064,-2166.2202 2071.9846,-2157.8 2119.3594,-2098.9486 2101.0305,-1554.0297 2107.9846,-1478.8 2109.4288,-1463.1758 2134.4232,-1210.4043 2144.9846,-1198.8 2159.5785,-1182.7649 2183.2735,-1177.2205 2203.4629,-1175.7068"/>
<polygon fill="#000000" stroke="#000000" points="2203.8021,-1179.1952 2213.6343,-1175.2484 2203.4869,-1172.2023 2203.8021,-1179.1952"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.WechatDomain).FileHost -->
<g id="node249" class="node">
<title>(github.com/eatMoreApple/openwechat.WechatDomain).FileHost</title>
<g id="a_node249"><a xlink:title="(github.com/eatMoreApple/openwechat.WechatDomain).FileHost | defined in url.go:46">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-2622.8" rx="31.5678" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2618.6" font-family="Verdana" font-size="14.00" fill="#000000">FileHost</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).FileHost -->
<g id="edge210" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).FileHost</title>
<g id="a_edge210"><a xlink:title="at client.go:332: calling [(github.com/eatMoreApple/openwechat.WechatDomain).FileHost]">
<path fill="none" stroke="#000000" d="M2053.2416,-2196.9704C2060.1243,-2200.2739 2066.509,-2204.4776 2071.9846,-2209.8 2124.3217,-2260.6727 2094.9383,-2298.1766 2108.9846,-2369.8 2128.3051,-2468.3177 2079.2485,-2516.92 2144.9846,-2592.8 2158.448,-2608.341 2179.8409,-2615.9314 2199.0123,-2619.5977"/>
<polygon fill="#000000" stroke="#000000" points="2198.6455,-2623.0836 2209.0747,-2621.2176 2199.7581,-2616.1726 2198.6455,-2623.0836"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).do -->
<g id="node60" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).do</title>
<g id="a_node60"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).do | defined in client.go:72&#10;at client.go:74: calling [(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest]&#10;at client.go:78: calling [(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2480.3572" cy="-1153.8" rx="27" ry="18"/>
<text text-anchor="middle" x="2480.3572" y="-1149.6" font-family="Verdana" font-size="14.00" fill="#000000">do</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest -->
<g id="node247" class="node">
<title>(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest</title>
<g id="a_node247"><a xlink:title="(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest | defined in client.go:31">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2722.601" cy="-1122.8" rx="51.6034" ry="18"/>
<text text-anchor="middle" x="2722.601" y="-1118.6" font-family="Verdana" font-size="14.00" fill="#000000">BeforeRequest</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).do&#45;&gt;(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest -->
<g id="edge56" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).do&#45;&gt;(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest</title>
<g id="a_edge56"><a xlink:title="at client.go:74: calling [(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M2507.2071,-1150.364C2544.7773,-1145.5561 2614.0171,-1136.6955 2663.8654,-1130.3164"/>
<polygon fill="#000000" stroke="#000000" points="2664.4005,-1133.7766 2673.8753,-1129.0354 2663.5119,-1126.8332 2664.4005,-1133.7766"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest -->
<g id="node248" class="node">
<title>(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest</title>
<g id="a_node248"><a xlink:title="(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest | defined in client.go:35">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2722.601" cy="-1183.8" rx="46.9326" ry="18"/>
<text text-anchor="middle" x="2722.601" y="-1179.6" font-family="Verdana" font-size="14.00" fill="#000000">AfterRequest</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).do&#45;&gt;(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest -->
<g id="edge291" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).do&#45;&gt;(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest</title>
<g id="a_edge291"><a xlink:title="at client.go:78: calling [(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M2507.2071,-1157.1251C2545.8145,-1161.9064 2617.8643,-1170.8292 2667.9485,-1177.0317"/>
<polygon fill="#000000" stroke="#000000" points="2667.6147,-1180.517 2677.9691,-1178.2727 2668.4751,-1173.5701 2667.6147,-1180.517"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Do&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).do -->
<g id="edge310" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).Do&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).do</title>
<g id="a_edge310"><a xlink:title="at client.go:97: calling [(*github.com/eatMoreApple/openwechat.Client).do]">
<path fill="none" stroke="#000000" d="M2267.9233,-1174.2063C2310.879,-1170.08 2394.8686,-1162.012 2443.3798,-1157.352"/>
<polygon fill="#000000" stroke="#000000" points="2443.8356,-1160.8245 2453.4551,-1156.3842 2443.1662,-1153.8565 2443.8356,-1160.8245"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).setCookie -->
<g id="node62" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).setCookie</title>
<g id="a_node62"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).setCookie | defined in client.go:83">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="2480.3572" cy="-1214.8" rx="36.3541" ry="18"/>
<text text-anchor="middle" x="2480.3572" y="-1210.6" font-family="Verdana" font-size="14.00" fill="#000000">setCookie</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Do&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).setCookie -->
<g id="edge12" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).Do&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).setCookie</title>
<g id="a_edge12"><a xlink:title="at client.go:99: calling [(*github.com/eatMoreApple/openwechat.Client).setCookie]">
<path fill="none" stroke="#000000" d="M2267.461,-1181.0119C2308.0419,-1187.4523 2386.0048,-1199.8256 2435.4849,-1207.6784"/>
<polygon fill="#000000" stroke="#000000" points="2435.1623,-1211.171 2445.5873,-1209.2818 2436.2596,-1204.2575 2435.1623,-1211.171"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.NewUserDetailItemList -->
<g id="edge5" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.NewUserDetailItemList</title>
<g id="a_edge5"><a xlink:title="at client.go:239: calling [github.com/eatMoreApple/openwechat.NewUserDetailItemList]">
<path fill="none" stroke="#000000" d="M2035.2048,-2014.4702C2048.7569,-2019.1076 2061.8328,-2025.8938 2071.9846,-2035.8 2111.1222,-2073.9912 2106.3536,-2232.0963 2144.9846,-2270.8 2151.2546,-2277.0819 2158.82,-2282.0518 2166.9185,-2285.9832"/>
<polygon fill="#000000" stroke="#000000" points="2165.6786,-2289.2598 2176.2479,-2289.995 2168.4439,-2282.8292 2165.6786,-2289.2598"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge233" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge233"><a xlink:title="at client.go:245: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2033.7513,-2014.8295C2047.6442,-2019.4307 2061.2239,-2026.1113 2071.9846,-2035.8 2136.7526,-2094.116 2078.7424,-2161.164 2144.9846,-2217.8 2159.2076,-2229.9605 2178.8174,-2235.7429 2196.6029,-2238.3788"/>
<polygon fill="#000000" stroke="#000000" points="2196.4662,-2241.8871 2206.8094,-2239.5916 2197.2922,-2234.936 2196.4662,-2241.8871"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge176" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge176"><a xlink:title="at client.go:248: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2039.3197,-1996.7941C2051.8903,-1992.1391 2063.5471,-1985.1642 2071.9846,-1974.8 2111.4889,-1926.2746 2100.6438,-1474.9403 2107.9846,-1412.8 2113.6464,-1364.8721 2111.7963,-1233.8381 2144.9846,-1198.8 2159.8949,-1183.0586 2183.5927,-1177.5168 2203.7043,-1175.931"/>
<polygon fill="#000000" stroke="#000000" points="2204.0146,-1179.42 2213.829,-1175.4292 2203.668,-1172.4286 2204.0146,-1179.42"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Count -->
<g id="node228" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_node228"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Count | defined in user.go:412">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-3919.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3915.6" font-family="Verdana" font-size="14.00" fill="#000000">Count</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge185" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge185"><a xlink:title="at client.go:242: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="#000000" d="M1887.0734,-2013.1768C1874.1935,-2017.9499 1862.2343,-2025.1171 1853.6705,-2035.8 1842.463,-2049.7807 1817.471,-2661.8995 1816.6705,-2679.8 1811.0833,-2804.7391 1827.2007,-3688.7141 1780.6705,-3804.8 1764.8123,-3844.3639 1728.908,-3879.15 1703.9815,-3899.8275"/>
<polygon fill="#000000" stroke="#000000" points="1701.5697,-3897.2766 1695.9939,-3906.2855 1705.9707,-3902.72 1701.5697,-3897.2766"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="node250" class="node">
<title>(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_node250"><a xlink:title="(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost | defined in url.go:42">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-2561.8" rx="34.7087" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2557.6" font-family="Verdana" font-size="14.00" fill="#000000">BaseHost</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge72" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge72"><a xlink:title="at client.go:234: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2037.2306,-2013.6409C2050.3856,-2018.3595 2062.7931,-2025.3879 2071.9846,-2035.8 2107.8427,-2076.4201 2101.0862,-2223.1957 2108.9846,-2276.8 2117.3269,-2333.4173 2107.9426,-2488.1766 2144.9846,-2531.8 2157.6603,-2546.7279 2177.658,-2554.333 2196.1228,-2558.1668"/>
<polygon fill="#000000" stroke="#000000" points="2195.7122,-2561.6482 2206.167,-2559.9313 2196.9234,-2554.7538 2195.7122,-2561.6482"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge142" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge142"><a xlink:title="at client.go:599: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2038.8019,-1893.0742C2051.1887,-1897.7152 2062.913,-1904.3483 2071.9846,-1913.8 2120.0932,-1963.9246 2095.6064,-2168.9255 2144.9846,-2217.8 2158.5504,-2231.2275 2178.5426,-2237.1258 2196.7706,-2239.509"/>
<polygon fill="#000000" stroke="#000000" points="2196.6532,-2243.0144 2206.9494,-2240.5167 2197.3429,-2236.0485 2196.6532,-2243.0144"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge66" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge66"><a xlink:title="at client.go:602: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2042.2793,-1873.56C2053.6918,-1868.9371 2064.1878,-1862.2918 2071.9846,-1852.8 2106.9168,-1810.2732 2099.7603,-1413.2165 2107.9846,-1358.8 2118.8918,-1286.6318 2093.327,-1250.3627 2144.9846,-1198.8 2160.2271,-1183.5854 2183.7139,-1178.0193 2203.6332,-1176.2891"/>
<polygon fill="#000000" stroke="#000000" points="2203.8831,-1179.7806 2213.662,-1175.7032 2203.4748,-1172.7925 2203.8831,-1179.7806"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge65" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge65"><a xlink:title="at client.go:584: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2040.5753,-1892.5444C2052.5528,-1897.2591 2063.6783,-1904.0543 2071.9846,-1913.8 2116.8361,-1966.4236 2100.8305,-2478.5899 2144.9846,-2531.8 2157.4902,-2546.8706 2177.467,-2554.4933 2195.9619,-2558.3019"/>
<polygon fill="#000000" stroke="#000000" points="2195.5763,-2561.7872 2206.0275,-2560.0484 2196.7731,-2554.8903 2195.5763,-2561.7872"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).sendMessage -->
<g id="node66" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).sendMessage</title>
<g id="a_node66"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).sendMessage | defined in client.go:272&#10;at client.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:278: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1962.8275" cy="-845.8" rx="46.9358" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-841.6" font-family="Verdana" font-size="14.00" fill="#000000">sendMessage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage -->
<g id="edge27" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage</title>
<g id="a_edge27"><a xlink:title="at client.go:461: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<path fill="none" stroke="#000000" d="M1679.4648,-2047.7585C1689.668,-1946.9492 1742.3722,-1443.332 1816.6705,-1036.8 1829.7925,-965.0015 1803.3522,-929.6704 1853.6705,-876.8 1867.4335,-862.339 1887.4045,-854.4691 1906.5123,-850.2382"/>
<polygon fill="#000000" stroke="#000000" points="1907.2277,-853.6649 1916.3882,-848.3418 1905.9076,-846.7904 1907.2277,-853.6649"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge347" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge347"><a xlink:title="at client.go:454: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M1738.4565,-2076.0837C1753.3171,-2080.6641 1768.4436,-2087.2723 1780.6705,-2096.8 1830.5125,-2135.639 1800.4139,-2184.7937 1853.6705,-2218.8 1894.7861,-2245.0538 2035.7868,-2209.0971 2071.9846,-2241.8 2129.9369,-2294.1572 2088.2774,-2338.2263 2107.9846,-2413.8 2121.8531,-2466.9837 2106.1053,-2492.9511 2144.9846,-2531.8 2158.5661,-2545.371 2178.1934,-2552.8182 2196.1615,-2556.8988"/>
<polygon fill="#000000" stroke="#000000" points="2195.7174,-2560.3786 2206.2064,-2558.885 2197.0753,-2553.5116 2195.7174,-2560.3786"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).sendMessage&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge334" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).sendMessage&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge334"><a xlink:title="at client.go:278: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2009.4634,-847.0349C2031.903,-850.2348 2057.1029,-858.1786 2071.9846,-876.8 2118.5638,-935.0844 2096.9261,-2160.7292 2144.9846,-2217.8 2157.5222,-2232.6888 2177.8962,-2238.6837 2196.6509,-2240.7516"/>
<polygon fill="#000000" stroke="#000000" points="2196.6065,-2244.2583 2206.8435,-2241.528 2197.1383,-2237.2785 2196.6065,-2244.2583"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).sendMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge67" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).sendMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge67"><a xlink:title="at client.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2008.9575,-848.9668C2030.5814,-852.7117 2055.2148,-860.5594 2071.9846,-876.8 2110.8578,-914.4467 2094.8785,-940.5562 2108.9846,-992.8 2128.2107,-1064.0064 2093.0072,-1102.4707 2144.9846,-1154.8 2160.1617,-1170.0799 2183.6475,-1175.647 2203.5826,-1177.3614"/>
<polygon fill="#000000" stroke="#000000" points="2203.4367,-1180.8587 2213.6209,-1177.9377 2203.838,-1173.8702 2203.4367,-1180.8587"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge14" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge14"><a xlink:title="at client.go:621: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2044.8283,-1772.8508C2055.074,-1777.3846 2064.5461,-1783.5198 2071.9846,-1791.8 2104.0778,-1827.5248 2111.9858,-2182.9099 2144.9846,-2217.8 2158.1613,-2231.732 2178.2208,-2237.677 2196.5969,-2239.9603"/>
<polygon fill="#000000" stroke="#000000" points="2196.2994,-2243.4477 2206.5782,-2240.8796 2196.9414,-2236.4772 2196.2994,-2243.4477"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge320" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge320"><a xlink:title="at client.go:624: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2047.326,-1749.2365C2056.7466,-1744.7903 2065.3265,-1738.8107 2071.9846,-1730.8 2132.7103,-1657.7373 2088.1735,-1397.7155 2107.9846,-1304.8 2118.3899,-1255.9983 2107.8077,-1232.083 2144.9846,-1198.8 2160.8487,-1184.5974 2183.9987,-1179.0086 2203.5834,-1177.0131"/>
<polygon fill="#000000" stroke="#000000" points="2204.0223,-1180.4902 2213.7344,-1176.2562 2203.5018,-1173.5095 2204.0223,-1180.4902"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge195" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge195"><a xlink:title="at client.go:607: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2045.9141,-1772.6229C2055.8705,-1777.2022 2064.9726,-1783.4109 2071.9846,-1791.8 2085.2312,-1807.6483 2131.9482,-2515.7783 2144.9846,-2531.8 2157.3445,-2546.9904 2177.3033,-2554.6279 2195.8239,-2558.4152"/>
<polygon fill="#000000" stroke="#000000" points="2195.4597,-2561.9038 2205.9078,-2560.1467 2196.6444,-2555.0048 2195.4597,-2561.9038"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge313" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge313"><a xlink:title="at client.go:579: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M1990.4722,-2127.5764C2015.9259,-2126.6429 2052.5865,-2120.7961 2071.9846,-2096.8 2116.0628,-2042.2737 2101.1846,-1536.5837 2107.9846,-1466.8 2113.8153,-1406.963 2104.389,-1243.1449 2144.9846,-1198.8 2159.625,-1182.8073 2183.3205,-1177.2633 2203.4984,-1175.7392"/>
<polygon fill="#000000" stroke="#000000" points="2203.8332,-1179.2277 2213.663,-1175.2746 2203.5135,-1172.235 2203.8332,-1179.2277"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Logout&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge198" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).Logout&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge198"><a xlink:title="at client.go:572: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M1990.2616,-2126.9388C2015.2003,-2128.6137 2051.1844,-2135.1762 2071.9846,-2157.8 2129.2968,-2220.1372 2088.4989,-2468.7129 2144.9846,-2531.8 2157.9496,-2546.2803 2177.7923,-2553.8393 2196.0743,-2557.7586"/>
<polygon fill="#000000" stroke="#000000" points="2195.5494,-2561.2206 2206.0168,-2559.5823 2196.8124,-2554.3355 2195.5494,-2561.2206"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage -->
<g id="edge68" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage</title>
<g id="a_edge68"><a xlink:title="at client.go:292: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<path fill="none" stroke="#000000" d="M1736.8269,-2122.4287C1753.5299,-2118.169 1770.0329,-2110.4715 1780.6705,-2096.8 1815.6953,-2051.7859 1810.3092,-1127.4792 1816.6705,-1070.8 1821.5655,-1027.1856 1824.036,-909.1724 1853.6705,-876.8 1867.207,-862.0129 1887.2299,-854.0834 1906.4435,-849.8961"/>
<polygon fill="#000000" stroke="#000000" points="1907.196,-853.3161 1916.3785,-848.031 1905.9044,-846.4362 1907.196,-853.3161"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge162" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge162"><a xlink:title="at client.go:287: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M1733.1166,-2134.3131C1749.9294,-2138.852 1767.4308,-2146.1304 1780.6705,-2157.8 1810.2245,-2183.8492 1784.7244,-2215.747 1816.6705,-2238.8 1862.8988,-2272.1593 2029.3092,-2226.0018 2071.9846,-2263.8 2127.1976,-2312.7031 2087.7965,-2354.8603 2107.9846,-2425.8 2121.6425,-2473.7931 2109.1276,-2497.0991 2144.9846,-2531.8 2158.7814,-2545.1521 2178.4389,-2552.5686 2196.3715,-2556.6852"/>
<polygon fill="#000000" stroke="#000000" points="2195.8962,-2560.1596 2206.3898,-2558.6986 2197.2754,-2553.2968 2195.8962,-2560.1596"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage -->
<g id="edge91" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage</title>
<g id="a_edge91"><a xlink:title="at client.go:472: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<path fill="none" stroke="#000000" d="M1746.2055,-2180.6486C1759.5411,-2176.0668 1772.0403,-2168.9034 1780.6705,-2157.8 1816.7284,-2111.409 1810.8706,-1159.2693 1816.6705,-1100.8 1821.6508,-1050.5941 1820.067,-914.4329 1853.6705,-876.8 1867.023,-861.8465 1887.0081,-853.8828 1906.243,-849.7149"/>
<polygon fill="#000000" stroke="#000000" points="1907.0026,-853.1337 1916.1942,-847.8644 1905.7228,-846.2517 1907.0026,-853.1337"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge22" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge22"><a xlink:title="at client.go:467: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M1701.3567,-2205.1718C1727.955,-2223.6655 1773.1102,-2252.1114 1816.6705,-2265.8 1871.0562,-2282.8904 2029.3092,-2253.0018 2071.9846,-2290.8 2127.1976,-2339.7031 2084.2002,-2382.9838 2107.9846,-2452.8 2120.4872,-2489.5 2115.7832,-2506.2953 2144.9846,-2531.8 2159.2681,-2544.2754 2178.713,-2551.5652 2196.3633,-2555.8239"/>
<polygon fill="#000000" stroke="#000000" points="2195.9838,-2559.322 2206.4955,-2557.9973 2197.4521,-2552.4777 2195.9838,-2559.322"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg -->
<g id="node71" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg</title>
<g id="a_node71"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg | defined in client.go:522&#10;at client.go:530: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:523: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1638.8" rx="69.2764" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1634.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxGetMsgImg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge170" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge170"><a xlink:title="at client.go:530: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2029.1603,-1633.6865C2045.3649,-1629.2457 2061.1412,-1621.637 2071.9846,-1608.8 2123.5799,-1547.718 2079.8684,-1325.6503 2107.9846,-1250.8 2117.9587,-1224.247 2121.3979,-1214.5548 2144.9846,-1198.8 2162.2495,-1187.2678 2184.7366,-1181.7266 2203.6,-1179.0873"/>
<polygon fill="#000000" stroke="#000000" points="2204.1303,-1182.5491 2213.6506,-1177.9 2203.309,-1175.5974 2204.1303,-1182.5491"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge315" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge315"><a xlink:title="at client.go:523: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2028.7592,-1644.2845C2045.164,-1648.8522 2061.1419,-1656.6538 2071.9846,-1669.8 2102.7082,-1707.051 2104.9101,-2054.6858 2108.9846,-2102.8 2113.0209,-2150.4636 2115.0661,-2494.4771 2144.9846,-2531.8 2157.2333,-2547.0802 2177.1784,-2554.7287 2195.7187,-2558.5002"/>
<polygon fill="#000000" stroke="#000000" points="2195.3708,-2561.9913 2205.8166,-2560.2204 2196.5464,-2555.0907 2195.3708,-2561.9913"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice -->
<g id="node72" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice</title>
<g id="a_node72"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice | defined in client.go:534&#10;at client.go:541: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:535: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1089.8" rx="61.4317" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1085.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxGetVoice</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge187" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge187"><a xlink:title="at client.go:541: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2015.1525,-1080.3899C2033.7799,-1075.7729 2054.4661,-1069.1343 2071.9846,-1059.8 2090.918,-1049.7118 2091.8573,-1015.8809 2108.9846,-1028.8 2155.4811,-1063.8724 2102.7277,-1114.7207 2144.9846,-1154.8 2160.5388,-1169.5527 2183.8878,-1175.1295 2203.6565,-1176.9809"/>
<polygon fill="#000000" stroke="#000000" points="2203.6955,-1180.4908 2213.9023,-1177.6498 2204.1516,-1173.5057 2203.6955,-1180.4908"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge278" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge278"><a xlink:title="at client.go:535: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2022.7775,-1093.461C2041.3272,-1097.7032 2060.0134,-1105.7791 2071.9846,-1120.8 2120.9056,-1182.184 2096.8768,-2469.7766 2144.9846,-2531.8 2157.1333,-2547.4629 2177.3882,-2555.1326 2196.1643,-2558.8188"/>
<polygon fill="#000000" stroke="#000000" points="2195.6548,-2562.2819 2206.0889,-2560.4435 2196.7857,-2555.3739 2195.6548,-2562.2819"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo -->
<g id="node73" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo</title>
<g id="a_node73"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo | defined in client.go:545&#10;at client.go:546: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]&#10;at client.go:552: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1577.8" rx="61.8194" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1573.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxGetVideo</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge179" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge179"><a xlink:title="at client.go:552: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2023.376,-1574.0432C2041.5135,-1569.8745 2059.7984,-1562.0751 2071.9846,-1547.8 2166.0545,-1437.6054 2033.044,-1347.7997 2107.9846,-1223.8 2127.4371,-1191.6131 2171.4197,-1181.1315 2203.4841,-1177.8955"/>
<polygon fill="#000000" stroke="#000000" points="2204.1642,-1181.3519 2213.8486,-1177.055 2203.5983,-1174.3748 2204.1642,-1181.3519"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge116" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge116"><a xlink:title="at client.go:546: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2023.1138,-1581.7823C2041.4589,-1586.0723 2059.9348,-1594.0958 2071.9846,-1608.8 2104.5879,-1648.5854 2112.9084,-2491.5883 2144.9846,-2531.8 2157.1967,-2547.1095 2177.1372,-2554.7616 2195.684,-2558.5279"/>
<polygon fill="#000000" stroke="#000000" points="2195.3415,-2562.0198 2205.7865,-2560.2445 2196.5141,-2555.1187 2195.3415,-2562.0198"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia -->
<g id="node74" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia</title>
<g id="a_node74"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia | defined in client.go:556&#10;at client.go:567: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:557: calling [(github.com/eatMoreApple/openwechat.WechatDomain).FileHost]&#10;at client.go:564: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-2065.8" rx="62.5745" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-2061.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxGetMedia</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;github.com/eatMoreApple/openwechat.getWebWxDataTicket -->
<g id="edge293" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;github.com/eatMoreApple/openwechat.getWebWxDataTicket</title>
<g id="a_edge293"><a xlink:title="at client.go:564: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]">
<path fill="none" stroke="#000000" d="M2022.1513,-2071.652C2040.1045,-2076.0904 2058.5899,-2083.7293 2071.9846,-2096.8 2150.2599,-2173.1823 2067.7227,-2254.3927 2144.9846,-2331.8 2151.5937,-2338.4216 2159.6419,-2343.5854 2168.2367,-2347.6118"/>
<polygon fill="#000000" stroke="#000000" points="2167.1573,-2350.9531 2177.7353,-2351.5495 2169.838,-2344.4867 2167.1573,-2350.9531"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge86" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge86"><a xlink:title="at client.go:567: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2024.3747,-2062.2679C2042.349,-2058.0876 2060.2852,-2050.2245 2071.9846,-2035.8 2113.7757,-1984.2744 2100.9434,-1505.7682 2107.9846,-1439.8 2113.7352,-1385.923 2108.0966,-1238.4873 2144.9846,-1198.8 2159.7457,-1182.9187 2183.4422,-1177.3756 2203.5905,-1175.8242"/>
<polygon fill="#000000" stroke="#000000" points="2203.9142,-1179.3129 2213.7372,-1175.3431 2203.5827,-1172.3207 2203.9142,-1179.3129"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).FileHost -->
<g id="edge175" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).FileHost</title>
<g id="a_edge175"><a xlink:title="at client.go:557: calling [(github.com/eatMoreApple/openwechat.WechatDomain).FileHost]">
<path fill="none" stroke="#000000" d="M2023.4002,-2070.4676C2041.4285,-2074.8349 2059.6425,-2082.7311 2071.9846,-2096.8 2108.72,-2138.6752 2108.8042,-2550.4443 2144.9846,-2592.8 2158.3395,-2608.4344 2179.7238,-2616.0322 2198.9174,-2619.6793"/>
<polygon fill="#000000" stroke="#000000" points="2198.568,-2623.1677 2208.9945,-2621.2866 2199.6706,-2616.2551 2198.568,-2623.1677"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge212" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge212"><a xlink:title="at client.go:515: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2026.928,-1460.923C2043.9235,-1465.4222 2060.669,-1473.2783 2071.9846,-1486.8 2124.3702,-1549.3986 2091.0109,-2156.5653 2144.9846,-2217.8 2157.7597,-2232.2938 2177.9638,-2238.2765 2196.5429,-2240.4387"/>
<polygon fill="#000000" stroke="#000000" points="2196.3847,-2243.9376 2206.6399,-2241.2768 2196.9637,-2236.9615 2196.3847,-2243.9376"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge276" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge276"><a xlink:title="at client.go:518: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2026.8344,-1450.9282C2043.7237,-1446.5658 2060.4358,-1438.9371 2071.9846,-1425.8 2147.8451,-1339.5065 2021.2674,-1245.1758 2107.9846,-1169.8 2121.9745,-1157.6398 2170.6255,-1163.4667 2205.0087,-1169.514"/>
<polygon fill="#000000" stroke="#000000" points="2204.6995,-1173.0156 2215.1671,-1171.3782 2205.9631,-1166.1306 2204.6995,-1173.0156"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge149" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge149"><a xlink:title="at client.go:496: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2026.9002,-1460.636C2044.0005,-1465.1168 2060.8095,-1473.0348 2071.9846,-1486.8 2108.6651,-1531.9823 2108.9027,-2486.1382 2144.9846,-2531.8 2157.1263,-2547.1654 2177.0581,-2554.8244 2195.6174,-2558.5808"/>
<polygon fill="#000000" stroke="#000000" points="2195.2851,-2562.0743 2205.7287,-2560.2904 2196.4521,-2555.1722 2195.2851,-2562.0743"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg -->
<g id="node77" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg</title>
<g id="a_node77"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg | defined in client.go:296&#10;at client.go:299: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:297: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1962.8275" cy="-1272.8" rx="71.5306" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1268.6" font-family="Verdana" font-size="14.00" fill="#000000">WebWxGetHeadImg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge110" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge110"><a xlink:title="at client.go:299: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2029.7907,-1266.2392C2045.4099,-1261.7531 2060.7426,-1254.4841 2071.9846,-1242.8 2120.7192,-1192.1485 2052.9152,-1132.4807 2107.9846,-1088.8 2134.3311,-1067.9021 2118.1818,-1134.4906 2144.9846,-1154.8 2161.6476,-1167.4262 2184.2955,-1173.0088 2203.4022,-1175.3964"/>
<polygon fill="#000000" stroke="#000000" points="2203.2927,-1178.9029 2213.5922,-1176.4186 2203.9915,-1171.9378 2203.2927,-1178.9029"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge232" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge232"><a xlink:title="at client.go:297: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2030.9728,-1278.6721C2046.6703,-1283.3119 2061.7446,-1291.0522 2071.9846,-1303.8 2114.784,-1357.0815 2102.891,-2477.959 2144.9846,-2531.8 2157.1934,-2547.4161 2177.4551,-2555.0806 2196.2201,-2558.7754"/>
<polygon fill="#000000" stroke="#000000" points="2195.7018,-2562.237 2206.1372,-2560.4059 2196.8375,-2555.3298 2195.7018,-2562.237"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge122" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge122"><a xlink:title="at client.go:229: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2027.54,-1511.8989C2044.2372,-1507.5145 2060.6711,-1499.8816 2071.9846,-1486.8 2156.9431,-1388.5636 2017.3401,-1289.8157 2107.9846,-1196.8 2132.5366,-1171.6057 2174.262,-1169.1461 2204.4266,-1171.3835"/>
<polygon fill="#000000" stroke="#000000" points="2204.2822,-1174.8853 2214.567,-1172.3412 2204.9404,-1167.9164 2204.2822,-1174.8853"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge288" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge288"><a xlink:title="at client.go:222: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2027.4327,-1521.817C2044.3352,-1526.3246 2060.9044,-1534.2116 2071.9846,-1547.8 2106.6262,-1590.2835 2110.9058,-2488.8636 2144.9846,-2531.8 2157.1593,-2547.1392 2177.0953,-2554.795 2195.6487,-2558.5561"/>
<polygon fill="#000000" stroke="#000000" points="2195.3116,-2562.0488 2205.7558,-2560.2689 2196.4812,-2555.1472 2195.3116,-2562.0488"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;github.com/eatMoreApple/openwechat.GetRandomDeviceId -->
<g id="edge29" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;github.com/eatMoreApple/openwechat.GetRandomDeviceId</title>
<g id="a_edge29"><a xlink:title="at client.go:205: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]">
<path fill="none" stroke="#000000" d="M2002.8477,-903.4337C2025.1478,-899.8095 2052.3011,-892.3074 2071.9846,-876.8 2120.7248,-838.4005 2199.4,-666.0804 2229.0808,-598.305"/>
<polygon fill="#000000" stroke="#000000" points="2232.4686,-599.2918 2233.2538,-588.7261 2226.0511,-596.496 2232.4686,-599.2918"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge251" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge251"><a xlink:title="at client.go:217: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2002.8104,-910.2734C2025.2344,-914.0145 2052.5237,-921.7645 2071.9846,-937.8 2150.5151,-1002.5081 2072.3323,-1083.5552 2144.9846,-1154.8 2160.3614,-1169.8789 2183.8502,-1175.443 2203.737,-1177.206"/>
<polygon fill="#000000" stroke="#000000" points="2203.5529,-1180.7012 2213.7461,-1177.8117 2203.9758,-1173.7139 2203.5529,-1180.7012"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.WechatDomain).SyncHost -->
<g id="node251" class="node">
<title>(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost</title>
<g id="a_node251"><a xlink:title="(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost | defined in url.go:50">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2240.9225" cy="-2500.8" rx="35.0989" ry="18"/>
<text text-anchor="middle" x="2240.9225" y="-2496.6" font-family="Verdana" font-size="14.00" fill="#000000">SyncHost</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost -->
<g id="edge206" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost</title>
<g id="a_edge206"><a xlink:title="at client.go:199: calling [(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost]">
<path fill="none" stroke="#000000" d="M2003.4896,-907.2214C2027.3292,-909.8044 2055.8464,-917.4092 2071.9846,-937.8 2099.6289,-972.7291 2105.8723,-1694.3052 2107.9846,-1738.8 2109.9364,-1779.9162 2118.5404,-2447.2555 2144.9846,-2478.8 2157.2113,-2493.385 2176.9581,-2499.4434 2195.3674,-2501.6338"/>
<polygon fill="#000000" stroke="#000000" points="2195.1415,-2505.1271 2205.4009,-2502.4823 2195.7315,-2498.152 2195.1415,-2505.1271"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge128" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge128"><a xlink:title="at client.go:268: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2009.5164,-1331.9794C2031.4104,-1328.6681 2056.113,-1320.9779 2071.9846,-1303.8 2129.7179,-1241.3148 2042.4151,-1170.0049 2107.9846,-1115.8 2126.3996,-1100.5767 2124.3143,-1142.8164 2144.9846,-1154.8 2162.8217,-1165.1411 2185.1564,-1170.6214 2203.7868,-1173.5257"/>
<polygon fill="#000000" stroke="#000000" points="2203.3204,-1176.9944 2213.7039,-1174.8887 2204.2736,-1170.0596 2203.3204,-1176.9944"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSync&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge253" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSync&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge253"><a xlink:title="at client.go:253: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2009.6787,-1335.1253C2032.0318,-1338.3642 2057.0895,-1346.3157 2071.9846,-1364.8 2112.744,-1415.3814 2104.8953,-2480.6858 2144.9846,-2531.8 2157.2176,-2547.3972 2177.482,-2555.0595 2196.2425,-2558.7578"/>
<polygon fill="#000000" stroke="#000000" points="2195.7207,-2562.2189 2206.1566,-2560.3907 2196.8584,-2555.312 2195.7207,-2562.2189"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload -->
<g id="node81" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload</title>
<g id="a_node81"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload | defined in client.go:642&#10;at client.go:653: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:656: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:643: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1962.8275" cy="-1211.8" rx="72.8063" ry="18"/>
<text text-anchor="middle" x="1962.8275" y="-1207.6" font-family="Verdana" font-size="14.00" fill="#000000">webWxCheckUpload</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge54" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge54"><a xlink:title="at client.go:653: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2031.4063,-1217.9493C2046.9018,-1222.6052 2061.7716,-1230.2838 2071.9846,-1242.8 2106.3254,-1284.8854 2109.5758,-2176.6091 2144.9846,-2217.8 2157.673,-2232.5605 2178.0636,-2238.5412 2196.7903,-2240.633"/>
<polygon fill="#000000" stroke="#000000" points="2196.7215,-2244.1381 2206.9633,-2241.426 2197.2656,-2237.1593 2196.7215,-2244.1381"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge113" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge113"><a xlink:title="at client.go:656: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2029.5846,-1204.6711C2045.1151,-1200.1879 2060.4572,-1193.0625 2071.9846,-1181.8 2111.8124,-1142.8874 2063.3116,-1095.0381 2107.9846,-1061.8 2143.6741,-1035.2459 2111.3492,-1125.6877 2144.9846,-1154.8 2161.0844,-1168.7349 2184.2406,-1174.3166 2203.7696,-1176.3753"/>
<polygon fill="#000000" stroke="#000000" points="2203.6416,-1179.876 2213.8856,-1177.172 2204.1913,-1172.8976 2203.6416,-1179.876"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge246" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge246"><a xlink:title="at client.go:643: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2031.5644,-1217.8215C2047.0569,-1222.4799 2061.8857,-1230.1916 2071.9846,-1242.8 2116.8243,-1298.7821 2100.8865,-2475.2318 2144.9846,-2531.8 2157.1715,-2547.4332 2177.4307,-2555.0996 2196.1998,-2558.7912"/>
<polygon fill="#000000" stroke="#000000" points="2195.6847,-2562.2534 2206.1196,-2560.4197 2196.8187,-2555.3459 2195.6847,-2562.2534"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge319" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge319"><a xlink:title="at client.go:635: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2026.7681,-1950.7679C2043.2558,-1955.3399 2059.774,-1962.7727 2071.9846,-1974.8 2112.1545,-2014.3669 2103.8132,-2179.2762 2144.9846,-2217.8 2158.8173,-2230.7432 2178.6606,-2236.602 2196.7149,-2239.085"/>
<polygon fill="#000000" stroke="#000000" points="2196.4788,-2242.5796 2206.7943,-2240.1629 2197.2232,-2235.6193 2196.4788,-2242.5796"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge79" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge79"><a xlink:title="at client.go:638: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2029.4367,-1938.9162C2045.6416,-1934.4756 2061.349,-1926.8097 2071.9846,-1913.8 2109.2026,-1868.2742 2100.2622,-1444.0936 2107.9846,-1385.8 2113.5477,-1343.8057 2115.4846,-1229.201 2144.9846,-1198.8 2160.0837,-1183.2397 2183.7832,-1177.6994 2203.8485,-1176.0692"/>
<polygon fill="#000000" stroke="#000000" points="2204.1419,-1179.5587 2213.9453,-1175.5407 2203.7759,-1172.5683 2204.1419,-1179.5587"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge207" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge207"><a xlink:title="at client.go:636: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2028.3732,-1949.6102C2044.7754,-1954.1802 2060.8484,-1961.9014 2071.9846,-1974.8 2112.7749,-2022.0458 2104.8204,-2484.0207 2144.9846,-2531.8 2157.586,-2546.7907 2177.5745,-2554.4035 2196.0525,-2558.2262"/>
<polygon fill="#000000" stroke="#000000" points="2195.6528,-2561.7093 2206.106,-2559.9828 2196.8577,-2554.8138 2195.6528,-2561.7093"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge194" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge194"><a xlink:title="at client.go:487: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2013.193,-1702.3655C2034.2907,-1706.0861 2057.2817,-1714.085 2071.9846,-1730.8 2108.1224,-1771.8836 2107.8051,-2177.6566 2144.9846,-2217.8 2158.1128,-2231.9748 2178.358,-2237.9202 2196.8731,-2240.1404"/>
<polygon fill="#000000" stroke="#000000" points="2196.6582,-2243.6349 2206.925,-2241.0192 2197.2679,-2236.6615 2196.6582,-2243.6349"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge154" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge154"><a xlink:title="at client.go:490: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2013.3288,-1698.1601C2034.585,-1694.7375 2057.664,-1686.903 2071.9846,-1669.8 2128.1438,-1602.7292 2085.0906,-1362.2287 2107.9846,-1277.8 2118.1315,-1240.3801 2114.8152,-1223.152 2144.9846,-1198.8 2161.4406,-1185.5171 2184.407,-1179.9354 2203.7434,-1177.7132"/>
<polygon fill="#000000" stroke="#000000" points="2204.1108,-1181.1944 2213.7584,-1176.8154 2203.4858,-1174.2223 2204.1108,-1181.1944"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge258" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge258"><a xlink:title="at client.go:477: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2013.3706,-1701.9255C2034.635,-1705.5474 2057.7089,-1713.5905 2071.9846,-1730.8 2129.0423,-1799.5837 2088.8383,-2462.2703 2144.9846,-2531.8 2157.288,-2547.0362 2177.2398,-2554.6793 2195.7705,-2558.4586"/>
<polygon fill="#000000" stroke="#000000" points="2195.4145,-2561.9484 2205.8614,-2560.1843 2196.5946,-2555.0486 2195.4145,-2561.9484"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge131" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge131"><a xlink:title="at client.go:126: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2016.3594,-971.8604C2048.1425,-977.2125 2086.5059,-989.3748 2108.9846,-1016.8 2149.1656,-1065.823 2099.5019,-1110.6513 2144.9846,-1154.8 2160.4381,-1169.8003 2183.9281,-1175.3631 2203.7963,-1177.1452"/>
<polygon fill="#000000" stroke="#000000" points="2203.5975,-1180.6395 2213.7942,-1177.7624 2204.0289,-1173.6528 2203.5975,-1180.6395"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge295" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge295"><a xlink:title="at client.go:147: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M1995.1479,-1016.5887C2027.3667,-1006.6991 2076.592,-998.0587 2108.9846,-1022.8 2157.3102,-1059.7109 2101.117,-1112.6881 2144.9846,-1154.8 2160.5209,-1169.7145 2184.0122,-1175.276 2203.8604,-1177.0789"/>
<polygon fill="#000000" stroke="#000000" points="2203.6456,-1180.5722 2213.8461,-1177.7086 2204.0863,-1173.5861 2203.6456,-1180.5722"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge18" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge18"><a xlink:title="at client.go:157: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2009.9715,-1147.1551C2031.0536,-1143.3604 2054.9379,-1135.7898 2071.9846,-1120.8 2103.2317,-1093.3232 2075.6015,-1009.962 2108.9846,-1034.8 2153.6575,-1068.0381 2104.3333,-1116.7484 2144.9846,-1154.8 2160.5297,-1169.351 2183.6712,-1174.9491 2203.3312,-1176.8623"/>
<polygon fill="#000000" stroke="#000000" points="2203.3121,-1180.3693 2213.5297,-1177.5674 2203.7949,-1173.3859 2203.3121,-1180.3693"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge337" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge337"><a xlink:title="at client.go:167: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M1993.6569,-1822.219C2018.3573,-1824.2735 2052.0678,-1831.2374 2071.9846,-1852.8 2128.1097,-1913.563 2087.3197,-2158.4962 2144.9846,-2217.8 2158.3529,-2231.5482 2178.436,-2237.4707 2196.7782,-2239.7865"/>
<polygon fill="#000000" stroke="#000000" points="2196.4502,-2243.271 2206.7355,-2240.7288 2197.1097,-2236.3021 2196.4502,-2243.271"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge93" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge93"><a xlink:title="at client.go:173: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M1993.3161,-1822.3475C2018.5046,-1821.0076 2053.0863,-1814.6817 2071.9846,-1791.8 2104.6317,-1752.2714 2099.0727,-1382.2869 2107.9846,-1331.8 2118.6501,-1271.3782 2100.6149,-1241.1778 2144.9846,-1198.8 2160.5587,-1183.925 2184.0506,-1178.3641 2203.8896,-1176.5517"/>
<polygon fill="#000000" stroke="#000000" points="2204.1126,-1180.0447 2213.8699,-1175.9161 2203.6676,-1173.0588 2204.1126,-1180.0447"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge151" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge151"><a xlink:title="at client.go:162: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M1993.6752,-1821.7242C2018.7324,-1823.4496 2052.9343,-1830.2099 2071.9846,-1852.8 2120.9017,-1910.8066 2096.8362,-2473.1537 2144.9846,-2531.8 2157.4111,-2546.9359 2177.3781,-2554.5667 2195.887,-2558.3637"/>
<polygon fill="#000000" stroke="#000000" points="2195.513,-2561.8508 2205.9625,-2560.102 2196.7032,-2554.9527 2195.513,-2561.8508"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge180" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge180"><a xlink:title="at client.go:191: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="#000000" d="M2030.1228,-1400.7363C2046.0262,-1405.3549 2061.4128,-1413.0689 2071.9846,-1425.8 2100.213,-1459.7941 2115.8937,-2184.5409 2144.9846,-2217.8 2157.7993,-2232.4509 2178.2039,-2238.4196 2196.907,-2240.5317"/>
<polygon fill="#000000" stroke="#000000" points="2196.8177,-2244.0356 2207.0637,-2241.339 2197.3725,-2237.0576 2196.8177,-2244.0356"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge311" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge311"><a xlink:title="at client.go:194: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="#000000" d="M2030.0704,-1388.8445C2045.7801,-1384.358 2061.086,-1376.9374 2071.9846,-1364.8 2138.7665,-1290.4274 2031.8584,-1207.5759 2107.9846,-1142.8 2121.1509,-1131.5968 2128.3398,-1150.1291 2144.9846,-1154.8 2164.6057,-1160.3061 2186.7659,-1165.4565 2204.8415,-1169.3877"/>
<polygon fill="#000000" stroke="#000000" points="2204.1795,-1172.8253 2214.6908,-1171.4978 2205.6459,-1165.9806 2204.1795,-1172.8253"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost -->
<g id="edge48" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost</title>
<g id="a_edge48"><a xlink:title="at client.go:178: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]">
<path fill="none" stroke="#000000" d="M2030.3482,-1400.5516C2046.2498,-1405.1717 2061.5792,-1412.9325 2071.9846,-1425.8 2110.7044,-1473.6816 2106.8992,-2483.4123 2144.9846,-2531.8 2157.0968,-2547.1886 2177.025,-2554.8506 2195.5895,-2558.6028"/>
<polygon fill="#000000" stroke="#000000" points="2195.2615,-2562.0969 2205.7045,-2560.3095 2196.4262,-2555.1945 2195.2615,-2562.0969"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendMsg -->
<g id="node90" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendMsg</title>
<g id="a_node90"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SendMsg | defined in relations.go:22&#10;at relations.go:23: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4716.8" rx="34.3425" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4712.6" font-family="Verdana" font-size="14.00" fill="#000000">SendMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend -->
<g id="node169" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend</title>
<g id="a_node169"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend | defined in user.go:226&#10;at user.go:227: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-4878.8" rx="77.4872" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-4874.6" font-family="Verdana" font-size="14.00" fill="#000000">SendMessageToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend -->
<g id="edge221" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend</title>
<g id="a_edge221"><a xlink:title="at relations.go:23: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]">
<path fill="none" stroke="#000000" d="M687.0044,-4713.5433C706.3059,-4709.9625 729.4401,-4702.4673 744.2792,-4686.8 830.3542,-4595.9212 717.9921,-4490.9729 817.3177,-4414.8 891.6744,-4357.7758 956.6756,-4354.2076 1028.1545,-4414.8 1177.3046,-4541.2337 973.9259,-4699.509 1100.193,-4848.8 1105.0284,-4854.5171 1111.0072,-4859.1466 1117.5504,-4862.895"/>
<polygon fill="#000000" stroke="#000000" points="1116.2562,-4866.1603 1126.7686,-4867.4798 1119.3736,-4859.8927 1116.2562,-4866.1603"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendFile -->
<g id="node91" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendFile</title>
<g id="a_node91"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SendFile | defined in relations.go:37&#10;at relations.go:38: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4655.8" rx="32.8258" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4651.6" font-family="Verdana" font-size="14.00" fill="#000000">SendFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendFileToFriend -->
<g id="node170" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend</title>
<g id="a_node170"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend | defined in user.go:244&#10;at user.go:247: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4505.8" rx="62.2341" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4501.6" font-family="Verdana" font-size="14.00" fill="#000000">SendFileToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend -->
<g id="edge16" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend</title>
<g id="a_edge16"><a xlink:title="at relations.go:38: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend]">
<path fill="none" stroke="#000000" d="M676.8446,-4643.2509C695.7876,-4633.0065 722.5079,-4617.6751 744.2792,-4601.8 779.3909,-4576.1974 779.3348,-4557.9097 817.3177,-4536.8 830.8683,-4529.269 846.4435,-4523.389 861.3749,-4518.8728"/>
<polygon fill="#000000" stroke="#000000" points="862.4157,-4522.2154 871.0662,-4516.0982 860.489,-4515.4858 862.4157,-4522.2154"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup -->
<g id="node92" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup</title>
<g id="a_node92"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup | defined in relations.go:42&#10;at relations.go:43: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4960.8" rx="51.2409" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4956.6" font-family="Verdana" font-size="14.00" fill="#000000">AddIntoGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups -->
<g id="node162" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups</title>
<g id="a_node162"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups | defined in user.go:314&#10;at user.go:316: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-5359.8" rx="93.1478" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5355.6" font-family="Verdana" font-size="14.00" fill="#000000">AddFriendIntoManyGroups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups -->
<g id="edge94" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups</title>
<g id="a_edge94"><a xlink:title="at relations.go:43: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups]">
<path fill="none" stroke="#000000" d="M680.0273,-4976.1036C700.7257,-4989.0981 728.2541,-5009.6271 744.2792,-5034.8 816.8142,-5148.741 723.5336,-5232.5971 817.3177,-5329.8 823.2741,-5335.9735 830.4059,-5340.9017 838.1109,-5344.832"/>
<polygon fill="#000000" stroke="#000000" points="836.8275,-5348.0924 847.3832,-5349.0021 839.6987,-5341.7083 836.8275,-5348.0924"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendImage -->
<g id="node93" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendImage</title>
<g id="a_node93"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SendImage | defined in relations.go:32&#10;at relations.go:33: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4838.8" rx="40.2525" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4834.6" font-family="Verdana" font-size="14.00" fill="#000000">SendImage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendImageToFriend -->
<g id="node179" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend</title>
<g id="a_node179"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend | defined in user.go:237&#10;at user.go:240: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4810.8" rx="69.6611" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4806.6" font-family="Verdana" font-size="14.00" fill="#000000">SendImageToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend -->
<g id="edge20" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend</title>
<g id="a_edge20"><a xlink:title="at relations.go:33: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend]">
<path fill="none" stroke="#000000" d="M691.9056,-4834.7286C732.4723,-4830.5142 796.8439,-4823.8267 847.2357,-4818.5916"/>
<polygon fill="#000000" stroke="#000000" points="847.8545,-4822.0463 857.4393,-4817.5316 847.1312,-4815.0837 847.8545,-4822.0463"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SetRemarkName -->
<g id="node94" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName</title>
<g id="a_node94"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName | defined in relations.go:17&#10;at relations.go:18: calling [(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4777.8" rx="58.6726" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4773.6" font-family="Verdana" font-size="14.00" fill="#000000">SetRemarkName</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend -->
<g id="node176" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend</title>
<g id="a_node176"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend | defined in user.go:252&#10;at user.go:254: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4566.8" rx="88.0814" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4562.6" font-family="Verdana" font-size="14.00" fill="#000000">SetRemarkNameToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SetRemarkName&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend -->
<g id="edge9" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend</title>
<g id="a_edge9"><a xlink:title="at relations.go:18: calling [(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend]">
<path fill="none" stroke="#000000" d="M703.9723,-4768.798C718.2466,-4764.3402 732.9322,-4757.6948 744.2792,-4747.8 800.165,-4699.0663 760.7234,-4645.7091 817.3177,-4597.8 825.2274,-4591.1041 834.5315,-4585.8543 844.2764,-4581.7383"/>
<polygon fill="#000000" stroke="#000000" points="845.6308,-4584.9676 853.7232,-4578.1292 843.1326,-4578.4285 845.6308,-4584.9676"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendText -->
<g id="node95" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendText</title>
<g id="a_node95"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SendText | defined in relations.go:27&#10;at relations.go:28: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4899.8" rx="34.7119" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4895.6" font-family="Verdana" font-size="14.00" fill="#000000">SendText</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToFriend -->
<g id="node178" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend</title>
<g id="a_node178"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend | defined in user.go:231&#10;at user.go:233: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]&#10;at user.go:232: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-5237.8" rx="64.1208" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5233.6" font-family="Verdana" font-size="14.00" fill="#000000">SendTextToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend -->
<g id="edge51" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend</title>
<g id="a_edge51"><a xlink:title="at relations.go:28: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend]">
<path fill="none" stroke="#000000" d="M685.7678,-4894.0506C715.0284,-4891.0234 756.7843,-4892.1021 781.2792,-4916.8 873.0494,-5009.3305 732.5921,-5108.7787 817.3177,-5207.8 826.0529,-5218.0091 838.0007,-5224.8641 850.7106,-5229.4399"/>
<polygon fill="#000000" stroke="#000000" points="849.949,-5232.8688 860.5379,-5232.5125 852.038,-5226.1877 849.949,-5232.8688"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).Members -->
<g id="node96" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).Members</title>
<g id="a_node96"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).Members | defined in relations.go:225&#10;at relations.go:226: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5153.8" rx="34.3235" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5149.6" font-family="Verdana" font-size="14.00" fill="#000000">Members</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).Detail -->
<g id="node191" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).Detail</title>
<g id="a_node191"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).Detail | defined in user.go:83&#10;at user.go:89: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]&#10;at user.go:93: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-698.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-694.6" font-family="Verdana" font-size="14.00" fill="#000000">Detail</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).Members&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail -->
<g id="edge174" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).Members&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail</title>
<g id="a_edge174"><a xlink:title="at relations.go:226: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<path fill="none" stroke="#000000" d="M687.0751,-5151.5495C706.9049,-5148.3431 730.56,-5140.8879 744.2792,-5123.8 795.797,-5059.6318 761.3506,-4447.1268 817.3177,-4386.8 882.0225,-4317.0549 965.8738,-4421.718 1028.1545,-4349.8 1079.7495,-4290.2213 1056.1889,-3009.1727 1071.193,-2931.8 1119.069,-2684.915 1216.8413,-2647.2972 1266.6753,-2400.8 1337.2074,-2051.9227 1288.1036,-1956.3948 1303.6753,-1600.8 1305.7941,-1552.4162 1311.4069,-769.124 1339.6753,-729.8 1349.9365,-715.5258 1367.6863,-707.8237 1383.9586,-703.668"/>
<polygon fill="#000000" stroke="#000000" points="1384.7978,-707.0673 1393.8193,-701.5118 1383.3024,-700.2289 1384.7978,-707.0673"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendText -->
<g id="node97" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).SendText</title>
<g id="a_node97"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).SendText | defined in relations.go:210&#10;at relations.go:211: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5336.8" rx="34.7119" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5332.6" font-family="Verdana" font-size="14.00" fill="#000000">SendText</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToGroup -->
<g id="node165" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup</title>
<g id="a_node165"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup | defined in user.go:329&#10;at user.go:330: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]&#10;at user.go:331: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-5298.8" rx="63.7372" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5294.6" font-family="Verdana" font-size="14.00" fill="#000000">SendTextToGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup -->
<g id="edge230" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup</title>
<g id="a_edge230"><a xlink:title="at relations.go:211: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup]">
<path fill="none" stroke="#000000" d="M686.5771,-5332.0258C728.6153,-5326.0987 801.3044,-5315.8503 854.8666,-5308.2985"/>
<polygon fill="#000000" stroke="#000000" points="855.5576,-5311.7358 864.971,-5306.8739 854.5803,-5304.8043 855.5576,-5311.7358"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendMsg -->
<g id="node98" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).SendMsg</title>
<g id="a_node98"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).SendMsg | defined in relations.go:205&#10;at relations.go:206: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5397.8" rx="34.3425" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5393.6" font-family="Verdana" font-size="14.00" fill="#000000">SendMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup -->
<g id="node167" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup</title>
<g id="a_node167"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup | defined in user.go:324&#10;at user.go:325: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-5298.8" rx="77.1039" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-5294.6" font-family="Verdana" font-size="14.00" fill="#000000">SendMessageToGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup -->
<g id="edge314" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup</title>
<g id="a_edge314"><a xlink:title="at relations.go:206: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]">
<path fill="none" stroke="#000000" d="M681.7229,-5407.58C727.0987,-5422.8406 810.4314,-5450.6993 817.3177,-5451.8 909.8484,-5466.5901 941.226,-5486.7873 1028.1545,-5451.8 1044.8978,-5445.0611 1123.1704,-5365.4738 1163.4091,-5323.8394"/>
<polygon fill="#000000" stroke="#000000" points="1166.0332,-5326.1605 1170.4565,-5316.5332 1160.995,-5321.3008 1166.0332,-5326.1605"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).AddFriendsIn -->
<g id="node99" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn</title>
<g id="a_node99"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn | defined in relations.go:234&#10;at relations.go:235: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5458.8" rx="48.4663" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5454.6" font-family="Verdana" font-size="14.00" fill="#000000">AddFriendsIn</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup -->
<g id="node161" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup</title>
<g id="a_node161"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup | defined in user.go:259&#10;at user.go:264: calling [(*github.com/eatMoreApple/openwechat.Group).Members]&#10;at user.go:272: calling [(github.com/eatMoreApple/openwechat.Friend).String]&#10;at user.go:278: calling [(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-5420.8" rx="74.721" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-5416.6" font-family="Verdana" font-size="14.00" fill="#000000">AddFriendsIntoGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).AddFriendsIn&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup -->
<g id="edge266" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup</title>
<g id="a_edge266"><a xlink:title="at relations.go:235: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]">
<path fill="none" stroke="#000000" d="M685.6296,-5472.165C711.0095,-5481.7178 747.242,-5493.7417 780.2792,-5498.8 889.177,-5515.4732 920.831,-5523.6676 1028.1545,-5498.8 1074.1564,-5488.1411 1122.2044,-5462.2602 1153.3378,-5443.2206"/>
<polygon fill="#000000" stroke="#000000" points="1155.4029,-5446.0579 1162.0448,-5437.8035 1151.7051,-5440.1143 1155.4029,-5446.0579"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).RemoveMembers -->
<g id="node100" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).RemoveMembers</title>
<g id="a_node100"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).RemoveMembers | defined in relations.go:241&#10;at relations.go:242: calling [(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5092.8" rx="60.5769" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5088.6" font-family="Verdana" font-size="14.00" fill="#000000">RemoveMembers</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup -->
<g id="node171" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup</title>
<g id="a_node171"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup | defined in user.go:284&#10;at user.go:291: calling [(*github.com/eatMoreApple/openwechat.Group).Members]&#10;at user.go:309: calling [(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4627.8" rx="95.1584" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4623.6" font-family="Verdana" font-size="14.00" fill="#000000">RemoveMemberFromGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).RemoveMembers&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup -->
<g id="edge144" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).RemoveMembers&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup</title>
<g id="a_edge144"><a xlink:title="at relations.go:242: calling [(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup]">
<path fill="none" stroke="#000000" d="M673.9774,-5075.6073C695.116,-5057.3231 726.8342,-5026.4449 744.2792,-4992.8 814.2238,-4857.9028 713.8083,-4770.0444 817.3177,-4658.8 823.2228,-4652.4536 830.3572,-4647.3848 838.0948,-4643.3398"/>
<polygon fill="#000000" stroke="#000000" points="839.7988,-4646.4084 847.4178,-4639.0463 836.8706,-4640.0503 839.7988,-4646.4084"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendImage -->
<g id="node101" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).SendImage</title>
<g id="a_node101"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).SendImage | defined in relations.go:215&#10;at relations.go:216: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5275.8" rx="40.2525" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5271.6" font-family="Verdana" font-size="14.00" fill="#000000">SendImage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendImageToGroup -->
<g id="node177" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup</title>
<g id="a_node177"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup | defined in user.go:335&#10;at user.go:338: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-5176.8" rx="69.278" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5172.6" font-family="Verdana" font-size="14.00" fill="#000000">SendImageToGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup -->
<g id="edge214" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup</title>
<g id="a_edge214"><a xlink:title="at relations.go:216: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup]">
<path fill="none" stroke="#000000" d="M686.6834,-5266.1183C704.1455,-5260.7795 725.6217,-5253.6482 744.2792,-5245.8 778.0088,-5231.6118 783.3838,-5221.4921 817.3177,-5207.8 831.7664,-5201.97 847.7283,-5196.6933 862.7499,-5192.2138"/>
<polygon fill="#000000" stroke="#000000" points="863.8368,-5195.5428 872.4602,-5189.3875 861.8805,-5188.8217 863.8368,-5195.5428"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendFile -->
<g id="node102" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).SendFile</title>
<g id="a_node102"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).SendFile | defined in relations.go:220&#10;at relations.go:221: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5214.8" rx="32.8258" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5210.6" font-family="Verdana" font-size="14.00" fill="#000000">SendFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendFileToGroup -->
<g id="node181" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup</title>
<g id="a_node181"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup | defined in user.go:342&#10;at user.go:345: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4688.8" rx="61.8511" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4684.6" font-family="Verdana" font-size="14.00" fill="#000000">SendFileToGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup -->
<g id="edge283" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup</title>
<g id="a_edge283"><a xlink:title="at relations.go:221: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup]">
<path fill="none" stroke="#000000" d="M685.3834,-5212.4858C705.3468,-5209.2915 729.7533,-5201.8721 744.2792,-5184.8 812.0629,-5105.1345 748.3734,-4798.4631 817.3177,-4719.8 826.7368,-4709.0531 839.6819,-4701.9456 853.2668,-4697.2664"/>
<polygon fill="#000000" stroke="#000000" points="854.6615,-4700.502 863.2305,-4694.2712 852.6463,-4693.7983 854.6615,-4700.502"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendByFriend -->
<g id="node106" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend</title>
<g id="a_node106"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend | defined in message.go:113&#10;at message.go:114: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf]&#10;at message.go:114: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1745.8" rx="55.9219" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1741.6" font-family="Verdana" font-size="14.00" fill="#000000">IsSendByFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="node107" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_node107"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup | defined in message.go:118">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-1775.8" rx="55.5386" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-1771.6" font-family="Verdana" font-size="14.00" fill="#000000">IsSendByGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendByFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge227" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge227"><a xlink:title="at message.go:114: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="#000000" d="M975.2655,-1751.7988C1018.4074,-1756.6792 1079.3818,-1763.5768 1124.901,-1768.7261"/>
<polygon fill="#000000" stroke="#000000" points="1124.6192,-1772.2164 1134.9492,-1769.8627 1125.4061,-1765.2608 1124.6192,-1772.2164"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendBySelf -->
<g id="node108" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf</title>
<g id="a_node108"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf | defined in message.go:108">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-1998.8" rx="48.0925" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-1994.6" font-family="Verdana" font-size="14.00" fill="#000000">IsSendBySelf</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendByFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf -->
<g id="edge218" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf</title>
<g id="a_edge218"><a xlink:title="at message.go:114: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf]">
<path fill="none" stroke="#000000" d="M972.9908,-1753.4882C991.5658,-1758.0709 1011.9755,-1765.3329 1028.1545,-1776.8 1101.1387,-1828.5284 1153.0302,-1924.5174 1175.2988,-1971.4851"/>
<polygon fill="#000000" stroke="#000000" points="1172.2075,-1973.1382 1179.598,-1980.7298 1178.5548,-1970.1865 1172.2075,-1973.1382"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile -->
<g id="node109" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile</title>
<g id="a_node109"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).HasFile | defined in message.go:219&#10;at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]&#10;at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]&#10;at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]&#10;at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-2192.8" rx="29.28" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-2188.6" font-family="Verdana" font-size="14.00" fill="#000000">HasFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsPicture -->
<g id="node110" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsPicture</title>
<g id="a_node110"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsPicture | defined in message.go:157">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-2124.8" rx="32.8067" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-2120.6" font-family="Verdana" font-size="14.00" fill="#000000">IsPicture</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture -->
<g id="edge336" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture</title>
<g id="a_edge336"><a xlink:title="at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]">
<path fill="none" stroke="#000000" d="M949.6181,-2185.7789C996.7378,-2173.6969 1093.3305,-2148.9293 1147.8004,-2134.9626"/>
<polygon fill="#000000" stroke="#000000" points="1148.9652,-2138.2772 1157.7825,-2132.403 1147.2266,-2131.4966 1148.9652,-2138.2772"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsMedia -->
<g id="node111" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsMedia</title>
<g id="a_node111"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsMedia | defined in message.go:177">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-2251.8" rx="30.4087" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-2247.6" font-family="Verdana" font-size="14.00" fill="#000000">IsMedia</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia -->
<g id="edge323" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia</title>
<g id="a_edge323"><a xlink:title="at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]">
<path fill="none" stroke="#000000" d="M950.1157,-2199.0025C997.7154,-2209.5923 1094.745,-2231.1789 1148.83,-2243.2115"/>
<polygon fill="#000000" stroke="#000000" points="1148.2059,-2246.6582 1158.7274,-2245.4134 1149.7261,-2239.8252 1148.2059,-2246.6582"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsVideo -->
<g id="node112" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsVideo</title>
<g id="a_node112"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsVideo | defined in message.go:173">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-2189.8" rx="29.6533" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-2185.6" font-family="Verdana" font-size="14.00" fill="#000000">IsVideo</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVideo -->
<g id="edge272" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVideo</title>
<g id="a_edge272"><a xlink:title="at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]">
<path fill="none" stroke="#000000" d="M951.3756,-2192.4704C999.0579,-2191.931 1093.8199,-2190.859 1147.6478,-2190.2501"/>
<polygon fill="#000000" stroke="#000000" points="1147.8818,-2193.7477 1157.8415,-2190.1348 1147.8025,-2186.7482 1147.8818,-2193.7477"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsVoice -->
<g id="node113" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsVoice</title>
<g id="a_node113"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsVoice | defined in message.go:161">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-2063.8" rx="29.2657" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-2059.6" font-family="Verdana" font-size="14.00" fill="#000000">IsVoice</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice -->
<g id="edge138" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice</title>
<g id="a_edge138"><a xlink:title="at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]">
<path fill="none" stroke="#000000" d="M943.0334,-2179.8931C975.6815,-2159.9686 1041.3214,-2121.26 1100.193,-2094.8 1116.7051,-2087.3786 1135.5738,-2080.4872 1151.5298,-2075.0958"/>
<polygon fill="#000000" stroke="#000000" points="1152.6513,-2078.4114 1161.0411,-2071.9414 1150.4477,-2071.7673 1152.6513,-2078.4114"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile -->
<g id="node114" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile</title>
<g id="a_node114"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).GetFile | defined in message.go:224&#10;at message.go:234: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]&#10;at message.go:229: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg]&#10;at message.go:237: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]&#10;at message.go:235: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo]&#10;at message.go:228: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]&#10;at message.go:225: calling [(*github.com/eatMoreApple/openwechat.Message).HasFile]&#10;at message.go:238: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia]&#10;at message.go:231: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]&#10;at message.go:232: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-2185.8" rx="28.0243" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-2181.6" font-family="Verdana" font-size="14.00" fill="#000000">GetFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg -->
<g id="edge98" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg</title>
<g id="a_edge98"><a xlink:title="at message.go:229: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg]">
<path fill="none" stroke="#000000" d="M681.1916,-2187.6507C701.9499,-2190.598 729.0131,-2198.0647 744.2792,-2216.8 826.5992,-2317.8274 682.6364,-2421.4924 780.2792,-2507.8 862.8226,-2580.7611 923.7914,-2543.0854 1028.1545,-2507.8 1066.3143,-2494.8981 1065.0283,-2472.4485 1100.193,-2452.8 1169.3943,-2414.1334 1218.4332,-2451.7016 1266.6753,-2388.8 1440.0613,-2162.7268 1231.6286,-1372.4242 1339.6753,-1108.8 1396.4643,-970.2402 1429.6688,-920.2876 1566.6543,-859.8 1653.6674,-821.3783 1700.1532,-809.1595 1780.6705,-859.8 1922.2327,-948.834 1748.7689,-1478.5596 1853.6705,-1608.8 1862.0701,-1619.2285 1873.7306,-1626.231 1886.3212,-1630.8924"/>
<polygon fill="#000000" stroke="#000000" points="1885.5011,-1634.3048 1896.092,-1634.0187 1887.6343,-1627.6377 1885.5011,-1634.3048"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice -->
<g id="edge352" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice</title>
<g id="a_edge352"><a xlink:title="at message.go:232: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice]">
<path fill="none" stroke="#000000" d="M680.8731,-2187.4988C701.7473,-2190.3547 729.1077,-2197.773 744.2792,-2216.8 842.3216,-2339.7575 685.8652,-2443.0349 780.2792,-2568.8 798.3853,-2592.9184 875.0609,-2608.8 922.2361,-2608.8 922.2361,-2608.8 922.2361,-2608.8 1071.693,-2608.8 1201.9212,-2608.8 1264.4408,-2553.9774 1303.6753,-2429.8 1512.8664,-1767.7093 1035.9564,-1337.5552 1566.6543,-889.8 1639.3539,-828.4627 1701.2433,-837.4664 1780.6705,-889.8 1849.3331,-935.0409 1791.6734,-1005.7849 1853.6705,-1059.8 1865.3399,-1069.967 1880.1593,-1076.7178 1895.0863,-1081.192"/>
<polygon fill="#000000" stroke="#000000" points="1894.3139,-1084.6084 1904.8791,-1083.8165 1896.126,-1077.847 1894.3139,-1084.6084"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo -->
<g id="edge152" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo</title>
<g id="a_edge152"><a xlink:title="at message.go:235: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo]">
<path fill="none" stroke="#000000" d="M681.111,-2187.7169C701.8271,-2190.6988 728.8728,-2198.1799 744.2792,-2216.8 818.3663,-2306.3414 704.515,-2387.6731 780.2792,-2475.8 792.9101,-2490.4919 981.7375,-2510.5689 1028.1545,-2486.8 1076.9099,-2461.8337 1052.2084,-2413.2174 1100.193,-2386.8 1116.4268,-2377.8627 1253.6453,-2389.9769 1266.6753,-2376.8 1325.1441,-2317.6724 1287.617,-946.6429 1339.6753,-881.8 1401.6303,-804.6301 1697.1616,-766.6975 1780.6705,-819.8 1917.8701,-907.0438 1751.5622,-1421.2729 1853.6705,-1547.8 1863.3904,-1559.8444 1877.4596,-1567.3175 1892.2826,-1571.892"/>
<polygon fill="#000000" stroke="#000000" points="1891.5306,-1575.3136 1902.094,-1574.4984 1893.3279,-1568.5482 1891.5306,-1575.3136"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia -->
<g id="edge274" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia</title>
<g id="a_edge274"><a xlink:title="at message.go:238: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia]">
<path fill="none" stroke="#000000" d="M680.8621,-2187.5076C701.7304,-2190.3682 729.0881,-2197.7885 744.2792,-2216.8 792.3976,-2277.0196 723.0147,-2510.2 780.2792,-2561.8 869.6806,-2642.358 1234.5156,-2521.2842 1303.6753,-2422.8 1353.3349,-2352.0841 1500.5889,-945.4972 1566.6543,-889.8 1603.0157,-859.1451 1745.9887,-857.2571 1780.6705,-889.8 1966.7591,-1064.4119 1692.5991,-1837.8751 1853.6705,-2035.8 1863.2871,-2047.6168 1877.0887,-2055.028 1891.6591,-2059.6181"/>
<polygon fill="#000000" stroke="#000000" points="1890.7404,-2062.9953 1901.3086,-2062.245 1892.5792,-2056.2411 1890.7404,-2062.9953"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).HasFile -->
<g id="edge178" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).HasFile</title>
<g id="a_edge178"><a xlink:title="at message.go:225: calling [(*github.com/eatMoreApple/openwechat.Message).HasFile]">
<path fill="none" stroke="#000000" d="M681.049,-2186.5359C729.4247,-2187.7923 828.0359,-2190.3534 883.0027,-2191.781"/>
<polygon fill="#000000" stroke="#000000" points="882.9738,-2195.2814 893.0614,-2192.0423 883.1556,-2188.2837 882.9738,-2195.2814"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture -->
<g id="edge156" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture</title>
<g id="a_edge156"><a xlink:title="at message.go:228: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]">
<path fill="none" stroke="#000000" d="M680.3425,-2181.6254C713.0117,-2176.762 769.0509,-2168.648 817.3177,-2162.8 935.9511,-2148.4265 1076.4123,-2134.9821 1145.1966,-2128.6304"/>
<polygon fill="#000000" stroke="#000000" points="1145.5731,-2132.1107 1155.2104,-2127.7092 1144.9318,-2125.1401 1145.5731,-2132.1107"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia -->
<g id="edge143" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia</title>
<g id="a_edge143"><a xlink:title="at message.go:237: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]">
<path fill="none" stroke="#000000" d="M678.0012,-2194.0074C703.6479,-2202.2191 744.5438,-2215.0046 780.2792,-2224.8 796.6171,-2229.2784 800.5512,-2231.3777 817.3177,-2233.8 935.776,-2250.9143 1077.5366,-2252.66 1146.165,-2252.3361"/>
<polygon fill="#000000" stroke="#000000" points="1146.5598,-2255.8337 1156.5368,-2252.2684 1146.5141,-2248.8339 1146.5598,-2255.8337"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVideo -->
<g id="edge92" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVideo</title>
<g id="a_edge92"><a xlink:title="at message.go:234: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]">
<path fill="none" stroke="#000000" d="M678.3425,-2193.6263C710.4534,-2202.987 767.3426,-2218.1063 817.3177,-2223.8 910.4207,-2234.4073 934.9669,-2233.6352 1028.1545,-2223.8 1070.6551,-2219.3144 1118.4915,-2208.2739 1150.5487,-2199.9821"/>
<polygon fill="#000000" stroke="#000000" points="1151.5943,-2203.3262 1160.3756,-2197.3984 1149.8143,-2196.5563 1151.5943,-2203.3262"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice -->
<g id="edge316" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice</title>
<g id="a_edge316"><a xlink:title="at message.go:231: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]">
<path fill="none" stroke="#000000" d="M677.1438,-2176.4883C708.9489,-2164.7368 766.4857,-2144.7412 817.3177,-2133.8 909.5667,-2113.9442 935.6121,-2127.2401 1028.1545,-2108.8 1071.3839,-2100.1861 1119.9964,-2085.7378 1152.019,-2075.5401"/>
<polygon fill="#000000" stroke="#000000" points="1153.3578,-2078.7861 1161.8051,-2072.3912 1151.2137,-2072.1225 1153.3578,-2078.7861"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Agree -->
<g id="node115" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Agree</title>
<g id="a_node115"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Agree | defined in message.go:277&#10;at message.go:278: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]&#10;at message.go:285: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-2050.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-2046.6" font-family="Verdana" font-size="14.00" fill="#000000">Agree</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Agree&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser -->
<g id="edge303" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Agree&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser</title>
<g id="a_edge303"><a xlink:title="at message.go:285: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser]">
<path fill="none" stroke="#000000" d="M680.0249,-2052.3738C701.0087,-2055.1375 728.9201,-2062.4932 744.2792,-2081.8 794.3323,-2144.7181 759.2783,-2364.1923 780.2792,-2441.8 790.6192,-2480.0108 787.5898,-2496.6613 817.3177,-2522.8 906.3807,-2601.11 960.6836,-2561.4229 1072.193,-2601.8 1270.1948,-2673.4956 1376.211,-2620.8956 1509.6543,-2783.8 1551.5769,-2834.978 1528.711,-2864.3949 1538.6543,-2929.8 1547.5214,-2988.1255 1528.3666,-3148.9163 1566.6543,-3193.8 1576.1285,-3204.9064 1589.2477,-3212.1156 1603.1565,-3216.7479"/>
<polygon fill="#000000" stroke="#000000" points="1602.2979,-3220.1429 1612.8767,-3219.5593 1604.2429,-3213.4186 1602.2979,-3220.1429"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsFriendAdd -->
<g id="node116" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd</title>
<g id="a_node116"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd | defined in message.go:165">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1928.8" rx="44.5516" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1924.6" font-family="Verdana" font-size="14.00" fill="#000000">IsFriendAdd</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Agree&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd -->
<g id="edge59" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Agree&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd</title>
<g id="a_edge59"><a xlink:title="at message.go:278: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<path fill="none" stroke="#000000" d="M678.6568,-2045.1031C697.6044,-2040.2883 723.5045,-2032.3177 744.2792,-2020.8 781.2686,-2000.2928 780.0316,-1979.7627 817.3177,-1959.8 834.2716,-1950.723 854.2267,-1943.9768 872.157,-1939.1377"/>
<polygon fill="#000000" stroke="#000000" points="873.0621,-1942.5189 881.878,-1936.6427 871.3219,-1935.7386 873.0621,-1942.5189"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup -->
<g id="node117" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup</title>
<g id="a_node117"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).SenderInGroup | defined in message.go:67&#10;at message.go:75: calling [(*github.com/eatMoreApple/openwechat.User).Detail]&#10;at message.go:68: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]&#10;at message.go:71: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]&#10;at message.go:83: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at message.go:79: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1684.8" rx="53.1228" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1680.6" font-family="Verdana" font-size="14.00" fill="#000000">SenderInGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge222" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge222"><a xlink:title="at message.go:68: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="#000000" d="M963.7077,-1696.1533C983.351,-1701.7307 1007.0747,-1708.756 1028.1545,-1715.8 1067.2687,-1728.8703 1111.0743,-1745.522 1142.8312,-1757.9656"/>
<polygon fill="#000000" stroke="#000000" points="1141.6943,-1761.2794 1152.2814,-1761.6837 1144.2572,-1754.7654 1141.6943,-1761.2794"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Sender -->
<g id="node118" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Sender</title>
<g id="a_node118"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Sender | defined in message.go:58&#10;at message.go:63: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-1684.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-1680.6" font-family="Verdana" font-size="14.00" fill="#000000">Sender</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender -->
<g id="edge223" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender</title>
<g id="a_edge223"><a xlink:title="at message.go:71: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]">
<path fill="none" stroke="#000000" d="M975.5839,-1684.8C1027.3634,-1684.8 1104.6097,-1684.8 1150.1193,-1684.8"/>
<polygon fill="#000000" stroke="#000000" points="1150.1495,-1688.3001 1160.1494,-1684.8 1150.1494,-1681.3001 1150.1495,-1688.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail -->
<g id="edge17" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail</title>
<g id="a_edge17"><a xlink:title="at message.go:75: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<path fill="none" stroke="#000000" d="M950.2257,-1669.4158C979.9493,-1653.2508 1028.4466,-1627.3655 1071.193,-1606.8 1156.7261,-1565.6496 1211.2024,-1597.8195 1266.6753,-1520.8 1473.0101,-1234.3215 1126.3995,-1011.1492 1339.6753,-729.8 1350.2198,-715.8899 1367.8245,-708.2209 1383.9319,-703.9931"/>
<polygon fill="#000000" stroke="#000000" points="1384.7126,-707.405 1393.691,-701.7803 1383.1646,-700.5783 1384.7126,-707.405"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).First -->
<g id="node229" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_node229"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).First | defined in user.go:417&#10;at user.go:418: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-3858.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-3854.6" font-family="Verdana" font-size="14.00" fill="#000000">First</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge245" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge245"><a xlink:title="at message.go:83: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="#000000" d="M951.4051,-1669.5734C1017.3292,-1637.5071 1178.8865,-1572.4762 1266.6753,-1654.8 1358.8567,-1741.243 1330.8462,-2663.7371 1339.6753,-2789.8 1368.6443,-3203.4229 1408.5265,-3706.6955 1418.3904,-3830.3582"/>
<polygon fill="#000000" stroke="#000000" points="1414.9156,-3830.815 1419.2003,-3840.5048 1421.8934,-3830.2579 1414.9156,-3830.815"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="node236" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_node236"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByUserName | defined in user.go:443&#10;at user.go:444: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-3858.8" rx="69.2542" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-3854.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByUserName</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="edge302" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_edge302"><a xlink:title="at message.go:79: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]">
<path fill="none" stroke="#000000" d="M975.0083,-1687.8812C994.6424,-1691.8298 1015.2614,-1699.8605 1028.1545,-1715.8 1063.1217,-1759.0293 1171.1428,-3581.0508 1185.785,-3830.5917"/>
<polygon fill="#000000" stroke="#000000" points="1182.2964,-3830.8892 1186.3756,-3840.6673 1189.2844,-3830.4796 1182.2964,-3830.8892"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail -->
<g id="edge45" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail</title>
<g id="a_edge45"><a xlink:title="at message.go:63: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<path fill="none" stroke="#000000" d="M1210.2661,-1674.5048C1237.9945,-1660.6169 1283.5493,-1633.0198 1303.6753,-1593.8 1347.5427,-1508.3152 1283.579,-807.8077 1339.6753,-729.8 1349.9389,-715.5275 1367.6889,-707.8256 1383.9607,-703.6695"/>
<polygon fill="#000000" stroke="#000000" points="1384.7998,-707.0688 1393.821,-701.513 1383.3041,-700.2305 1384.7998,-707.0688"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Reply -->
<g id="node119" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Reply</title>
<g id="a_node119"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Reply | defined in message.go:123&#10;at message.go:124: calling [github.com/eatMoreApple/openwechat.NewSendMessage]&#10;at message.go:127: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-2368.8" rx="27" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-2364.6" font-family="Verdana" font-size="14.00" fill="#000000">Reply</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Reply&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="edge344" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Reply&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_edge344"><a xlink:title="at message.go:124: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<path fill="none" stroke="#000000" d="M949.2659,-2371.6614C1015.6864,-2377.0084 1187.2498,-2380.2709 1266.6753,-2282.8 1328.6345,-2206.7638 1268.9002,-586.7068 1339.6753,-518.8 1375.0322,-484.876 1732.5993,-509.3075 1780.6705,-518.8 1815.0833,-525.5954 1820.9744,-536.0964 1853.6705,-548.8 1949.9934,-586.2248 2011.775,-544.8147 2071.9846,-628.8 2168.7653,-763.7977 2098.7173,-3458.2687 2144.9846,-3617.8 2160.0753,-3669.8334 2196.4055,-3722.1799 2219.776,-3752.2148"/>
<polygon fill="#000000" stroke="#000000" points="2217.046,-3754.4051 2225.9956,-3760.0757 2222.5356,-3750.0617 2217.046,-3754.4051"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Reply&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg -->
<g id="edge345" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Reply&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg</title>
<g id="a_edge345"><a xlink:title="at message.go:127: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<path fill="none" stroke="#000000" d="M949.2313,-2367.5959C972.6813,-2367.992 1006.2331,-2372.2217 1028.1545,-2390.8 1045.0619,-2405.129 1087.5571,-2558.5925 1100.193,-2576.8 1181.4077,-2693.8244 1229.2039,-2699.8745 1339.6753,-2789.8 1425.1518,-2859.3792 1486.9658,-2840.4564 1538.6543,-2937.8 1571.0986,-2998.9015 1523.3736,-3505.8296 1566.6543,-3559.8 1576.842,-3572.504 1591.8079,-3580.158 1607.4725,-3584.6903"/>
<polygon fill="#000000" stroke="#000000" points="1606.7309,-3588.1124 1617.2798,-3587.1262 1608.4184,-3581.3188 1606.7309,-3588.1124"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).init&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge55" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).init&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge55"><a xlink:title="at message.go:311: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="#000000" d="M677.4815,-2104.5609C696.0672,-2098.9182 722.0305,-2090.5871 744.2792,-2081.8 777.5823,-2068.6469 782.9209,-2057.7476 817.3177,-2047.8 908.0693,-2021.5544 948.1567,-2071.0496 1028.1545,-2020.8 1111.1232,-1968.6843 1159.5575,-1855.768 1178.3441,-1803.446"/>
<polygon fill="#000000" stroke="#000000" points="1181.7111,-1804.4203 1181.7075,-1793.8255 1175.1033,-1802.1101 1181.7111,-1804.4203"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver -->
<g id="node121" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver</title>
<g id="a_node121"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Receiver | defined in message.go:87&#10;at message.go:89: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]&#10;at message.go:88: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]&#10;at message.go:99: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at message.go:92: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at message.go:96: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at message.go:103: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-2077.8" rx="32.7924" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-2073.6" font-family="Verdana" font-size="14.00" fill="#000000">Receiver</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).init&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Receiver -->
<g id="edge60" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).init&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Receiver</title>
<g id="a_edge60"><a xlink:title="at message.go:315: calling [(*github.com/eatMoreApple/openwechat.Message).Receiver]">
<path fill="none" stroke="#000000" d="M679.543,-2108.4156C726.5482,-2102.486 824.1136,-2090.1781 880.1688,-2083.1068"/>
<polygon fill="#000000" stroke="#000000" points="880.6477,-2086.5742 890.131,-2081.8501 879.7715,-2079.6292 880.6477,-2086.5742"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge145" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge145"><a xlink:title="at message.go:88: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="#000000" d="M954.7112,-2075.8643C987.9374,-2072.2632 1039.2329,-2061.9988 1072.193,-2032.8 1095.4329,-2012.2122 1087.5764,-1997.1685 1100.193,-1968.8 1126.5293,-1909.5832 1157.9541,-1840.4232 1174.9773,-1803.08"/>
<polygon fill="#000000" stroke="#000000" points="1178.2168,-1804.4117 1179.1821,-1793.8609 1171.8479,-1801.5069 1178.2168,-1804.4117"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender -->
<g id="edge73" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender</title>
<g id="a_edge73"><a xlink:title="at message.go:89: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]">
<path fill="none" stroke="#000000" d="M951.2344,-2069.4056C975.3093,-2060.9594 1008.6564,-2045.5811 1028.1545,-2020.8 1106.2815,-1921.5047 1027.9791,-1849.4751 1100.193,-1745.8 1114.1726,-1725.73 1137.0139,-1710.1085 1155.8183,-1699.6999"/>
<polygon fill="#000000" stroke="#000000" points="1157.47,-1702.7858 1164.6688,-1695.0123 1154.1936,-1696.5998 1157.47,-1702.7858"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge332" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge332"><a xlink:title="at message.go:96: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at message.go:103: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="#000000" d="M945.9201,-2090.419C970.3586,-2104.6967 1007.7083,-2130.2586 1028.1545,-2162.8 1216.437,-2462.4626 1388.7251,-3633.2594 1416.7058,-3830.5111"/>
<polygon fill="#000000" stroke="#000000" points="1413.2725,-3831.2302 1418.1371,-3840.6422 1420.2037,-3830.2508 1413.2725,-3831.2302"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="edge240" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_edge240"><a xlink:title="at message.go:99: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at message.go:92: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]">
<path fill="none" stroke="#000000" d="M947.0906,-2089.7539C972.5066,-2103.4761 1010.6647,-2128.5787 1028.1545,-2162.8 1071.3417,-2247.3019 1062.3123,-2921.3181 1071.193,-3015.8 1101.4351,-3337.5428 1164.8616,-3724.9164 1182.6851,-3830.8686"/>
<polygon fill="#000000" stroke="#000000" points="1179.2415,-3831.4969 1184.3569,-3840.775 1186.1439,-3830.332 1179.2415,-3831.4969"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyText -->
<g id="node122" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyText</title>
<g id="a_node122"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).ReplyText | defined in message.go:131&#10;at message.go:132: calling [(*github.com/eatMoreApple/openwechat.Message).Reply]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-2246.8" rx="37.8675" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-2242.6" font-family="Verdana" font-size="14.00" fill="#000000">ReplyText</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyText&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Reply -->
<g id="edge318" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyText&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Reply</title>
<g id="a_edge318"><a xlink:title="at message.go:132: calling [(*github.com/eatMoreApple/openwechat.Message).Reply]">
<path fill="none" stroke="#000000" d="M686.5992,-2255.0311C704.4337,-2260.1513 726.2746,-2267.7021 744.2792,-2277.8 781.1674,-2298.4888 779.9442,-2319.0013 817.3177,-2338.8 838.6566,-2350.1043 864.7566,-2357.589 885.5862,-2362.2552"/>
<polygon fill="#000000" stroke="#000000" points="885.136,-2365.7374 895.644,-2364.3838 886.5854,-2358.8891 885.136,-2365.7374"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyFile -->
<g id="node123" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyFile</title>
<g id="a_node123"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).ReplyFile | defined in message.go:143&#10;at message.go:146: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-2307.8" rx="35.9827" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-2303.6" font-family="Verdana" font-size="14.00" fill="#000000">ReplyFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile -->
<g id="edge41" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile</title>
<g id="a_edge41"><a xlink:title="at message.go:146: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<path fill="none" stroke="#000000" d="M688.2813,-2310.8412C707.7671,-2314.4382 730.6582,-2322.1882 744.2792,-2338.8 822.9957,-2434.8003 713.9749,-2510.8424 780.2792,-2615.8 850.3101,-2726.6566 937.1634,-2681.3854 1028.1545,-2775.8 1190.6816,-2944.4421 1380.0938,-3540.2007 1566.6543,-3681.8 1579.8889,-3691.8451 1596.251,-3698.5295 1612.3083,-3702.9768"/>
<polygon fill="#000000" stroke="#000000" points="1611.6851,-3706.4288 1622.2361,-3705.4668 1613.388,-3699.6391 1611.6851,-3706.4288"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket -->
<g id="node124" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket</title>
<g id="a_node124"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket | defined in message.go:205&#10;at message.go:206: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-1684.8" rx="69.6389" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1680.6" font-family="Verdana" font-size="14.00" fill="#000000">IsReceiveRedPacket</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSystem -->
<g id="node125" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSystem</title>
<g id="a_node125"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSystem | defined in message.go:186">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1806.8" rx="33.5805" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1802.6" font-family="Verdana" font-size="14.00" fill="#000000">IsSystem</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSystem -->
<g id="edge124" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSystem</title>
<g id="a_edge124"><a xlink:title="at message.go:206: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]">
<path fill="none" stroke="#000000" d="M701.6675,-1697.6794C715.877,-1702.3863 731.1051,-1708.4113 744.2792,-1715.8 781.1674,-1736.4888 779.9442,-1757.0013 817.3177,-1776.8 836.8485,-1787.1464 860.3676,-1794.2931 880.1838,-1799.0077"/>
<polygon fill="#000000" stroke="#000000" points="879.6435,-1802.4736 890.1681,-1801.2555 881.181,-1795.6445 879.6435,-1802.4736"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyImage -->
<g id="node126" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyImage</title>
<g id="a_node126"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).ReplyImage | defined in message.go:136&#10;at message.go:139: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-2368.8" rx="43.4091" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-2364.6" font-family="Verdana" font-size="14.00" fill="#000000">ReplyImage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg -->
<g id="edge120" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg</title>
<g id="a_edge120"><a xlink:title="at message.go:139: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<path fill="none" stroke="#000000" d="M659.766,-2386.7237C680.8961,-2439.7787 746.6217,-2600.1132 817.3177,-2724.8 1020.5599,-3083.2589 1085.129,-3166.7531 1339.6753,-3490.8 1432.7879,-3609.3358 1438.2105,-3663.9148 1566.6543,-3742.8 1577.838,-3749.6686 1590.5985,-3754.9879 1603.3884,-3759.1006"/>
<polygon fill="#000000" stroke="#000000" points="1602.5656,-3762.5076 1613.149,-3762.0161 1604.5691,-3755.8004 1602.5656,-3762.5076"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts -->
<g id="node127" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts</title>
<g id="a_node127"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts | defined in message.go:195&#10;at message.go:196: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-2307.8" rx="66.8535" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-2303.6" font-family="Verdana" font-size="14.00" fill="#000000">IsTransferAccounts</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia -->
<g id="edge102" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia</title>
<g id="a_edge102"><a xlink:title="at message.go:196: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]">
<path fill="none" stroke="#000000" d="M974.9478,-2296.6692C1026.2059,-2285.8454 1102.8562,-2269.6597 1148.725,-2259.974"/>
<polygon fill="#000000" stroke="#000000" points="1149.5186,-2263.3836 1158.5797,-2257.893 1148.0723,-2256.5347 1149.5186,-2263.3836"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).RevokeMsg -->
<g id="node128" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).RevokeMsg</title>
<g id="a_node128"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).RevokeMsg | defined in message.go:266&#10;at message.go:271: calling [github.com/eatMoreApple/openwechat.XmlFormString]&#10;at message.go:267: calling [(*github.com/eatMoreApple/openwechat.Message).IsRecalled]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-1989.8" rx="42.5419" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1985.6" font-family="Verdana" font-size="14.00" fill="#000000">RevokeMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).RevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString -->
<g id="edge237" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).RevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString</title>
<g id="a_edge237"><a xlink:title="at message.go:271: calling [github.com/eatMoreApple/openwechat.XmlFormString]">
<path fill="none" stroke="#000000" d="M694.5309,-1993.8928C712.5881,-1997.8887 732.2838,-2005.68 744.2792,-2020.8 795.6226,-2085.5175 727.0704,-2327.6073 780.2792,-2390.8 799.0459,-2413.088 829.249,-2423.2596 856.9815,-2427.6861"/>
<polygon fill="#000000" stroke="#000000" points="856.6783,-2431.1773 867.0612,-2429.0689 857.6297,-2424.2422 856.6783,-2431.1773"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsRecalled -->
<g id="node129" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsRecalled</title>
<g id="a_node129"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsRecalled | defined in message.go:182">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1989.8" rx="37.8469" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1985.6" font-family="Verdana" font-size="14.00" fill="#000000">IsRecalled</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).RevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsRecalled -->
<g id="edge297" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).RevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsRecalled</title>
<g id="a_edge297"><a xlink:title="at message.go:267: calling [(*github.com/eatMoreApple/openwechat.Message).IsRecalled]">
<path fill="none" stroke="#000000" d="M695.7194,-1989.8C744.3835,-1989.8 823.4491,-1989.8 874.1268,-1989.8"/>
<polygon fill="#000000" stroke="#000000" points="874.1775,-1993.3001 884.1775,-1989.8 874.1774,-1986.3001 874.1775,-1993.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsCard -->
<g id="node130" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsCard</title>
<g id="a_node130"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsCard | defined in message.go:169">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1867.8" rx="27" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1863.6" font-family="Verdana" font-size="14.00" fill="#000000">IsCard</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Card -->
<g id="node131" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Card</title>
<g id="a_node131"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Card | defined in message.go:244&#10;at message.go:245: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]&#10;at message.go:249: calling [github.com/eatMoreApple/openwechat.XmlFormString]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-1867.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1863.6" font-family="Verdana" font-size="14.00" fill="#000000">Card</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Card&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString -->
<g id="edge211" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Card&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString</title>
<g id="a_edge211"><a xlink:title="at message.go:249: calling [github.com/eatMoreApple/openwechat.XmlFormString]">
<path fill="none" stroke="#000000" d="M679.7917,-1869.5636C700.6437,-1872.4347 728.4914,-1879.8422 744.2792,-1898.8 888.5594,-2072.05 668.1782,-2231.715 817.3177,-2400.8 827.7774,-2412.6585 842.6078,-2419.8633 857.8344,-2424.1895"/>
<polygon fill="#000000" stroke="#000000" points="857.3109,-2427.6645 867.8558,-2426.6368 858.9716,-2420.8643 857.3109,-2427.6645"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Card&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsCard -->
<g id="edge200" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Card&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsCard</title>
<g id="a_edge200"><a xlink:title="at message.go:245: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]">
<path fill="none" stroke="#000000" d="M679.7917,-1867.8C728.3244,-1867.8 830.1803,-1867.8 885.1585,-1867.8"/>
<polygon fill="#000000" stroke="#000000" points="885.1774,-1871.3001 895.1774,-1867.8 885.1773,-1864.3001 885.1774,-1871.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket -->
<g id="node132" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket</title>
<g id="a_node132"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket | defined in message.go:200&#10;at message.go:201: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-1806.8" rx="59.8177" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1802.6" font-family="Verdana" font-size="14.00" fill="#000000">IsSendRedPacket</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSystem -->
<g id="edge330" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSystem</title>
<g id="a_edge330"><a xlink:title="at message.go:201: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]">
<path fill="none" stroke="#000000" d="M712.8653,-1806.8C763.0979,-1806.8 833.5269,-1806.8 878.5203,-1806.8"/>
<polygon fill="#000000" stroke="#000000" points="878.55,-1810.3001 888.55,-1806.8 878.5499,-1803.3001 878.55,-1810.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsText -->
<g id="node133" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsText</title>
<g id="a_node133"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsText | defined in message.go:149">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-1745.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1741.6" font-family="Verdana" font-size="14.00" fill="#000000">IsText</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent -->
<g id="node134" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent</title>
<g id="a_node134"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent | defined in message.go:255&#10;at message.go:260: calling [github.com/eatMoreApple/openwechat.XmlFormString]&#10;at message.go:256: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-1928.8" rx="91.6286" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1924.6" font-family="Verdana" font-size="14.00" fill="#000000">FriendAddMessageContent</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString -->
<g id="edge75" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString</title>
<g id="a_edge75"><a xlink:title="at message.go:260: calling [github.com/eatMoreApple/openwechat.XmlFormString]">
<path fill="none" stroke="#000000" d="M719.6649,-1941.1518C729.1403,-1945.6004 737.8342,-1951.6309 744.2792,-1959.8 798.4619,-2028.4773 748.6933,-2270.2238 780.2792,-2351.8 790.1363,-2377.2577 794.7344,-2385.4622 817.3177,-2400.8 830.3984,-2409.6839 846.1365,-2415.8585 861.3975,-2420.1458"/>
<polygon fill="#000000" stroke="#000000" points="860.7678,-2423.5977 871.3246,-2422.7001 862.5122,-2416.8186 860.7678,-2423.5977"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd -->
<g id="edge226" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd</title>
<g id="a_edge226"><a xlink:title="at message.go:256: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<path fill="none" stroke="#000000" d="M744.3386,-1928.8C785.174,-1928.8 831.917,-1928.8 867.2388,-1928.8"/>
<polygon fill="#000000" stroke="#000000" points="867.3484,-1932.3001 877.3483,-1928.8 867.3483,-1925.3001 867.3484,-1932.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageContext).Next -->
<g id="node135" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageContext).Next</title>
<g id="a_node135"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageContext).Next | defined in message_handle.go:32">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-731.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-727.6" font-family="Verdana" font-size="14.00" fill="#000000">Next</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend -->
<g id="node136" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend</title>
<g id="a_node136"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend | defined in message_handle.go:144&#10;at message_handle.go:145: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1122.8" rx="34.7119" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1118.6" font-family="Verdana" font-size="14.00" fill="#000000">OnFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="node137" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_node137"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler | defined in message_handle.go:98">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-1244.8" rx="56.2721" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-1240.6" font-family="Verdana" font-size="14.00" fill="#000000">RegisterHandler</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge184" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge184"><a xlink:title="at message_handle.go:145: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M954.4288,-1130.1299C975.779,-1135.4952 1004.1731,-1143.6072 1028.1545,-1153.8 1073.7717,-1173.1886 1122.7938,-1202.637 1154.2202,-1222.747"/>
<polygon fill="#000000" stroke="#000000" points="1152.6926,-1225.9268 1162.9922,-1228.4107 1156.4896,-1220.0461 1152.6926,-1225.9268"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard -->
<g id="node138" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard</title>
<g id="a_node138"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard | defined in message_handle.go:127&#10;at message_handle.go:128: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1061.8" rx="29.6549" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1057.6" font-family="Verdana" font-size="14.00" fill="#000000">OnCard</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge163" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge163"><a xlink:title="at message_handle.go:128: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M951.135,-1066.3987C973.307,-1070.8133 1004.0914,-1078.9145 1028.1545,-1092.8 1086.1435,-1126.2623 1139.3443,-1185.0911 1167.1624,-1218.9098"/>
<polygon fill="#000000" stroke="#000000" points="1164.6573,-1221.3773 1173.6754,-1226.9382 1170.0934,-1216.9672 1164.6573,-1221.3773"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser -->
<g id="node139" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser</title>
<g id="a_node139"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser | defined in message_handle.go:154&#10;at message_handle.go:162: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1366.8" rx="29.2673" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1362.6" font-family="Verdana" font-size="14.00" fill="#000000">OnUser</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge50" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge50"><a xlink:title="at message_handle.go:162: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M949.8617,-1360.9604C971.6163,-1355.8935 1002.4526,-1347.6635 1028.1545,-1336.8 1074.0682,-1317.3936 1123.2078,-1287.4494 1154.5699,-1267.0327"/>
<polygon fill="#000000" stroke="#000000" points="1156.8826,-1269.7011 1163.3176,-1261.2843 1153.0383,-1263.8511 1156.8826,-1269.7011"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName -->
<g id="node140" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName</title>
<g id="a_node140"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName | defined in message_handle.go:166&#10;at message_handle.go:170: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-1061.8" rx="88.0845" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1057.6" font-family="Verdana" font-size="14.00" fill="#000000">OnFriendByRemarkName</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser -->
<g id="edge169" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser</title>
<g id="a_edge169"><a xlink:title="at message_handle.go:170: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser]">
<path fill="none" stroke="#000000" d="M716.4483,-1074.5094C726.7757,-1078.9082 736.5874,-1084.8294 744.2792,-1092.8 822.8855,-1174.2555 736.7816,-1257.252 817.3177,-1336.8 834.655,-1353.9246 861.0578,-1361.4144 883.0391,-1364.6281"/>
<polygon fill="#000000" stroke="#000000" points="882.7462,-1368.1182 893.0964,-1365.8546 883.5936,-1361.1697 882.7462,-1368.1182"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice -->
<g id="node141" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice</title>
<g id="a_node141"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice | defined in message_handle.go:117&#10;at message_handle.go:118: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1000.8" rx="33.1816" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-996.6" font-family="Verdana" font-size="14.00" fill="#000000">OnVoice</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge304" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge304"><a xlink:title="at message_handle.go:118: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M954.6752,-1004.7914C976.9293,-1008.7806 1006.2754,-1016.6149 1028.1545,-1031.8 1099.1894,-1081.1014 1151.5281,-1172.246 1174.514,-1217.6389"/>
<polygon fill="#000000" stroke="#000000" points="1171.5106,-1219.4602 1179.0954,-1226.8575 1177.7792,-1216.3448 1171.5106,-1219.4602"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd -->
<g id="node142" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd</title>
<g id="a_node142"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd | defined in message_handle.go:122&#10;at message_handle.go:123: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1488.8" rx="48.4679" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1484.6" font-family="Verdana" font-size="14.00" fill="#000000">OnFriendAdd</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge287" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge287"><a xlink:title="at message_handle.go:123: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M967.8167,-1482.6482C987.6518,-1478.3378 1010.3727,-1471.0563 1028.1545,-1458.8 1099.7129,-1409.4777 1151.9474,-1317.4784 1174.7382,-1271.8696"/>
<polygon fill="#000000" stroke="#000000" points="1177.8894,-1273.3928 1179.151,-1262.8733 1171.6047,-1270.3101 1177.8894,-1273.3928"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName -->
<g id="node143" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName</title>
<g id="a_node143"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName | defined in message_handle.go:132&#10;at message_handle.go:140: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1427.8" rx="78.2444" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1423.6" font-family="Verdana" font-size="14.00" fill="#000000">OnFriendByNickName</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge294" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge294"><a xlink:title="at message_handle.go:140: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M982.5664,-1416.1853C998.0365,-1411.7612 1014.2277,-1405.786 1028.1545,-1397.8 1086.7234,-1364.2151 1140.0757,-1304.4493 1167.6799,-1270.4056"/>
<polygon fill="#000000" stroke="#000000" points="1170.6203,-1272.3326 1174.1306,-1262.3361 1165.1526,-1267.9617 1170.6203,-1272.3326"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1 -->
<g id="node144" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1</title>
<g id="a_node144"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1 | defined in message_handle.go:175&#10;at message_handle.go:176: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-817.8" rx="90.864" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-813.6" font-family="Verdana" font-size="14.00" fill="#000000">OnGroupByGroupName$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).IsGroup -->
<g id="node193" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).IsGroup</title>
<g id="a_node193"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).IsGroup | defined in user.go:104">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-637.8" rx="30.4118" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-633.6" font-family="Verdana" font-size="14.00" fill="#000000">IsGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup -->
<g id="edge343" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup</title>
<g id="a_edge343"><a xlink:title="at message_handle.go:176: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<path fill="none" stroke="#000000" d="M933.1634,-799.8458C957.8948,-760.7374 1022.1233,-667.3937 1100.193,-617.8 1193.9,-558.2727 1229.8103,-562.743 1339.6753,-546.8 1414.4384,-535.9508 1440.3585,-516.7114 1509.6543,-546.8 1543.6895,-561.5783 1534.8598,-588.6716 1566.6543,-607.8 1588.215,-620.7715 1615.4536,-628.2422 1637.5528,-632.4843"/>
<polygon fill="#000000" stroke="#000000" points="1637.1659,-635.9701 1647.6227,-634.2659 1638.3855,-629.0772 1637.1659,-635.9701"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName -->
<g id="node145" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName</title>
<g id="a_node145"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName | defined in message_handle.go:174&#10;at message_handle.go:178: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-1000.8" rx="82.5349" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-996.6" font-family="Verdana" font-size="14.00" fill="#000000">OnGroupByGroupName</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser -->
<g id="edge1" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser</title>
<g id="a_edge1"><a xlink:title="at message_handle.go:178: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser]">
<path fill="none" stroke="#000000" d="M715.2311,-1012.7343C726.0564,-1017.2057 736.359,-1023.3518 744.2792,-1031.8 787.7092,-1078.1253 766.355,-1108.0791 781.2792,-1169.8 799.1251,-1243.6039 765.4263,-1281.3675 817.3177,-1336.8 833.9714,-1354.5902 860.3776,-1362.0766 882.5314,-1365.1224"/>
<polygon fill="#000000" stroke="#000000" points="882.354,-1368.6243 892.6813,-1366.2586 883.1328,-1361.6678 882.354,-1368.6243"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup$1 -->
<g id="node146" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup$1</title>
<g id="a_node146"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup$1 | defined in message_handle.go:150&#10;at message_handle.go:150: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-1122.8" rx="42.1581" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1118.6" font-family="Verdana" font-size="14.00" fill="#000000">OnGroup$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge325" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge325"><a xlink:title="at message_handle.go:150: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="#000000" d="M694.0401,-1126.8055C712.2203,-1130.7733 732.157,-1138.5664 744.2792,-1153.8 794.2033,-1216.5381 740.4114,-1443.2367 780.2792,-1512.8 790.4086,-1530.4742 799.1444,-1530.596 817.3177,-1539.8 905.0328,-1584.2236 946.8486,-1551.5123 1028.1545,-1606.8 1053.7638,-1624.2142 1055.2856,-1634.8534 1072.193,-1660.8 1087.1682,-1683.7813 1082.1141,-1695.1712 1100.193,-1715.8 1113.8914,-1731.4304 1132.5068,-1744.9578 1149.0241,-1755.1909"/>
<polygon fill="#000000" stroke="#000000" points="1147.5623,-1758.3951 1157.94,-1760.5295 1151.1584,-1752.3894 1147.5623,-1758.3951"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage$1 -->
<g id="node147" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage$1</title>
<g id="a_node147"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage$1 | defined in message_handle.go:113&#10;at message_handle.go:113: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-1305.8" rx="41.7681" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1301.6" font-family="Verdana" font-size="14.00" fill="#000000">OnImage$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture -->
<g id="edge199" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture</title>
<g id="a_edge199"><a xlink:title="at message_handle.go:113: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]">
<path fill="none" stroke="#000000" d="M693.5695,-1310.1935C711.6468,-1314.2463 731.6326,-1321.9989 744.2792,-1336.8 828.9418,-1435.886 712.2625,-1543.669 817.3177,-1620.8 893.8269,-1676.9727 960.9584,-1587.7649 1028.1545,-1654.8 1168.4422,-1794.7516 972.3935,-1943.3591 1100.193,-2094.8 1111.399,-2108.079 1128.7742,-2115.4909 1145.0776,-2119.6237"/>
<polygon fill="#000000" stroke="#000000" points="1144.509,-2123.082 1155.0255,-2121.7964 1146.0027,-2116.2432 1144.509,-2123.082"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1 -->
<g id="node148" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1</title>
<g id="a_node148"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1 | defined in message_handle.go:167&#10;at message_handle.go:168: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-878.8" rx="95.9139" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-874.6" font-family="Verdana" font-size="14.00" fill="#000000">OnFriendByRemarkName$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).IsFriend -->
<g id="node192" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).IsFriend</title>
<g id="a_node192"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).IsFriend | defined in user.go:99&#10;at user.go:100: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-637.8" rx="30.7954" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-633.6" font-family="Verdana" font-size="14.00" fill="#000000">IsFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsFriend -->
<g id="edge2" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsFriend</title>
<g id="a_edge2"><a xlink:title="at message_handle.go:168: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]">
<path fill="none" stroke="#000000" d="M996.1982,-867.2238C1007.8399,-862.8851 1019.0247,-856.94 1028.1545,-848.8 1090.9349,-792.8258 1033.0353,-724.4391 1100.193,-673.8 1183.5742,-610.9279 1315.5772,-620.5621 1381.0868,-630.4226"/>
<polygon fill="#000000" stroke="#000000" points="1380.5875,-633.8871 1391.0122,-631.996 1381.6835,-626.9734 1380.5875,-633.8871"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1 -->
<g id="node149" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1</title>
<g id="a_node149"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1 | defined in message_handle.go:155&#10;at message_handle.go:156: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]&#10;at message_handle.go:160: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1]&#10;at message_handle.go:160: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-878.8" rx="37.0961" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-874.6" font-family="Verdana" font-size="14.00" fill="#000000">OnUser$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender -->
<g id="edge150" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender</title>
<g id="a_edge150"><a xlink:title="at message_handle.go:156: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]">
<path fill="none" stroke="#000000" d="M689.261,-881.9608C708.564,-885.6142 730.9535,-893.3805 744.2792,-909.8 916.3427,-1121.8121 620.9897,-1330.0362 817.3177,-1519.8 851.1285,-1552.4803 985.1276,-1518.8301 1028.1545,-1537.8 1089.7335,-1564.9492 1143.0103,-1625.909 1169.531,-1660.1883"/>
<polygon fill="#000000" stroke="#000000" points="1166.8502,-1662.4453 1175.6859,-1668.2918 1172.4246,-1658.2114 1166.8502,-1662.4453"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1 -->
<g id="edge159" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1</title>
<g id="a_edge159"><a xlink:title="at message_handle.go:160: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M686.305,-871.1976C727.6861,-861.832 799.0607,-845.678 852.4963,-833.584"/>
<polygon fill="#000000" stroke="#000000" points="853.2732,-836.9968 862.2539,-831.3756 851.728,-830.1695 853.2732,-836.9968"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1 -->
<g id="edge247" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1</title>
<g id="a_edge247"><a xlink:title="at message_handle.go:160: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M689.9077,-878.8C722.4643,-878.8 771.396,-878.8 815.9694,-878.8"/>
<polygon fill="#000000" stroke="#000000" points="815.9989,-882.3001 825.9989,-878.8 815.9989,-875.3001 815.9989,-882.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1 -->
<g id="node150" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1</title>
<g id="a_node150"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1 | defined in message_handle.go:133&#10;at message_handle.go:135: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]&#10;at message_handle.go:134: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-1244.8" rx="86.0741" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1240.6" font-family="Verdana" font-size="14.00" fill="#000000">OnFriendByNickName$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend -->
<g id="edge171" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend</title>
<g id="a_edge171"><a xlink:title="at message_handle.go:134: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend]">
<path fill="none" stroke="#000000" d="M718.1335,-1256.6371C728.1591,-1261.1291 737.4322,-1267.3075 744.2792,-1275.8 788.9169,-1331.1648 765.8897,-1524.1529 780.2792,-1593.8 791.7446,-1649.2939 776.9247,-1676.0579 817.3177,-1715.8 828.451,-1726.7539 843.2945,-1733.7639 858.3039,-1738.2342"/>
<polygon fill="#000000" stroke="#000000" points="857.5928,-1741.666 868.1539,-1740.821 859.3709,-1734.8956 857.5928,-1741.666"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender -->
<g id="edge3" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender</title>
<g id="a_edge3"><a xlink:title="at message_handle.go:135: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]">
<path fill="none" stroke="#000000" d="M717.9725,-1256.7684C728.0153,-1261.2464 737.3358,-1267.3861 744.2792,-1275.8 819.6518,-1367.135 705.6249,-1447.877 780.2792,-1539.8 792.6593,-1555.0439 1057.1303,-1642.3419 1153.0632,-1673.6379"/>
<polygon fill="#000000" stroke="#000000" points="1152.2659,-1677.0591 1162.8582,-1676.8296 1154.4347,-1670.4036 1152.2659,-1677.0591"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend$1 -->
<g id="node151" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend$1</title>
<g id="a_node151"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend$1 | defined in message_handle.go:145&#10;at message_handle.go:145: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-1366.8" rx="42.5419" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1362.6" font-family="Verdana" font-size="14.00" fill="#000000">OnFriend$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend -->
<g id="edge340" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend</title>
<g id="a_edge340"><a xlink:title="at message_handle.go:145: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend]">
<path fill="none" stroke="#000000" d="M694.6869,-1371.2541C712.5509,-1375.3327 732.0464,-1383.0891 744.2792,-1397.8 836.9969,-1509.3002 704.1297,-1625.1505 817.3177,-1715.8 829.5692,-1725.6119 844.8799,-1732.215 859.9865,-1736.6586"/>
<polygon fill="#000000" stroke="#000000" points="859.2865,-1740.094 869.85,-1739.2789 861.0838,-1733.3287 859.2865,-1740.094"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do -->
<g id="node152" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do</title>
<g id="a_node152"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do | defined in message_handle.go:92&#10;at message_handle.go:93: calling [(*github.com/eatMoreApple/openwechat.MessageContext).Next]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="922.2361" cy="-939.8" rx="27" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-935.6" font-family="Verdana" font-size="14.00" fill="#000000">do</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageContext).Next -->
<g id="edge172" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageContext).Next</title>
<g id="a_edge172"><a xlink:title="at message_handle.go:93: calling [(*github.com/eatMoreApple/openwechat.MessageContext).Next]">
<path fill="none" stroke="#000000" d="M949.4699,-938.2302C972.7543,-935.5735 1005.9271,-928.5044 1028.1545,-909.8 1084.7415,-862.1822 1044.4373,-808.3884 1100.193,-759.8 1114.1959,-747.5972 1133.5747,-740.701 1150.5122,-736.8093"/>
<polygon fill="#000000" stroke="#000000" points="1151.5653,-740.1672 1160.6728,-734.7538 1150.1773,-733.3062 1151.5653,-740.1672"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd$1 -->
<g id="node153" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd$1</title>
<g id="a_node153"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd$1 | defined in message_handle.go:123&#10;at message_handle.go:123: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-1488.8" rx="56.2974" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1484.6" font-family="Verdana" font-size="14.00" fill="#000000">OnFriendAdd$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd -->
<g id="edge197" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd</title>
<g id="a_edge197"><a xlink:title="at message_handle.go:123: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<path fill="none" stroke="#000000" d="M667.1709,-1506.4356C687.1787,-1531.6578 723.22,-1580.1541 744.2792,-1626.8 795.7844,-1740.8837 729.5266,-1809.5778 817.3177,-1898.8 830.7151,-1912.4158 849.8347,-1919.96 868.0906,-1924.103"/>
<polygon fill="#000000" stroke="#000000" points="867.6147,-1927.5764 878.1022,-1926.0718 868.9654,-1920.708 867.6147,-1927.5764"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice$1 -->
<g id="node154" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice$1</title>
<g id="a_node154"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice$1 | defined in message_handle.go:118&#10;at message_handle.go:118: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-1183.8" rx="41.0107" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1179.6" font-family="Verdana" font-size="14.00" fill="#000000">OnVoice$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice -->
<g id="edge209" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice</title>
<g id="a_edge209"><a xlink:title="at message_handle.go:118: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]">
<path fill="none" stroke="#000000" d="M692.9832,-1187.6984C711.3845,-1191.624 731.8125,-1199.4125 744.2792,-1214.8 787.242,-1267.8285 757.8239,-1455.3517 780.2792,-1519.8 790.5903,-1549.3935 791.4588,-1562.0965 817.3177,-1579.8 895.9503,-1633.6334 952.8615,-1560.387 1028.1545,-1618.8 1064.9246,-1647.3266 1060.1738,-1668.8406 1072.193,-1713.8 1090.4001,-1781.9057 1057.879,-1973.4138 1100.193,-2029.8 1111.6933,-2045.1248 1131.0976,-2053.5455 1148.6896,-2058.171"/>
<polygon fill="#000000" stroke="#000000" points="1148.2356,-2061.6576 1158.7647,-2060.4793 1149.7989,-2054.8344 1148.2356,-2061.6576"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard$1 -->
<g id="node155" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard$1</title>
<g id="a_node155"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard$1 | defined in message_handle.go:128&#10;at message_handle.go:128: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-1427.8" rx="37.4841" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-1423.6" font-family="Verdana" font-size="14.00" fill="#000000">OnCard$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsCard -->
<g id="edge341" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsCard</title>
<g id="a_edge341"><a xlink:title="at message_handle.go:128: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]">
<path fill="none" stroke="#000000" d="M689.9076,-1431.3659C708.9171,-1435.1578 730.8205,-1442.927 744.2792,-1458.8 808.3549,-1534.3698 761.0294,-1581.6098 780.2792,-1678.8 794.3765,-1749.976 767.3001,-1785.2358 817.3177,-1837.8 834.7583,-1856.1286 862.5547,-1863.4984 885.1561,-1866.3553"/>
<polygon fill="#000000" stroke="#000000" points="884.8151,-1869.8386 895.1191,-1867.3735 885.5268,-1862.8748 884.8151,-1869.8386"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText -->
<g id="node156" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText</title>
<g id="a_node156"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText | defined in message_handle.go:107&#10;at message_handle.go:108: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1305.8" rx="28.899" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1301.6" font-family="Verdana" font-size="14.00" fill="#000000">OnText</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge333" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge333"><a xlink:title="at message_handle.go:108: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M949.6181,-1299.5017C992.3507,-1289.6725 1075.7728,-1270.484 1131.5645,-1257.651"/>
<polygon fill="#000000" stroke="#000000" points="1132.6836,-1260.985 1141.6445,-1255.3324 1131.1144,-1254.1632 1132.6836,-1260.985"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch -->
<g id="node157" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch</title>
<g id="a_node157"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch | defined in message_handle.go:77&#10;at message_handle.go:88: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do]&#10;at message_handle.go:86: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-939.8" rx="32.8099" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-935.6" font-family="Verdana" font-size="14.00" fill="#000000">Dispatch</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do -->
<g id="edge107" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do</title>
<g id="a_edge107"><a xlink:title="at message_handle.go:88: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do]">
<path fill="none" stroke="#000000" d="M683.6324,-933.8081C733.9283,-929.919 833.1912,-929.801 886.4577,-933.4542"/>
<polygon fill="#000000" stroke="#000000" points="886.2277,-936.9468 896.4696,-934.2351 886.7721,-929.968 886.2277,-936.9468"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do -->
<g id="edge161" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do</title>
<g id="a_edge161"><a xlink:title="at message_handle.go:86: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do]">
<path fill="none" stroke="#000000" d="M683.37,-946.2692C729.6885,-950.1756 817.9604,-950.5935 873.2558,-947.523"/>
<polygon fill="#000000" stroke="#000000" points="886.6916,-950.0525 896.4105,-945.8344 886.1824,-943.071 886.6916,-950.0525"/>
<polyline fill="none" stroke="#000000" points="886.437,-946.5618 881.4502,-946.9255 "/>
<ellipse fill="none" stroke="#000000" cx="877.4608" cy="-947.2164" rx="4" ry="4"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup -->
<g id="node158" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup</title>
<g id="a_node158"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup | defined in message_handle.go:149&#10;at message_handle.go:150: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1244.8" rx="34.3282" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1240.6" font-family="Verdana" font-size="14.00" fill="#000000">OnGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge241" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge241"><a xlink:title="at message_handle.go:150: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M956.9061,-1244.8C998.3682,-1244.8 1068.6926,-1244.8 1120.7913,-1244.8"/>
<polygon fill="#000000" stroke="#000000" points="1120.9542,-1248.3001 1130.9541,-1244.8 1120.9541,-1241.3001 1120.9542,-1248.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText$1 -->
<g id="node159" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText$1</title>
<g id="a_node159"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText$1 | defined in message_handle.go:108&#10;at message_handle.go:108: calling [(*github.com/eatMoreApple/openwechat.Message).IsText]">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="652.7149" cy="-817.8" rx="36.7274" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-813.6" font-family="Verdana" font-size="14.00" fill="#000000">OnText$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsText -->
<g id="edge71" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsText</title>
<g id="a_edge71"><a xlink:title="at message_handle.go:108: calling [(*github.com/eatMoreApple/openwechat.Message).IsText]">
<path fill="none" stroke="#000000" d="M615.9506,-819.2665C587.8809,-822.6981 551.9197,-832.781 539.1506,-861.3 529.5928,-882.6469 529.5928,-1681.9531 539.1506,-1703.3 551.7751,-1731.4962 587.2446,-1741.3316 615.2187,-1744.5912"/>
<polygon fill="#000000" stroke="#000000" points="615.2299,-1748.1071 625.5098,-1745.543 615.8747,-1741.1368 615.2299,-1748.1071"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage -->
<g id="node160" class="node">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage</title>
<g id="a_node160"><a xlink:title="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage | defined in message_handle.go:112&#10;at message_handle.go:113: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-1183.8" rx="33.9384" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-1179.6" font-family="Verdana" font-size="14.00" fill="#000000">OnImage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler -->
<g id="edge11" class="edge">
<title>(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage&#45;&gt;(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler</title>
<g id="a_edge11"><a xlink:title="at message_handle.go:113: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]">
<path fill="none" stroke="#000000" d="M953.4376,-1190.9769C997.1337,-1201.0277 1077.2694,-1219.4603 1131.4413,-1231.9207"/>
<polygon fill="#000000" stroke="#000000" points="1130.7095,-1235.3437 1141.2396,-1234.1745 1132.2787,-1228.5218 1130.7095,-1235.3437"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom -->
<g id="edge277" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom</title>
<g id="a_edge277"><a xlink:title="at user.go:278: calling [(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom]">
<path fill="none" stroke="#000000" d="M1206.6128,-5403.3744C1224.4464,-5386.2235 1250.6104,-5358.4993 1266.6753,-5329.8 1442.7863,-5015.1845 1422.1448,-4905.5715 1509.6543,-4555.8 1526.5584,-4488.2351 1530.8354,-4471.0072 1538.6543,-4401.8 1543.1482,-4362.0228 1541.8378,-3713.2095 1566.6543,-3681.8 1573.1877,-3673.5309 1581.7314,-3667.3521 1591.1817,-3662.7536"/>
<polygon fill="#000000" stroke="#000000" points="1592.6418,-3665.9362 1600.484,-3658.8123 1589.9109,-3659.4909 1592.6418,-3665.9362"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).Members -->
<g id="edge173" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).Members</title>
<g id="a_edge173"><a xlink:title="at user.go:264: calling [(*github.com/eatMoreApple/openwechat.Group).Members]">
<path fill="none" stroke="#000000" d="M1154.145,-5437.0203C1083.8747,-5468.6604 918.5538,-5529.0622 817.3177,-5451.8 719.519,-5377.1612 828.6492,-5274.339 744.2792,-5184.8 731.7716,-5171.5261 713.3831,-5163.9355 696.3604,-5159.5951"/>
<polygon fill="#000000" stroke="#000000" points="697.0737,-5156.1682 686.5503,-5157.3967 695.5429,-5162.9988 697.0737,-5156.1682"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friend).String -->
<g id="node199" class="node">
<title>(github.com/eatMoreApple/openwechat.Friend).String</title>
<g id="a_node199"><a xlink:title="(github.com/eatMoreApple/openwechat.Friend).String | defined in relations.go:12">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-5506.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-5502.6" font-family="Verdana" font-size="14.00" fill="#000000">String</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Friend).String -->
<g id="edge273" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Friend).String</title>
<g id="a_edge273"><a xlink:title="at user.go:272: calling [(github.com/eatMoreApple/openwechat.Friend).String]">
<path fill="none" stroke="#000000" d="M1228.3268,-5435.8785C1273.5611,-5452.5579 1345.5756,-5479.1121 1387.4633,-5494.5575"/>
<polygon fill="#000000" stroke="#000000" points="1386.334,-5497.8714 1396.9274,-5498.0472 1388.7558,-5491.3036 1386.334,-5497.8714"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup -->
<g id="edge26" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup</title>
<g id="a_edge26"><a xlink:title="at user.go:316: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]">
<path fill="none" stroke="#000000" d="M982.4137,-5373.6418C1024.3799,-5383.2948 1080.3069,-5396.1589 1123.1469,-5406.0128"/>
<polygon fill="#000000" stroke="#000000" points="1122.3768,-5409.427 1132.9069,-5408.2578 1123.946,-5402.6052 1122.3768,-5409.427"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).forwardMessage -->
<g id="node163" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).forwardMessage</title>
<g id="a_node163"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).forwardMessage | defined in user.go:358&#10;at user.go:366: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]&#10;at user.go:382: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]&#10;at user.go:374: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1187.4342" cy="-4939.8" rx="57.0157" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-4935.6" font-family="Verdana" font-size="14.00" fill="#000000">forwardMessage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg -->
<g id="edge31" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg</title>
<g id="a_edge31"><a xlink:title="at user.go:366: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<path fill="none" stroke="#000000" d="M1236.8691,-4930.459C1248.2649,-4926.0182 1259.2168,-4919.4663 1266.6753,-4909.8 1313.0895,-4849.6472 1250.3827,-4624.9191 1302.6753,-4569.8 1366.7886,-4502.2213 1445.6183,-4604.4519 1509.6543,-4536.8 1579.7549,-4462.741 1503.2307,-3700.6516 1566.6543,-3620.8 1576.8573,-3607.9542 1591.9104,-3600.1568 1607.6606,-3595.4917"/>
<polygon fill="#000000" stroke="#000000" points="1608.6967,-3598.8395 1617.5203,-3592.9747 1606.9652,-3592.057 1608.6967,-3598.8395"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg -->
<g id="edge243" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg</title>
<g id="a_edge243"><a xlink:title="at user.go:374: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]">
<path fill="none" stroke="#000000" d="M1236.9021,-4930.4844C1248.2976,-4926.0433 1259.2409,-4919.4849 1266.6753,-4909.8 1312.3411,-4850.3109 1290.2156,-4295.1742 1339.6753,-4238.8 1391.0678,-4180.2229 1460.9533,-4256.6332 1509.6543,-4195.8 1546.1066,-4150.2668 1530.7636,-2142.7772 1566.6543,-2096.8 1574.6998,-2086.4934 1585.8706,-2079.4286 1598.0469,-2074.6221"/>
<polygon fill="#000000" stroke="#000000" points="1599.1972,-2077.9278 1607.5191,-2071.3705 1596.9244,-2071.307 1599.1972,-2077.9278"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg -->
<g id="edge220" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg</title>
<g id="a_edge220"><a xlink:title="at user.go:382: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]">
<path fill="none" stroke="#000000" d="M1236.8811,-4930.4683C1248.2768,-4926.0273 1259.2255,-4919.4731 1266.6753,-4909.8 1313.844,-4848.5544 1289.3275,-4639.9429 1302.6753,-4563.8 1314.4569,-4496.5914 1306.4515,-4474.3985 1339.6753,-4414.8 1392.3155,-4320.3718 1466.3402,-4339.8533 1509.6543,-4240.8 1522.3802,-4211.6977 1537.4006,-3701.5384 1538.6543,-3669.8 1547.359,-3449.4396 1539.0496,-2896.5977 1566.6543,-2677.8 1589.1843,-2499.2251 1647.5189,-2290.165 1669.2983,-2215.7917"/>
<polygon fill="#000000" stroke="#000000" points="1672.7686,-2216.3971 1672.2378,-2205.8156 1666.054,-2214.4186 1672.7686,-2216.3971"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="node164" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_node164"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups | defined in user.go:400&#10;at user.go:405: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-5420.8" rx="91.2264" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5416.6" font-family="Verdana" font-size="14.00" fill="#000000">ForwardMessageToGroups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).forwardMessage -->
<g id="edge191" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).forwardMessage</title>
<g id="a_edge191"><a xlink:title="at user.go:405: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]">
<path fill="none" stroke="#000000" d="M995.4644,-5410.0182C1007.4612,-5405.6068 1018.9566,-5399.4318 1028.1545,-5390.8 1092.8133,-5330.1213 1160.4435,-5056.8003 1181.0863,-4967.8621"/>
<polygon fill="#000000" stroke="#000000" points="1184.5339,-4968.4872 1183.3675,-4957.9567 1177.7125,-4966.9162 1184.5339,-4968.4872"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToGroup&#45;&gt;github.com/eatMoreApple/openwechat.NewTextSendMessage -->
<g id="edge177" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup&#45;&gt;github.com/eatMoreApple/openwechat.NewTextSendMessage</title>
<g id="a_edge177"><a xlink:title="at user.go:330: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]">
<path fill="none" stroke="#000000" d="M984.0278,-5294.1469C1000.7128,-5289.8222 1017.1683,-5282.1592 1028.1545,-5268.8 1059.3114,-5230.9134 1068.4905,-4426.2311 1100.193,-4388.8 1102.8983,-4385.6059 1105.9931,-4382.8395 1109.3662,-4380.4462"/>
<polygon fill="#000000" stroke="#000000" points="1111.4023,-4383.3098 1118.2609,-4375.2345 1107.8635,-4377.2701 1111.4023,-4383.3098"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup -->
<g id="edge229" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup</title>
<g id="a_edge229"><a xlink:title="at user.go:331: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]">
<path fill="none" stroke="#000000" d="M986.4332,-5298.8C1020.4822,-5298.8 1062.8176,-5298.8 1099.8416,-5298.8"/>
<polygon fill="#000000" stroke="#000000" points="1100.1321,-5302.3001 1110.1321,-5298.8 1100.1321,-5295.3001 1100.1321,-5302.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).sendMessageToUser -->
<g id="node166" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser</title>
<g id="a_node166"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser | defined in user.go:212&#10;at user.go:217: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1420.6648" cy="-4505.8" rx="70.3991" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-4501.6" font-family="Verdana" font-size="14.00" fill="#000000">sendMessageToUser</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).sendMessageToUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg -->
<g id="edge32" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg</title>
<g id="a_edge32"><a xlink:title="at user.go:217: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<path fill="none" stroke="#000000" d="M1480.0831,-4496.0472C1491.3757,-4491.6002 1502.0286,-4485.1493 1509.6543,-4475.8 1542.9125,-4435.0252 1534.2418,-4293.233 1538.6543,-4240.8 1541.5457,-4206.4419 1545.1943,-3647.7872 1566.6543,-3620.8 1576.8646,-3607.96 1591.9203,-3600.1646 1607.6707,-3595.4997"/>
<polygon fill="#000000" stroke="#000000" points="1608.7068,-3598.8476 1617.5302,-3592.9826 1606.9751,-3592.0651 1608.7068,-3598.8476"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser -->
<g id="edge263" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser</title>
<g id="a_edge263"><a xlink:title="at user.go:325: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]">
<path fill="none" stroke="#000000" d="M1192.8654,-5280.5009C1207.3189,-5231.0589 1246.9615,-5090.453 1266.6753,-4970.8 1281.2201,-4882.5207 1253.5195,-4644.5562 1302.6753,-4569.8 1317.0229,-4547.9802 1341.4179,-4532.9998 1364.3149,-4523.0521"/>
<polygon fill="#000000" stroke="#000000" points="1365.7367,-4526.252 1373.6635,-4519.2222 1363.083,-4519.7745 1365.7367,-4526.252"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="node168" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_node168"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends | defined in user.go:391&#10;at user.go:396: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-5115.8" rx="91.6096" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5111.6" font-family="Verdana" font-size="14.00" fill="#000000">ForwardMessageToFriends</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).forwardMessage -->
<g id="edge23" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).forwardMessage</title>
<g id="a_edge23"><a xlink:title="at user.go:396: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]">
<path fill="none" stroke="#000000" d="M986.3231,-5102.8272C1000.6009,-5098.5421 1015.3036,-5092.9709 1028.1545,-5085.8 1085.2291,-5053.9522 1138.395,-4997.8256 1166.5347,-4965.2213"/>
<polygon fill="#000000" stroke="#000000" points="1169.3183,-4967.3507 1173.1367,-4957.4679 1163.9887,-4962.8125 1169.3183,-4967.3507"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser -->
<g id="edge348" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser</title>
<g id="a_edge348"><a xlink:title="at user.go:227: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]">
<path fill="none" stroke="#000000" d="M1244.1756,-4866.251C1252.8384,-4862.0203 1260.8259,-4856.3636 1266.6753,-4848.8 1312.2094,-4789.9218 1249.4392,-4567.8184 1302.6753,-4515.8 1315.274,-4503.4895 1332.6569,-4498.2995 1350.21,-4496.8425"/>
<polygon fill="#000000" stroke="#000000" points="1350.6926,-4500.3248 1360.5298,-4496.3904 1350.3862,-4493.3315 1350.6926,-4500.3248"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendFileToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile -->
<g id="edge300" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile</title>
<g id="a_edge300"><a xlink:title="at user.go:247: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<path fill="none" stroke="#000000" d="M982.8418,-4501.6579C1000.0059,-4497.409 1017.027,-4489.6599 1028.1545,-4475.8 1131.1405,-4347.5257 998.6344,-3884.4335 1071.193,-3736.8 1101.3809,-3675.3774 1118.9941,-3635.8 1187.4342,-3635.8 1187.4342,-3635.8 1187.4342,-3635.8 1420.6648,-3635.8 1488.6938,-3635.8 1501.3618,-3662.6996 1566.6543,-3681.8 1584.9227,-3687.1442 1604.9813,-3692.6689 1622.9626,-3697.4984"/>
<polygon fill="#000000" stroke="#000000" points="1622.1494,-3700.9038 1632.714,-3700.1043 1623.9567,-3694.1411 1622.1494,-3700.9038"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom -->
<g id="edge205" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom</title>
<g id="a_edge205"><a xlink:title="at user.go:309: calling [(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom]">
<path fill="none" stroke="#000000" d="M1001.0504,-4617.5695C1011.4904,-4613.0228 1021.0267,-4606.6604 1028.1545,-4597.8 1078.0414,-4535.7872 1061.0257,-3961.7361 1071.193,-3882.8 1079.6445,-3817.1855 1085.7872,-3801.3691 1100.193,-3736.8 1181.8534,-3370.786 928.1625,-2917.8 1303.1753,-2917.8 1303.1753,-2917.8 1303.1753,-2917.8 1420.6648,-2917.8 1473.8526,-2917.8 1502.8528,-2898.4656 1538.6543,-2937.8 1595.3508,-3000.0914 1513.013,-3250.859 1566.6543,-3315.8 1571.705,-3321.9146 1577.8614,-3326.854 1584.6587,-3330.8355"/>
<polygon fill="#000000" stroke="#000000" points="1583.0777,-3333.9581 1593.5763,-3335.3829 1586.2577,-3327.7221 1583.0777,-3333.9581"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).Members -->
<g id="edge157" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).Members</title>
<g id="a_edge157"><a xlink:title="at user.go:291: calling [(*github.com/eatMoreApple/openwechat.Group).Members]">
<path fill="none" stroke="#000000" d="M846.7008,-4638.7477C835.5639,-4643.3541 825.2047,-4649.8012 817.3177,-4658.8 748.3734,-4737.4631 812.0629,-5044.1345 744.2792,-5123.8 732.4989,-5137.6452 714.2202,-5145.1419 697.0831,-5149.185"/>
<polygon fill="#000000" stroke="#000000" points="696.2898,-5145.7744 687.1826,-5151.1883 697.6782,-5152.6354 696.2898,-5145.7744"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).updateMembers -->
<g id="node172" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).updateMembers</title>
<g id="a_node172"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).updateMembers | defined in user.go:137&#10;at user.go:143: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]&#10;at user.go:139: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1420.6648" cy="-4444.8" rx="55.5196" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-4440.6" font-family="Verdana" font-size="14.00" fill="#000000">updateMembers</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).updateMembers&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact -->
<g id="edge112" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).updateMembers&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact</title>
<g id="a_edge112"><a xlink:title="at user.go:139: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact]">
<path fill="none" stroke="#000000" d="M1433.2661,-4426.777C1453.6058,-4396.5714 1493.0663,-4333.095 1509.6543,-4272.8 1516.7183,-4247.1235 1549.9303,-3336.5241 1566.6543,-3315.8 1575.8943,-3304.3499 1588.9846,-3296.9199 1602.9511,-3292.1453"/>
<polygon fill="#000000" stroke="#000000" points="1604.1315,-3295.446 1612.7237,-3289.2472 1602.1412,-3288.7349 1604.1315,-3295.446"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SetOwner -->
<g id="node237" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SetOwner</title>
<g id="a_node237"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SetOwner | defined in user.go:436">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-4163.8" rx="36.3366" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-4159.6" font-family="Verdana" font-size="14.00" fill="#000000">SetOwner</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).updateMembers&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SetOwner -->
<g id="edge46" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).updateMembers&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SetOwner</title>
<g id="a_edge46"><a xlink:title="at user.go:143: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]">
<path fill="none" stroke="#000000" d="M1436.7412,-4427.2222C1481.0452,-4378.7803 1604.9632,-4243.289 1655.6404,-4187.8788"/>
<polygon fill="#000000" stroke="#000000" points="1658.4015,-4190.0458 1662.5677,-4180.3045 1653.236,-4185.3216 1658.4015,-4190.0458"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="node173" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_node173"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).Members | defined in user.go:125&#10;at user.go:129: calling [(*github.com/eatMoreApple/openwechat.Self).updateMembers]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-4817.8" rx="34.3235" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-4813.6" font-family="Verdana" font-size="14.00" fill="#000000">Members</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Members&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).updateMembers -->
<g id="edge129" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Members&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).updateMembers</title>
<g id="a_edge129"><a xlink:title="at user.go:129: calling [(*github.com/eatMoreApple/openwechat.Self).updateMembers]">
<path fill="none" stroke="#000000" d="M1222.1332,-4816.6674C1238.0224,-4814.2683 1255.7146,-4808.5945 1266.6753,-4795.8 1356.0525,-4691.4698 1217.8725,-4596.8813 1302.6753,-4488.8 1316.4809,-4471.2048 1338.094,-4460.6457 1359.0702,-4454.3092"/>
<polygon fill="#000000" stroke="#000000" points="1360.2327,-4457.6198 1368.9548,-4451.6051 1358.3856,-4450.8679 1360.2327,-4457.6198"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Groups -->
<g id="node174" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).Groups</title>
<g id="a_node174"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).Groups | defined in user.go:180&#10;at user.go:182: calling [(*github.com/eatMoreApple/openwechat.Self).Members]&#10;at user.go:185: calling [(github.com/eatMoreApple/openwechat.Members).Groups]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-5054.8" rx="27.6433" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5050.6" font-family="Verdana" font-size="14.00" fill="#000000">Groups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Groups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge80" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Groups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge80"><a xlink:title="at user.go:182: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="#000000" d="M950.2133,-5053.503C973.6496,-5051.0096 1006.6331,-5044.0269 1028.1545,-5024.8 1091.1854,-4968.4891 1039.0373,-4907.142 1100.193,-4848.8 1112.2141,-4837.3321 1128.7495,-4830.0711 1144.1945,-4825.4893"/>
<polygon fill="#000000" stroke="#000000" points="1145.3633,-4828.8002 1154.1281,-4822.8481 1143.5645,-4822.0353 1145.3633,-4828.8002"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Groups -->
<g id="node238" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Groups</title>
<g id="a_node238"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Groups | defined in user.go:495&#10;at user.go:498: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-4163.8" rx="27.6433" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-4159.6" font-family="Verdana" font-size="14.00" fill="#000000">Groups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Groups&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Groups -->
<g id="edge114" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Groups&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Groups</title>
<g id="a_edge114"><a xlink:title="at user.go:185: calling [(github.com/eatMoreApple/openwechat.Members).Groups]">
<path fill="none" stroke="#000000" d="M950.4311,-5055.1777C975.0169,-5053.8445 1009.5718,-5047.6243 1028.1545,-5024.8 1070.214,-4973.1402 1064.8209,-4493.1108 1071.193,-4426.8 1076.3529,-4373.1054 1064.5531,-4226.291 1100.193,-4185.8 1112.3574,-4171.9799 1131.8142,-4166.2222 1149.2697,-4164.0324"/>
<polygon fill="#000000" stroke="#000000" points="1149.6054,-4167.5164 1159.2456,-4163.1213 1148.9687,-4160.5454 1149.6054,-4167.5164"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Friends -->
<g id="node175" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).Friends</title>
<g id="a_node175"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).Friends | defined in user.go:169&#10;at user.go:171: calling [(*github.com/eatMoreApple/openwechat.Self).Members]&#10;at user.go:174: calling [(github.com/eatMoreApple/openwechat.Members).Friends]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4932.8" rx="28.0274" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4928.6" font-family="Verdana" font-size="14.00" fill="#000000">Friends</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Friends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge270" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Friends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge270"><a xlink:title="at user.go:171: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="#000000" d="M949.7962,-4927.8936C971.7889,-4923.305 1002.9756,-4915.2631 1028.1545,-4902.8 1064.0155,-4885.0494 1064.9317,-4867.7138 1100.193,-4848.8 1114.8337,-4840.9469 1131.8734,-4834.3818 1146.9884,-4829.3448"/>
<polygon fill="#000000" stroke="#000000" points="1148.1485,-4832.6483 1156.5986,-4826.2572 1146.0073,-4825.9838 1148.1485,-4832.6483"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Friends -->
<g id="node235" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Friends</title>
<g id="a_node235"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Friends | defined in user.go:484&#10;at user.go:487: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-3919.8" rx="28.0274" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-3915.6" font-family="Verdana" font-size="14.00" fill="#000000">Friends</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Friends&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Friends -->
<g id="edge339" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Friends&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Friends</title>
<g id="a_edge339"><a xlink:title="at user.go:174: calling [(github.com/eatMoreApple/openwechat.Members).Friends]">
<path fill="none" stroke="#000000" d="M950.9004,-4933.1423C975.4471,-4931.7484 1009.6701,-4925.458 1028.1545,-4902.8 1044.9187,-4882.2507 1084.0634,-3971.8511 1100.193,-3950.8 1111.7977,-3935.6546 1131.3976,-3927.8894 1149.0833,-3923.9167"/>
<polygon fill="#000000" stroke="#000000" points="1150.0322,-3927.2989 1159.2002,-3921.9887 1148.7218,-3920.4226 1150.0322,-3927.2989"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog -->
<g id="edge290" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog</title>
<g id="a_edge290"><a xlink:title="at user.go:254: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog]">
<path fill="none" stroke="#000000" d="M997.6115,-4557.3505C1009.2406,-4552.7899 1020.0553,-4546.2196 1028.1545,-4536.8 1127.7468,-4420.971 956.6135,-4296.8272 1071.193,-4195.8 1071.193,-4195.8 1509.6543,-4195.8 1509.6543,-4195.8 1542.6317,-4165.0238 1533.8694,-3835.7483 1537.6543,-3790.8 1548.5975,-3660.8437 1482.7643,-3598.6542 1566.6543,-3498.8 1579.259,-3483.7967 1598.4645,-3475.7356 1617.3762,-3471.501"/>
<polygon fill="#000000" stroke="#000000" points="1618.0396,-3474.9377 1627.2026,-3469.6189 1616.7227,-3468.0627 1618.0396,-3474.9377"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendImageToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg -->
<g id="edge181" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg</title>
<g id="a_edge181"><a xlink:title="at user.go:338: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<path fill="none" stroke="#000000" d="M988.0697,-5171.2261C1003.4005,-5166.7449 1018.1479,-5159.2314 1028.1545,-5146.8 1077.573,-5085.4068 1058.7823,-4516.6286 1071.193,-4438.8 1079.2225,-4388.447 1061.3766,-4360.8633 1100.193,-4327.8 1128.4867,-4303.6998 1230.7461,-4321.3099 1266.6753,-4311.8 1381.0942,-4281.5152 1438.4989,-4297.382 1509.6543,-4202.8 1618.14,-4058.5973 1446.0083,-3934.9943 1566.6543,-3800.8 1573.7537,-3792.9033 1582.7247,-3787.0831 1592.4769,-3782.8166"/>
<polygon fill="#000000" stroke="#000000" points="1593.9268,-3786.0099 1602.0307,-3779.1851 1591.4396,-3779.4667 1593.9268,-3786.0099"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToFriend&#45;&gt;github.com/eatMoreApple/openwechat.NewTextSendMessage -->
<g id="edge308" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend&#45;&gt;github.com/eatMoreApple/openwechat.NewTextSendMessage</title>
<g id="a_edge308"><a xlink:title="at user.go:232: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]">
<path fill="none" stroke="#000000" d="M984.3356,-5233.1005C1000.9266,-5228.7637 1017.2538,-5221.1057 1028.1545,-5207.8 1086.0469,-5137.135 1040.2477,-4457.732 1100.193,-4388.8 1102.9397,-4385.6415 1106.0673,-4382.9032 1109.4659,-4380.5318"/>
<polygon fill="#000000" stroke="#000000" points="1111.5035,-4383.3967 1118.4097,-4375.3621 1108.0004,-4377.3363 1111.5035,-4383.3967"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend -->
<g id="edge8" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend</title>
<g id="a_edge8"><a xlink:title="at user.go:233: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]">
<path fill="none" stroke="#000000" d="M983.3201,-5231.8806C999.7835,-5227.5024 1016.2963,-5220.1277 1028.1545,-5207.8 1122.6164,-5109.5982 1008.993,-5011.0382 1100.193,-4909.8 1105.5638,-4903.8381 1112.1575,-4899.0225 1119.293,-4895.1329"/>
<polygon fill="#000000" stroke="#000000" points="1121.0659,-4898.1644 1128.5696,-4890.6848 1118.0393,-4891.8525 1121.0659,-4898.1644"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendImageToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg -->
<g id="edge189" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg</title>
<g id="a_edge189"><a xlink:title="at user.go:240: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<path fill="none" stroke="#000000" d="M987.8411,-4804.727C1003.0799,-4800.2421 1017.84,-4792.8517 1028.1545,-4780.8 1079.6826,-4720.5939 1056.3617,-4504.6457 1071.193,-4426.8 1080.736,-4376.7117 1061.4163,-4348.9099 1100.193,-4315.8 1134.6627,-4286.3678 1257.8497,-4295.8 1303.1753,-4295.8 1303.1753,-4295.8 1303.1753,-4295.8 1420.6648,-4295.8 1475.9765,-4295.8 1484.7152,-4258.1703 1509.6543,-4208.8 1592.2085,-4045.3731 1444.3821,-3937.0831 1566.6543,-3800.8 1573.7457,-3792.8961 1582.7119,-3787.0716 1592.4617,-3782.803"/>
<polygon fill="#000000" stroke="#000000" points="1593.9113,-3785.9964 1602.0139,-3779.17 1591.4229,-3779.4536 1593.9113,-3785.9964"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RevokeMessage -->
<g id="node180" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).RevokeMessage</title>
<g id="a_node180"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).RevokeMessage | defined in user.go:353&#10;at user.go:354: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4444.8" rx="56.2768" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4440.6" font-family="Verdana" font-size="14.00" fill="#000000">RevokeMessage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RevokeMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg -->
<g id="edge132" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).RevokeMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg</title>
<g id="a_edge132"><a xlink:title="at user.go:354: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg]">
<path fill="none" stroke="#000000" d="M964.9492,-4432.8578C987.8609,-4424.0679 1014.1886,-4409.5919 1028.1545,-4386.8 1112.3098,-4249.4619 1004.7221,-3084.5157 1071.193,-2937.8 1094.1901,-2887.0406 1131.7082,-2890.8 1187.4342,-2890.8 1187.4342,-2890.8 1187.4342,-2890.8 1420.6648,-2890.8 1477.1119,-2890.8 1505.5034,-2892.1131 1538.6543,-2937.8 1596.0643,-3016.9195 1504.7875,-3301.1145 1566.6543,-3376.8 1575.4487,-3387.5587 1587.6674,-3394.6848 1600.798,-3399.3582"/>
<polygon fill="#000000" stroke="#000000" points="1599.8971,-3402.743 1610.4844,-3402.3446 1601.9595,-3396.0537 1599.8971,-3402.743"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendFileToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile -->
<g id="edge309" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile</title>
<g id="a_edge309"><a xlink:title="at user.go:345: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<path fill="none" stroke="#000000" d="M982.5804,-4684.7385C999.8389,-4680.5051 1016.9799,-4672.7447 1028.1545,-4658.8 1081.2538,-4592.5383 1059.3086,-3979.8767 1071.193,-3895.8 1079.2964,-3838.4726 1060.3859,-3810.8416 1100.193,-3768.8 1127.9249,-3739.5115 1147.0997,-3743.8 1187.4342,-3743.8 1187.4342,-3743.8 1187.4342,-3743.8 1420.6648,-3743.8 1488.7404,-3743.8 1566.1872,-3732.6067 1618.1083,-3723.4602"/>
<polygon fill="#000000" stroke="#000000" points="1618.916,-3726.8713 1628.1418,-3721.6622 1617.6812,-3719.9811 1618.916,-3726.8713"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail -->
<g id="node182" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail</title>
<g id="a_node182"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail | defined in user.go:202&#10;at user.go:208: calling [(github.com/eatMoreApple/openwechat.Members).detail]&#10;at user.go:204: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4871.8" rx="76.7097" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4867.6" font-family="Verdana" font-size="14.00" fill="#000000">UpdateMembersDetail</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge298" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge298"><a xlink:title="at user.go:204: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="#000000" d="M980.435,-4859.9495C1030.2264,-4849.8109 1100.7117,-4835.4585 1145.2374,-4826.3922"/>
<polygon fill="#000000" stroke="#000000" points="1146.0472,-4829.7992 1155.1477,-4824.3742 1144.6504,-4822.9399 1146.0472,-4829.7992"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).detail -->
<g id="node242" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).detail</title>
<g id="a_node242"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).detail | defined in user.go:518&#10;at user.go:522: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at user.go:561: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]&#10;at user.go:542: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]&#10;at user.go:554: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="1420.6648" cy="-3919.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-3915.6" font-family="Verdana" font-size="14.00" fill="#000000">detail</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).detail -->
<g id="edge166" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).detail</title>
<g id="a_edge166"><a xlink:title="at user.go:208: calling [(github.com/eatMoreApple/openwechat.Members).detail]">
<path fill="none" stroke="#000000" d="M992.6431,-4864.6919C1006.2729,-4860.0987 1019.1092,-4852.9196 1028.1545,-4841.8 1099.3608,-4754.2644 1017.6218,-3905.7078 1100.193,-3828.8 1154.3373,-3778.3695 1197.1196,-3803.5644 1266.6753,-3828.8 1306.4209,-3843.2202 1303.0977,-3868.5932 1339.6753,-3889.8 1354.0092,-3898.1104 1371.0583,-3904.836 1385.8081,-3909.7966"/>
<polygon fill="#000000" stroke="#000000" points="1384.999,-3913.213 1395.5905,-3912.9466 1387.1447,-3906.5499 1384.999,-3913.213"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Mps -->
<g id="node183" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).Mps</title>
<g id="a_node183"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).Mps | defined in user.go:191&#10;at user.go:196: calling [(github.com/eatMoreApple/openwechat.Members).MPs]&#10;at user.go:193: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4993.8" rx="27" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4989.6" font-family="Verdana" font-size="14.00" fill="#000000">Mps</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Mps&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge284" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Mps&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge284"><a xlink:title="at user.go:193: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="#000000" d="M949.4238,-4991.5393C972.3664,-4988.4433 1005.0688,-4981.1175 1028.1545,-4963.8 1076.4002,-4927.6089 1053.1566,-4886.5494 1100.193,-4848.8 1113.1501,-4838.4013 1129.8657,-4831.3461 1145.1928,-4826.6297"/>
<polygon fill="#000000" stroke="#000000" points="1146.3388,-4829.943 1155.0109,-4823.8564 1144.436,-4823.2065 1146.3388,-4829.943"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).MPs -->
<g id="node239" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).MPs</title>
<g id="a_node239"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).MPs | defined in user.go:506&#10;at user.go:509: calling [(*github.com/eatMoreApple/openwechat.User).IsMP]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-3980.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-3976.6" font-family="Verdana" font-size="14.00" fill="#000000">MPs</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Mps&#45;&gt;(github.com/eatMoreApple/openwechat.Members).MPs -->
<g id="edge183" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Mps&#45;&gt;(github.com/eatMoreApple/openwechat.Members).MPs</title>
<g id="a_edge183"><a xlink:title="at user.go:196: calling [(github.com/eatMoreApple/openwechat.Members).MPs]">
<path fill="none" stroke="#000000" d="M949.4588,-4994.2113C974.0835,-4992.9761 1009.2879,-4986.8861 1028.1545,-4963.8 1061.718,-4922.73 1067.9905,-4053.9456 1100.193,-4011.8 1112.0773,-3996.2463 1132.3963,-3988.4754 1150.4361,-3984.6024"/>
<polygon fill="#000000" stroke="#000000" points="1151.2209,-3988.0172 1160.4336,-3982.7849 1149.9688,-3981.13 1151.2209,-3988.0172"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper -->
<g id="node184" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper</title>
<g id="a_node184"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).FileHelper | defined in user.go:150&#10;at user.go:159: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at user.go:161: calling [github.com/eatMoreApple/openwechat.NewFriendHelper]&#10;at user.go:163: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at user.go:155: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4749.8" rx="38.2337" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4745.6" font-family="Verdana" font-size="14.00" fill="#000000">FileHelper</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;github.com/eatMoreApple/openwechat.NewFriendHelper -->
<g id="edge202" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;github.com/eatMoreApple/openwechat.NewFriendHelper</title>
<g id="a_edge202"><a xlink:title="at user.go:161: calling [github.com/eatMoreApple/openwechat.NewFriendHelper]">
<path fill="none" stroke="#000000" d="M960.8221,-4748.95C983.7756,-4746.298 1011.5666,-4738.9341 1028.1545,-4719.8 1091.7635,-4646.4273 1036.7035,-4362.2761 1100.193,-4288.8 1108.1764,-4279.5609 1118.8635,-4272.5691 1130.0156,-4267.298"/>
<polygon fill="#000000" stroke="#000000" points="1131.627,-4270.4155 1139.4436,-4263.2634 1128.873,-4263.98 1131.627,-4270.4155"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge256" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge256"><a xlink:title="at user.go:155: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="#000000" d="M956.0053,-4758.5925C991.7883,-4767.8945 1049.9499,-4782.9714 1100.193,-4795.8 1115.3182,-4799.6619 1131.9296,-4803.8613 1146.5617,-4807.5462"/>
<polygon fill="#000000" stroke="#000000" points="1145.781,-4810.9588 1156.3328,-4810.0046 1147.489,-4804.1704 1145.781,-4810.9588"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge242" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge242"><a xlink:title="at user.go:163: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="#000000" d="M960.7627,-4749.3939C983.9955,-4746.9445 1012.1102,-4739.6385 1028.1545,-4719.8 1092.0748,-4640.7638 1024.3491,-3875.4773 1100.193,-3807.8 1183.7574,-3733.2335 1330.7896,-3805.2291 1392.3278,-3841.1283"/>
<polygon fill="#000000" stroke="#000000" points="1390.7243,-3844.2467 1401.1089,-3846.3469 1394.3005,-3838.2292 1390.7243,-3844.2467"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="edge13" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_edge13"><a xlink:title="at user.go:159: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]">
<path fill="none" stroke="#000000" d="M960.6197,-4749.2771C983.7964,-4746.7817 1011.9021,-4739.4685 1028.1545,-4719.8 1087.1198,-4648.4411 1043.575,-3963.0352 1100.193,-3889.8 1105.6217,-3882.778 1112.7675,-3877.343 1120.637,-3873.137"/>
<polygon fill="#000000" stroke="#000000" points="1122.1817,-3876.2787 1129.7764,-3868.8915 1119.2326,-3869.9302 1122.1817,-3876.2787"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SentMessage).ForwardToFriends -->
<g id="node185" class="node">
<title>(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToFriends</title>
<g id="a_node185"><a xlink:title="(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToFriends | defined in message.go:476&#10;at message.go:477: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4508.8" rx="63.7325" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4504.6" font-family="Verdana" font-size="14.00" fill="#000000">ForwardToFriends</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SentMessage).ForwardToFriends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="edge216" class="edge">
<title>(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToFriends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_edge216"><a xlink:title="at message.go:477: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<path fill="none" stroke="#000000" d="M709.517,-4517.4021C722.6894,-4522.0051 735.4267,-4529.0448 744.2792,-4539.8 783.1767,-4587.0577 777.2987,-5039.4882 817.3177,-5085.8 822.8821,-5092.2394 829.7243,-5097.3426 837.2245,-5101.3803"/>
<polygon fill="#000000" stroke="#000000" points="835.7556,-5104.5571 846.2942,-5105.6469 838.7354,-5098.223 835.7556,-5104.5571"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SentMessage).ForwardToGroups -->
<g id="node186" class="node">
<title>(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToGroups</title>
<g id="a_node186"><a xlink:title="(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToGroups | defined in message.go:481&#10;at message.go:482: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4569.8" rx="63.349" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4565.6" font-family="Verdana" font-size="14.00" fill="#000000">ForwardToGroups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SentMessage).ForwardToGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="edge328" class="edge">
<title>(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_edge328"><a xlink:title="at message.go:482: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<path fill="none" stroke="#000000" d="M711.6165,-4576.8368C724.0995,-4581.0468 735.9917,-4587.6129 744.2792,-4597.8 800.1192,-4666.439 760.8533,-5322.6737 817.3177,-5390.8 822.6304,-5397.21 829.2109,-5402.3033 836.4672,-5406.3431"/>
<polygon fill="#000000" stroke="#000000" points="835.4467,-5409.736 845.9756,-5410.9166 838.481,-5403.4278 835.4467,-5409.736"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SentMessage).Revoke -->
<g id="node187" class="node">
<title>(*github.com/eatMoreApple/openwechat.SentMessage).Revoke</title>
<g id="a_node187"><a xlink:title="(*github.com/eatMoreApple/openwechat.SentMessage).Revoke | defined in message.go:471&#10;at message.go:472: calling [(*github.com/eatMoreApple/openwechat.Self).RevokeMessage]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4447.8" rx="28.9006" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4443.6" font-family="Verdana" font-size="14.00" fill="#000000">Revoke</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SentMessage).Revoke&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).RevokeMessage -->
<g id="edge164" class="edge">
<title>(*github.com/eatMoreApple/openwechat.SentMessage).Revoke&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).RevokeMessage</title>
<g id="a_edge164"><a xlink:title="at message.go:472: calling [(*github.com/eatMoreApple/openwechat.Self).RevokeMessage]">
<path fill="none" stroke="#000000" d="M679.9277,-4441.9965C705.6463,-4436.8272 745.382,-4429.6532 780.2792,-4426.8 808.8045,-4424.4677 840.4052,-4427.8801 866.5363,-4432.3389"/>
<polygon fill="#000000" stroke="#000000" points="866.171,-4435.8294 876.6333,-4434.1589 867.4128,-4428.9404 866.171,-4435.8294"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success -->
<g id="edge140" class="edge">
<title>(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success</title>
<g id="a_edge140"><a xlink:title="at items.go:141: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]">
<path fill="none" stroke="#000000" d="M1450.3968,-285.8C1496.6278,-285.8 1585.8087,-285.8 1637.6459,-285.8"/>
<polygon fill="#000000" stroke="#000000" points="1637.8017,-289.3001 1647.8017,-285.8 1637.8016,-282.3001 1637.8017,-289.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).Detail&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact -->
<g id="edge167" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).Detail&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact</title>
<g id="a_edge167"><a xlink:title="at user.go:89: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]">
<path fill="none" stroke="#000000" d="M1447.6779,-700.6363C1468.0528,-703.5569 1494.926,-710.9955 1509.6543,-729.8 1594.9807,-838.7415 1531.2212,-901.6204 1538.6543,-1039.8 1541.5955,-1094.4765 1533.0599,-2967.5613 1566.6543,-3010.8 1572.901,-3018.84 1581.0644,-3024.8671 1590.133,-3029.3644"/>
<polygon fill="#000000" stroke="#000000" points="1588.8961,-3032.6422 1599.4659,-3033.3696 1591.6567,-3026.2095 1588.8961,-3032.6422"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).Detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge268" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).Detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge268"><a xlink:title="at user.go:93: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="#000000" d="M1393.831,-701.5681C1369.4712,-705.7405 1335.3345,-716.1847 1321.6753,-742.3 1302.3899,-779.1722 1307.6475,-3699.1247 1321.6753,-3738.3 1336.2716,-3779.0627 1371.2614,-3815.9212 1395.4693,-3837.8461"/>
<polygon fill="#000000" stroke="#000000" points="1393.4086,-3840.6958 1403.2205,-3844.693 1398.0429,-3835.4495 1393.4086,-3840.6958"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).IsFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup -->
<g id="edge168" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).IsFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup</title>
<g id="a_edge168"><a xlink:title="at user.go:100: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<path fill="none" stroke="#000000" d="M1451.6647,-637.8C1498.002,-637.8 1585.3734,-637.8 1636.8497,-637.8"/>
<polygon fill="#000000" stroke="#000000" points="1636.9526,-641.3001 1646.9526,-637.8 1636.9526,-634.3001 1636.9526,-641.3001"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).IsMP -->
<g id="node194" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).IsMP</title>
<g id="a_node194"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).IsMP | defined in user.go:109">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-759.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-755.6" font-family="Verdana" font-size="14.00" fill="#000000">IsMP</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).GetAvatarResponse -->
<g id="node195" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse</title>
<g id="a_node195"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse | defined in user.go:58&#10;at user.go:59: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1677.6624" cy="-576.8" rx="67.6284" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-572.6" font-family="Verdana" font-size="14.00" fill="#000000">GetAvatarResponse</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).GetAvatarResponse&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg -->
<g id="edge351" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg</title>
<g id="a_edge351"><a xlink:title="at user.go:59: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg]">
<path fill="none" stroke="#000000" d="M1732.0544,-565.9287C1761.4732,-563.433 1796.099,-566.56 1817.6705,-588.8 1919.0103,-693.2798 1762.2849,-1129.5108 1853.6705,-1242.8 1861.6546,-1252.6977 1872.5758,-1259.5085 1884.4394,-1264.1607"/>
<polygon fill="#000000" stroke="#000000" points="1883.5233,-1267.5459 1894.1177,-1267.4466 1885.7738,-1260.9175 1883.5233,-1267.5459"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).SaveAvatar -->
<g id="node196" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).SaveAvatar</title>
<g id="a_node196"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).SaveAvatar | defined in user.go:63&#10;at user.go:64: calling [(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-576.8" rx="41.3767" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-572.6" font-family="Verdana" font-size="14.00" fill="#000000">SaveAvatar</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).SaveAvatar&#45;&gt;(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse -->
<g id="edge133" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).SaveAvatar&#45;&gt;(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse</title>
<g id="a_edge133"><a xlink:title="at user.go:64: calling [(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse]">
<path fill="none" stroke="#000000" d="M1462.2416,-576.8C1499.2882,-576.8 1554.4808,-576.8 1599.7243,-576.8"/>
<polygon fill="#000000" stroke="#000000" points="1599.8068,-580.3001 1609.8068,-576.8 1599.8067,-573.3001 1599.8068,-580.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.BaseResponse).Error -->
<g id="node197" class="node">
<title>(github.com/eatMoreApple/openwechat.BaseResponse).Error</title>
<g id="a_node197"><a xlink:title="(github.com/eatMoreApple/openwechat.BaseResponse).Error | defined in items.go:48&#10;at items.go:49: calling [github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="2480.3572" cy="-2977.8" rx="27" ry="18"/>
<text text-anchor="middle" x="2480.3572" y="-2973.6" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.BaseResponse).Error&#45;&gt;github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode -->
<g id="edge285" class="edge">
<title>(github.com/eatMoreApple/openwechat.BaseResponse).Error&#45;&gt;github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode</title>
<g id="a_edge285"><a xlink:title="at items.go:49: calling [github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode]">
<path fill="none" stroke="#000000" d="M2507.6748,-2977.8C2532.2746,-2977.8 2570.1758,-2977.8 2607.3397,-2977.8"/>
<polygon fill="#000000" stroke="#000000" points="2607.7906,-2981.3001 2617.7905,-2977.8 2607.7905,-2974.3001 2607.7906,-2981.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).First -->
<g id="node200" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).First</title>
<g id="a_node200"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).First | defined in relations.go:54&#10;at relations.go:55: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4164.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4160.6" font-family="Verdana" font-size="14.00" fill="#000000">First</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Count -->
<g id="node201" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).Count</title>
<g id="a_node201"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).Count | defined in relations.go:49">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-4134.8" rx="27" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4130.6" font-family="Verdana" font-size="14.00" fill="#000000">Count</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).First&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count -->
<g id="edge77" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).First&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count</title>
<g id="a_edge77"><a xlink:title="at relations.go:55: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<path fill="none" stroke="#000000" d="M679.543,-4161.8138C728.0768,-4156.4116 830.5127,-4145.0096 885.5027,-4138.8887"/>
<polygon fill="#000000" stroke="#000000" points="885.9651,-4142.359 895.5165,-4137.7741 885.1907,-4135.4019 885.9651,-4142.359"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendMsg -->
<g id="node202" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SendMsg</title>
<g id="a_node202"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SendMsg | defined in relations.go:110&#10;at relations.go:124: calling [(*github.com/eatMoreApple/openwechat.Friend).SendMsg]&#10;at relations.go:111: calling [github.com/eatMoreApple/openwechat.getTotalDuration]&#10;at relations.go:121: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-4256.8" rx="34.3425" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-4252.6" font-family="Verdana" font-size="14.00" fill="#000000">SendMsg</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge87" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge87"><a xlink:title="at relations.go:111: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="#000000" d="M441.1562,-4263.6305C456.8307,-4268.288 475.0602,-4275.8466 488.1506,-4287.8 514.5702,-4311.9248 494.4696,-4339.8241 524.1506,-4359.8 542.7497,-4372.3175 566.4704,-4376.5722 588.4598,-4377.113"/>
<polygon fill="#000000" stroke="#000000" points="588.7514,-4380.6129 598.7498,-4377.1085 588.7483,-4373.6129 588.7514,-4380.6129"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendMsg -->
<g id="edge4" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendMsg</title>
<g id="a_edge4"><a xlink:title="at relations.go:124: calling [(*github.com/eatMoreApple/openwechat.Friend).SendMsg]">
<path fill="none" stroke="#000000" d="M442.0027,-4261.8675C458.2951,-4266.0853 476.8227,-4273.7828 488.1506,-4287.8 516.3837,-4322.7356 523.5389,-4653.025 553.1506,-4686.8 566.9339,-4702.5211 588.623,-4710.1578 608.244,-4713.8072"/>
<polygon fill="#000000" stroke="#000000" points="607.8425,-4717.2869 618.2632,-4715.3739 608.924,-4710.3709 607.8425,-4717.2869"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="edge317" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_edge317"><a xlink:title="at relations.go:121: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<path fill="none" stroke="#000000" d="M442.4089,-4261.5507C458.8124,-4265.6818 477.3169,-4273.3974 488.1506,-4287.8 582.7271,-4413.5314 444.3332,-4879.1697 553.1506,-4992.8 582.7975,-5023.7581 705.475,-5000.5908 744.2792,-5018.8 784.1575,-5037.5133 778.8814,-5064.2799 817.3177,-5085.8 827.1623,-5091.3119 838.1047,-5095.8829 849.1012,-5099.6524"/>
<polygon fill="#000000" stroke="#000000" points="848.1609,-5103.0266 858.7525,-5102.7622 850.3078,-5096.3639 848.1609,-5103.0266"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendFile -->
<g id="node203" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SendFile</title>
<g id="a_node203"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SendFile | defined in relations.go:176&#10;at relations.go:187: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]&#10;at relations.go:190: calling [(*github.com/eatMoreApple/openwechat.Friend).SendFile]&#10;at relations.go:177: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-4134.8" rx="32.8258" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-4130.6" font-family="Verdana" font-size="14.00" fill="#000000">SendFile</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendFile&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge349" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendFile&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge349"><a xlink:title="at relations.go:177: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="#000000" d="M440.394,-4140.3675C456.6393,-4144.7457 475.6223,-4152.4365 488.1506,-4165.8 546.8964,-4228.4619 487.191,-4292.7826 553.1506,-4347.8 562.2311,-4355.3741 573.3515,-4360.4935 584.829,-4363.9234"/>
<polygon fill="#000000" stroke="#000000" points="583.9598,-4367.3137 594.5172,-4366.4241 585.7093,-4360.5359 583.9598,-4367.3137"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendFile -->
<g id="edge238" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendFile</title>
<g id="a_edge238"><a xlink:title="at relations.go:190: calling [(*github.com/eatMoreApple/openwechat.Friend).SendFile]">
<path fill="none" stroke="#000000" d="M440.8813,-4139.5013C457.479,-4143.6307 476.6413,-4151.3601 488.1506,-4165.8 518.6792,-4204.1018 525.055,-4561.6794 553.1506,-4601.8 567.6274,-4622.4728 592.6134,-4635.9899 613.9326,-4644.3302"/>
<polygon fill="#000000" stroke="#000000" points="612.8252,-4647.6519 623.419,-4647.8051 615.233,-4641.079 612.8252,-4647.6519"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="edge88" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_edge88"><a xlink:title="at relations.go:187: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<path fill="none" stroke="#000000" d="M436.2724,-4144.8777C451.6435,-4150.6949 471.1059,-4158.3214 488.1506,-4165.8 495.4003,-4168.9809 739.7502,-4284.3067 744.2792,-4290.8 837.305,-4424.1741 766.2816,-4492.8817 781.2792,-4654.8 785.7114,-4702.6512 786.8078,-5048.6715 817.3177,-5085.8 822.5611,-5092.1808 829.0611,-5097.2585 836.2378,-5101.2917"/>
<polygon fill="#000000" stroke="#000000" points="835.1222,-5104.6408 845.6465,-5105.8613 838.1804,-5098.3441 835.1222,-5104.6408"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search -->
<g id="node204" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).Search</title>
<g id="a_node204"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).Search | defined in relations.go:85&#10;at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1]&#10;at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1]&#10;at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1]&#10;at relations.go:90: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:93: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4012.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4008.6" font-family="Verdana" font-size="14.00" fill="#000000">Search</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count -->
<g id="edge267" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count</title>
<g id="a_edge267"><a xlink:title="at relations.go:90: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:93: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<path fill="none" stroke="#000000" d="M672.234,-4025.6828C702.3164,-4045.0742 762.3024,-4081.9225 817.3177,-4104.8 839.6149,-4114.0721 865.7189,-4121.5482 886.311,-4126.7182"/>
<polygon fill="#000000" stroke="#000000" points="885.6864,-4130.1685 896.2311,-4129.1387 887.3458,-4123.368 885.6864,-4130.1685"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1 -->
<g id="node205" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1</title>
<g id="a_node205"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1 | defined in relations.go:76">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-3951.8" rx="77.4713" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-3947.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByNickName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1 -->
<g id="edge153" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1</title>
<g id="a_edge153"><a xlink:title="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M678.5577,-4006.9511C719.2016,-3997.7523 799.3258,-3979.618 856.6029,-3966.6546"/>
<polygon fill="#000000" stroke="#000000" points="857.6786,-3969.9997 866.6593,-3964.3786 856.1333,-3963.1724 857.6786,-3969.9997"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1 -->
<g id="node206" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1</title>
<g id="a_node206"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1 | defined in relations.go:81">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-4012.8" rx="87.3119" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4008.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByRemarkName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1 -->
<g id="edge193" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1</title>
<g id="a_edge193"><a xlink:title="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M679.7917,-4012.8C713.5187,-4012.8 772.9974,-4012.8 824.5994,-4012.8"/>
<polygon fill="#000000" stroke="#000000" points="824.8049,-4016.3001 834.8049,-4012.8 824.8048,-4009.3001 824.8049,-4016.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1 -->
<g id="node207" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1</title>
<g id="a_node207"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1 | defined in relations.go:71">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-4073.8" rx="77.0833" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-4069.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByUserName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1 -->
<g id="edge217" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1</title>
<g id="a_edge217"><a xlink:title="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M678.5577,-4018.6489C719.2016,-4027.8477 799.3258,-4045.982 856.6029,-4058.9454"/>
<polygon fill="#000000" stroke="#000000" points="856.1333,-4062.4276 866.6593,-4061.2214 857.6786,-4055.6003 856.1333,-4062.4276"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName -->
<g id="node208" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName</title>
<g id="a_node208"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName | defined in relations.go:80&#10;at relations.go:81: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-4073.8" rx="79.483" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-4069.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByRemarkName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search -->
<g id="edge234" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search</title>
<g id="a_edge234"><a xlink:title="at relations.go:81: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<path fill="none" stroke="#000000" d="M462.4136,-4060.4133C509.5793,-4048.6124 576.9432,-4031.758 617.5857,-4021.5893"/>
<polygon fill="#000000" stroke="#000000" points="618.4629,-4024.9778 627.3143,-4019.1552 616.7638,-4018.1871 618.4629,-4024.9778"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendImage -->
<g id="node209" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SendImage</title>
<g id="a_node209"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SendImage | defined in relations.go:154&#10;at relations.go:165: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]&#10;at relations.go:168: calling [(*github.com/eatMoreApple/openwechat.Friend).SendImage]&#10;at relations.go:155: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-4195.8" rx="40.2525" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-4191.6" font-family="Verdana" font-size="14.00" fill="#000000">SendImage</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge236" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge236"><a xlink:title="at relations.go:155: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="#000000" d="M445.8786,-4203.084C460.7157,-4207.6756 476.9248,-4215.0513 488.1506,-4226.8 522.5225,-4262.7727 491.7033,-4295.0823 524.1506,-4332.8 539.2584,-4350.3616 562.1094,-4359.8553 584.3767,-4364.902"/>
<polygon fill="#000000" stroke="#000000" points="583.7052,-4368.337 594.1969,-4366.8621 585.0754,-4361.4724 583.7052,-4368.337"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendImage -->
<g id="edge147" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendImage</title>
<g id="a_edge147"><a xlink:title="at relations.go:168: calling [(*github.com/eatMoreApple/openwechat.Friend).SendImage]">
<path fill="none" stroke="#000000" d="M446.7688,-4201.8499C461.9443,-4206.2359 478.1678,-4213.7917 488.1506,-4226.8 567.3792,-4330.0404 469.8446,-4708.8207 553.1506,-4808.8 565.3391,-4823.4279 584.384,-4831.0948 602.567,-4835.0536"/>
<polygon fill="#000000" stroke="#000000" points="602.0618,-4838.5194 612.5309,-4836.892 603.332,-4831.6355 602.0618,-4838.5194"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="edge19" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_edge19"><a xlink:title="at relations.go:165: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<path fill="none" stroke="#000000" d="M443.9978,-4204.581C458.6828,-4209.4504 475.2886,-4216.6293 488.1506,-4226.8 510.1992,-4244.2351 502.7881,-4260.5307 524.1506,-4278.8 600.5501,-4344.1369 676.8303,-4256.2585 744.2792,-4330.8 800.8271,-4393.2943 763.3868,-5021.0338 817.3177,-5085.8 822.6025,-5092.1466 829.1299,-5097.2016 836.3234,-5101.2209"/>
<polygon fill="#000000" stroke="#000000" points="835.2215,-5104.5757 845.748,-5105.7774 838.2684,-5098.2736 835.2215,-5104.5757"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByUserName -->
<g id="node210" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByUserName</title>
<g id="a_node210"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByUserName | defined in relations.go:70&#10;at relations.go:71: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-4012.8" rx="69.2542" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-4008.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByUserName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search -->
<g id="edge165" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search</title>
<g id="a_edge165"><a xlink:title="at relations.go:71: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<path fill="none" stroke="#000000" d="M478.1222,-4012.8C522.7122,-4012.8 578.9489,-4012.8 615.3582,-4012.8"/>
<polygon fill="#000000" stroke="#000000" points="615.5305,-4016.3001 625.5305,-4012.8 615.5305,-4009.3001 615.5305,-4016.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Last -->
<g id="node211" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).Last</title>
<g id="a_node211"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).Last | defined in relations.go:62&#10;at relations.go:63: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:64: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-4103.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-4099.6" font-family="Verdana" font-size="14.00" fill="#000000">Last</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count -->
<g id="edge271" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count</title>
<g id="a_edge271"><a xlink:title="at relations.go:63: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:64: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<path fill="none" stroke="#000000" d="M679.543,-4106.8857C728.0768,-4112.468 830.5127,-4124.2501 885.5027,-4130.575"/>
<polygon fill="#000000" stroke="#000000" points="885.1821,-4134.0611 895.5165,-4131.7267 885.982,-4127.1069 885.1821,-4134.0611"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByNickName -->
<g id="node212" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByNickName</title>
<g id="a_node212"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByNickName | defined in relations.go:75&#10;at relations.go:76: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-3951.8" rx="69.6421" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-3947.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByNickName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search -->
<g id="edge331" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search</title>
<g id="a_edge331"><a xlink:title="at relations.go:76: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<path fill="none" stroke="#000000" d="M459.1305,-3964.3653C506.2921,-3976.1651 575.6544,-3993.5195 617.2838,-4003.9352"/>
<polygon fill="#000000" stroke="#000000" points="616.6891,-4007.3942 627.2397,-4006.4261 618.3882,-4000.6035 616.6891,-4007.3942"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendText -->
<g id="node213" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SendText</title>
<g id="a_node213"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SendText | defined in relations.go:132&#10;at relations.go:143: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]&#10;at relations.go:146: calling [(*github.com/eatMoreApple/openwechat.Friend).SendText]&#10;at relations.go:133: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-4317.8" rx="34.7119" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-4313.6" font-family="Verdana" font-size="14.00" fill="#000000">SendText</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge321" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge321"><a xlink:title="at relations.go:133: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="#000000" d="M427.4006,-4333.2574C449.011,-4350.221 486.6158,-4376.4221 524.1506,-4386.8 549.5942,-4393.8348 578.7002,-4390.8595 602.7764,-4385.5678"/>
<polygon fill="#000000" stroke="#000000" points="603.8494,-4388.91 612.7614,-4383.1806 602.2217,-4382.1019 603.8494,-4388.91"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendText -->
<g id="edge108" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendText</title>
<g id="a_edge108"><a xlink:title="at relations.go:146: calling [(*github.com/eatMoreApple/openwechat.Friend).SendText]">
<path fill="none" stroke="#000000" d="M411.264,-4336.0145C422.767,-4422.3334 475.658,-4789.3802 553.1506,-4869.8 567.3792,-4884.566 588.5822,-4892.1348 607.7695,-4895.9861"/>
<polygon fill="#000000" stroke="#000000" points="607.4187,-4899.4771 617.8672,-4897.7227 608.6051,-4892.5784 607.4187,-4899.4771"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="edge64" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_edge64"><a xlink:title="at relations.go:143: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<path fill="none" stroke="#000000" d="M409.1011,-4336.1171C410.5477,-4436.1557 422.7532,-4915.4913 524.1506,-5011.8 559.8471,-5045.705 698.0659,-5019.8261 744.2792,-5036.8 780.9724,-5050.2772 781.8634,-5069.3374 817.3177,-5085.8 828.4356,-5090.9624 840.6358,-5095.4317 852.6609,-5099.2284"/>
<polygon fill="#000000" stroke="#000000" points="851.6581,-5102.5816 862.2433,-5102.1295 853.6865,-5095.882 851.6581,-5102.5816"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendText -->
<g id="node214" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SendText</title>
<g id="a_node214"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SendText | defined in relations.go:291&#10;at relations.go:292: calling [github.com/eatMoreApple/openwechat.getTotalDuration]&#10;at relations.go:305: calling [(*github.com/eatMoreApple/openwechat.Group).SendText]&#10;at relations.go:302: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-5579.8" rx="34.7119" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-5575.6" font-family="Verdana" font-size="14.00" fill="#000000">SendText</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge38" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge38"><a xlink:title="at relations.go:292: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="#000000" d="M409.8556,-5561.7544C417.4686,-5419.5652 470.5861,-4482.7559 553.1506,-4391.8 561.2842,-4382.8398 572.1733,-4377.0961 583.7665,-4373.4901"/>
<polygon fill="#000000" stroke="#000000" points="584.8203,-4376.8328 593.6252,-4370.9402 583.0674,-4370.0558 584.8203,-4376.8328"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendText -->
<g id="edge85" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendText</title>
<g id="a_edge85"><a xlink:title="at relations.go:305: calling [(*github.com/eatMoreApple/openwechat.Group).SendText]">
<path fill="none" stroke="#000000" d="M416.0662,-5562.0239C433.3363,-5521.3786 481.2521,-5421.0639 553.1506,-5367.8 569.3523,-5355.7974 590.3018,-5348.371 608.8013,-5343.8106"/>
<polygon fill="#000000" stroke="#000000" points="609.7954,-5347.1744 618.781,-5341.5611 608.2561,-5340.3458 609.7954,-5347.1744"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="edge299" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_edge299"><a xlink:title="at relations.go:302: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<path fill="none" stroke="#000000" d="M431.4121,-5565.9953C454.0167,-5552.7835 490.2652,-5533.3505 524.1506,-5522.8 618.5443,-5493.4098 661.9852,-5545.5872 744.2792,-5490.8 770.1656,-5473.5661 753.7728,-5447.0641 780.2792,-5430.8 794.4919,-5422.0793 811.0774,-5417.2617 827.7968,-5414.8955"/>
<polygon fill="#000000" stroke="#000000" points="828.6576,-5418.3209 838.2042,-5413.726 827.8759,-5411.3647 828.6576,-5418.3209"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendMsg -->
<g id="node215" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SendMsg</title>
<g id="a_node215"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SendMsg | defined in relations.go:269&#10;at relations.go:283: calling [(*github.com/eatMoreApple/openwechat.Group).SendMsg]&#10;at relations.go:270: calling [github.com/eatMoreApple/openwechat.getTotalDuration]&#10;at relations.go:280: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-5701.8" rx="34.3425" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-5697.6" font-family="Verdana" font-size="14.00" fill="#000000">SendMsg</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge57" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge57"><a xlink:title="at relations.go:270: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="#000000" d="M442.6256,-5697.6671C459.0884,-5693.7963 477.5804,-5686.3031 488.1506,-5671.8 530.0884,-5614.2582 507.17,-4446.1655 553.1506,-4391.8 561.0546,-4382.4547 571.9517,-4376.5526 583.6486,-4372.9155"/>
<polygon fill="#000000" stroke="#000000" points="584.7929,-4376.2356 593.614,-4370.3673 583.0587,-4369.4539 584.7929,-4376.2356"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendMsg -->
<g id="edge33" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendMsg</title>
<g id="a_edge33"><a xlink:title="at relations.go:283: calling [(*github.com/eatMoreApple/openwechat.Group).SendMsg]">
<path fill="none" stroke="#000000" d="M442.2159,-5696.4815C458.1604,-5692.3035 476.3117,-5684.8934 488.1506,-5671.8 563.1307,-5588.875 475.714,-5509.4358 553.1506,-5428.8 567.5665,-5413.7886 589.1131,-5406.0079 608.4791,-5401.9911"/>
<polygon fill="#000000" stroke="#000000" points="609.1352,-5405.4293 618.3582,-5400.2152 607.8967,-5398.5398 609.1352,-5405.4293"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="edge322" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_edge322"><a xlink:title="at relations.go:280: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<path fill="none" stroke="#000000" d="M437.94,-5691.9698C453.1206,-5686.5401 471.8799,-5679.3718 488.1506,-5671.8 642.9339,-5599.769 815.3141,-5490.7984 887.4954,-5443.756"/>
<polygon fill="#000000" stroke="#000000" points="889.7424,-5446.4687 896.1979,-5438.0676 885.9124,-5440.6094 889.7424,-5446.4687"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search -->
<g id="node216" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).Search</title>
<g id="a_node216"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).Search | defined in relations.go:350&#10;at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1]&#10;at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1]&#10;at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1]&#10;at relations.go:355: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:358: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5823.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5819.6" font-family="Verdana" font-size="14.00" fill="#000000">Search</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Count -->
<g id="node217" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).Count</title>
<g id="a_node217"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).Count | defined in relations.go:248">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="922.2361" cy="-5701.8" rx="27" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5697.6" font-family="Verdana" font-size="14.00" fill="#000000">Count</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count -->
<g id="edge335" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count</title>
<g id="a_edge335"><a xlink:title="at relations.go:355: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:358: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<path fill="none" stroke="#000000" d="M674.8239,-5813.358C693.5447,-5804.3589 720.9754,-5790.8005 744.2792,-5777.8 777.5764,-5759.2245 782.4993,-5748.338 817.3177,-5732.8 839.5745,-5722.8677 865.8799,-5715.1037 886.583,-5709.8298"/>
<polygon fill="#000000" stroke="#000000" points="887.6792,-5713.1644 896.5501,-5707.3715 886.0029,-5706.3681 887.6792,-5713.1644"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1 -->
<g id="node218" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1</title>
<g id="a_node218"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1 | defined in relations.go:341">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-5823.8" rx="77.4713" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5819.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByNickName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1 -->
<g id="edge44" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1</title>
<g id="a_edge44"><a xlink:title="at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M679.7917,-5823.8C715.6582,-5823.8 780.6471,-5823.8 834.3159,-5823.8"/>
<polygon fill="#000000" stroke="#000000" points="834.5408,-5827.3001 844.5408,-5823.8 834.5407,-5820.3001 834.5408,-5827.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1 -->
<g id="node219" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1</title>
<g id="a_node219"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1 | defined in relations.go:346">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-5884.8" rx="87.3119" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5880.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByRemarkName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1 -->
<g id="edge292" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1</title>
<g id="a_edge292"><a xlink:title="at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M678.5577,-5829.6489C718.4558,-5838.679 796.3987,-5856.3196 853.4273,-5869.2267"/>
<polygon fill="#000000" stroke="#000000" points="852.9346,-5872.7036 863.4606,-5871.4975 854.4799,-5865.8763 852.9346,-5872.7036"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1 -->
<g id="node220" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1</title>
<g id="a_node220"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1 | defined in relations.go:336">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="922.2361" cy="-5762.8" rx="77.0833" ry="18"/>
<text text-anchor="middle" x="922.2361" y="-5758.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByUserName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1 -->
<g id="edge250" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1</title>
<g id="a_edge250"><a xlink:title="at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M678.5577,-5817.9511C719.2016,-5808.7523 799.3258,-5790.618 856.6029,-5777.6546"/>
<polygon fill="#000000" stroke="#000000" points="857.6786,-5780.9997 866.6593,-5775.3786 856.1333,-5774.1724 857.6786,-5780.9997"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName -->
<g id="node221" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName</title>
<g id="a_node221"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName | defined in relations.go:345&#10;at relations.go:346: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-5884.8" rx="79.483" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-5880.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByRemarkName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search -->
<g id="edge121" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search</title>
<g id="a_edge121"><a xlink:title="at relations.go:346: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<path fill="none" stroke="#000000" d="M462.4136,-5871.4133C509.5793,-5859.6124 576.9432,-5842.758 617.5857,-5832.5893"/>
<polygon fill="#000000" stroke="#000000" points="618.4629,-5835.9778 627.3143,-5830.1552 616.7638,-5829.1871 618.4629,-5835.9778"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByNickName -->
<g id="node222" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByNickName</title>
<g id="a_node222"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByNickName | defined in relations.go:340&#10;at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-5823.8" rx="69.6421" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-5819.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByNickName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search -->
<g id="edge136" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search</title>
<g id="a_edge136"><a xlink:title="at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<path fill="none" stroke="#000000" d="M478.7743,-5823.8C523.3423,-5823.8 579.3347,-5823.8 615.5608,-5823.8"/>
<polygon fill="#000000" stroke="#000000" points="615.681,-5827.3001 625.6809,-5823.8 615.6809,-5820.3001 615.681,-5827.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByUserName -->
<g id="node223" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByUserName</title>
<g id="a_node223"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByUserName | defined in relations.go:335&#10;at relations.go:336: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-5762.8" rx="69.2542" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-5758.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByUserName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search -->
<g id="edge70" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search</title>
<g id="a_edge70"><a xlink:title="at relations.go:336: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<path fill="none" stroke="#000000" d="M458.8355,-5775.2915C506.069,-5787.1093 575.7638,-5804.5469 617.4602,-5814.9793"/>
<polygon fill="#000000" stroke="#000000" points="616.6243,-5818.378 627.1748,-5817.4099 618.3233,-5811.5873 616.6243,-5818.378"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Last -->
<g id="node224" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).Last</title>
<g id="a_node224"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).Last | defined in relations.go:261&#10;at relations.go:262: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:263: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5746.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5742.6" font-family="Verdana" font-size="14.00" fill="#000000">Last</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count -->
<g id="edge248" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count</title>
<g id="a_edge248"><a xlink:title="at relations.go:262: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:263: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<path fill="none" stroke="#000000" d="M679.0485,-5742.4033C727.4549,-5734.3212 830.654,-5717.0908 885.7666,-5707.8891"/>
<polygon fill="#000000" stroke="#000000" points="886.5086,-5711.3137 895.7957,-5706.2146 885.3558,-5704.4093 886.5086,-5711.3137"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).First -->
<g id="node225" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).First</title>
<g id="a_node225"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).First | defined in relations.go:253&#10;at relations.go:254: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="652.7149" cy="-5685.8" rx="27" ry="18"/>
<text text-anchor="middle" x="652.7149" y="-5681.6" font-family="Verdana" font-size="14.00" fill="#000000">First</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).First&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count -->
<g id="edge95" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).First&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count</title>
<g id="a_edge95"><a xlink:title="at relations.go:254: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<path fill="none" stroke="#000000" d="M679.7917,-5687.4074C728.3244,-5690.2885 830.1803,-5696.3351 885.1585,-5699.5989"/>
<polygon fill="#000000" stroke="#000000" points="884.9875,-5703.0948 895.1774,-5700.1937 885.4024,-5696.1071 884.9875,-5703.0948"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendImage -->
<g id="node226" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SendImage</title>
<g id="a_node226"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SendImage | defined in relations.go:313&#10;at relations.go:324: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]&#10;at relations.go:327: calling [(*github.com/eatMoreApple/openwechat.Group).SendImage]&#10;at relations.go:314: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="408.9095" cy="-5640.8" rx="40.2525" ry="18"/>
<text text-anchor="middle" x="408.9095" y="-5636.6" font-family="Verdana" font-size="14.00" fill="#000000">SendImage</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge261" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge261"><a xlink:title="at relations.go:314: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="#000000" d="M447.5443,-5635.4248C462.6629,-5631.2642 478.6319,-5623.8851 488.1506,-5610.8 567.9409,-5501.1147 465.0895,-4494.963 553.1506,-4391.8 561.0971,-4382.4908 572.0137,-4376.6053 583.7165,-4372.9732"/>
<polygon fill="#000000" stroke="#000000" points="584.8615,-4376.2932 593.6839,-4370.4266 583.1287,-4369.5111 584.8615,-4376.2932"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendImage -->
<g id="edge96" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendImage</title>
<g id="a_edge96"><a xlink:title="at relations.go:327: calling [(*github.com/eatMoreApple/openwechat.Group).SendImage]">
<path fill="none" stroke="#000000" d="M446.9515,-5634.5151C461.7855,-5630.206 477.702,-5622.962 488.1506,-5610.8 533.1685,-5558.3998 506.5794,-5357.8246 553.1506,-5306.8 565.9197,-5292.8099 584.8816,-5285.0772 602.8417,-5280.8239"/>
<polygon fill="#000000" stroke="#000000" points="603.5814,-5284.2451 612.6707,-5278.8013 602.1705,-5277.3888 603.5814,-5284.2451"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="edge25" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_edge25"><a xlink:title="at relations.go:324: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<path fill="none" stroke="#000000" d="M445.154,-5632.6996C459.6986,-5628.0982 475.8849,-5621.1266 488.1506,-5610.8 512.2326,-5590.5251 498.2848,-5567.7435 524.1506,-5549.8 605.7886,-5493.1665 660.8844,-5564.8132 744.2792,-5510.8 768.1797,-5495.3201 757.0137,-5474.2189 780.2792,-5457.8 796.4783,-5446.368 815.9524,-5438.4673 835.2118,-5433.0074"/>
<polygon fill="#000000" stroke="#000000" points="836.1604,-5436.3769 844.9381,-5430.4438 834.3763,-5429.6081 836.1604,-5436.3769"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).First&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge286" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).First&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge286"><a xlink:title="at user.go:418: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="#000000" d="M1446.2463,-3864.8719C1492.4287,-3875.8336 1589.7951,-3898.9441 1642.3083,-3911.4085"/>
<polygon fill="#000000" stroke="#000000" points="1641.6464,-3914.8485 1652.1844,-3913.7526 1643.263,-3908.0378 1641.6464,-3914.8485"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search -->
<g id="node230" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Search</title>
<g id="a_node230"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Search | defined in user.go:458&#10;at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1]&#10;at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1]&#10;at user.go:463: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-4041.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-4037.6" font-family="Verdana" font-size="14.00" fill="#000000">Search</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge201" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge201"><a xlink:title="at user.go:463: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="#000000" d="M1446.7043,-4036.6133C1465.2949,-4032.0847 1490.3279,-4024.2482 1509.6543,-4011.8 1540.8486,-3991.7076 1534.9401,-3970.0614 1566.6543,-3950.8 1589.3458,-3937.0185 1618.3345,-3929.1953 1640.9978,-3924.8562"/>
<polygon fill="#000000" stroke="#000000" points="1641.6839,-3928.2892 1650.9202,-3923.0988 1640.463,-3921.3965 1641.6839,-3928.2892"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByNickName$1 -->
<g id="node231" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1</title>
<g id="a_node231"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1 | defined in user.go:449">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="1677.6624" cy="-3980.8" rx="77.4713" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-3976.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByNickName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1 -->
<g id="edge257" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1</title>
<g id="a_edge257"><a xlink:title="at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1446.2463,-4035.7281C1484.9119,-4026.5505 1559.4558,-4008.8571 1613.516,-3996.0255"/>
<polygon fill="#000000" stroke="#000000" points="1614.4373,-3999.4042 1623.3586,-3993.6893 1612.8206,-3992.5934 1614.4373,-3999.4042"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1 -->
<g id="node232" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1</title>
<g id="a_node232"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1 | defined in user.go:454">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="1677.6624" cy="-4041.8" rx="87.3119" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-4037.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByRemarkName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1 -->
<g id="edge90" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1</title>
<g id="a_edge90"><a xlink:title="at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1447.6823,-4041.8C1479.0846,-4041.8 1532.6865,-4041.8 1580.2453,-4041.8"/>
<polygon fill="#000000" stroke="#000000" points="1580.292,-4045.3001 1590.2919,-4041.8 1580.2919,-4038.3001 1580.292,-4045.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByUserName$1 -->
<g id="node233" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1</title>
<g id="a_node233"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1 | defined in user.go:444">
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="1677.6624" cy="-4102.8" rx="77.0833" ry="18"/>
<text text-anchor="middle" x="1677.6624" y="-4098.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByUserName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1 -->
<g id="edge155" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1</title>
<g id="a_edge155"><a xlink:title="at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1]">
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1446.2463,-4047.8719C1484.9717,-4057.0636 1559.6863,-4074.7976 1613.7666,-4087.6339"/>
<polygon fill="#000000" stroke="#000000" points="1613.0731,-4091.0665 1623.6111,-4089.9706 1614.6897,-4084.2557 1613.0731,-4091.0665"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByRemarkName -->
<g id="node234" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName</title>
<g id="a_node234"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName | defined in user.go:453&#10;at user.go:454: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-4102.8" rx="79.483" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-4098.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByRemarkName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search -->
<g id="edge186" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search</title>
<g id="a_edge186"><a xlink:title="at user.go:454: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<path fill="none" stroke="#000000" d="M1239.4854,-4089.1863C1283.9756,-4077.5502 1346.7737,-4061.1258 1385.5427,-4050.986"/>
<polygon fill="#000000" stroke="#000000" points="1386.5413,-4054.3426 1395.3302,-4048.4261 1384.77,-4047.5704 1386.5413,-4054.3426"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Friends&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsFriend -->
<g id="edge329" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Friends&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsFriend</title>
<g id="a_edge329"><a xlink:title="at user.go:487: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]">
<path fill="none" stroke="#000000" d="M1215.2978,-3916.2625C1232.6358,-3912.5764 1253.9777,-3905.0687 1266.6753,-3889.8 1281.4749,-3872.0039 1301.474,-3707.8409 1303.6753,-3684.8 1311.6437,-3601.396 1291.7755,-737.541 1339.6753,-668.8 1348.9955,-655.4247 1364.9208,-647.8181 1380.1963,-643.4931"/>
<polygon fill="#000000" stroke="#000000" points="1381.1727,-646.8578 1390.0647,-641.0972 1379.5212,-640.0554 1381.1727,-646.8578"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search -->
<g id="edge301" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search</title>
<g id="a_edge301"><a xlink:title="at user.go:444: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<path fill="none" stroke="#000000" d="M1235.5041,-3871.7859C1246.532,-3876.2765 1257.6536,-3882.1664 1266.6753,-3889.8 1314.9125,-3930.6151 1291.0696,-3971.4246 1339.6753,-4011.8 1352.6376,-4022.5674 1369.8272,-4029.6626 1385.0344,-4034.2348"/>
<polygon fill="#000000" stroke="#000000" points="1384.1069,-4037.6096 1394.6772,-4036.8882 1385.9642,-4030.8604 1384.1069,-4037.6096"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Groups&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup -->
<g id="edge47" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Groups&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup</title>
<g id="a_edge47"><a xlink:title="at user.go:498: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<path fill="none" stroke="#000000" d="M1215.3079,-4165.7989C1279.5885,-4168.6849 1438.1689,-4165.5863 1509.6543,-4072.8 1537.5038,-4036.6521 1551.9874,-831.0105 1566.6543,-787.8 1584.1679,-736.203 1626.5832,-687.6588 1653.6209,-660.4267"/>
<polygon fill="#000000" stroke="#000000" points="1656.1533,-662.8448 1660.8057,-653.3261 1651.2328,-657.866 1656.1533,-662.8448"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).MPs&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsMP -->
<g id="edge260" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).MPs&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsMP</title>
<g id="a_edge260"><a xlink:title="at user.go:509: calling [(*github.com/eatMoreApple/openwechat.User).IsMP]">
<path fill="none" stroke="#000000" d="M1214.3178,-3977.6415C1231.9287,-3974.1071 1253.962,-3966.6258 1266.6753,-3950.8 1338.121,-3861.8628 1293.1684,-3810.3954 1303.6753,-3696.8 1359.8839,-3089.102 1413.1868,-1053.0493 1419.9448,-788.2691"/>
<polygon fill="#000000" stroke="#000000" points="1423.4514,-788.0512 1420.2071,-777.9654 1416.4536,-787.873 1423.4514,-788.0512"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByNickName -->
<g id="node240" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByNickName</title>
<g id="a_node240"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByNickName | defined in user.go:448&#10;at user.go:449: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1187.4342" cy="-4041.8" rx="69.6421" ry="18"/>
<text text-anchor="middle" x="1187.4342" y="-4037.6" font-family="Verdana" font-size="14.00" fill="#000000">SearchByNickName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search -->
<g id="edge255" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search</title>
<g id="a_edge255"><a xlink:title="at user.go:449: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<path fill="none" stroke="#000000" d="M1257.0951,-4041.8C1298.3973,-4041.8 1349.1329,-4041.8 1383.0463,-4041.8"/>
<polygon fill="#000000" stroke="#000000" points="1383.4329,-4045.3001 1393.4328,-4041.8 1383.4328,-4038.3001 1383.4329,-4045.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Last -->
<g id="node241" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Last</title>
<g id="a_node241"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Last | defined in user.go:426&#10;at user.go:427: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at user.go:428: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="1420.6648" cy="-3980.8" rx="27" ry="18"/>
<text text-anchor="middle" x="1420.6648" y="-3976.6" font-family="Verdana" font-size="14.00" fill="#000000">Last</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge182" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge182"><a xlink:title="at user.go:427: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at user.go:428: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="#000000" d="M1446.2463,-3974.7281C1492.4287,-3963.7664 1589.7951,-3940.6559 1642.3083,-3928.1915"/>
<polygon fill="#000000" stroke="#000000" points="1643.263,-3931.5622 1652.1844,-3925.8474 1641.6464,-3924.7515 1643.263,-3931.5622"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact -->
<g id="edge224" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact</title>
<g id="a_edge224"><a xlink:title="at user.go:542: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]&#10;at user.go:554: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]">
<path fill="none" stroke="#000000" d="M1447.777,-3918.3783C1468.2066,-3915.7479 1495.105,-3908.6396 1509.6543,-3889.8 1565.3425,-3817.6909 1509.0809,-3142.4131 1566.6543,-3071.8 1573.3618,-3063.5734 1582.0559,-3057.425 1591.6254,-3052.8469"/>
<polygon fill="#000000" stroke="#000000" points="1593.151,-3056.0029 1601.0322,-3048.9221 1590.4555,-3049.5426 1593.151,-3056.0029"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge74" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge74"><a xlink:title="at user.go:522: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="#000000" d="M1447.6823,-3919.8C1493.8595,-3919.8 1588.0405,-3919.8 1640.42,-3919.8"/>
<polygon fill="#000000" stroke="#000000" points="1640.6213,-3923.3001 1650.6213,-3919.8 1640.6212,-3916.3001 1640.6213,-3923.3001"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SetOwner -->
<g id="edge106" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SetOwner</title>
<g id="a_edge106"><a xlink:title="at user.go:561: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]">
<path fill="none" stroke="#000000" d="M1447.455,-3922.6856C1467.1657,-3926.1749 1493.2752,-3933.8668 1509.6543,-3950.8 1568.8809,-4012.0299 1505.284,-4074.7189 1566.6543,-4133.8 1583.7881,-4150.2947 1609.0152,-4157.9342 1631.0925,-4161.3882"/>
<polygon fill="#000000" stroke="#000000" points="1630.9285,-4164.8967 1641.3,-4162.7328 1631.8428,-4157.9567 1630.9285,-4164.8967"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).First -->
<g id="node243" class="node">
<title>(github.com/eatMoreApple/openwechat.Mps).First</title>
<g id="a_node243"><a xlink:title="(github.com/eatMoreApple/openwechat.Mps).First | defined in relations.go:390&#10;at relations.go:391: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="59.2997" cy="-3154.8" rx="27" ry="18"/>
<text text-anchor="middle" x="59.2997" y="-3150.6" font-family="Verdana" font-size="14.00" fill="#000000">First</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Count -->
<g id="node244" class="node">
<title>(github.com/eatMoreApple/openwechat.Mps).Count</title>
<g id="a_node244"><a xlink:title="(github.com/eatMoreApple/openwechat.Mps).Count | defined in relations.go:385">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="212.1338" cy="-3215.8" rx="27" ry="18"/>
<text text-anchor="middle" x="212.1338" y="-3211.6" font-family="Verdana" font-size="14.00" fill="#000000">Count</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).First&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count -->
<g id="edge10" class="edge">
<title>(github.com/eatMoreApple/openwechat.Mps).First&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count</title>
<g id="a_edge10"><a xlink:title="at relations.go:391: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<path fill="none" stroke="#000000" d="M82.5119,-3164.0646C108.3203,-3174.3654 150.2023,-3191.0816 179.3486,-3202.7146"/>
<polygon fill="#000000" stroke="#000000" points="178.1182,-3205.9919 188.7032,-3206.4482 180.713,-3199.4906 178.1182,-3205.9919"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Search -->
<g id="node245" class="node">
<title>(github.com/eatMoreApple/openwechat.Mps).Search</title>
<g id="a_node245"><a xlink:title="(github.com/eatMoreApple/openwechat.Mps).Search | defined in relations.go:406&#10;at relations.go:411: calling [(github.com/eatMoreApple/openwechat.Mps).Count]&#10;at relations.go:414: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="59.2997" cy="-3276.8" rx="27" ry="18"/>
<text text-anchor="middle" x="59.2997" y="-3272.6" font-family="Verdana" font-size="14.00" fill="#000000">Search</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count -->
<g id="edge105" class="edge">
<title>(github.com/eatMoreApple/openwechat.Mps).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count</title>
<g id="a_edge105"><a xlink:title="at relations.go:411: calling [(github.com/eatMoreApple/openwechat.Mps).Count]&#10;at relations.go:414: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<path fill="none" stroke="#000000" d="M82.5119,-3267.5354C108.3203,-3257.2346 150.2023,-3240.5184 179.3486,-3228.8854"/>
<polygon fill="#000000" stroke="#000000" points="180.713,-3232.1094 188.7032,-3225.1518 178.1182,-3225.6081 180.713,-3232.1094"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Last -->
<g id="node246" class="node">
<title>(github.com/eatMoreApple/openwechat.Mps).Last</title>
<g id="a_node246"><a xlink:title="(github.com/eatMoreApple/openwechat.Mps).Last | defined in relations.go:398&#10;at relations.go:399: calling [(github.com/eatMoreApple/openwechat.Mps).Count]&#10;at relations.go:400: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="59.2997" cy="-3215.8" rx="27" ry="18"/>
<text text-anchor="middle" x="59.2997" y="-3211.6" font-family="Verdana" font-size="14.00" fill="#000000">Last</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count -->
<g id="edge89" class="edge">
<title>(github.com/eatMoreApple/openwechat.Mps).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count</title>
<g id="a_edge89"><a xlink:title="at relations.go:399: calling [(github.com/eatMoreApple/openwechat.Mps).Count]&#10;at relations.go:400: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<path fill="none" stroke="#000000" d="M86.6234,-3215.8C111.1821,-3215.8 147.4724,-3215.8 174.7217,-3215.8"/>
<polygon fill="#000000" stroke="#000000" points="175.0467,-3219.3001 185.0467,-3215.8 175.0467,-3212.3001 175.0467,-3219.3001"/>
</a>
</g>
</g>
</g>
</svg>
digraph gocallvis {
label="github.com/suntong/owc-insight";
labeljust="l";
fontname="Arial";
fontsize="14";
rankdir="LR";
bgcolor="lightgray";
style="solid";
penwidth="0.5";
pad="0.0";
nodesep="0.35";
node [shape="ellipse" style="filled" fillcolor="honeydew" fontname="Verdana" penwidth="1.0" margin="0.05,0.0"];
edge [minlen="2"]
subgraph "cluster_focus" {
bgcolor="white";
label="";
labelloc="t";
labeljust="c";
fontsize="18";
subgraph "cluster_github.com/eatMoreApple/openwechat" {
fontsize="16";
label="openwechat";
URL="/?f=github.com/eatMoreApple/openwechat";
tooltip="package: github.com/eatMoreApple/openwechat";
penwidth="0.8";
style="filled";
fillcolor="lightyellow";
fontname="Tahoma bold";
rank="sink";
"github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode" [ fillcolor="moccasin" label="getResponseErrorWithRetCode" penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode | defined in items.go:55" ]
"github.com/eatMoreApple/openwechat.GetRandomDeviceId" [ fillcolor="moccasin" label="GetRandomDeviceId" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.GetRandomDeviceId | defined in parser.go:25" ]
"github.com/eatMoreApple/openwechat.GetFileContentType" [ fillcolor="moccasin" label="GetFileContentType" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.GetFileContentType | defined in parser.go:62" ]
"github.com/eatMoreApple/openwechat.getMessageType" [ fillcolor="moccasin" label="getMessageType" penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.getMessageType | defined in parser.go:85\nat parser.go:86: calling [github.com/eatMoreApple/openwechat.getFileExt]" ]
"github.com/eatMoreApple/openwechat.getFileExt" [ fillcolor="moccasin" label="getFileExt" penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.getFileExt | defined in parser.go:70" ]
"github.com/eatMoreApple/openwechat.getWebWxDataTicket" [ fillcolor="moccasin" label="getWebWxDataTicket" penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.getWebWxDataTicket | defined in parser.go:36" ]
"github.com/eatMoreApple/openwechat.parseBaseResponseError" [ fillcolor="moccasin" label="parseBaseResponseError" penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.parseBaseResponseError | defined in caller.go:331\nat caller.go:334: calling [github.com/eatMoreApple/openwechat.scanJson]\nat caller.go:337: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]" ]
"github.com/eatMoreApple/openwechat.scanJson" [ tooltip="github.com/eatMoreApple/openwechat.scanJson | defined in parser.go:103" fillcolor="moccasin" label="scanJson" penwidth="0.5" ]
"github.com/eatMoreApple/openwechat.NewMediaSendMessage" [ tooltip="github.com/eatMoreApple/openwechat.NewMediaSendMessage | defined in message.go:362\nat message.go:363: calling [github.com/eatMoreApple/openwechat.NewSendMessage]" fillcolor="moccasin" label="NewMediaSendMessage" penwidth="1.5" ]
"github.com/eatMoreApple/openwechat.NewSendMessage" [ fillcolor="moccasin" label="NewSendMessage" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.NewSendMessage | defined in message.go:343" ]
"github.com/eatMoreApple/openwechat.ToBuffer" [ penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.ToBuffer | defined in parser.go:15" fillcolor="moccasin" label="ToBuffer" ]
"github.com/eatMoreApple/openwechat.parseMessageResponseError" [ penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.parseMessageResponseError | defined in caller.go:343\nat caller.go:352: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]\nat caller.go:348: calling [github.com/eatMoreApple/openwechat.scanJson]" fillcolor="moccasin" label="parseMessageResponseError" ]
"github.com/eatMoreApple/openwechat.getSuccessSentMessage" [ label="getSuccessSentMessage" penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.getSuccessSentMessage | defined in caller.go:360\nat caller.go:365: calling [github.com/eatMoreApple/openwechat.parseMessageResponseError]" fillcolor="moccasin" ]
"github.com/eatMoreApple/openwechat.NewUserDetailItemList" [ fillcolor="moccasin" label="NewUserDetailItemList" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.NewUserDetailItemList | defined in items.go:122" ]
"github.com/eatMoreApple/openwechat.scanXml" [ penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.scanXml | defined in parser.go:95" fillcolor="moccasin" label="scanXml" ]
"github.com/eatMoreApple/openwechat.XmlFormString" [ fillcolor="moccasin" label="XmlFormString" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.XmlFormString | defined in parser.go:46" ]
"github.com/eatMoreApple/openwechat.NewTextSendMessage" [ label="NewTextSendMessage" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.NewTextSendMessage | defined in message.go:357\nat message.go:358: calling [github.com/eatMoreApple/openwechat.NewSendMessage]" fillcolor="moccasin" ]
"github.com/eatMoreApple/openwechat.getTotalDuration" [ fillcolor="moccasin" label="getTotalDuration" penwidth="0.5" tooltip="github.com/eatMoreApple/openwechat.getTotalDuration | defined in parser.go:53" ]
"github.com/eatMoreApple/openwechat.NewFileAppMessage" [ label="NewFileAppMessage" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.NewFileAppMessage | defined in message.go:507\nat message.go:512: calling [github.com/eatMoreApple/openwechat.getFileExt]" fillcolor="moccasin" ]
"github.com/eatMoreApple/openwechat.DefaultClient" [ fillcolor="moccasin" label="DefaultClient" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.DefaultClient | defined in client.go:55\nat client.go:63: calling [github.com/eatMoreApple/openwechat.NewClient]\nat client.go:64: calling [(*github.com/eatMoreApple/openwechat.Client).AddHttpHook]" ]
"github.com/eatMoreApple/openwechat.NewClient" [ fillcolor="moccasin" label="NewClient" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.NewClient | defined in client.go:49" ]
"github.com/eatMoreApple/openwechat.DefaultCaller" [ fillcolor="moccasin" label="DefaultCaller" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.DefaultCaller | defined in caller.go:24\nat caller.go:25: calling [github.com/eatMoreApple/openwechat.DefaultClient]\nat caller.go:25: calling [github.com/eatMoreApple/openwechat.NewCaller]" ]
"github.com/eatMoreApple/openwechat.NewCaller" [ penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.NewCaller | defined in caller.go:19" fillcolor="moccasin" label="NewCaller" ]
"github.com/eatMoreApple/openwechat.DefaultBot" [ fillcolor="moccasin" label="DefaultBot" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.DefaultBot | defined in bot.go:320\nat bot.go:327: calling [github.com/eatMoreApple/openwechat.DefaultCaller]\nat bot.go:329: calling [github.com/eatMoreApple/openwechat.NewBot]" ]
"github.com/eatMoreApple/openwechat.NewBot" [ fillcolor="moccasin" label="NewBot" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.NewBot | defined in bot.go:312" ]
"github.com/eatMoreApple/openwechat.NewFriendHelper" [ fillcolor="moccasin" label="NewFriendHelper" penwidth="1.5" tooltip="github.com/eatMoreApple/openwechat.NewFriendHelper | defined in user.go:571" ]
subgraph "cluster_*github.com/eatMoreApple/openwechat.Bot" {
style="rounded,filled";
fillcolor="wheat2";
label="(*Bot)";
tooltip="type: *github.com/eatMoreApple/openwechat.Bot";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
"(*github.com/eatMoreApple/openwechat.Bot).handleLogin" [ label="handleLogin" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).handleLogin | defined in bot.go:157\nat bot.go:184: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]\nat bot.go:179: calling [(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage]\nat bot.go:159: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo]\nat bot.go:171: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage" [ fillcolor="moccasin" label="DumpHotReloadStorage" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage | defined in bot.go:297\nat bot.go:301: calling [(*github.com/eatMoreApple/openwechat.Client).GetCookieMap]\nat bot.go:308: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump]" ]
"(*github.com/eatMoreApple/openwechat.Bot).webInit" [ label="webInit" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).webInit | defined in bot.go:188\nat bot.go:202: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify]\nat bot.go:192: calling [(*github.com/eatMoreApple/openwechat.Caller).WebInit]\nat bot.go:206: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit$1]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Bot).asyncCall" [ label="asyncCall" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).asyncCall | defined in bot.go:219\nat bot.go:231: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]\nat bot.go:235: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal]\nat bot.go:236: calling [(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage]\nat bot.go:226: calling [(*github.com/eatMoreApple/openwechat.Caller).SyncCheck]\nat bot.go:224: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Bot).Alive" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).Alive | defined in bot.go:28" fillcolor="moccasin" label="Alive" ]
"(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage" [ label="getNewWechatMessage" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage | defined in bot.go:253\nat bot.go:254: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSync]\nat bot.go:263: calling [(*github.com/eatMoreApple/openwechat.Message).init]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Bot).webInit$1" [ style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.Bot).webInit$1 | defined in bot.go:206\nat bot.go:211: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]\nat bot.go:210: calling [(*github.com/eatMoreApple/openwechat.Bot).asyncCall]" fillcolor="moccasin" label="webInit$1" ]
"(*github.com/eatMoreApple/openwechat.Bot).Logout" [ fillcolor="moccasin" label="Logout" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).Logout | defined in bot.go:141\nat bot.go:142: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]\nat bot.go:147: calling [(*github.com/eatMoreApple/openwechat.Caller).Logout]\nat bot.go:150: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]" ]
"(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL" [ fillcolor="moccasin" label="stopAsyncCALL" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL | defined in bot.go:245\nat bot.go:249: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error]" ]
"(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit" [ penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit | defined in bot.go:87\nat bot.go:88: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem]" fillcolor="moccasin" label="hotLoginInit" ]
"(*github.com/eatMoreApple/openwechat.Bot).Login" [ label="Login" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Bot).Login | defined in bot.go:105\nat bot.go:116: calling [(*github.com/eatMoreApple/openwechat.Caller).CheckLogin]\nat bot.go:126: calling [(*github.com/eatMoreApple/openwechat.Bot).handleLogin]\nat bot.go:106: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Bot).HotLogin" [ tooltip="(*github.com/eatMoreApple/openwechat.Bot).HotLogin | defined in bot.go:58\nat bot.go:67: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]\nat bot.go:79: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]\nat bot.go:66: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load]\nat bot.go:76: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]\nat bot.go:70: calling [(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit]" fillcolor="moccasin" label="HotLogin" penwidth="1.5" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.Caller" {
style="rounded,filled";
fillcolor="wheat2";
label="(*Caller)";
tooltip="type: *github.com/eatMoreApple/openwechat.Caller";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
"(*github.com/eatMoreApple/openwechat.Caller).UploadMedia" [ fillcolor="moccasin" label="UploadMedia" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).UploadMedia | defined in caller.go:220\nat caller.go:231: calling [github.com/eatMoreApple/openwechat.scanJson]\nat caller.go:234: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]\nat caller.go:222: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg" [ fillcolor="moccasin" label="WebWxSendImageMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg | defined in caller.go:244\nat caller.go:254: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]\nat caller.go:246: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]\nat caller.go:251: calling [github.com/eatMoreApple/openwechat.NewMediaSendMessage]\nat caller.go:253: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact" [ fillcolor="moccasin" label="WebWxBatchGetContact" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact | defined in caller.go:175\nat caller.go:182: calling [github.com/eatMoreApple/openwechat.scanJson]\nat caller.go:176: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact]\nat caller.go:185: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]" ]
"(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo" [ label="GetLoginInfo" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo | defined in caller.go:73\nat caller.go:84: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo]\nat caller.go:96: calling [github.com/eatMoreApple/openwechat.scanXml]\nat caller.go:99: calling [(github.com/eatMoreApple/openwechat.LoginInfo).Ok]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebInit" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebInit | defined in caller.go:106\nat caller.go:107: calling [(*github.com/eatMoreApple/openwechat.Client).WebInit]\nat caller.go:113: calling [github.com/eatMoreApple/openwechat.scanJson]" fillcolor="moccasin" label="WebInit" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify" [ fillcolor="moccasin" label="WebWxStatusNotify" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify | defined in caller.go:120\nat caller.go:130: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]\nat caller.go:121: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify]\nat caller.go:127: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(*github.com/eatMoreApple/openwechat.Caller).SyncCheck" [ fillcolor="moccasin" label="SyncCheck" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).SyncCheck | defined in caller.go:137\nat caller.go:138: calling [(*github.com/eatMoreApple/openwechat.Client).SyncCheck]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSync" [ fillcolor="moccasin" label="WebWxSync" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxSync | defined in caller.go:192\nat caller.go:193: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSync]\nat caller.go:199: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg" [ fillcolor="moccasin" label="WebWxSendMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg | defined in caller.go:206\nat caller.go:208: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]\nat caller.go:207: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg]" ]
"(*github.com/eatMoreApple/openwechat.Caller).Logout" [ fillcolor="moccasin" label="Logout" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).Logout | defined in caller.go:280\nat caller.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).Logout]\nat caller.go:285: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg" [ fillcolor="moccasin" label="WebWxRevokeMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg | defined in caller.go:322\nat caller.go:327: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]\nat caller.go:323: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact" [ fillcolor="moccasin" label="WebWxGetContact" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact | defined in caller.go:157\nat caller.go:164: calling [github.com/eatMoreApple/openwechat.scanJson]\nat caller.go:167: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]\nat caller.go:158: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact]" ]
"(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID" [ fillcolor="moccasin" label="GetLoginUUID" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID | defined in caller.go:29\nat caller.go:30: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID]" ]
"(*github.com/eatMoreApple/openwechat.Caller).CheckLogin" [ fillcolor="moccasin" label="CheckLogin" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).CheckLogin | defined in caller.go:51\nat caller.go:52: calling [(*github.com/eatMoreApple/openwechat.Client).CheckLogin]" ]
"(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom" [ fillcolor="moccasin" label="RemoveFriendFromChatRoom" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom | defined in caller.go:301\nat caller.go:309: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]\nat caller.go:305: calling [(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" [ fillcolor="moccasin" label="WebWxSendFile" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile | defined in caller.go:257\nat caller.go:269: calling [github.com/eatMoreApple/openwechat.NewSendMessage]\nat caller.go:264: calling [github.com/eatMoreApple/openwechat.NewFileAppMessage]\nat caller.go:258: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]\nat caller.go:265: calling [(github.com/eatMoreApple/openwechat.appmsg).XmlByte]\nat caller.go:270: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg" [ fillcolor="moccasin" label="WebWxSendAppMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg | defined in caller.go:274\nat caller.go:275: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]\nat caller.go:276: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]" ]
"(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom" [ fillcolor="moccasin" label="AddFriendIntoChatRoom" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom | defined in caller.go:289\nat caller.go:297: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]\nat caller.go:293: calling [(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog | defined in caller.go:212\nat caller.go:213: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxOplog]\nat caller.go:217: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" fillcolor="moccasin" label="WebWxOplog" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser" [ fillcolor="moccasin" label="WebWxVerifyUser" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser | defined in caller.go:313\nat caller.go:318: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]\nat caller.go:314: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser]" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.Client" {
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(*Client)";
tooltip="type: *github.com/eatMoreApple/openwechat.Client";
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice" [ label="WebWxGetVoice" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice | defined in client.go:534\nat client.go:535: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:541: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Client).do" [ fillcolor="moccasin" label="do" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).do | defined in client.go:72\nat client.go:74: calling [(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest]\nat client.go:78: calling [(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest]" ]
"(*github.com/eatMoreApple/openwechat.Client).Do" [ fillcolor="moccasin" label="Do" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).Do | defined in client.go:96\nat client.go:97: calling [(*github.com/eatMoreApple/openwechat.Client).do]\nat client.go:99: calling [(*github.com/eatMoreApple/openwechat.Client).setCookie]" ]
"(*github.com/eatMoreApple/openwechat.Client).setCookie" [ fillcolor="moccasin" label="setCookie" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).setCookie | defined in client.go:83" ]
"(*github.com/eatMoreApple/openwechat.Client).SyncCheck" [ fillcolor="moccasin" label="SyncCheck" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).SyncCheck | defined in client.go:198\nat client.go:205: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]\nat client.go:217: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:199: calling [(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk" [ fillcolor="moccasin" label="WebWxUploadMediaByChunk" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk | defined in client.go:302\nat client.go:304: calling [github.com/eatMoreApple/openwechat.GetFileContentType]\nat client.go:440: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]\nat client.go:330: calling [github.com/eatMoreApple/openwechat.getMessageType]\nat client.go:434: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:339: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]\nat client.go:332: calling [(github.com/eatMoreApple/openwechat.WechatDomain).FileHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg" [ fillcolor="moccasin" label="WebWxSendMsgImg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg | defined in client.go:452\nat client.go:454: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:461: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Client).sendMessage" [ label="sendMessage" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).sendMessage | defined in client.go:272\nat client.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:278: calling [github.com/eatMoreApple/openwechat.ToBuffer]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact" [ fillcolor="moccasin" label="WebWxBatchGetContact" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact | defined in client.go:233\nat client.go:245: calling [github.com/eatMoreApple/openwechat.ToBuffer]\nat client.go:234: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:239: calling [github.com/eatMoreApple/openwechat.NewUserDetailItemList]\nat client.go:248: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:242: calling [(github.com/eatMoreApple/openwechat.Members).Count]" ]
"(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo | defined in client.go:151\nat client.go:157: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" fillcolor="moccasin" label="GetLoginInfo" ]
"(*github.com/eatMoreApple/openwechat.Client).GetCookieMap" [ fillcolor="moccasin" label="GetCookieMap" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).GetCookieMap | defined in client.go:105" ]
"(*github.com/eatMoreApple/openwechat.Client).WebInit" [ label="WebInit" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebInit | defined in client.go:161\nat client.go:167: calling [github.com/eatMoreApple/openwechat.ToBuffer]\nat client.go:162: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:173: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify" [ fillcolor="moccasin" label="WebWxStatusNotify" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify | defined in client.go:177\nat client.go:178: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:194: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:191: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSync" [ fillcolor="moccasin" label="WebWxSync" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxSync | defined in client.go:252\nat client.go:268: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:253: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg" [ fillcolor="moccasin" label="WebWxSendMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg | defined in client.go:285\nat client.go:287: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:292: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Client).Logout" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).Logout | defined in client.go:571\nat client.go:572: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:579: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" fillcolor="moccasin" label="Logout" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg" [ label="WebWxRevokeMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg | defined in client.go:628\nat client.go:636: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:635: calling [github.com/eatMoreApple/openwechat.ToBuffer]\nat client.go:638: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg" [ label="WebWxSendAppMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg | defined in client.go:465\nat client.go:472: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]\nat client.go:467: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact" [ fillcolor="moccasin" label="WebWxGetContact" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact | defined in client.go:221\nat client.go:222: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:229: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID" [ fillcolor="moccasin" label="GetLoginUUID" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID | defined in client.go:110\nat client.go:126: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Client).CheckLogin" [ fillcolor="moccasin" label="CheckLogin" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).CheckLogin | defined in client.go:136\nat client.go:147: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom" [ tooltip="(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom | defined in client.go:606\nat client.go:624: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:621: calling [github.com/eatMoreApple/openwechat.ToBuffer]\nat client.go:607: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" fillcolor="moccasin" label="RemoveMemberFromChatRoom" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.Client).AddHttpHook" [ fillcolor="moccasin" label="AddHttpHook" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).AddHttpHook | defined in client.go:68" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser | defined in client.go:494\nat client.go:518: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:515: calling [github.com/eatMoreApple/openwechat.ToBuffer]\nat client.go:496: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" fillcolor="moccasin" label="WebWxVerifyUser" ]
"(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom" [ tooltip="(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom | defined in client.go:583\nat client.go:602: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:599: calling [github.com/eatMoreApple/openwechat.ToBuffer]\nat client.go:584: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" fillcolor="moccasin" label="AddMemberIntoChatRoom" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxOplog" [ fillcolor="moccasin" label="WebWxOplog" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxOplog | defined in client.go:476\nat client.go:487: calling [github.com/eatMoreApple/openwechat.ToBuffer]\nat client.go:490: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:477: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg" [ fillcolor="moccasin" label="WebWxGetHeadImg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg | defined in client.go:296\nat client.go:299: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:297: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload" [ tooltip="(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload | defined in client.go:642\nat client.go:653: calling [github.com/eatMoreApple/openwechat.ToBuffer]\nat client.go:643: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]\nat client.go:656: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" fillcolor="moccasin" label="webWxCheckUpload" penwidth="0.5" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg" [ fillcolor="moccasin" label="WebWxGetMsgImg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg | defined in client.go:522\nat client.go:530: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:523: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo" [ fillcolor="moccasin" label="WebWxGetVideo" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo | defined in client.go:545\nat client.go:552: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:546: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia" [ fillcolor="moccasin" label="WebWxGetMedia" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia | defined in client.go:556\nat client.go:564: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]\nat client.go:567: calling [(*github.com/eatMoreApple/openwechat.Client).Do]\nat client.go:557: calling [(github.com/eatMoreApple/openwechat.WechatDomain).FileHost]" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.Friend" {
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(*Friend)";
tooltip="type: *github.com/eatMoreApple/openwechat.Friend";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
"(*github.com/eatMoreApple/openwechat.Friend).SendText" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Friend).SendText | defined in relations.go:27\nat relations.go:28: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend]" fillcolor="moccasin" label="SendText" ]
"(*github.com/eatMoreApple/openwechat.Friend).SendFile" [ fillcolor="moccasin" label="SendFile" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Friend).SendFile | defined in relations.go:37\nat relations.go:38: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend]" ]
"(*github.com/eatMoreApple/openwechat.Friend).SendImage" [ tooltip="(*github.com/eatMoreApple/openwechat.Friend).SendImage | defined in relations.go:32\nat relations.go:33: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend]" fillcolor="moccasin" label="SendImage" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.Friend).SendMsg" [ fillcolor="moccasin" label="SendMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Friend).SendMsg | defined in relations.go:22\nat relations.go:23: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]" ]
"(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName" [ label="SetRemarkName" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName | defined in relations.go:17\nat relations.go:18: calling [(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup" [ fillcolor="moccasin" label="AddIntoGroup" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup | defined in relations.go:42\nat relations.go:43: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups]" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.Group" {
label="(*Group)";
tooltip="type: *github.com/eatMoreApple/openwechat.Group";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
"(*github.com/eatMoreApple/openwechat.Group).Members" [ tooltip="(*github.com/eatMoreApple/openwechat.Group).Members | defined in relations.go:225\nat relations.go:226: calling [(*github.com/eatMoreApple/openwechat.User).Detail]" fillcolor="moccasin" label="Members" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.Group).SendMsg" [ fillcolor="moccasin" label="SendMsg" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Group).SendMsg | defined in relations.go:205\nat relations.go:206: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]" ]
"(*github.com/eatMoreApple/openwechat.Group).SendImage" [ tooltip="(*github.com/eatMoreApple/openwechat.Group).SendImage | defined in relations.go:215\nat relations.go:216: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup]" fillcolor="moccasin" label="SendImage" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.Group).SendFile" [ fillcolor="moccasin" label="SendFile" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Group).SendFile | defined in relations.go:220\nat relations.go:221: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup]" ]
"(*github.com/eatMoreApple/openwechat.Group).SendText" [ fillcolor="moccasin" label="SendText" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Group).SendText | defined in relations.go:210\nat relations.go:211: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup]" ]
"(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn" [ fillcolor="moccasin" label="AddFriendsIn" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn | defined in relations.go:234\nat relations.go:235: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]" ]
"(*github.com/eatMoreApple/openwechat.Group).RemoveMembers" [ fillcolor="moccasin" label="RemoveMembers" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Group).RemoveMembers | defined in relations.go:241\nat relations.go:242: calling [(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup]" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage" {
style="rounded,filled";
fillcolor="wheat2";
label="(*JsonFileHotReloadStorage)";
tooltip="type: *github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
"(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump" [ fillcolor="moccasin" label="Dump" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump | defined in stroage.go:39" ]
"(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem" [ fillcolor="moccasin" label="GetHotReloadStorageItem" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem | defined in stroage.go:75" ]
"(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load" [ fillcolor="moccasin" label="Load" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load | defined in stroage.go:60" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.Message" {
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(*Message)";
tooltip="type: *github.com/eatMoreApple/openwechat.Message";
penwidth="0.5";
"(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend | defined in message.go:113\nat message.go:114: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf]\nat message.go:114: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]" fillcolor="moccasin" label="IsSendByFriend" ]
"(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup" [ tooltip="(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup | defined in message.go:118" fillcolor="moccasin" label="IsSendByGroup" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf" [ fillcolor="moccasin" label="IsSendBySelf" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf | defined in message.go:108" ]
"(*github.com/eatMoreApple/openwechat.Message).init" [ tooltip="(*github.com/eatMoreApple/openwechat.Message).init | defined in message.go:309\nat message.go:311: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]\nat message.go:315: calling [(*github.com/eatMoreApple/openwechat.Message).Receiver]" fillcolor="moccasin" label="init" penwidth="0.5" ]
"(*github.com/eatMoreApple/openwechat.Message).Receiver" [ fillcolor="moccasin" label="Receiver" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).Receiver | defined in message.go:87\nat message.go:89: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]\nat message.go:96: calling [(github.com/eatMoreApple/openwechat.Members).First]\nat message.go:103: calling [(github.com/eatMoreApple/openwechat.Members).First]\nat message.go:88: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]\nat message.go:99: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]\nat message.go:92: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]" ]
"(*github.com/eatMoreApple/openwechat.Message).Sender" [ fillcolor="moccasin" label="Sender" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).Sender | defined in message.go:58\nat message.go:63: calling [(*github.com/eatMoreApple/openwechat.User).Detail]" ]
"(*github.com/eatMoreApple/openwechat.Message).Reply" [ fillcolor="moccasin" label="Reply" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).Reply | defined in message.go:123\nat message.go:124: calling [github.com/eatMoreApple/openwechat.NewSendMessage]\nat message.go:127: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]" ]
"(*github.com/eatMoreApple/openwechat.Message).ReplyText" [ fillcolor="moccasin" label="ReplyText" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).ReplyText | defined in message.go:131\nat message.go:132: calling [(*github.com/eatMoreApple/openwechat.Message).Reply]" ]
"(*github.com/eatMoreApple/openwechat.Message).HasFile" [ fillcolor="moccasin" label="HasFile" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).HasFile | defined in message.go:219\nat message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]\nat message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]\nat message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]\nat message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]" ]
"(*github.com/eatMoreApple/openwechat.Message).IsPicture" [ label="IsPicture" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsPicture | defined in message.go:157" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Message).IsMedia" [ fillcolor="moccasin" label="IsMedia" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsMedia | defined in message.go:177" ]
"(*github.com/eatMoreApple/openwechat.Message).IsVideo" [ fillcolor="moccasin" label="IsVideo" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsVideo | defined in message.go:173" ]
"(*github.com/eatMoreApple/openwechat.Message).IsVoice" [ fillcolor="moccasin" label="IsVoice" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsVoice | defined in message.go:161" ]
"(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket" [ tooltip="(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket | defined in message.go:205\nat message.go:206: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]" fillcolor="moccasin" label="IsReceiveRedPacket" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.Message).IsSystem" [ fillcolor="moccasin" label="IsSystem" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsSystem | defined in message.go:186" ]
"(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket" [ fillcolor="moccasin" label="IsSendRedPacket" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket | defined in message.go:200\nat message.go:201: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]" ]
"(*github.com/eatMoreApple/openwechat.Message).RevokeMsg" [ tooltip="(*github.com/eatMoreApple/openwechat.Message).RevokeMsg | defined in message.go:266\nat message.go:271: calling [github.com/eatMoreApple/openwechat.XmlFormString]\nat message.go:267: calling [(*github.com/eatMoreApple/openwechat.Message).IsRecalled]" fillcolor="moccasin" label="RevokeMsg" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.Message).IsRecalled" [ fillcolor="moccasin" label="IsRecalled" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsRecalled | defined in message.go:182" ]
"(*github.com/eatMoreApple/openwechat.Message).SenderInGroup" [ fillcolor="moccasin" label="SenderInGroup" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).SenderInGroup | defined in message.go:67\nat message.go:83: calling [(github.com/eatMoreApple/openwechat.Members).First]\nat message.go:71: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]\nat message.go:68: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]\nat message.go:75: calling [(*github.com/eatMoreApple/openwechat.User).Detail]\nat message.go:79: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]" ]
"(*github.com/eatMoreApple/openwechat.Message).ReplyFile" [ label="ReplyFile" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).ReplyFile | defined in message.go:143\nat message.go:146: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts | defined in message.go:195\nat message.go:196: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]" fillcolor="moccasin" label="IsTransferAccounts" ]
"(*github.com/eatMoreApple/openwechat.Message).IsCard" [ fillcolor="moccasin" label="IsCard" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsCard | defined in message.go:169" ]
"(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent" [ fillcolor="moccasin" label="FriendAddMessageContent" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent | defined in message.go:255\nat message.go:256: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]\nat message.go:260: calling [github.com/eatMoreApple/openwechat.XmlFormString]" ]
"(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd" [ fillcolor="moccasin" label="IsFriendAdd" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd | defined in message.go:165" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" [ fillcolor="moccasin" label="GetFile" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).GetFile | defined in message.go:224\nat message.go:229: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg]\nat message.go:225: calling [(*github.com/eatMoreApple/openwechat.Message).HasFile]\nat message.go:231: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]\nat message.go:237: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]\nat message.go:234: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]\nat message.go:232: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice]\nat message.go:228: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]\nat message.go:235: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo]\nat message.go:238: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia]" ]
"(*github.com/eatMoreApple/openwechat.Message).ReplyImage" [ label="ReplyImage" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).ReplyImage | defined in message.go:136\nat message.go:139: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Message).Agree" [ fillcolor="moccasin" label="Agree" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).Agree | defined in message.go:277\nat message.go:278: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]\nat message.go:285: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser]" ]
"(*github.com/eatMoreApple/openwechat.Message).Card" [ fillcolor="moccasin" label="Card" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).Card | defined in message.go:244\nat message.go:245: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]\nat message.go:249: calling [github.com/eatMoreApple/openwechat.XmlFormString]" ]
"(*github.com/eatMoreApple/openwechat.Message).IsText" [ label="IsText" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Message).IsText | defined in message.go:149" fillcolor="moccasin" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.MessageContext" {
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(*MessageContext)";
tooltip="type: *github.com/eatMoreApple/openwechat.MessageContext";
"(*github.com/eatMoreApple/openwechat.MessageContext).Next" [ label="Next" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageContext).Next | defined in message_handle.go:32" fillcolor="moccasin" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.MessageMatchDispatcher" {
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(*MessageMatchDispatcher)";
tooltip="type: *github.com/eatMoreApple/openwechat.MessageMatchDispatcher";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend$1" [ fillcolor="moccasin" label="OnFriend$1" style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend$1 | defined in message_handle.go:145\nat message_handle.go:145: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName" [ fillcolor="moccasin" label="OnFriendByNickName" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName | defined in message_handle.go:132\nat message_handle.go:140: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ fillcolor="moccasin" label="RegisterHandler" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler | defined in message_handle.go:98" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice$1" [ style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice$1 | defined in message_handle.go:118\nat message_handle.go:118: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]" fillcolor="moccasin" label="OnVoice$1" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup" [ fillcolor="moccasin" label="OnGroup" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup | defined in message_handle.go:149\nat message_handle.go:150: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do" [ label="do" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do | defined in message_handle.go:92\nat message_handle.go:93: calling [(*github.com/eatMoreApple/openwechat.MessageContext).Next]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd" [ fillcolor="moccasin" label="OnFriendAdd" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd | defined in message_handle.go:122\nat message_handle.go:123: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser" [ fillcolor="moccasin" label="OnUser" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser | defined in message_handle.go:154\nat message_handle.go:162: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName" [ fillcolor="moccasin" label="OnFriendByRemarkName" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName | defined in message_handle.go:166\nat message_handle.go:170: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup$1" [ tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup$1 | defined in message_handle.go:150\nat message_handle.go:150: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]" fillcolor="moccasin" label="OnGroup$1" style="dotted,filled" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1" [ fillcolor="moccasin" label="OnGroupByGroupName$1" style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1 | defined in message_handle.go:175\nat message_handle.go:176: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage | defined in message_handle.go:112\nat message_handle.go:113: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" fillcolor="moccasin" label="OnImage" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch" [ fillcolor="moccasin" label="Dispatch" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch | defined in message_handle.go:77\nat message_handle.go:86: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do]\nat message_handle.go:88: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard$1" [ style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard$1 | defined in message_handle.go:128\nat message_handle.go:128: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]" fillcolor="moccasin" label="OnCard$1" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText" [ tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText | defined in message_handle.go:107\nat message_handle.go:108: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" fillcolor="moccasin" label="OnText" penwidth="1.5" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage$1" [ fillcolor="moccasin" label="OnImage$1" style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage$1 | defined in message_handle.go:113\nat message_handle.go:113: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1" [ fillcolor="moccasin" label="OnFriendByNickName$1" style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1 | defined in message_handle.go:133\nat message_handle.go:134: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend]\nat message_handle.go:135: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1" [ fillcolor="moccasin" label="OnFriendByRemarkName$1" style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1 | defined in message_handle.go:167\nat message_handle.go:168: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice" [ fillcolor="moccasin" label="OnVoice" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice | defined in message_handle.go:117\nat message_handle.go:118: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1" [ fillcolor="moccasin" label="OnUser$1" style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1 | defined in message_handle.go:155\nat message_handle.go:156: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]\nat message_handle.go:160: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1]\nat message_handle.go:160: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd$1" [ fillcolor="moccasin" label="OnFriendAdd$1" style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd$1 | defined in message_handle.go:123\nat message_handle.go:123: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName | defined in message_handle.go:174\nat message_handle.go:178: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser]" fillcolor="moccasin" label="OnGroupByGroupName" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend" [ fillcolor="moccasin" label="OnFriend" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend | defined in message_handle.go:144\nat message_handle.go:145: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText$1" [ fillcolor="moccasin" label="OnText$1" style="dotted,filled" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText$1 | defined in message_handle.go:108\nat message_handle.go:108: calling [(*github.com/eatMoreApple/openwechat.Message).IsText]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard" [ fillcolor="moccasin" label="OnCard" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard | defined in message_handle.go:127\nat message_handle.go:128: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.Self" {
fillcolor="wheat2";
label="(*Self)";
tooltip="type: *github.com/eatMoreApple/openwechat.Self";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
"(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend" [ fillcolor="moccasin" label="SendImageToFriend" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend | defined in user.go:237\nat user.go:240: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]" ]
"(*github.com/eatMoreApple/openwechat.Self).RevokeMessage" [ fillcolor="moccasin" label="RevokeMessage" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).RevokeMessage | defined in user.go:353\nat user.go:354: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg]" ]
"(*github.com/eatMoreApple/openwechat.Self).updateMembers" [ fillcolor="moccasin" label="updateMembers" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).updateMembers | defined in user.go:137\nat user.go:139: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact]\nat user.go:143: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]" ]
"(*github.com/eatMoreApple/openwechat.Self).Members" [ fillcolor="moccasin" label="Members" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).Members | defined in user.go:125\nat user.go:129: calling [(*github.com/eatMoreApple/openwechat.Self).updateMembers]" ]
"(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail" [ fillcolor="moccasin" label="UpdateMembersDetail" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail | defined in user.go:202\nat user.go:208: calling [(github.com/eatMoreApple/openwechat.Members).detail]\nat user.go:204: calling [(*github.com/eatMoreApple/openwechat.Self).Members]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend" [ fillcolor="moccasin" label="SendTextToFriend" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend | defined in user.go:231\nat user.go:232: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]\nat user.go:233: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]" ]
"(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser" [ fillcolor="moccasin" label="sendMessageToUser" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser | defined in user.go:212\nat user.go:217: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend" [ label="SendMessageToFriend" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend | defined in user.go:226\nat user.go:227: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Self).forwardMessage" [ fillcolor="moccasin" label="forwardMessage" penwidth="0.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).forwardMessage | defined in user.go:358\nat user.go:374: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]\nat user.go:382: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]\nat user.go:366: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]" ]
"(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends" [ fillcolor="moccasin" label="ForwardMessageToFriends" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends | defined in user.go:391\nat user.go:396: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]" ]
"(*github.com/eatMoreApple/openwechat.Self).Mps" [ fillcolor="moccasin" label="Mps" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).Mps | defined in user.go:191\nat user.go:196: calling [(github.com/eatMoreApple/openwechat.Members).MPs]\nat user.go:193: calling [(*github.com/eatMoreApple/openwechat.Self).Members]" ]
"(*github.com/eatMoreApple/openwechat.Self).Groups" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).Groups | defined in user.go:180\nat user.go:182: calling [(*github.com/eatMoreApple/openwechat.Self).Members]\nat user.go:185: calling [(github.com/eatMoreApple/openwechat.Members).Groups]" fillcolor="moccasin" label="Groups" ]
"(*github.com/eatMoreApple/openwechat.Self).Friends" [ fillcolor="moccasin" label="Friends" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).Friends | defined in user.go:169\nat user.go:171: calling [(*github.com/eatMoreApple/openwechat.Self).Members]\nat user.go:174: calling [(github.com/eatMoreApple/openwechat.Members).Friends]" ]
"(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups" [ fillcolor="moccasin" label="ForwardMessageToGroups" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups | defined in user.go:400\nat user.go:405: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup" [ label="SendMessageToGroup" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup | defined in user.go:324\nat user.go:325: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup" [ label="AddFriendsIntoGroup" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup | defined in user.go:259\nat user.go:278: calling [(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom]\nat user.go:272: calling [(github.com/eatMoreApple/openwechat.Friend).String]\nat user.go:264: calling [(*github.com/eatMoreApple/openwechat.Group).Members]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups" [ fillcolor="moccasin" label="AddFriendIntoManyGroups" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups | defined in user.go:314\nat user.go:316: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup" [ fillcolor="moccasin" label="SendImageToGroup" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup | defined in user.go:335\nat user.go:338: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup" [ fillcolor="moccasin" label="SendTextToGroup" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup | defined in user.go:329\nat user.go:330: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]\nat user.go:331: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup" [ fillcolor="moccasin" label="SendFileToGroup" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup | defined in user.go:342\nat user.go:345: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend" [ label="SendFileToFriend" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend | defined in user.go:244\nat user.go:247: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]" fillcolor="moccasin" ]
"(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup | defined in user.go:284\nat user.go:291: calling [(*github.com/eatMoreApple/openwechat.Group).Members]\nat user.go:309: calling [(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom]" fillcolor="moccasin" label="RemoveMemberFromGroup" ]
"(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend | defined in user.go:252\nat user.go:254: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog]" fillcolor="moccasin" label="SetRemarkNameToFriend" ]
"(*github.com/eatMoreApple/openwechat.Self).FileHelper" [ fillcolor="moccasin" label="FileHelper" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.Self).FileHelper | defined in user.go:150\nat user.go:155: calling [(*github.com/eatMoreApple/openwechat.Self).Members]\nat user.go:161: calling [github.com/eatMoreApple/openwechat.NewFriendHelper]\nat user.go:163: calling [(github.com/eatMoreApple/openwechat.Members).First]\nat user.go:159: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.SentMessage" {
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(*SentMessage)";
tooltip="type: *github.com/eatMoreApple/openwechat.SentMessage";
"(*github.com/eatMoreApple/openwechat.SentMessage).Revoke" [ fillcolor="moccasin" label="Revoke" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.SentMessage).Revoke | defined in message.go:471\nat message.go:472: calling [(*github.com/eatMoreApple/openwechat.Self).RevokeMessage]" ]
"(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToGroups" [ fillcolor="moccasin" label="ForwardToGroups" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToGroups | defined in message.go:481\nat message.go:482: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]" ]
"(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToFriends" [ tooltip="(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToFriends | defined in message.go:476\nat message.go:477: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]" fillcolor="moccasin" label="ForwardToFriends" penwidth="1.5" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.SyncCheckResponse" {
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(*SyncCheckResponse)";
tooltip="type: *github.com/eatMoreApple/openwechat.SyncCheckResponse";
penwidth="0.5";
fontsize="15";
"(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success" [ fillcolor="moccasin" label="Success" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success | defined in items.go:136" ]
"(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal" [ fillcolor="moccasin" label="NorMal" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal | defined in items.go:140\nat items.go:141: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]" ]
"(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error" [ fillcolor="moccasin" label="Error" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error | defined in items.go:145" ]
}
subgraph "cluster_*github.com/eatMoreApple/openwechat.User" {
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(*User)";
tooltip="type: *github.com/eatMoreApple/openwechat.User";
penwidth="0.5";
"(*github.com/eatMoreApple/openwechat.User).Detail" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.User).Detail | defined in user.go:83\nat user.go:89: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]\nat user.go:93: calling [(github.com/eatMoreApple/openwechat.Members).First]" fillcolor="moccasin" label="Detail" ]
"(*github.com/eatMoreApple/openwechat.User).IsGroup" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.User).IsGroup | defined in user.go:104" fillcolor="moccasin" label="IsGroup" ]
"(*github.com/eatMoreApple/openwechat.User).IsMP" [ fillcolor="moccasin" label="IsMP" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.User).IsMP | defined in user.go:109" ]
"(*github.com/eatMoreApple/openwechat.User).IsFriend" [ penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.User).IsFriend | defined in user.go:99\nat user.go:100: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]" fillcolor="moccasin" label="IsFriend" ]
"(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse" [ fillcolor="moccasin" label="GetAvatarResponse" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse | defined in user.go:58\nat user.go:59: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg]" ]
"(*github.com/eatMoreApple/openwechat.User).SaveAvatar" [ fillcolor="moccasin" label="SaveAvatar" penwidth="1.5" tooltip="(*github.com/eatMoreApple/openwechat.User).SaveAvatar | defined in user.go:63\nat user.go:64: calling [(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse]" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.BaseResponse" {
style="rounded,filled";
fillcolor="wheat2";
label="(BaseResponse)";
tooltip="type: github.com/eatMoreApple/openwechat.BaseResponse";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
"(github.com/eatMoreApple/openwechat.BaseResponse).Error" [ label="Error" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.BaseResponse).Error | defined in items.go:48\nat items.go:49: calling [github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode]" fillcolor="moccasin" ]
"(github.com/eatMoreApple/openwechat.BaseResponse).Ok" [ fillcolor="moccasin" label="Ok" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.BaseResponse).Ok | defined in items.go:44" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.Friend" {
fillcolor="wheat2";
label="(Friend)";
tooltip="type: github.com/eatMoreApple/openwechat.Friend";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
"(github.com/eatMoreApple/openwechat.Friend).String" [ tooltip="(github.com/eatMoreApple/openwechat.Friend).String | defined in relations.go:12" fillcolor="moccasin" label="String" penwidth="1.5" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.Friends" {
tooltip="type: github.com/eatMoreApple/openwechat.Friends";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(Friends)";
"(github.com/eatMoreApple/openwechat.Friends).SendText" [ tooltip="(github.com/eatMoreApple/openwechat.Friends).SendText | defined in relations.go:132\nat relations.go:133: calling [github.com/eatMoreApple/openwechat.getTotalDuration]\nat relations.go:146: calling [(*github.com/eatMoreApple/openwechat.Friend).SendText]\nat relations.go:143: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]" fillcolor="moccasin" label="SendText" penwidth="1.5" ]
"(github.com/eatMoreApple/openwechat.Friends).Search" [ fillcolor="moccasin" label="Search" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Friends).Search | defined in relations.go:85\nat relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1]\nat relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1]\nat relations.go:90: calling [(github.com/eatMoreApple/openwechat.Friends).Count]\nat relations.go:93: calling [(github.com/eatMoreApple/openwechat.Friends).Count]\nat relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1]" ]
"(github.com/eatMoreApple/openwechat.Friends).Count" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Friends).Count | defined in relations.go:49" fillcolor="moccasin" label="Count" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1" [ fillcolor="moccasin" label="SearchByNickName$1" style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1 | defined in relations.go:76" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1" [ fillcolor="moccasin" label="SearchByRemarkName$1" style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1 | defined in relations.go:81" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1" [ fillcolor="moccasin" label="SearchByUserName$1" style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1 | defined in relations.go:71" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByNickName" [ fillcolor="moccasin" label="SearchByNickName" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Friends).SearchByNickName | defined in relations.go:75\nat relations.go:76: calling [(github.com/eatMoreApple/openwechat.Friends).Search]" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName" [ fillcolor="moccasin" label="SearchByRemarkName" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName | defined in relations.go:80\nat relations.go:81: calling [(github.com/eatMoreApple/openwechat.Friends).Search]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendImage" [ tooltip="(github.com/eatMoreApple/openwechat.Friends).SendImage | defined in relations.go:154\nat relations.go:168: calling [(*github.com/eatMoreApple/openwechat.Friend).SendImage]\nat relations.go:165: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]\nat relations.go:155: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" fillcolor="moccasin" label="SendImage" penwidth="1.5" ]
"(github.com/eatMoreApple/openwechat.Friends).Last" [ fillcolor="moccasin" label="Last" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Friends).Last | defined in relations.go:62\nat relations.go:63: calling [(github.com/eatMoreApple/openwechat.Friends).Count]\nat relations.go:64: calling [(github.com/eatMoreApple/openwechat.Friends).Count]" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByUserName" [ tooltip="(github.com/eatMoreApple/openwechat.Friends).SearchByUserName | defined in relations.go:70\nat relations.go:71: calling [(github.com/eatMoreApple/openwechat.Friends).Search]" fillcolor="moccasin" label="SearchByUserName" penwidth="1.5" ]
"(github.com/eatMoreApple/openwechat.Friends).First" [ tooltip="(github.com/eatMoreApple/openwechat.Friends).First | defined in relations.go:54\nat relations.go:55: calling [(github.com/eatMoreApple/openwechat.Friends).Count]" fillcolor="moccasin" label="First" penwidth="1.5" ]
"(github.com/eatMoreApple/openwechat.Friends).SendMsg" [ fillcolor="moccasin" label="SendMsg" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Friends).SendMsg | defined in relations.go:110\nat relations.go:124: calling [(*github.com/eatMoreApple/openwechat.Friend).SendMsg]\nat relations.go:121: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]\nat relations.go:111: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendFile" [ fillcolor="moccasin" label="SendFile" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Friends).SendFile | defined in relations.go:176\nat relations.go:177: calling [github.com/eatMoreApple/openwechat.getTotalDuration]\nat relations.go:187: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]\nat relations.go:190: calling [(*github.com/eatMoreApple/openwechat.Friend).SendFile]" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.Groups" {
fillcolor="wheat2";
label="(Groups)";
tooltip="type: github.com/eatMoreApple/openwechat.Groups";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
"(github.com/eatMoreApple/openwechat.Groups).Search" [ label="Search" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).Search | defined in relations.go:350\nat relations.go:355: calling [(github.com/eatMoreApple/openwechat.Groups).Count]\nat relations.go:358: calling [(github.com/eatMoreApple/openwechat.Groups).Count]\nat relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1]\nat relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1]\nat relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1]" fillcolor="moccasin" ]
"(github.com/eatMoreApple/openwechat.Groups).Count" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).Count | defined in relations.go:248" fillcolor="moccasin" label="Count" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1" [ fillcolor="moccasin" label="SearchByNickName$1" style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1 | defined in relations.go:341" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1" [ fillcolor="moccasin" label="SearchByRemarkName$1" style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1 | defined in relations.go:346" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1" [ label="SearchByUserName$1" style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1 | defined in relations.go:336" fillcolor="moccasin" ]
"(github.com/eatMoreApple/openwechat.Groups).First" [ fillcolor="moccasin" label="First" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).First | defined in relations.go:253\nat relations.go:254: calling [(github.com/eatMoreApple/openwechat.Groups).Count]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendMsg" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).SendMsg | defined in relations.go:269\nat relations.go:270: calling [github.com/eatMoreApple/openwechat.getTotalDuration]\nat relations.go:283: calling [(*github.com/eatMoreApple/openwechat.Group).SendMsg]\nat relations.go:280: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]" fillcolor="moccasin" label="SendMsg" ]
"(github.com/eatMoreApple/openwechat.Groups).SendImage" [ fillcolor="moccasin" label="SendImage" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).SendImage | defined in relations.go:313\nat relations.go:314: calling [github.com/eatMoreApple/openwechat.getTotalDuration]\nat relations.go:327: calling [(*github.com/eatMoreApple/openwechat.Group).SendImage]\nat relations.go:324: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]" ]
"(github.com/eatMoreApple/openwechat.Groups).Last" [ label="Last" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).Last | defined in relations.go:261\nat relations.go:262: calling [(github.com/eatMoreApple/openwechat.Groups).Count]\nat relations.go:263: calling [(github.com/eatMoreApple/openwechat.Groups).Count]" fillcolor="moccasin" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByUserName" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).SearchByUserName | defined in relations.go:335\nat relations.go:336: calling [(github.com/eatMoreApple/openwechat.Groups).Search]" fillcolor="moccasin" label="SearchByUserName" ]
"(github.com/eatMoreApple/openwechat.Groups).SendText" [ fillcolor="moccasin" label="SendText" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).SendText | defined in relations.go:291\nat relations.go:292: calling [github.com/eatMoreApple/openwechat.getTotalDuration]\nat relations.go:302: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]\nat relations.go:305: calling [(*github.com/eatMoreApple/openwechat.Group).SendText]" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName | defined in relations.go:345\nat relations.go:346: calling [(github.com/eatMoreApple/openwechat.Groups).Search]" fillcolor="moccasin" label="SearchByRemarkName" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByNickName" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Groups).SearchByNickName | defined in relations.go:340\nat relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).Search]" fillcolor="moccasin" label="SearchByNickName" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.LoginInfo" {
tooltip="type: github.com/eatMoreApple/openwechat.LoginInfo";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(LoginInfo)";
"(github.com/eatMoreApple/openwechat.LoginInfo).Ok" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.LoginInfo).Ok | defined in items.go:23" fillcolor="moccasin" label="Ok" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.Members" {
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(Members)";
tooltip="type: github.com/eatMoreApple/openwechat.Members";
penwidth="0.5";
"(github.com/eatMoreApple/openwechat.Members).Count" [ fillcolor="moccasin" label="Count" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).Count | defined in user.go:412" ]
"(github.com/eatMoreApple/openwechat.Members).First" [ fillcolor="moccasin" label="First" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).First | defined in user.go:417\nat user.go:418: calling [(github.com/eatMoreApple/openwechat.Members).Count]" ]
"(github.com/eatMoreApple/openwechat.Members).Search" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).Search | defined in user.go:458\nat user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1]\nat user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1]\nat user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1]\nat user.go:463: calling [(github.com/eatMoreApple/openwechat.Members).Count]" fillcolor="moccasin" label="Search" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1" [ label="SearchByNickName$1" style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1 | defined in user.go:449" fillcolor="moccasin" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1" [ style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1 | defined in user.go:454" fillcolor="moccasin" label="SearchByRemarkName$1" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1" [ fillcolor="moccasin" label="SearchByUserName$1" style="dotted,filled" tooltip="(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1 | defined in user.go:444" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByUserName" [ fillcolor="moccasin" label="SearchByUserName" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).SearchByUserName | defined in user.go:443\nat user.go:444: calling [(github.com/eatMoreApple/openwechat.Members).Search]" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByNickName" [ fillcolor="moccasin" label="SearchByNickName" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).SearchByNickName | defined in user.go:448\nat user.go:449: calling [(github.com/eatMoreApple/openwechat.Members).Search]" ]
"(github.com/eatMoreApple/openwechat.Members).SetOwner" [ label="SetOwner" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).SetOwner | defined in user.go:436" fillcolor="moccasin" ]
"(github.com/eatMoreApple/openwechat.Members).detail" [ fillcolor="moccasin" label="detail" penwidth="0.5" tooltip="(github.com/eatMoreApple/openwechat.Members).detail | defined in user.go:518\nat user.go:542: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]\nat user.go:554: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]\nat user.go:522: calling [(github.com/eatMoreApple/openwechat.Members).Count]\nat user.go:561: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]" ]
"(github.com/eatMoreApple/openwechat.Members).MPs" [ fillcolor="moccasin" label="MPs" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).MPs | defined in user.go:506\nat user.go:509: calling [(*github.com/eatMoreApple/openwechat.User).IsMP]" ]
"(github.com/eatMoreApple/openwechat.Members).Groups" [ fillcolor="moccasin" label="Groups" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).Groups | defined in user.go:495\nat user.go:498: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]" ]
"(github.com/eatMoreApple/openwechat.Members).Friends" [ fillcolor="moccasin" label="Friends" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).Friends | defined in user.go:484\nat user.go:487: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName" [ label="SearchByRemarkName" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName | defined in user.go:453\nat user.go:454: calling [(github.com/eatMoreApple/openwechat.Members).Search]" fillcolor="moccasin" ]
"(github.com/eatMoreApple/openwechat.Members).Last" [ fillcolor="moccasin" label="Last" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Members).Last | defined in user.go:426\nat user.go:427: calling [(github.com/eatMoreApple/openwechat.Members).Count]\nat user.go:428: calling [(github.com/eatMoreApple/openwechat.Members).Count]" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.Mps" {
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(Mps)";
tooltip="type: github.com/eatMoreApple/openwechat.Mps";
"(github.com/eatMoreApple/openwechat.Mps).Last" [ label="Last" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Mps).Last | defined in relations.go:398\nat relations.go:399: calling [(github.com/eatMoreApple/openwechat.Mps).Count]\nat relations.go:400: calling [(github.com/eatMoreApple/openwechat.Mps).Count]" fillcolor="moccasin" ]
"(github.com/eatMoreApple/openwechat.Mps).Count" [ fillcolor="moccasin" label="Count" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Mps).Count | defined in relations.go:385" ]
"(github.com/eatMoreApple/openwechat.Mps).Search" [ fillcolor="moccasin" label="Search" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Mps).Search | defined in relations.go:406\nat relations.go:411: calling [(github.com/eatMoreApple/openwechat.Mps).Count]\nat relations.go:414: calling [(github.com/eatMoreApple/openwechat.Mps).Count]" ]
"(github.com/eatMoreApple/openwechat.Mps).First" [ fillcolor="moccasin" label="First" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.Mps).First | defined in relations.go:390\nat relations.go:391: calling [(github.com/eatMoreApple/openwechat.Mps).Count]" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.UserAgentHook" {
fillcolor="wheat2";
label="(UserAgentHook)";
tooltip="type: github.com/eatMoreApple/openwechat.UserAgentHook";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
"(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest" [ fillcolor="moccasin" label="BeforeRequest" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest | defined in client.go:31" ]
"(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest" [ label="AfterRequest" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest | defined in client.go:35" fillcolor="moccasin" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.WechatDomain" {
fillcolor="wheat2";
label="(WechatDomain)";
tooltip="type: github.com/eatMoreApple/openwechat.WechatDomain";
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
"(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost | defined in url.go:42" fillcolor="moccasin" label="BaseHost" ]
"(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost" [ fillcolor="moccasin" label="SyncHost" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost | defined in url.go:50" ]
"(github.com/eatMoreApple/openwechat.WechatDomain).FileHost" [ fillcolor="moccasin" label="FileHost" penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.WechatDomain).FileHost | defined in url.go:46" ]
}
subgraph "cluster_github.com/eatMoreApple/openwechat.appmsg" {
penwidth="0.5";
fontsize="15";
fontcolor="#222222";
labelloc="b";
style="rounded,filled";
fillcolor="wheat2";
label="(appmsg)";
tooltip="type: github.com/eatMoreApple/openwechat.appmsg";
"(github.com/eatMoreApple/openwechat.appmsg).XmlByte" [ penwidth="1.5" tooltip="(github.com/eatMoreApple/openwechat.appmsg).XmlByte | defined in message.go:503" fillcolor="moccasin" label="XmlByte" ]
}
}
}
"(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk" -> "github.com/eatMoreApple/openwechat.GetFileContentType" [ tooltip="at client.go:304: calling [github.com/eatMoreApple/openwechat.GetFileContentType]" ]
"(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg" [ tooltip="at user.go:217: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]" ]
"github.com/eatMoreApple/openwechat.DefaultBot" -> "github.com/eatMoreApple/openwechat.DefaultCaller" [ tooltip="at bot.go:327: calling [github.com/eatMoreApple/openwechat.DefaultCaller]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendMsg" -> "github.com/eatMoreApple/openwechat.getTotalDuration" [ tooltip="at relations.go:270: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendFile" -> "github.com/eatMoreApple/openwechat.getTotalDuration" [ tooltip="at relations.go:177: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg" -> "github.com/eatMoreApple/openwechat.getSuccessSentMessage" [ tooltip="at caller.go:254: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice$1" -> "(*github.com/eatMoreApple/openwechat.Message).IsVoice" [ tooltip="at message_handle.go:118: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]" ]
"(*github.com/eatMoreApple/openwechat.Bot).Login" -> "(*github.com/eatMoreApple/openwechat.Caller).CheckLogin" [ tooltip="at bot.go:116: calling [(*github.com/eatMoreApple/openwechat.Caller).CheckLogin]" ]
"(*github.com/eatMoreApple/openwechat.Message).RevokeMsg" -> "github.com/eatMoreApple/openwechat.XmlFormString" [ tooltip="at message.go:271: calling [github.com/eatMoreApple/openwechat.XmlFormString]" ]
"(*github.com/eatMoreApple/openwechat.Message).ReplyFile" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" [ tooltip="at message.go:146: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]" ]
"github.com/eatMoreApple/openwechat.DefaultCaller" -> "github.com/eatMoreApple/openwechat.DefaultClient" [ tooltip="at caller.go:25: calling [github.com/eatMoreApple/openwechat.DefaultClient]" ]
"(*github.com/eatMoreApple/openwechat.Client).SyncCheck" -> "github.com/eatMoreApple/openwechat.GetRandomDeviceId" [ tooltip="at client.go:205: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify" -> "(github.com/eatMoreApple/openwechat.BaseResponse).Ok" [ tooltip="at caller.go:130: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]" ]
"(*github.com/eatMoreApple/openwechat.Message).Reply" -> "github.com/eatMoreApple/openwechat.NewSendMessage" [ tooltip="at message.go:124: calling [github.com/eatMoreApple/openwechat.NewSendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact" -> "github.com/eatMoreApple/openwechat.scanJson" [ tooltip="at caller.go:164: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(github.com/eatMoreApple/openwechat.Members).Friends" -> "(*github.com/eatMoreApple/openwechat.User).IsFriend" [ tooltip="at user.go:487: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]" ]
"(*github.com/eatMoreApple/openwechat.Message).Agree" -> "(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd" [ tooltip="at message.go:278: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]" ]
"(*github.com/eatMoreApple/openwechat.Bot).webInit" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify" [ tooltip="at bot.go:202: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify]" ]
"(*github.com/eatMoreApple/openwechat.Message).Card" -> "(*github.com/eatMoreApple/openwechat.Message).IsCard" [ tooltip="at message.go:245: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser" [ tooltip="at message_handle.go:178: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser]" ]
"(*github.com/eatMoreApple/openwechat.Self).FileHelper" -> "(*github.com/eatMoreApple/openwechat.Self).Members" [ tooltip="at user.go:155: calling [(*github.com/eatMoreApple/openwechat.Self).Members]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:123: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(github.com/eatMoreApple/openwechat.Members).detail" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact" [ tooltip="at user.go:542: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]\nat user.go:554: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]" ]
"(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail" -> "(github.com/eatMoreApple/openwechat.Members).detail" [ tooltip="at user.go:208: calling [(github.com/eatMoreApple/openwechat.Members).detail]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendImage" -> "github.com/eatMoreApple/openwechat.getTotalDuration" [ tooltip="at relations.go:314: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" ]
"(github.com/eatMoreApple/openwechat.Groups).Last" -> "(github.com/eatMoreApple/openwechat.Groups).Count" [ tooltip="at relations.go:262: calling [(github.com/eatMoreApple/openwechat.Groups).Count]\nat relations.go:263: calling [(github.com/eatMoreApple/openwechat.Groups).Count]" ]
"(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToFriends" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends" [ tooltip="at message.go:477: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]" ]
"(*github.com/eatMoreApple/openwechat.Bot).Logout" -> "(*github.com/eatMoreApple/openwechat.Bot).Alive" [ tooltip="at bot.go:142: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]" ]
"(*github.com/eatMoreApple/openwechat.Self).Friends" -> "(*github.com/eatMoreApple/openwechat.Self).Members" [ tooltip="at user.go:171: calling [(*github.com/eatMoreApple/openwechat.Self).Members]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1" -> "(*github.com/eatMoreApple/openwechat.User).IsFriend" [ tooltip="at message_handle.go:168: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]" ]
"(github.com/eatMoreApple/openwechat.Members).Search" -> "(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1" [ tooltip="at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1]" style="dashed" ]
"(*github.com/eatMoreApple/openwechat.Caller).Logout" -> "(*github.com/eatMoreApple/openwechat.Client).Logout" [ tooltip="at caller.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).Logout]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" -> "github.com/eatMoreApple/openwechat.NewSendMessage" [ tooltip="at caller.go:269: calling [github.com/eatMoreApple/openwechat.NewSendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Self).Groups" -> "(*github.com/eatMoreApple/openwechat.Self).Members" [ tooltip="at user.go:182: calling [(*github.com/eatMoreApple/openwechat.Self).Members]" ]
"(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups" -> "(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup" [ tooltip="at user.go:316: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByNickName" -> "(github.com/eatMoreApple/openwechat.Groups).Search" [ tooltip="at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).Search]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:454: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket" -> "(*github.com/eatMoreApple/openwechat.Message).IsSystem" [ tooltip="at message.go:206: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:222: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Message).RevokeMsg" -> "(*github.com/eatMoreApple/openwechat.Message).IsRecalled" [ tooltip="at message.go:267: calling [(*github.com/eatMoreApple/openwechat.Message).IsRecalled]" ]
"(*github.com/eatMoreApple/openwechat.Bot).HotLogin" -> "(*github.com/eatMoreApple/openwechat.Bot).Login" [ tooltip="at bot.go:67: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]\nat bot.go:79: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]" ]
"(*github.com/eatMoreApple/openwechat.Group).SendText" -> "(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup" [ tooltip="at relations.go:211: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup]" ]
"(*github.com/eatMoreApple/openwechat.Message).init" -> "(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup" [ tooltip="at message.go:311: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg" -> "github.com/eatMoreApple/openwechat.getSuccessSentMessage" [ tooltip="at caller.go:208: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" -> "github.com/eatMoreApple/openwechat.NewFileAppMessage" [ tooltip="at caller.go:264: calling [github.com/eatMoreApple/openwechat.NewFileAppMessage]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do" [ arrowhead="normalnoneodot" tooltip="at message_handle.go:86: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxOplog" [ tooltip="at caller.go:213: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxOplog]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendFile" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends" [ tooltip="at relations.go:187: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:245: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebInit" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:167: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(*github.com/eatMoreApple/openwechat.Message).ReplyText" -> "(*github.com/eatMoreApple/openwechat.Message).Reply" [ tooltip="at message.go:132: calling [(*github.com/eatMoreApple/openwechat.Message).Reply]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg" [ tooltip="at message.go:229: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg]" ]
"(*github.com/eatMoreApple/openwechat.Caller).UploadMedia" -> "github.com/eatMoreApple/openwechat.scanJson" [ tooltip="at caller.go:231: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(*github.com/eatMoreApple/openwechat.Bot).webInit" -> "(*github.com/eatMoreApple/openwechat.Caller).WebInit" [ tooltip="at bot.go:192: calling [(*github.com/eatMoreApple/openwechat.Caller).WebInit]" ]
"(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:653: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup" -> "(*github.com/eatMoreApple/openwechat.Group).Members" [ tooltip="at user.go:291: calling [(*github.com/eatMoreApple/openwechat.Group).Members]" ]
"(*github.com/eatMoreApple/openwechat.Client).Do" -> "(*github.com/eatMoreApple/openwechat.Client).do" [ tooltip="at client.go:97: calling [(*github.com/eatMoreApple/openwechat.Client).do]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:535: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Bot).asyncCall" -> "(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success" [ tooltip="at bot.go:231: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]" ]
"(*github.com/eatMoreApple/openwechat.SentMessage).Revoke" -> "(*github.com/eatMoreApple/openwechat.Self).RevokeMessage" [ tooltip="at message.go:472: calling [(*github.com/eatMoreApple/openwechat.Self).RevokeMessage]" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByNickName" -> "(github.com/eatMoreApple/openwechat.Members).Search" [ tooltip="at user.go:449: calling [(github.com/eatMoreApple/openwechat.Members).Search]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup" -> "github.com/eatMoreApple/openwechat.NewTextSendMessage" [ tooltip="at user.go:330: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk" -> "github.com/eatMoreApple/openwechat.parseBaseResponseError" [ tooltip="at client.go:440: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" ]
"(*github.com/eatMoreApple/openwechat.Bot).webInit$1" -> "(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL" [ style="dashed" tooltip="at bot.go:211: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend" -> "(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser" [ tooltip="at user.go:227: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]" ]
"(*github.com/eatMoreApple/openwechat.Self).Mps" -> "(github.com/eatMoreApple/openwechat.Members).MPs" [ tooltip="at user.go:196: calling [(github.com/eatMoreApple/openwechat.Members).MPs]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:530: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"github.com/eatMoreApple/openwechat.getMessageType" -> "github.com/eatMoreApple/openwechat.getFileExt" [ tooltip="at parser.go:86: calling [github.com/eatMoreApple/openwechat.getFileExt]" ]
"github.com/eatMoreApple/openwechat.NewMediaSendMessage" -> "github.com/eatMoreApple/openwechat.NewSendMessage" [ tooltip="at message.go:363: calling [github.com/eatMoreApple/openwechat.NewSendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Caller).Logout" -> "github.com/eatMoreApple/openwechat.parseBaseResponseError" [ tooltip="at caller.go:285: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1" -> "(*github.com/eatMoreApple/openwechat.User).IsGroup" [ tooltip="at message_handle.go:176: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup" -> "(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup" [ tooltip="at user.go:331: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]" ]
"(*github.com/eatMoreApple/openwechat.Friend).SendMsg" -> "(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend" [ tooltip="at relations.go:23: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]" ]
"(github.com/eatMoreApple/openwechat.Groups).Search" -> "(github.com/eatMoreApple/openwechat.Groups).Count" [ tooltip="at relations.go:355: calling [(github.com/eatMoreApple/openwechat.Groups).Count]\nat relations.go:358: calling [(github.com/eatMoreApple/openwechat.Groups).Count]" ]
"(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:624: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Message).ReplyImage" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg" [ tooltip="at message.go:139: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]" ]
"(*github.com/eatMoreApple/openwechat.Message).Card" -> "github.com/eatMoreApple/openwechat.XmlFormString" [ tooltip="at message.go:249: calling [github.com/eatMoreApple/openwechat.XmlFormString]" ]
"(github.com/eatMoreApple/openwechat.Friends).First" -> "(github.com/eatMoreApple/openwechat.Friends).Count" [ tooltip="at relations.go:55: calling [(github.com/eatMoreApple/openwechat.Friends).Count]" ]
"(*github.com/eatMoreApple/openwechat.Client).Do" -> "(*github.com/eatMoreApple/openwechat.Client).setCookie" [ tooltip="at client.go:99: calling [(*github.com/eatMoreApple/openwechat.Client).setCookie]" ]
"(*github.com/eatMoreApple/openwechat.Bot).handleLogin" -> "(*github.com/eatMoreApple/openwechat.Bot).webInit" [ tooltip="at bot.go:184: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:636: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Bot).Login" -> "(*github.com/eatMoreApple/openwechat.Bot).handleLogin" [ tooltip="at bot.go:126: calling [(*github.com/eatMoreApple/openwechat.Bot).handleLogin]" ]
"(*github.com/eatMoreApple/openwechat.Self).forwardMessage" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg" [ tooltip="at user.go:374: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]" ]
"(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg" [ tooltip="at user.go:59: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend$1" -> "(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend" [ tooltip="at message_handle.go:145: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend]" ]
"(*github.com/eatMoreApple/openwechat.Client).sendMessage" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Message).Receiver" -> "(*github.com/eatMoreApple/openwechat.Message).Sender" [ tooltip="at message.go:89: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]" ]
"(*github.com/eatMoreApple/openwechat.Message).SenderInGroup" -> "(github.com/eatMoreApple/openwechat.Members).First" [ tooltip="at message.go:83: calling [(github.com/eatMoreApple/openwechat.Members).First]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:518: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser" -> "github.com/eatMoreApple/openwechat.parseBaseResponseError" [ tooltip="at caller.go:318: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" ]
"(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup" -> "(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups" [ tooltip="at relations.go:43: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups]" ]
"(*github.com/eatMoreApple/openwechat.Client).do" -> "(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest" [ style="dashed" tooltip="at client.go:74: calling [(github.com/eatMoreApple/openwechat.UserAgentHook).BeforeRequest]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify" [ tooltip="at caller.go:121: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSync" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxSync" [ tooltip="at caller.go:193: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSync]" ]
"(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket" -> "(*github.com/eatMoreApple/openwechat.Message).IsSystem" [ tooltip="at message.go:201: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]" ]
"github.com/eatMoreApple/openwechat.DefaultCaller" -> "github.com/eatMoreApple/openwechat.NewCaller" [ tooltip="at caller.go:25: calling [github.com/eatMoreApple/openwechat.NewCaller]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendMsg" -> "(*github.com/eatMoreApple/openwechat.Friend).SendMsg" [ tooltip="at relations.go:124: calling [(*github.com/eatMoreApple/openwechat.Friend).SendMsg]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Message).HasFile" [ tooltip="at message.go:225: calling [(*github.com/eatMoreApple/openwechat.Message).HasFile]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:128: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"github.com/eatMoreApple/openwechat.parseBaseResponseError" -> "github.com/eatMoreApple/openwechat.scanJson" [ tooltip="at caller.go:334: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(*github.com/eatMoreApple/openwechat.Message).Receiver" -> "(github.com/eatMoreApple/openwechat.Members).First" [ tooltip="at message.go:96: calling [(github.com/eatMoreApple/openwechat.Members).First]\nat message.go:103: calling [(github.com/eatMoreApple/openwechat.Members).First]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact" -> "(github.com/eatMoreApple/openwechat.BaseResponse).Ok" [ tooltip="at caller.go:167: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]" ]
"(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:621: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(*github.com/eatMoreApple/openwechat.Group).SendFile" -> "(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup" [ tooltip="at relations.go:221: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:108: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" -> "(*github.com/eatMoreApple/openwechat.Caller).UploadMedia" [ tooltip="at caller.go:258: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendMsg" -> "(*github.com/eatMoreApple/openwechat.Group).SendMsg" [ tooltip="at relations.go:283: calling [(*github.com/eatMoreApple/openwechat.Group).SendMsg]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage$1" -> "(*github.com/eatMoreApple/openwechat.Message).IsPicture" [ tooltip="at message_handle.go:113: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:178: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:602: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Self).FileHelper" -> "github.com/eatMoreApple/openwechat.NewFriendHelper" [ tooltip="at user.go:161: calling [github.com/eatMoreApple/openwechat.NewFriendHelper]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup" -> "(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser" [ tooltip="at user.go:325: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendImage" -> "(*github.com/eatMoreApple/openwechat.Friend).SendImage" [ tooltip="at relations.go:168: calling [(*github.com/eatMoreApple/openwechat.Friend).SendImage]" ]
"(*github.com/eatMoreApple/openwechat.Message).Receiver" -> "(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup" [ tooltip="at message.go:88: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact" -> "github.com/eatMoreApple/openwechat.scanJson" [ tooltip="at caller.go:182: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:194: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:229: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Client).CheckLogin" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:147: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Self).Friends" -> "(github.com/eatMoreApple/openwechat.Members).Friends" [ tooltip="at user.go:174: calling [(github.com/eatMoreApple/openwechat.Members).Friends]" ]
"(*github.com/eatMoreApple/openwechat.Self).FileHelper" -> "(github.com/eatMoreApple/openwechat.Members).First" [ tooltip="at user.go:163: calling [(github.com/eatMoreApple/openwechat.Members).First]" ]
"(*github.com/eatMoreApple/openwechat.User).SaveAvatar" -> "(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse" [ tooltip="at user.go:64: calling [(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse]" ]
"(*github.com/eatMoreApple/openwechat.Client).do" -> "(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest" [ tooltip="at client.go:78: calling [(github.com/eatMoreApple/openwechat.UserAgentHook).AfterRequest]" style="dashed" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:234: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:552: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn" -> "(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup" [ tooltip="at relations.go:235: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]" ]
"(github.com/eatMoreApple/openwechat.Friends).Last" -> "(github.com/eatMoreApple/openwechat.Friends).Count" [ tooltip="at relations.go:63: calling [(github.com/eatMoreApple/openwechat.Friends).Count]\nat relations.go:64: calling [(github.com/eatMoreApple/openwechat.Friends).Count]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:287: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:140: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:299: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Self).Members" -> "(*github.com/eatMoreApple/openwechat.Self).updateMembers" [ tooltip="at user.go:129: calling [(*github.com/eatMoreApple/openwechat.Self).updateMembers]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendText" -> "github.com/eatMoreApple/openwechat.getTotalDuration" [ tooltip="at relations.go:133: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" -> "(github.com/eatMoreApple/openwechat.appmsg).XmlByte" [ tooltip="at caller.go:265: calling [(github.com/eatMoreApple/openwechat.appmsg).XmlByte]" ]
"(*github.com/eatMoreApple/openwechat.Self).FileHelper" -> "(github.com/eatMoreApple/openwechat.Members).SearchByUserName" [ tooltip="at user.go:159: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]" ]
"github.com/eatMoreApple/openwechat.parseMessageResponseError" -> "(github.com/eatMoreApple/openwechat.BaseResponse).Ok" [ tooltip="at caller.go:352: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByUserName" -> "(github.com/eatMoreApple/openwechat.Members).Search" [ tooltip="at user.go:444: calling [(github.com/eatMoreApple/openwechat.Members).Search]" ]
"(*github.com/eatMoreApple/openwechat.Bot).Logout" -> "(*github.com/eatMoreApple/openwechat.Caller).Logout" [ tooltip="at bot.go:147: calling [(*github.com/eatMoreApple/openwechat.Caller).Logout]" ]
"(github.com/eatMoreApple/openwechat.Members).detail" -> "(github.com/eatMoreApple/openwechat.Members).Count" [ tooltip="at user.go:522: calling [(github.com/eatMoreApple/openwechat.Members).Count]" ]
"github.com/eatMoreApple/openwechat.parseMessageResponseError" -> "github.com/eatMoreApple/openwechat.scanJson" [ tooltip="at caller.go:348: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(*github.com/eatMoreApple/openwechat.Bot).webInit$1" -> "(*github.com/eatMoreApple/openwechat.Bot).asyncCall" [ tooltip="at bot.go:210: calling [(*github.com/eatMoreApple/openwechat.Bot).asyncCall]" ]
"(*github.com/eatMoreApple/openwechat.Self).Groups" -> "(github.com/eatMoreApple/openwechat.Members).Groups" [ tooltip="at user.go:185: calling [(github.com/eatMoreApple/openwechat.Members).Groups]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog" -> "github.com/eatMoreApple/openwechat.parseBaseResponseError" [ tooltip="at caller.go:217: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByUserName" -> "(github.com/eatMoreApple/openwechat.Groups).Search" [ tooltip="at relations.go:336: calling [(github.com/eatMoreApple/openwechat.Groups).Search]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg" [ tooltip="at caller.go:275: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1" -> "(*github.com/eatMoreApple/openwechat.Message).Sender" [ tooltip="at message_handle.go:156: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]" ]
"(*github.com/eatMoreApple/openwechat.Message).init" -> "(*github.com/eatMoreApple/openwechat.Message).Receiver" [ tooltip="at message.go:315: calling [(*github.com/eatMoreApple/openwechat.Message).Receiver]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebInit" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:162: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Bot).Logout" -> "(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL" [ tooltip="at bot.go:150: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg" -> "(*github.com/eatMoreApple/openwechat.Client).sendMessage" [ tooltip="at client.go:472: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail" -> "(*github.com/eatMoreApple/openwechat.Self).Members" [ tooltip="at user.go:204: calling [(*github.com/eatMoreApple/openwechat.Self).Members]" ]
"(*github.com/eatMoreApple/openwechat.Message).SenderInGroup" -> "(*github.com/eatMoreApple/openwechat.Message).Sender" [ tooltip="at message.go:71: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact" [ tooltip="at caller.go:176: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:191: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(github.com/eatMoreApple/openwechat.Members).detail" -> "(github.com/eatMoreApple/openwechat.Members).SetOwner" [ tooltip="at user.go:561: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxOplog" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:487: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName" -> "(github.com/eatMoreApple/openwechat.Members).Search" [ tooltip="at user.go:454: calling [(github.com/eatMoreApple/openwechat.Members).Search]" ]
"(*github.com/eatMoreApple/openwechat.Group).SendMsg" -> "(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup" [ tooltip="at relations.go:206: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:297: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(github.com/eatMoreApple/openwechat.BaseResponse).Error" -> "github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode" [ tooltip="at items.go:49: calling [github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg" -> "(*github.com/eatMoreApple/openwechat.Client).sendMessage" [ tooltip="at client.go:292: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Message).HasFile" -> "(*github.com/eatMoreApple/openwechat.Message).IsVideo" [ tooltip="at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:635: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(*github.com/eatMoreApple/openwechat.Message).SenderInGroup" -> "(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup" [ tooltip="at message.go:68: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]" ]
"(*github.com/eatMoreApple/openwechat.Message).SenderInGroup" -> "(*github.com/eatMoreApple/openwechat.User).Detail" [ tooltip="at message.go:75: calling [(*github.com/eatMoreApple/openwechat.User).Detail]" ]
"(github.com/eatMoreApple/openwechat.Mps).Last" -> "(github.com/eatMoreApple/openwechat.Mps).Count" [ tooltip="at relations.go:399: calling [(github.com/eatMoreApple/openwechat.Mps).Count]\nat relations.go:400: calling [(github.com/eatMoreApple/openwechat.Mps).Count]" ]
"github.com/eatMoreApple/openwechat.DefaultClient" -> "github.com/eatMoreApple/openwechat.NewClient" [ tooltip="at client.go:63: calling [github.com/eatMoreApple/openwechat.NewClient]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebInit" -> "(*github.com/eatMoreApple/openwechat.Client).WebInit" [ tooltip="at caller.go:107: calling [(*github.com/eatMoreApple/openwechat.Client).WebInit]" ]
"(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal" -> "(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success" [ tooltip="at items.go:141: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSync" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:268: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:638: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Self).RevokeMessage" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg" [ tooltip="at user.go:354: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg]" ]
"(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit" -> "(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem" [ style="dashed" tooltip="at bot.go:88: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).GetHotReloadStorageItem]" ]
"(*github.com/eatMoreApple/openwechat.Bot).HotLogin" -> "(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load" [ style="dashed" tooltip="at bot.go:66: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Load]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:546: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Message).Agree" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser" [ tooltip="at message.go:285: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser]" ]
"github.com/eatMoreApple/openwechat.parseBaseResponseError" -> "(github.com/eatMoreApple/openwechat.BaseResponse).Ok" [ tooltip="at caller.go:337: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebInit" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:173: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend" -> "github.com/eatMoreApple/openwechat.NewTextSendMessage" [ tooltip="at user.go:232: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]" ]
"(github.com/eatMoreApple/openwechat.Friends).Search" -> "(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1" [ style="dashed" tooltip="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1]" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName" -> "(github.com/eatMoreApple/openwechat.Friends).Search" [ tooltip="at relations.go:81: calling [(github.com/eatMoreApple/openwechat.Friends).Search]" ]
"(*github.com/eatMoreApple/openwechat.Message).Reply" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg" [ tooltip="at message.go:127: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser" [ tooltip="at message_handle.go:170: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendText" -> "(*github.com/eatMoreApple/openwechat.Friend).SendText" [ tooltip="at relations.go:146: calling [(*github.com/eatMoreApple/openwechat.Friend).SendText]" ]
"(github.com/eatMoreApple/openwechat.Friends).Search" -> "(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1" [ tooltip="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1]" style="dashed" ]
"(*github.com/eatMoreApple/openwechat.Bot).handleLogin" -> "(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage" [ tooltip="at bot.go:179: calling [(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage]" ]
"(*github.com/eatMoreApple/openwechat.Client).Logout" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:572: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom" -> "github.com/eatMoreApple/openwechat.parseBaseResponseError" [ tooltip="at caller.go:297: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1" [ style="dashed" tooltip="at message_handle.go:160: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByRemarkName$1]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser" [ tooltip="at caller.go:314: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser]" ]
"(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName" -> "(github.com/eatMoreApple/openwechat.Groups).Search" [ tooltip="at relations.go:346: calling [(github.com/eatMoreApple/openwechat.Groups).Search]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk" -> "github.com/eatMoreApple/openwechat.getMessageType" [ tooltip="at client.go:330: calling [github.com/eatMoreApple/openwechat.getMessageType]" ]
"(github.com/eatMoreApple/openwechat.Members).First" -> "(github.com/eatMoreApple/openwechat.Members).Count" [ tooltip="at user.go:418: calling [(github.com/eatMoreApple/openwechat.Members).Count]" ]
"github.com/eatMoreApple/openwechat.NewTextSendMessage" -> "github.com/eatMoreApple/openwechat.NewSendMessage" [ tooltip="at message.go:358: calling [github.com/eatMoreApple/openwechat.NewSendMessage]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser$1" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1" [ style="dashed" tooltip="at message_handle.go:160: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroupByGroupName$1]" ]
"(*github.com/eatMoreApple/openwechat.Caller).CheckLogin" -> "(*github.com/eatMoreApple/openwechat.Client).CheckLogin" [ tooltip="at caller.go:52: calling [(*github.com/eatMoreApple/openwechat.Client).CheckLogin]" ]
"(*github.com/eatMoreApple/openwechat.Self).forwardMessage" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg" [ tooltip="at user.go:382: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg" [ tooltip="at user.go:338: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Message).IsVoice" [ tooltip="at message.go:231: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendText" -> "github.com/eatMoreApple/openwechat.getTotalDuration" [ tooltip="at relations.go:292: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" ]
"(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName" -> "(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend" [ tooltip="at relations.go:18: calling [(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend]" ]
"(*github.com/eatMoreApple/openwechat.Bot).asyncCall" -> "(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal" [ tooltip="at bot.go:235: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal]" ]
"(*github.com/eatMoreApple/openwechat.Bot).webInit" -> "(*github.com/eatMoreApple/openwechat.Bot).webInit$1" [ arrowhead="normalnoneodot" tooltip="at bot.go:206: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit$1]" ]
"(github.com/eatMoreApple/openwechat.Groups).Search" -> "(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1" [ style="dashed" tooltip="at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1" -> "(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend" [ tooltip="at message_handle.go:134: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend]" ]
"(github.com/eatMoreApple/openwechat.Mps).Search" -> "(github.com/eatMoreApple/openwechat.Mps).Count" [ tooltip="at relations.go:411: calling [(github.com/eatMoreApple/openwechat.Mps).Count]\nat relations.go:414: calling [(github.com/eatMoreApple/openwechat.Mps).Count]" ]
"(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog" [ tooltip="at user.go:254: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog]" ]
"(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSync" [ tooltip="at bot.go:254: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSync]" ]
"(*github.com/eatMoreApple/openwechat.Bot).asyncCall" -> "(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage" [ tooltip="at bot.go:236: calling [(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage]" ]
"github.com/eatMoreApple/openwechat.NewFileAppMessage" -> "github.com/eatMoreApple/openwechat.getFileExt" [ tooltip="at message.go:512: calling [github.com/eatMoreApple/openwechat.getFileExt]" ]
"(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups" -> "(*github.com/eatMoreApple/openwechat.Self).forwardMessage" [ tooltip="at user.go:405: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]" ]
"(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:599: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends" -> "(*github.com/eatMoreApple/openwechat.Self).forwardMessage" [ tooltip="at user.go:396: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]" ]
"(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom" -> "github.com/eatMoreApple/openwechat.parseBaseResponseError" [ tooltip="at caller.go:309: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" ]
"(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup" -> "(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom" [ tooltip="at user.go:278: calling [(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia" -> "github.com/eatMoreApple/openwechat.getWebWxDataTicket" [ tooltip="at client.go:564: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendMsg" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends" [ tooltip="at relations.go:121: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]" ]
"(*github.com/eatMoreApple/openwechat.Group).RemoveMembers" -> "(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup" [ tooltip="at relations.go:242: calling [(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup]" ]
"(*github.com/eatMoreApple/openwechat.Caller).SyncCheck" -> "(*github.com/eatMoreApple/openwechat.Client).SyncCheck" [ tooltip="at caller.go:138: calling [(*github.com/eatMoreApple/openwechat.Client).SyncCheck]" ]
"(*github.com/eatMoreApple/openwechat.Bot).asyncCall" -> "(*github.com/eatMoreApple/openwechat.Caller).SyncCheck" [ tooltip="at bot.go:226: calling [(*github.com/eatMoreApple/openwechat.Caller).SyncCheck]" ]
"(*github.com/eatMoreApple/openwechat.Bot).asyncCall" -> "(*github.com/eatMoreApple/openwechat.Bot).Alive" [ tooltip="at bot.go:224: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup$1" -> "(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup" [ tooltip="at message_handle.go:150: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendImage" -> "(*github.com/eatMoreApple/openwechat.Group).SendImage" [ tooltip="at relations.go:327: calling [(*github.com/eatMoreApple/openwechat.Group).SendImage]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Message).IsMedia" [ tooltip="at message.go:237: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg" -> "(*github.com/eatMoreApple/openwechat.Client).sendMessage" [ tooltip="at client.go:461: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebInit" -> "github.com/eatMoreApple/openwechat.scanJson" [ tooltip="at caller.go:113: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(*github.com/eatMoreApple/openwechat.Self).forwardMessage" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg" [ tooltip="at user.go:366: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:515: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByNickName" -> "(github.com/eatMoreApple/openwechat.Friends).Search" [ tooltip="at relations.go:76: calling [(github.com/eatMoreApple/openwechat.Friends).Search]" ]
"(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup" -> "(github.com/eatMoreApple/openwechat.Friend).String" [ tooltip="at user.go:272: calling [(github.com/eatMoreApple/openwechat.Friend).String]" ]
"(*github.com/eatMoreApple/openwechat.Bot).handleLogin" -> "(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo" [ tooltip="at bot.go:159: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg" [ tooltip="at caller.go:207: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg]" ]
"(github.com/eatMoreApple/openwechat.Mps).First" -> "(github.com/eatMoreApple/openwechat.Mps).Count" [ tooltip="at relations.go:391: calling [(github.com/eatMoreApple/openwechat.Mps).Count]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Message).IsVideo" [ tooltip="at message.go:234: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:567: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Caller).UploadMedia" -> "(github.com/eatMoreApple/openwechat.BaseResponse).Ok" [ tooltip="at caller.go:234: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSync" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:253: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg" -> "github.com/eatMoreApple/openwechat.parseBaseResponseError" [ tooltip="at caller.go:327: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]" ]
"(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom" -> "(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom" [ tooltip="at caller.go:305: calling [(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg" [ tooltip="at caller.go:270: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice" [ tooltip="at message.go:232: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice]" ]
"(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent" -> "(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd" [ tooltip="at message.go:256: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxOplog" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:490: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(github.com/eatMoreApple/openwechat.Members).Search" -> "(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1" [ style="dashed" tooltip="at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1]" ]
"(github.com/eatMoreApple/openwechat.Members).Search" -> "(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1" [ tooltip="at user.go:471: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1]" style="dashed" ]
"(*github.com/eatMoreApple/openwechat.Bot).Login" -> "(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID" [ tooltip="at bot.go:106: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID]" ]
"(*github.com/eatMoreApple/openwechat.Bot).HotLogin" -> "(*github.com/eatMoreApple/openwechat.Bot).webInit" [ tooltip="at bot.go:76: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]" ]
"(github.com/eatMoreApple/openwechat.Friends).Search" -> "(github.com/eatMoreApple/openwechat.Friends).Count" [ tooltip="at relations.go:90: calling [(github.com/eatMoreApple/openwechat.Friends).Count]\nat relations.go:93: calling [(github.com/eatMoreApple/openwechat.Friends).Count]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendMsg" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups" [ tooltip="at relations.go:280: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendImage" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends" [ tooltip="at relations.go:165: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendAdd$1" -> "(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd" [ tooltip="at message_handle.go:123: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendFile" -> "(*github.com/eatMoreApple/openwechat.Friend).SendFile" [ tooltip="at relations.go:190: calling [(*github.com/eatMoreApple/openwechat.Friend).SendFile]" ]
"(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:157: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg" -> "(*github.com/eatMoreApple/openwechat.Caller).UploadMedia" [ tooltip="at caller.go:246: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact" -> "github.com/eatMoreApple/openwechat.NewUserDetailItemList" [ tooltip="at client.go:239: calling [github.com/eatMoreApple/openwechat.NewUserDetailItemList]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact" -> "(github.com/eatMoreApple/openwechat.BaseResponse).Ok" [ tooltip="at caller.go:185: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]" ]
"(*github.com/eatMoreApple/openwechat.User).Detail" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact" [ tooltip="at user.go:89: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]" ]
"(github.com/eatMoreApple/openwechat.Members).Last" -> "(github.com/eatMoreApple/openwechat.Members).Count" [ tooltip="at user.go:427: calling [(github.com/eatMoreApple/openwechat.Members).Count]\nat user.go:428: calling [(github.com/eatMoreApple/openwechat.Members).Count]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).Dispatch" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do" [ tooltip="at message_handle.go:88: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do]" ]
"(*github.com/eatMoreApple/openwechat.Client).Logout" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:579: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend" -> "(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend" [ tooltip="at user.go:233: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]" ]
"(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom" -> "(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom" [ tooltip="at caller.go:293: calling [(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:248: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo" -> "(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo" [ tooltip="at caller.go:84: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact" [ tooltip="at caller.go:158: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnUser" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:162: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:126: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID" -> "(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID" [ tooltip="at caller.go:30: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" [ tooltip="at user.go:345: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]" ]
"(*github.com/eatMoreApple/openwechat.Friend).SendFile" -> "(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend" [ tooltip="at relations.go:38: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSync" -> "github.com/eatMoreApple/openwechat.scanJson" [ tooltip="at caller.go:199: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(github.com/eatMoreApple/openwechat.Members).MPs" -> "(*github.com/eatMoreApple/openwechat.User).IsMP" [ tooltip="at user.go:509: calling [(*github.com/eatMoreApple/openwechat.User).IsMP]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Message).IsPicture" [ tooltip="at message.go:228: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo" [ tooltip="at message.go:235: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:496: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:584: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend" -> "(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf" [ tooltip="at message.go:114: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendBySelf]" ]
"(github.com/eatMoreApple/openwechat.Members).Search" -> "(github.com/eatMoreApple/openwechat.Members).Count" [ tooltip="at user.go:463: calling [(github.com/eatMoreApple/openwechat.Members).Count]" ]
"(github.com/eatMoreApple/openwechat.Groups).Search" -> "(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1" [ style="dashed" tooltip="at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).do" -> "(*github.com/eatMoreApple/openwechat.MessageContext).Next" [ tooltip="at message_handle.go:93: calling [(*github.com/eatMoreApple/openwechat.MessageContext).Next]" ]
"(*github.com/eatMoreApple/openwechat.Message).SenderInGroup" -> "(github.com/eatMoreApple/openwechat.Members).SearchByUserName" [ tooltip="at message.go:79: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]" ]
"github.com/eatMoreApple/openwechat.DefaultBot" -> "github.com/eatMoreApple/openwechat.NewBot" [ tooltip="at bot.go:329: calling [github.com/eatMoreApple/openwechat.NewBot]" ]
"(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup" -> "(*github.com/eatMoreApple/openwechat.Group).Members" [ tooltip="at user.go:264: calling [(*github.com/eatMoreApple/openwechat.Group).Members]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia" -> "(github.com/eatMoreApple/openwechat.WechatDomain).FileHost" [ tooltip="at client.go:557: calling [(github.com/eatMoreApple/openwechat.WechatDomain).FileHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:541: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:434: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Message).HasFile" -> "(*github.com/eatMoreApple/openwechat.Message).IsPicture" [ tooltip="at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]" ]
"(*github.com/eatMoreApple/openwechat.User).IsFriend" -> "(*github.com/eatMoreApple/openwechat.User).IsGroup" [ tooltip="at user.go:100: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnVoice" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:118: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.User).Detail" -> "(github.com/eatMoreApple/openwechat.Members).First" [ tooltip="at user.go:93: calling [(github.com/eatMoreApple/openwechat.Members).First]" ]
"(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage" -> "(*github.com/eatMoreApple/openwechat.Client).GetCookieMap" [ tooltip="at bot.go:301: calling [(*github.com/eatMoreApple/openwechat.Client).GetCookieMap]" ]
"(*github.com/eatMoreApple/openwechat.Message).HasFile" -> "(*github.com/eatMoreApple/openwechat.Message).IsVoice" [ tooltip="at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]" ]
"(*github.com/eatMoreApple/openwechat.Bot).HotLogin" -> "(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit" [ tooltip="at bot.go:70: calling [(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit]" ]
"(github.com/eatMoreApple/openwechat.Members).Groups" -> "(*github.com/eatMoreApple/openwechat.User).IsGroup" [ tooltip="at user.go:498: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]" ]
"(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent" -> "github.com/eatMoreApple/openwechat.XmlFormString" [ tooltip="at message.go:260: calling [github.com/eatMoreApple/openwechat.XmlFormString]" ]
"(*github.com/eatMoreApple/openwechat.Self).Mps" -> "(*github.com/eatMoreApple/openwechat.Self).Members" [ tooltip="at user.go:193: calling [(*github.com/eatMoreApple/openwechat.Self).Members]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:523: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Client).SyncCheck" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:217: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk" -> "github.com/eatMoreApple/openwechat.getWebWxDataTicket" [ tooltip="at client.go:339: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]" ]
"github.com/eatMoreApple/openwechat.getSuccessSentMessage" -> "github.com/eatMoreApple/openwechat.parseMessageResponseError" [ tooltip="at caller.go:365: calling [github.com/eatMoreApple/openwechat.parseMessageResponseError]" ]
"(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo" -> "github.com/eatMoreApple/openwechat.scanXml" [ tooltip="at caller.go:96: calling [github.com/eatMoreApple/openwechat.scanXml]" ]
"(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo" -> "(github.com/eatMoreApple/openwechat.LoginInfo).Ok" [ tooltip="at caller.go:99: calling [(github.com/eatMoreApple/openwechat.LoginInfo).Ok]" ]
"(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage" -> "(*github.com/eatMoreApple/openwechat.Message).init" [ tooltip="at bot.go:263: calling [(*github.com/eatMoreApple/openwechat.Message).init]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendMsg" -> "github.com/eatMoreApple/openwechat.getTotalDuration" [ tooltip="at relations.go:111: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg" [ tooltip="at user.go:240: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]" ]
"(*github.com/eatMoreApple/openwechat.Message).Receiver" -> "(github.com/eatMoreApple/openwechat.Members).SearchByUserName" [ tooltip="at message.go:99: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]\nat message.go:92: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg" [ tooltip="at caller.go:323: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendText" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends" [ tooltip="at relations.go:143: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]" ]
"(github.com/eatMoreApple/openwechat.Friends).SendImage" -> "github.com/eatMoreApple/openwechat.getTotalDuration" [ tooltip="at relations.go:155: calling [github.com/eatMoreApple/openwechat.getTotalDuration]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendText" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups" [ tooltip="at relations.go:302: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]" ]
"(*github.com/eatMoreApple/openwechat.Client).SyncCheck" -> "(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost" [ tooltip="at client.go:199: calling [(github.com/eatMoreApple/openwechat.WechatDomain).SyncHost]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg" -> "github.com/eatMoreApple/openwechat.getSuccessSentMessage" [ tooltip="at caller.go:276: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]" ]
"(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts" -> "(*github.com/eatMoreApple/openwechat.Message).IsMedia" [ tooltip="at message.go:196: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]" ]
"(*github.com/eatMoreApple/openwechat.Message).GetFile" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia" [ tooltip="at message.go:238: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia]" ]
"(*github.com/eatMoreApple/openwechat.Friend).SendText" -> "(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend" [ tooltip="at relations.go:28: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend]" ]
"github.com/eatMoreApple/openwechat.DefaultClient" -> "(*github.com/eatMoreApple/openwechat.Client).AddHttpHook" [ tooltip="at client.go:64: calling [(*github.com/eatMoreApple/openwechat.Client).AddHttpHook]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk" -> "(github.com/eatMoreApple/openwechat.WechatDomain).FileHost" [ tooltip="at client.go:332: calling [(github.com/eatMoreApple/openwechat.WechatDomain).FileHost]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg" -> "github.com/eatMoreApple/openwechat.NewMediaSendMessage" [ tooltip="at caller.go:251: calling [github.com/eatMoreApple/openwechat.NewMediaSendMessage]" ]
"(*github.com/eatMoreApple/openwechat.Client).sendMessage" -> "github.com/eatMoreApple/openwechat.ToBuffer" [ tooltip="at client.go:278: calling [github.com/eatMoreApple/openwechat.ToBuffer]" ]
"(github.com/eatMoreApple/openwechat.Groups).Search" -> "(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1" [ tooltip="at relations.go:363: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1]" style="dashed" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnGroup" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:150: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.Self).updateMembers" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact" [ tooltip="at user.go:139: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact]" ]
"(*github.com/eatMoreApple/openwechat.Group).SendImage" -> "(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup" [ tooltip="at relations.go:216: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup]" ]
"(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend" -> "(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile" [ tooltip="at user.go:247: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendText" -> "(*github.com/eatMoreApple/openwechat.Group).SendText" [ tooltip="at relations.go:305: calling [(*github.com/eatMoreApple/openwechat.Group).SendText]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriend" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:145: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend" -> "(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup" [ tooltip="at message.go:114: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]" ]
"(*github.com/eatMoreApple/openwechat.Message).Sender" -> "(*github.com/eatMoreApple/openwechat.User).Detail" [ tooltip="at message.go:63: calling [(*github.com/eatMoreApple/openwechat.User).Detail]" ]
"(*github.com/eatMoreApple/openwechat.Message).HasFile" -> "(*github.com/eatMoreApple/openwechat.Message).IsMedia" [ tooltip="at message.go:220: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnFriendByNickName$1" -> "(*github.com/eatMoreApple/openwechat.Message).Sender" [ tooltip="at message_handle.go:135: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]" ]
"(*github.com/eatMoreApple/openwechat.Friend).SendImage" -> "(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend" [ tooltip="at relations.go:33: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnText$1" -> "(*github.com/eatMoreApple/openwechat.Message).IsText" [ tooltip="at message_handle.go:108: calling [(*github.com/eatMoreApple/openwechat.Message).IsText]" ]
"(*github.com/eatMoreApple/openwechat.Bot).handleLogin" -> "github.com/eatMoreApple/openwechat.GetRandomDeviceId" [ tooltip="at bot.go:171: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnImage" -> "(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler" [ tooltip="at message_handle.go:113: calling [(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).RegisterHandler]" ]
"(github.com/eatMoreApple/openwechat.Friends).Search" -> "(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1" [ style="dashed" tooltip="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1]" ]
"(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:643: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(github.com/eatMoreApple/openwechat.Friends).SearchByUserName" -> "(github.com/eatMoreApple/openwechat.Friends).Search" [ tooltip="at relations.go:71: calling [(github.com/eatMoreApple/openwechat.Friends).Search]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:467: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(*github.com/eatMoreApple/openwechat.Self).updateMembers" -> "(github.com/eatMoreApple/openwechat.Members).SetOwner" [ tooltip="at user.go:143: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]" ]
"(*github.com/eatMoreApple/openwechat.Caller).UploadMedia" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk" [ tooltip="at caller.go:222: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg" -> "(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg" [ tooltip="at caller.go:253: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]" ]
"(*github.com/eatMoreApple/openwechat.Bot).DumpHotReloadStorage" -> "(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump" [ style="dashed" tooltip="at bot.go:308: calling [(*github.com/eatMoreApple/openwechat.JsonFileHotReloadStorage).Dump]" ]
"(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify" -> "github.com/eatMoreApple/openwechat.scanJson" [ tooltip="at caller.go:127: calling [github.com/eatMoreApple/openwechat.scanJson]" ]
"(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL" -> "(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error" [ style="dashed" tooltip="at bot.go:249: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error]" ]
"(github.com/eatMoreApple/openwechat.Groups).First" -> "(github.com/eatMoreApple/openwechat.Groups).Count" [ tooltip="at relations.go:254: calling [(github.com/eatMoreApple/openwechat.Groups).Count]" ]
"(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:607: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
"(github.com/eatMoreApple/openwechat.Groups).SendImage" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups" [ tooltip="at relations.go:324: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]" ]
"(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload" -> "(*github.com/eatMoreApple/openwechat.Client).Do" [ tooltip="at client.go:656: calling [(*github.com/eatMoreApple/openwechat.Client).Do]" ]
"(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup" -> "(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom" [ tooltip="at user.go:309: calling [(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact" -> "(github.com/eatMoreApple/openwechat.Members).Count" [ tooltip="at client.go:242: calling [(github.com/eatMoreApple/openwechat.Members).Count]" ]
"(*github.com/eatMoreApple/openwechat.Group).Members" -> "(*github.com/eatMoreApple/openwechat.User).Detail" [ tooltip="at relations.go:226: calling [(*github.com/eatMoreApple/openwechat.User).Detail]" ]
"(*github.com/eatMoreApple/openwechat.SentMessage).ForwardToGroups" -> "(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups" [ tooltip="at message.go:482: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]" ]
"(*github.com/eatMoreApple/openwechat.MessageMatchDispatcher).OnCard$1" -> "(*github.com/eatMoreApple/openwechat.Message).IsCard" [ tooltip="at message_handle.go:128: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]" ]
"(*github.com/eatMoreApple/openwechat.Client).WebWxOplog" -> "(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost" [ tooltip="at client.go:477: calling [(github.com/eatMoreApple/openwechat.WechatDomain).BaseHost]" ]
}
@suntong
Copy link
Author

suntong commented Jul 22, 2021

callvis

@suntong
Copy link
Author

suntong commented Jul 22, 2021

callvis

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment